diff --git a/src/lib/tabs/tab-body.html b/src/lib/tabs/tab-body.html
index 73e619466fb..c6e7a4cdd52 100644
--- a/src/lib/tabs/tab-body.html
+++ b/src/lib/tabs/tab-body.html
@@ -1,5 +1,5 @@
diff --git a/src/lib/tabs/tab-body.spec.ts b/src/lib/tabs/tab-body.spec.ts
index a205922ff0f..880b3247088 100644
--- a/src/lib/tabs/tab-body.spec.ts
+++ b/src/lib/tabs/tab-body.spec.ts
@@ -170,19 +170,6 @@ describe('MdTabBody', () => {
}));
});
- it('should toggle the canBeAnimated flag', () => {
- let fixture: ComponentFixture;
- let tabBody: MdTabBody;
-
- fixture = TestBed.createComponent(SimpleTabBodyApp);
- tabBody = fixture.componentInstance.mdTabBody;
-
- expect(tabBody._canBeAnimated).toBe(false);
-
- fixture.detectChanges();
-
- expect(tabBody._canBeAnimated).toBe(true);
- });
});
diff --git a/src/lib/tabs/tab-body.ts b/src/lib/tabs/tab-body.ts
index 09cb9084e2b..f3d3682f2cd 100644
--- a/src/lib/tabs/tab-body.ts
+++ b/src/lib/tabs/tab-body.ts
@@ -7,9 +7,7 @@ import {
OnInit,
ElementRef,
Optional,
- ChangeDetectorRef,
AfterViewChecked,
- AfterContentChecked,
} from '@angular/core';
import {
trigger,
@@ -75,7 +73,7 @@ export type MdTabBodyOriginState = 'left' | 'right';
])
]
})
-export class MdTabBody implements OnInit, AfterViewChecked, AfterContentChecked {
+export class MdTabBody implements OnInit, AfterViewChecked {
/** The portal host inside of this container into which the tab body content will be loaded. */
@ViewChild(PortalHostDirective) _portalHost: PortalHostDirective;
@@ -102,9 +100,6 @@ export class MdTabBody implements OnInit, AfterViewChecked, AfterContentChecked
}
}
- /** Whether the element is allowed to be animated. */
- _canBeAnimated: boolean = false;
-
/** The origin position from which this tab should appear when it is centered into view. */
_origin: MdTabBodyOriginState;
@@ -120,10 +115,7 @@ export class MdTabBody implements OnInit, AfterViewChecked, AfterContentChecked
}
}
- constructor(
- @Optional() private _dir: Dir,
- private _elementRef: ElementRef,
- private _changeDetectorRef: ChangeDetectorRef) { }
+ constructor(@Optional() private _dir: Dir, private _elementRef: ElementRef) { }
/**
* After initialized, check if the content is centered and has an origin. If so, set the
@@ -145,27 +137,6 @@ export class MdTabBody implements OnInit, AfterViewChecked, AfterContentChecked
}
}
- /**
- * After the content has been checked, determines whether the element should be allowed to
- * animate. This has to be limited, because under a specific set of circumstances (see #2151),
- * the animations can be triggered too early, which either crashes Chrome by putting it into an
- * infinite loop (with Angular < 2.3.0) or throws an error because the element doesn't have a
- * computed style (with Angular > 2.3.0). This can alternatively be determined by checking the
- * transform: canBeAnimated = getComputedStyle(element) !== '', however document.contains should
- * be faster since it doesn't cause a reflow.
- */
- ngAfterContentChecked() {
- // TODO: This can safely be removed after we stop supporting Angular < 2.4.2. The fix landed via
- // https://github.com/angular/angular/commit/21030e9a1cf30e8101399d8535ed72d847a23ba6
- if (!this._canBeAnimated) {
- this._canBeAnimated = document.body.contains(this._elementRef.nativeElement);
-
- if (this._canBeAnimated) {
- this._changeDetectorRef.markForCheck();
- }
- }
- }
-
_onTranslateTabStarted(e: AnimationEvent) {
if (this._isCenterPosition(e.toState)) {
this.onCentering.emit(this._elementRef.nativeElement.clientHeight);