diff --git a/src/material/grid-list/grid-list.spec.ts b/src/material/grid-list/grid-list.spec.ts
index 7e909de992e4..3362685eb666 100644
--- a/src/material/grid-list/grid-list.spec.ts
+++ b/src/material/grid-list/grid-list.spec.ts
@@ -475,6 +475,14 @@ describe('MatGridList', () => {
expect(footer.nativeElement.classList.contains('mat-2-line')).toBe(true);
});
+ it('should add class to footers with two indirect descendant lines', () => {
+ const fixture = createComponent(GridListWithFooterContainingTwoIndirectDescendantLines);
+ fixture.detectChanges();
+
+ const footer = fixture.debugElement.query(By.directive(MatGridTileText))!;
+ expect(footer.nativeElement.classList).toContain('mat-2-line');
+ });
+
it('should not use calc() that evaluates to 0', () => {
const fixture = createComponent(GirdListWithRowHeightRatio);
@@ -784,6 +792,19 @@ class GridListWithFootersWithoutLines { }
`})
class GridListWithFooterContainingTwoLines { }
+@Component({template: `
+
+
+
+
+ First line
+ Second line
+
+
+
+ `})
+class GridListWithFooterContainingTwoIndirectDescendantLines { }
+
@Component({template: `
1
diff --git a/src/material/grid-list/grid-tile.ts b/src/material/grid-list/grid-tile.ts
index 78207edfa04c..e05b4038f857 100644
--- a/src/material/grid-list/grid-tile.ts
+++ b/src/material/grid-list/grid-tile.ts
@@ -70,7 +70,7 @@ export class MatGridTile {
encapsulation: ViewEncapsulation.None,
})
export class MatGridTileText implements AfterContentInit {
- @ContentChildren(MatLine) _lines: QueryList;
+ @ContentChildren(MatLine, {descendants: true}) _lines: QueryList;
constructor(private _element: ElementRef) {}