mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update web components
This commit is contained in:
parent
5093d99000
commit
f6b71369e3
22 changed files with 199 additions and 161 deletions
|
@ -29,14 +29,14 @@
|
|||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"ignore": [],
|
||||
"homepage": "https://github.com/PolymerElements/iron-behaviors",
|
||||
"homepage": "https://github.com/polymerelements/iron-behaviors",
|
||||
"_release": "1.0.11",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.11",
|
||||
"commit": "084fbc7f60343d717bb2208f350774f4c9899777"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-behaviors.git",
|
||||
"_source": "git://github.com/polymerelements/iron-behaviors.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "PolymerElements/iron-behaviors"
|
||||
"_originalSource": "polymerelements/iron-behaviors"
|
||||
}
|
|
@ -36,7 +36,7 @@
|
|||
"tag": "v1.0.8",
|
||||
"commit": "e9a66727f3da0446f04956d4e4f1dcd51cdec2ff"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-selector.git",
|
||||
"_source": "git://github.com/polymerelements/iron-selector.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "PolymerElements/iron-selector"
|
||||
"_originalSource": "polymerelements/iron-selector"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-button",
|
||||
"version": "1.0.9",
|
||||
"version": "1.0.10",
|
||||
"description": "Material design button",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -29,20 +29,21 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
|
||||
"web-component-tester": "*",
|
||||
"web-component-tester": "polymer/web-component-tester#^3.4.0",
|
||||
"test-fixture": "polymerelements/test-fixture#^1.0.0",
|
||||
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
|
||||
"iron-demo-helpers": "PolymerElements/iron-demo-helpers#^1.0.0",
|
||||
"iron-icon": "polymerelements/iron-icon#^1.0.0",
|
||||
"iron-icons": "polymerelements/iron-icons#^1.0.0",
|
||||
"iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
|
||||
"paper-styles": "polymerelements/paper-styles#^1.0.0"
|
||||
},
|
||||
"ignore": [],
|
||||
"_release": "1.0.9",
|
||||
"_release": "1.0.10",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.9",
|
||||
"commit": "c30e913331feed4f7b911c0fbf6bb9535e56b4d1"
|
||||
"tag": "v1.0.10",
|
||||
"commit": "53d833818fa738a5160177f9f834a08c839ab2be"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/paper-button.git",
|
||||
"_target": "~1.0.1",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "paper-button",
|
||||
"version": "1.0.9",
|
||||
"version": "1.0.10",
|
||||
"description": "Material design button",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -29,9 +29,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0",
|
||||
"web-component-tester": "*",
|
||||
"web-component-tester": "polymer/web-component-tester#^3.4.0",
|
||||
"test-fixture": "polymerelements/test-fixture#^1.0.0",
|
||||
"iron-component-page": "polymerelements/iron-component-page#^1.0.0",
|
||||
"iron-demo-helpers": "PolymerElements/iron-demo-helpers#^1.0.0",
|
||||
"iron-icon": "polymerelements/iron-icon#^1.0.0",
|
||||
"iron-icons": "polymerelements/iron-icons#^1.0.0",
|
||||
"iron-test-helpers": "polymerelements/iron-test-helpers#^1.0.0",
|
||||
|
|
|
@ -19,136 +19,104 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
<title>paper-button demo</title>
|
||||
|
||||
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
||||
<link rel="import" href="../../paper-styles/color.html">
|
||||
<link rel="import" href="../../paper-styles/demo-pages.html">
|
||||
<link rel="import" href="../../iron-demo-helpers/demo-snippet.html">
|
||||
<link rel="import" href="../../iron-demo-helpers/demo-pages-shared-styles.html">
|
||||
<link rel="import" href="../../iron-icons/iron-icons.html">
|
||||
<link rel="import" href="../../paper-styles/color.html">
|
||||
<link rel="import" href="../paper-button.html">
|
||||
|
||||
<style is="custom-style">
|
||||
.horizontal-section {
|
||||
min-width: 130px;
|
||||
<style is="custom-style" include="demo-pages-shared-styles">
|
||||
.vertical-section-container {
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
paper-button {
|
||||
display: block;
|
||||
margin-bottom: 24px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
paper-button.colorful {
|
||||
color: #4285f4;
|
||||
}
|
||||
|
||||
paper-button[raised].colorful {
|
||||
background: #4285f4;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
paper-button[toggles] {
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
paper-button[toggles][active] {
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
paper-button[toggles][active].colorful {
|
||||
background-color: rgba(66, 133, 244, 0.25);
|
||||
}
|
||||
|
||||
paper-button[toggles][active][raised].colorful {
|
||||
background-color: rgba(66, 133, 244, 0.75);
|
||||
}
|
||||
|
||||
paper-button.blue {
|
||||
color: var(--paper-light-blue-500);
|
||||
--paper-button-flat-focus-color: var(--paper-light-blue-50);
|
||||
}
|
||||
paper-button.blue:hover {
|
||||
background: var(--paper-light-blue-50);
|
||||
}
|
||||
paper-button.red {
|
||||
color: var(--paper-red-500);
|
||||
--paper-button-flat-focus-color: var(--paper-red-50);
|
||||
}
|
||||
paper-button.red:hover {
|
||||
background: var(--paper-red-50);
|
||||
}
|
||||
paper-button.green {
|
||||
color: var(--paper-green-500);
|
||||
--paper-button-flat-focus-color: var(--paper-green-50);
|
||||
}
|
||||
paper-button.green:hover {
|
||||
background: var(--paper-green-50);
|
||||
}
|
||||
paper-button.orange {
|
||||
color: var(--paper-orange-500);
|
||||
--paper-button-flat-focus-color: var(--paper-orange-50);
|
||||
}
|
||||
paper-button.orange:hover {
|
||||
background: var(--paper-orange-50);
|
||||
}
|
||||
|
||||
paper-button.hover:hover {
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
paper-button.ripple {
|
||||
--paper-button-ink-color: var(--paper-pink-a200);
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body unresolved>
|
||||
<div class="horizontal-section-container">
|
||||
<div>
|
||||
<h4>Flat</h4>
|
||||
<div class="horizontal-section">
|
||||
<paper-button tabindex="0">button</paper-button>
|
||||
<paper-button tabindex="0" class="colorful">colorful</paper-button>
|
||||
<paper-button tabindex="0" disabled>disabled</paper-button>
|
||||
<paper-button tabindex="0" noink>noink</paper-button>
|
||||
<paper-button tabindex="0" class="colorful custom"><iron-icon icon="check"></iron-icon>ok</paper-button>
|
||||
<paper-button tabindex="0" class="custom"><iron-icon icon="clear"></iron-icon>cancel</paper-button>
|
||||
<div class="vertical-section-container centered">
|
||||
<h3>Buttons can be flat, raised, toggleable, or disabled</h3>
|
||||
<demo-snippet class="centered-demo">
|
||||
<template>
|
||||
<paper-button>link</paper-button>
|
||||
<paper-button raised>raised</paper-button>
|
||||
<paper-button toggles raised>toggles</paper-button>
|
||||
<paper-button disabled>disabled</paper-button>
|
||||
</template>
|
||||
</demo-snippet>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h3>Buttons can have icons</h3>
|
||||
<demo-snippet class="centered-demo">
|
||||
<template>
|
||||
<paper-button><iron-icon icon="check"></iron-icon>link</paper-button>
|
||||
<paper-button raised><iron-icon icon="file-download"></iron-icon>raised</paper-button>
|
||||
<paper-button toggles raised><iron-icon icon="favorite"></iron-icon>toggles</paper-button>
|
||||
<paper-button disabled><iron-icon icon="block"></iron-icon>disabled</paper-button>
|
||||
</template>
|
||||
</demo-snippet>
|
||||
|
||||
<div>
|
||||
<h4>Raised</h4>
|
||||
<div class="horizontal-section">
|
||||
<paper-button tabindex="0" raised>button</paper-button>
|
||||
<paper-button tabindex="0" raised class="colorful">colorful</paper-button>
|
||||
<paper-button tabindex="0" raised disabled>disabled</paper-button>
|
||||
<paper-button tabindex="0" raised noink>noink</paper-button>
|
||||
<paper-button tabindex="0" raised class="colorful custom"><iron-icon icon="check"></iron-icon>ok</paper-button>
|
||||
<paper-button tabindex="0" raised class="custom"><iron-icon icon="clear"></iron-icon>cancel</paper-button>
|
||||
</div>
|
||||
</div>
|
||||
<h3>Buttons can hide the ripple effect using the <i>noink</i> attribute</h3>
|
||||
<demo-snippet class="centered-demo">
|
||||
<template>
|
||||
<paper-button noink>link</paper-button>
|
||||
<paper-button raised noink>raised</paper-button>
|
||||
<paper-button toggles raised noink>toggles</paper-button>
|
||||
<paper-button disabled noink>disabled</paper-button>
|
||||
</template>
|
||||
</demo-snippet>
|
||||
|
||||
<div>
|
||||
<h4>Toggleable</h4>
|
||||
<div class="horizontal-section">
|
||||
<paper-button tabindex="0" toggles>button</paper-button>
|
||||
<paper-button tabindex="0" toggles raised noink>noink</paper-button>
|
||||
<paper-button tabindex="0" toggles active class="colorful">colorful</paper-button>
|
||||
<paper-button tabindex="0" toggles raised active class="colorful">colorful</paper-button>
|
||||
<paper-button tabindex="0" toggles class="colorful custom"><iron-icon icon="check"></iron-icon>ok</paper-button>
|
||||
<paper-button tabindex="0" toggles class="custom"><iron-icon icon="clear"></iron-icon>cancel</paper-button>
|
||||
</div>
|
||||
</div>
|
||||
<h3>Buttons can be styled using custom properties</h3>
|
||||
<demo-snippet class="centered-demo">
|
||||
<template>
|
||||
<paper-button class="custom pink">link</paper-button>
|
||||
<paper-button raised class="custom indigo">raised</paper-button>
|
||||
<paper-button toggles raised class="custom green">toggles</paper-button>
|
||||
<paper-button disabled class="custom disabled">disabled</paper-button>
|
||||
|
||||
<div>
|
||||
<h4>Color</h4>
|
||||
<div class="horizontal-section">
|
||||
<paper-button tabindex="0" class="blue ripple">button</paper-button>
|
||||
<paper-button tabindex="0" class="red ripple">noink</paper-button>
|
||||
<paper-button tabindex="0" class="orange ripple">colorful</paper-button>
|
||||
<paper-button tabindex="0" class="green ripple">colorful</paper-button>
|
||||
<paper-button tabindex="0" class="red ripple"><iron-icon icon="check"></iron-icon>ok</paper-button>
|
||||
<paper-button tabindex="0" class="blue ripple"><iron-icon icon="clear"></iron-icon>cancel</paper-button>
|
||||
</div>
|
||||
</div>
|
||||
<style is="custom-style">
|
||||
paper-button.custom {
|
||||
--paper-button-ink-color: var(--paper-pink-a200);
|
||||
/* These could also be individually defined for each of the
|
||||
specific css classes, but we'll just do it once as an example */
|
||||
--paper-button-flat-keyboard-focus: {
|
||||
background-color: var(--paper-pink-a200);
|
||||
color: white !important;
|
||||
};
|
||||
--paper-button-raised-keyboard-focus: {
|
||||
background-color: var(--paper-pink-a200) !important;
|
||||
color: white !important;
|
||||
};
|
||||
}
|
||||
paper-button.custom:hover {
|
||||
background-color: var(--paper-indigo-100);
|
||||
}
|
||||
paper-button.pink {
|
||||
color: var(--paper-pink-a200);
|
||||
|
||||
}
|
||||
paper-button.indigo {
|
||||
background-color: var(--paper-indigo-500);
|
||||
color: white;
|
||||
--paper-button-raised-keyboard-focus: {
|
||||
background-color: var(--paper-pink-a200) !important;
|
||||
color: white !important;
|
||||
};
|
||||
}
|
||||
paper-button.green {
|
||||
background-color: var(--paper-green-500);
|
||||
color: white;
|
||||
}
|
||||
paper-button.green[active] {
|
||||
background-color: var(--paper-red-500);
|
||||
}
|
||||
paper-button.disabled {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</template>
|
||||
</demo-snippet>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -16,11 +16,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
|
||||
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
||||
<script src="../../web-component-tester/browser.js"></script>
|
||||
<script src="../../test-fixture/test-fixture-mocha.js"></script>
|
||||
<script src="../../iron-test-helpers/mock-interactions.js"></script>
|
||||
|
||||
<link rel="import" href="../paper-button.html">
|
||||
<link rel="import" href="../../test-fixture/test-fixture.html">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
"tag": "v1.0.4",
|
||||
"commit": "05f3800d37f8c5cad63ac2cf279f01bffb7d4fe8"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/paper-material.git",
|
||||
"_source": "git://github.com/PolymerElements/paper-material.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymerelements/paper-material"
|
||||
"_originalSource": "PolymerElements/paper-material"
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "webcomponentsjs",
|
||||
"main": "webcomponents.js",
|
||||
"version": "0.7.18",
|
||||
"version": "0.7.19",
|
||||
"homepage": "http://webcomponents.org",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
@ -18,11 +18,11 @@
|
|||
"devDependencies": {
|
||||
"web-component-tester": "~3.3.10"
|
||||
},
|
||||
"_release": "0.7.18",
|
||||
"_release": "0.7.19",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v0.7.18",
|
||||
"commit": "acdd43ad41c15e1834458da01d228ab22a224051"
|
||||
"tag": "v0.7.19",
|
||||
"commit": "d2b2329a8453e93b0d0c4949bb83e7166088adaf"
|
||||
},
|
||||
"_source": "git://github.com/Polymer/webcomponentsjs.git",
|
||||
"_target": "^0.7.18",
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* 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.19
|
||||
if (typeof WeakMap === "undefined") {
|
||||
(function() {
|
||||
var defineProperty = Object.defineProperty;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
|||
* 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.19
|
||||
if (typeof WeakMap === "undefined") {
|
||||
(function() {
|
||||
var defineProperty = Object.defineProperty;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
|||
* 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.19
|
||||
if (typeof WeakMap === "undefined") {
|
||||
(function() {
|
||||
var defineProperty = Object.defineProperty;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
|||
* 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.19
|
||||
if (typeof WeakMap === "undefined") {
|
||||
(function() {
|
||||
var defineProperty = Object.defineProperty;
|
||||
|
@ -2741,7 +2741,7 @@ window.ShadowDOMPolyfill = {};
|
|||
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;
|
||||
|
@ -3364,6 +3364,7 @@ window.ShadowDOMPolyfill = {};
|
|||
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) {
|
||||
|
@ -3399,6 +3400,22 @@ window.ShadowDOMPolyfill = {};
|
|||
},
|
||||
getSelection: function() {
|
||||
return document.getSelection();
|
||||
},
|
||||
get activeElement() {
|
||||
var unwrappedActiveElement = unwrap(this).ownerDocument.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;
|
||||
}
|
||||
});
|
||||
scope.wrappers.ShadowRoot = ShadowRoot;
|
||||
|
@ -4063,6 +4080,7 @@ window.ShadowDOMPolyfill = {};
|
|||
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;
|
||||
|
@ -4086,6 +4104,23 @@ window.ShadowDOMPolyfill = {};
|
|||
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)) {
|
||||
var lastHost = 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() {
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "webcomponentsjs",
|
||||
"main": "webcomponents.js",
|
||||
"version": "0.7.18",
|
||||
"version": "0.7.19",
|
||||
"homepage": "http://webcomponents.org",
|
||||
"authors": [
|
||||
"The Polymer Authors"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "webcomponents.js",
|
||||
"version": "0.7.18",
|
||||
"version": "0.7.19",
|
||||
"description": "webcomponents.js",
|
||||
"main": "webcomponents.js",
|
||||
"directories": {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* 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.19
|
||||
(function() {
|
||||
window.WebComponents = window.WebComponents || {
|
||||
flags: {}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
|||
* 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.19
|
||||
(function() {
|
||||
window.WebComponents = window.WebComponents || {
|
||||
flags: {}
|
||||
|
@ -2771,7 +2771,7 @@ if (WebComponents.flags.shadow) {
|
|||
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;
|
||||
|
@ -3373,6 +3373,7 @@ if (WebComponents.flags.shadow) {
|
|||
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) {
|
||||
|
@ -3408,6 +3409,22 @@ if (WebComponents.flags.shadow) {
|
|||
},
|
||||
getSelection: function() {
|
||||
return document.getSelection();
|
||||
},
|
||||
get activeElement() {
|
||||
var unwrappedActiveElement = unwrap(this).ownerDocument.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;
|
||||
}
|
||||
});
|
||||
scope.wrappers.ShadowRoot = ShadowRoot;
|
||||
|
@ -4066,6 +4083,7 @@ if (WebComponents.flags.shadow) {
|
|||
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;
|
||||
|
@ -4089,6 +4107,23 @@ if (WebComponents.flags.shadow) {
|
|||
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)) {
|
||||
var lastHost = 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() {
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue