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: chrome/renderer/resources/extensions/web_view.js

Issue 530043002: <webview> cleanup: Change self = this to bind(this) in web_view.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
« no previous file with comments | « no previous file | chrome/renderer/resources/extensions/web_view_events.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This module implements Webview (<webview>) as a custom element that wraps a 5 // This module implements Webview (<webview>) as a custom element that wraps a
6 // BrowserPlugin object element. The object element is hidden within 6 // BrowserPlugin object element. The object element is hidden within
7 // the shadow DOM of the Webview element. 7 // the shadow DOM of the Webview element.
8 8
9 var DocumentNatives = requireNative('document_natives'); 9 var DocumentNatives = requireNative('document_natives');
10 var GuestViewInternal = 10 var GuestViewInternal =
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 // attribute without any changes to its value. This is useful in the case 439 // attribute without any changes to its value. This is useful in the case
440 // where the webview guest has crashed and navigating to the same address 440 // where the webview guest has crashed and navigating to the same address
441 // spawns off a new process. 441 // spawns off a new process.
442 this.srcAndPartitionObserver = new MutationObserver(function(mutations) { 442 this.srcAndPartitionObserver = new MutationObserver(function(mutations) {
443 $Array.forEach(mutations, function(mutation) { 443 $Array.forEach(mutations, function(mutation) {
444 var oldValue = mutation.oldValue; 444 var oldValue = mutation.oldValue;
445 var newValue = this.webviewNode.getAttribute(mutation.attributeName); 445 var newValue = this.webviewNode.getAttribute(mutation.attributeName);
446 if (oldValue != newValue) { 446 if (oldValue != newValue) {
447 return; 447 return;
448 } 448 }
449 this.handleWebviewAttributeMutation( 449 this.handleWebviewAttributeMutation(
lazyboy 2014/09/02 22:57:27 ^^^
450 mutation.attributeName, oldValue, newValue); 450 mutation.attributeName, oldValue, newValue);
451 }.bind(this)); 451 }.bind(this));
452 }); 452 }.bind(this));
lazyboy 2014/09/02 17:45:34 This isn't necessary, are you doing this for consi
Fady Samuel 2014/09/02 22:53:59 Are you sure about that? If I don't bind this here
lazyboy 2014/09/02 22:57:27 I was confused by the whole diff being messed up i
453 var params = { 453 var params = {
454 attributes: true, 454 attributes: true,
455 attributeOldValue: true, 455 attributeOldValue: true,
456 attributeFilter: ['src', 'partition'] 456 attributeFilter: ['src', 'partition']
457 }; 457 };
458 this.srcAndPartitionObserver.observe(this.webviewNode, params); 458 this.srcAndPartitionObserver.observe(this.webviewNode, params);
459 }; 459 };
460 460
461 /** 461 /**
462 * @private 462 * @private
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 WebViewInternal.prototype.dispatchEvent = function(webViewEvent) { 740 WebViewInternal.prototype.dispatchEvent = function(webViewEvent) {
741 return this.webviewNode.dispatchEvent(webViewEvent); 741 return this.webviewNode.dispatchEvent(webViewEvent);
742 }; 742 };
743 743
744 /** 744 /**
745 * Adds an 'on<event>' property on the webview, which can be used to set/unset 745 * Adds an 'on<event>' property on the webview, which can be used to set/unset
746 * an event handler. 746 * an event handler.
747 */ 747 */
748 WebViewInternal.prototype.setupEventProperty = function(eventName) { 748 WebViewInternal.prototype.setupEventProperty = function(eventName) {
749 var propertyName = 'on' + eventName.toLowerCase(); 749 var propertyName = 'on' + eventName.toLowerCase();
750 Object.defineProperty(webviewNode, propertyName, { 750 Object.defineProperty(this.webviewNode, propertyName, {
751 get: function() { 751 get: function() {
752 return this.on[propertyName]; 752 return this.on[propertyName];
753 }.bind(this), 753 }.bind(this),
754 set: function(value) { 754 set: function(value) {
755 if (this.on[propertyName]) 755 if (this.on[propertyName])
756 this.webviewNode.removeEventListener(eventName, this.on[propertyName]); 756 this.webviewNode.removeEventListener(eventName, this.on[propertyName]);
757 this.on[propertyName] = value; 757 this.on[propertyName] = value;
758 if (value) 758 if (value)
759 this.webviewNode.addEventListener(eventName, value); 759 this.webviewNode.addEventListener(eventName, value);
760 }.bind(this), 760 }.bind(this),
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
1031 }; 1031 };
1032 1032
1033 /** 1033 /**
1034 * Implemented when the experimental API is available. 1034 * Implemented when the experimental API is available.
1035 * @private 1035 * @private
1036 */ 1036 */
1037 WebViewInternal.prototype.setupExperimentalContextMenus = function() {}; 1037 WebViewInternal.prototype.setupExperimentalContextMenus = function() {};
1038 1038
1039 exports.WebView = WebView; 1039 exports.WebView = WebView;
1040 exports.WebViewInternal = WebViewInternal; 1040 exports.WebViewInternal = WebViewInternal;
OLDNEW
« no previous file with comments | « no previous file | chrome/renderer/resources/extensions/web_view_events.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698