mirror of
https://github.com/jlengrand/webcomponentsjs.git
synced 2026-03-10 08:51:22 +00:00
Merge pull request #179 from azakus/wrap-ownersvgelement
Make broken descriptors configurable on Safari
This commit is contained in:
@@ -226,10 +226,13 @@ window.ShadowDOMPolyfill = {};
|
||||
setter = getSetter(name);
|
||||
}
|
||||
|
||||
// make all descriptors configurable on broken safari
|
||||
var configurable = isBrokenSafari || descriptor.configurable;
|
||||
|
||||
defineProperty(target, name, {
|
||||
get: getter,
|
||||
set: setter,
|
||||
configurable: descriptor.configurable,
|
||||
configurable: configurable,
|
||||
enumerable: descriptor.enumerable
|
||||
});
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
var Element = scope.wrappers.Element;
|
||||
var HTMLElement = scope.wrappers.HTMLElement;
|
||||
var registerObject = scope.registerObject;
|
||||
var defineWrapGetter = scope.defineWrapGetter;
|
||||
|
||||
var SVG_NS = 'http://www.w3.org/2000/svg';
|
||||
var svgTitleElement = document.createElementNS(SVG_NS, 'title');
|
||||
@@ -30,5 +31,7 @@
|
||||
delete Element.prototype.classList;
|
||||
}
|
||||
|
||||
defineWrapGetter(SVGElement, 'ownerSVGElement');
|
||||
|
||||
scope.wrappers.SVGElement = SVGElement;
|
||||
})(window.ShadowDOMPolyfill);
|
||||
|
||||
@@ -72,4 +72,16 @@ suite('SVGElement', function() {
|
||||
}
|
||||
});
|
||||
|
||||
test('ownerSVGElement', function() {
|
||||
var el = document.createElementNS(SVG_NS, 'svg');
|
||||
var el2 = document.createElementNS(SVG_NS,'svg');
|
||||
var g = document.createElementNS(SVG_NS, 'g');
|
||||
el.appendChild(g);
|
||||
|
||||
assert.equal(g.ownerSVGElement, el);
|
||||
|
||||
el2.appendChild(g);
|
||||
|
||||
assert.equal(g.ownerSVGElement, el2);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user