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

Side by Side Diff: third_party/polymer/v1_0/components-chromium/iron-scroll-target-behavior/iron-scroll-target-behavior-extracted.js

Issue 1766433002: Roll Polymer to 1.3.1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 /** 1 /**
2 * `Polymer.IronScrollTargetBehavior` allows an element to respond to scroll e vents from a 2 * `Polymer.IronScrollTargetBehavior` allows an element to respond to scroll e vents from a
3 * designated scroll target. 3 * designated scroll target.
4 * 4 *
5 * Elements that consume this behavior can override the `_scrollHandler` 5 * Elements that consume this behavior can override the `_scrollHandler`
6 * method to add logic on the scroll event. 6 * method to add logic on the scroll event.
7 * 7 *
8 * @demo demo/scrolling-region.html Scrolling Region 8 * @demo demo/scrolling-region.html Scrolling Region
9 * @demo demo/document.html Document Element 9 * @demo demo/document.html Document Element
10 * @polymerBehavior 10 * @polymerBehavior
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 window.removeEventListener('scroll', this._boundScrollHandler); 55 window.removeEventListener('scroll', this._boundScrollHandler);
56 } else if (this._oldScrollTarget.removeEventListener) { 56 } else if (this._oldScrollTarget.removeEventListener) {
57 this._oldScrollTarget.removeEventListener('scroll', this._boundScrollH andler); 57 this._oldScrollTarget.removeEventListener('scroll', this._boundScrollH andler);
58 } 58 }
59 this._oldScrollTarget = null; 59 this._oldScrollTarget = null;
60 } 60 }
61 if (isAttached) { 61 if (isAttached) {
62 // Support element id references 62 // Support element id references
63 if (typeof scrollTarget === 'string') { 63 if (typeof scrollTarget === 'string') {
64 64
65 var ownerRoot = Polymer.dom(this).getOwnerRoot(); 65 var host = this.domHost;
66 this.scrollTarget = (ownerRoot && ownerRoot.$) ? 66 this.scrollTarget = host && host.$ ? host.$[scrollTarget] :
67 ownerRoot.$[scrollTarget] : Polymer.dom(this.ownerDocument).queryS elector('#' + scrollTarget); 67 Polymer.dom(this.ownerDocument).querySelector('#' + scrollTarget);
68 68
69 } else if (this._scrollHandler) { 69 } else if (this._scrollHandler) {
70 70
71 this._boundScrollHandler = this._boundScrollHandler || this._scrollHan dler.bind(this); 71 this._boundScrollHandler = this._boundScrollHandler || this._scrollHan dler.bind(this);
72 // Add a new listener 72 // Add a new listener
73 if (scrollTarget === this._doc) { 73 if (scrollTarget === this._doc) {
74 window.addEventListener('scroll', this._boundScrollHandler); 74 window.addEventListener('scroll', this._boundScrollHandler);
75 if (this._scrollTop !== 0 || this._scrollLeft !== 0) { 75 if (this._scrollTop !== 0 || this._scrollLeft !== 0) {
76 this._scrollHandler(); 76 this._scrollHandler();
77 } 77 }
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 window.scrollTo(left, window.pageYOffset); 156 window.scrollTo(left, window.pageYOffset);
157 } else if (this._isValidScrollTarget()) { 157 } else if (this._isValidScrollTarget()) {
158 this.scrollTarget.scrollLeft = left; 158 this.scrollTarget.scrollLeft = left;
159 } 159 }
160 }, 160 },
161 161
162 /** 162 /**
163 * Scrolls the content to a particular place. 163 * Scrolls the content to a particular place.
164 * 164 *
165 * @method scroll 165 * @method scroll
166 * @param {number} left The left position
166 * @param {number} top The top position 167 * @param {number} top The top position
167 * @param {number} left The left position
168 */ 168 */
169 scroll: function(top, left) { 169 scroll: function(left, top) {
170 if (this.scrollTarget === this._doc) { 170 if (this.scrollTarget === this._doc) {
171 window.scrollTo(top, left); 171 window.scrollTo(left, top);
172 } else if (this._isValidScrollTarget()) { 172 } else if (this._isValidScrollTarget()) {
173 this.scrollTarget.scrollLeft = left;
173 this.scrollTarget.scrollTop = top; 174 this.scrollTarget.scrollTop = top;
174 this.scrollTarget.scrollLeft = left;
175 } 175 }
176 }, 176 },
177 177
178 /** 178 /**
179 * Gets the width of the scroll target. 179 * Gets the width of the scroll target.
180 * 180 *
181 * @type {number} 181 * @type {number}
182 */ 182 */
183 get _scrollTargetWidth() { 183 get _scrollTargetWidth() {
184 if (this._isValidScrollTarget()) { 184 if (this._isValidScrollTarget()) {
(...skipping 16 matching lines...) Expand all
201 201
202 /** 202 /**
203 * Returns true if the scroll target is a valid HTMLElement. 203 * Returns true if the scroll target is a valid HTMLElement.
204 * 204 *
205 * @return {boolean} 205 * @return {boolean}
206 */ 206 */
207 _isValidScrollTarget: function() { 207 _isValidScrollTarget: function() {
208 return this.scrollTarget instanceof HTMLElement; 208 return this.scrollTarget instanceof HTMLElement;
209 } 209 }
210 }; 210 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698