angular
  .module('material.components.tabs')
  .directive('mdTabsDummyWrapper', MdTabsDummyWrapper);

/**
 * @private
 *
 * @param $mdUtil
 * @returns {{require: string, link: link}}
 * @constructor
 * 
 * @ngInject
 */
function MdTabsDummyWrapper ($mdUtil) {
  return {
    require: '^?mdTabs',
    link:    function link (scope, element, attr, ctrl) {
      if (!ctrl) return;

      var observer = new MutationObserver(function(mutations) {
        ctrl.updatePagination();
        ctrl.updateInkBarStyles();
      });

      var config = {
        childList: true,
        subtree: true,
        // Per https://bugzilla.mozilla.org/show_bug.cgi?id=1138368, browsers will not fire
        // the childList mutation, once a <span> element's innerText changes.
        // The characterData of the <span> element will change.
        characterData: true
      };

      observer.observe(element[0], config);

      // Disconnect the observer
      scope.$on('$destroy', function() {
        if (observer) {
          observer.disconnect();
        }
      });
    }
  };
}

@@ -133,16 +133,34 @@
 $mdUtil%0A
+ * @param $window%0A
  * @retu
@@ -213,17 +213,16 @@
 uctor%0A *
- 
 %0A * @ngI
@@ -267,16 +267,25 @@
 ($mdUtil
+, $window
 ) %7B%0A  re
@@ -422,50 +422,71 @@
 rver
- = new MutationObserver(function(mutations
+;%0A      var disconnect;%0A%0A      var mutationCallback = function(
 ) %7B%0A
@@ -560,20 +560,63 @@
 %0A      %7D
-)
 ;%0A%0A
+      if('MutationObserver' in $window) %7B%0A  
       va
@@ -628,16 +628,18 @@
 fig = %7B%0A
+  
         
@@ -663,16 +663,18 @@
         
+  
 subtree:
@@ -688,16 +688,18 @@
         
+ 
+ 
 // Per h
@@ -782,16 +782,18 @@
         
+  
 // the c
@@ -854,16 +854,18 @@
 hanges.%0A
+  
         
@@ -928,16 +928,18 @@
         
+  
 characte
@@ -952,24 +952,26 @@
  true%0A      
+  
 %7D;%0A%0A      ob
@@ -972,45 +972,259 @@
     
-observer.observe(element%5B0%5D, config);
+  observer = new MutationObserver(mutationCallback);%0A        observer.observe(element%5B0%5D, config);%0A        disconnect = observer.disconnect.bind(observer);%0A      %7D else %7B%0A        disconnect = element.on('DOMSubtreeModified', mutationCallback);%0A      %7D
 %0A%0A  
@@ -1307,43 +1307,8 @@
     
-if (observer) %7B%0A          observer.
 disc
@@ -1321,18 +1321,8 @@
 ();%0A
-        %7D%0A
     

Fix mdTabs on ie10