* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
*/
-// @version 0.7.18
+// @version 0.7.20
(function() {
window.WebComponents = window.WebComponents || {
flags: {}
});
});
}
+ scope.addForwardingProperties = addForwardingProperties;
scope.assert = assert;
scope.constructorTable = constructorTable;
scope.defineGetter = defineGetter;
enumerable: true
});
}
- [ "getBoundingClientRect", "getClientRects", "scrollIntoView" ].forEach(methodRequiresRendering);
+ [ "focus", "getBoundingClientRect", "getClientRects", "scrollIntoView" ].forEach(methodRequiresRendering);
registerWrapper(OriginalHTMLElement, HTMLElement, document.createElement("b"));
scope.wrappers.HTMLElement = HTMLElement;
scope.getInnerHTML = getInnerHTML;
})(window.ShadowDOMPolyfill);
(function(scope) {
"use strict";
+ var addForwardingProperties = scope.addForwardingProperties;
var mixin = scope.mixin;
var registerWrapper = scope.registerWrapper;
var setWrapper = scope.setWrapper;
unsafeUnwrap(this).texSubImage2D.apply(unsafeUnwrap(this), arguments);
}
});
+ var OriginalWebGLRenderingContextBase = Object.getPrototypeOf(OriginalWebGLRenderingContext.prototype);
+ if (OriginalWebGLRenderingContextBase !== Object.prototype) {
+ addForwardingProperties(OriginalWebGLRenderingContextBase, WebGLRenderingContext.prototype);
+ }
var instanceProperties = /WebKit/.test(navigator.userAgent) ? {
drawingBufferHeight: null,
drawingBufferWidth: null
var setInnerHTML = scope.setInnerHTML;
var unsafeUnwrap = scope.unsafeUnwrap;
var unwrap = scope.unwrap;
+ var wrap = scope.wrap;
var shadowHostTable = new WeakMap();
var nextOlderShadowTreeTable = new WeakMap();
function ShadowRoot(hostWrapper) {
},
getSelection: function() {
return document.getSelection();
+ },
+ get activeElement() {
+ var unwrappedActiveElement = unwrap(this).ownerDocument.activeElement;
+ if (!unwrappedActiveElement || !unwrappedActiveElement.nodeType) return null;
+ var activeElement = wrap(unwrappedActiveElement);
+ if (activeElement === this.host) {
+ return null;
+ }
+ while (!this.contains(activeElement) && !this.host.contains(activeElement)) {
+ while (activeElement.parentNode) {
+ activeElement = activeElement.parentNode;
+ }
+ if (activeElement.host) {
+ activeElement = activeElement.host;
+ } else {
+ return null;
+ }
+ }
+ return activeElement;
}
});
scope.wrappers.ShadowRoot = ShadowRoot;
var ShadowRoot = scope.wrappers.ShadowRoot;
var TreeScope = scope.TreeScope;
var cloneNode = scope.cloneNode;
+ var defineGetter = scope.defineGetter;
var defineWrapGetter = scope.defineWrapGetter;
var elementFromPoint = scope.elementFromPoint;
var forwardMethodsToWrapper = scope.forwardMethodsToWrapper;
defineWrapGetter(Document, "documentElement");
defineWrapGetter(Document, "body");
defineWrapGetter(Document, "head");
+ defineGetter(Document, "activeElement", function() {
+ var unwrappedActiveElement = unwrap(this).activeElement;
+ if (!unwrappedActiveElement || !unwrappedActiveElement.nodeType) return null;
+ var activeElement = wrap(unwrappedActiveElement);
+ while (!this.contains(activeElement)) {
+ while (activeElement.parentNode) {
+ activeElement = activeElement.parentNode;
+ }
+ if (activeElement.host) {
+ activeElement = activeElement.host;
+ } else {
+ return null;
+ }
+ }
+ return activeElement;
+ });
function wrapMethod(name) {
var original = document[name];
Document.prototype[name] = function() {
if (importCount) {
for (var i = 0, imp; i < importCount && (imp = imports[i]); i++) {
if (isImportLoaded(imp)) {
+ newImports.push(this);
parsedCount++;
checkDone();
} else {