Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Unified Diff: third_party/web-animations-js/sources/src/apply-preserving-inline-style.js

Issue 1214573003: Fix Polymer licensing issues (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix web-animations-js path Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/web-animations-js/sources/src/apply-preserving-inline-style.js
diff --git a/third_party/web-animations-js/sources/src/apply-preserving-inline-style.js b/third_party/web-animations-js/sources/src/apply-preserving-inline-style.js
deleted file mode 100644
index 795be364529173046198d02931bc6509e1055248..0000000000000000000000000000000000000000
--- a/third_party/web-animations-js/sources/src/apply-preserving-inline-style.js
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright 2014 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-(function(scope, testing) {
-
- var styleAttributes = {
- cssText: 1,
- length: 1,
- parentRule: 1,
- };
-
- var styleMethods = {
- getPropertyCSSValue: 1,
- getPropertyPriority: 1,
- getPropertyValue: 1,
- item: 1,
- removeProperty: 1,
- setProperty: 1,
- };
-
- var styleMutatingMethods = {
- removeProperty: 1,
- setProperty: 1,
- };
-
- function configureProperty(object, property, descriptor) {
- descriptor.enumerable = true;
- descriptor.configurable = true;
- Object.defineProperty(object, property, descriptor);
- }
-
- function AnimatedCSSStyleDeclaration(element) {
- WEB_ANIMATIONS_TESTING && console.assert(!(element.style instanceof AnimatedCSSStyleDeclaration),
- 'Element must not already have an animated style attached.');
-
- // Stores the inline style of the element on its behalf while the
- // polyfill uses the element's inline style to simulate web animations.
- // This is needed to fake regular inline style CSSOM access on the element.
- this._surrogateStyle = document.createElementNS('http://www.w3.org/1999/xhtml', 'div').style;
- this._style = element.style;
- this._length = 0;
- this._isAnimatedProperty = {};
-
- // Copy the inline style contents over to the surrogate.
- for (var i = 0; i < this._style.length; i++) {
- var property = this._style[i];
- this._surrogateStyle[property] = this._style[property];
- }
- this._updateIndices();
- }
-
- AnimatedCSSStyleDeclaration.prototype = {
- get cssText() {
- return this._surrogateStyle.cssText;
- },
- set cssText(text) {
- var isAffectedProperty = {};
- for (var i = 0; i < this._surrogateStyle.length; i++) {
- isAffectedProperty[this._surrogateStyle[i]] = true;
- }
- this._surrogateStyle.cssText = text;
- this._updateIndices();
- for (var i = 0; i < this._surrogateStyle.length; i++) {
- isAffectedProperty[this._surrogateStyle[i]] = true;
- }
- for (var property in isAffectedProperty) {
- if (!this._isAnimatedProperty[property]) {
- this._style.setProperty(property, this._surrogateStyle.getPropertyValue(property));
- }
- }
- },
- get length() {
- return this._surrogateStyle.length;
- },
- get parentRule() {
- return this._style.parentRule;
- },
- // Mirror the indexed getters and setters of the surrogate style.
- _updateIndices: function() {
- while (this._length < this._surrogateStyle.length) {
- Object.defineProperty(this, this._length, {
- configurable: true,
- enumerable: false,
- get: (function(index) {
- return function() { return this._surrogateStyle[index]; };
- })(this._length)
- });
- this._length++;
- }
- while (this._length > this._surrogateStyle.length) {
- this._length--;
- Object.defineProperty(this, this._length, {
- configurable: true,
- enumerable: false,
- value: undefined
- });
- }
- },
- _set: function(property, value) {
- this._style[property] = value;
- this._isAnimatedProperty[property] = true;
- },
- _clear: function(property) {
- this._style[property] = this._surrogateStyle[property];
- delete this._isAnimatedProperty[property];
- },
- };
-
- // Wrap the style methods.
- for (var method in styleMethods) {
- AnimatedCSSStyleDeclaration.prototype[method] = (function(method, modifiesStyle) {
- return function() {
- var result = this._surrogateStyle[method].apply(this._surrogateStyle, arguments);
- if (modifiesStyle) {
- if (!this._isAnimatedProperty[arguments[0]])
- this._style[method].apply(this._style, arguments);
- this._updateIndices();
- }
- return result;
- }
- })(method, method in styleMutatingMethods);
- }
-
- // Wrap the style.cssProperty getters and setters.
- for (var property in document.documentElement.style) {
- if (property in styleAttributes || property in styleMethods) {
- continue;
- }
- (function(property) {
- configureProperty(AnimatedCSSStyleDeclaration.prototype, property, {
- get: function() {
- return this._surrogateStyle[property];
- },
- set: function(value) {
- this._surrogateStyle[property] = value;
- this._updateIndices();
- if (!this._isAnimatedProperty[property])
- this._style[property] = value;
- }
- });
- })(property);
- }
-
- function ensureStyleIsPatched(element) {
- if (element._webAnimationsPatchedStyle)
- return;
-
- var animatedStyle = new AnimatedCSSStyleDeclaration(element);
- try {
- configureProperty(element, 'style', { get: function() { return animatedStyle; } });
- } catch (_) {
- // iOS and older versions of Safari (pre v7) do not support overriding an element's
- // style object. Animations will clobber any inline styles as a result.
- element.style._set = function(property, value) {
- element.style[property] = value;
- };
- element.style._clear = function(property) {
- element.style[property] = '';
- };
- }
-
- // We must keep a handle on the patched style to prevent it from getting GC'd.
- element._webAnimationsPatchedStyle = element.style;
- }
-
- scope.apply = function(element, property, value) {
- ensureStyleIsPatched(element);
- element.style._set(scope.propertyName(property), value);
- };
-
- scope.clear = function(element, property) {
- if (element._webAnimationsPatchedStyle) {
- element.style._clear(scope.propertyName(property));
- }
- };
-
- if (WEB_ANIMATIONS_TESTING)
- testing.ensureStyleIsPatched = ensureStyleIsPatched;
-
-})(webAnimations1, webAnimationsTesting);
« no previous file with comments | « third_party/web-animations-js/sources/src/apply.js ('k') | third_party/web-animations-js/sources/src/box-handler.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698