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

Side by Side Diff: chrome/renderer/resources/extensions/web_view/chrome_web_view.js

Issue 1039043003: Fix TODO in chrome_web_view, use utils.lookup to find context menu events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: forgot to remove the second todo Created 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 chrome-specific <webview> API. 5 // This module implements chrome-specific <webview> API.
6 // See web_view_api_methods.js for details. 6 // See web_view_api_methods.js for details.
7 7
8 var ChromeWebView = require('chromeWebViewInternal').ChromeWebView; 8 var ChromeWebView = require('chromeWebViewInternal').ChromeWebView;
9 var ChromeWebViewSchema = 9 var ChromeWebViewSchema =
10 requireNative('schema_registry').GetSchema('chromeWebViewInternal'); 10 requireNative('schema_registry').GetSchema('chromeWebViewInternal');
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 116
117 var WebViewContextMenus = Utils.expose( 117 var WebViewContextMenus = Utils.expose(
118 'WebViewContextMenus', WebViewContextMenusImpl, 118 'WebViewContextMenus', WebViewContextMenusImpl,
119 { functions: ['create', 'remove', 'removeAll', 'update'] }); 119 { functions: ['create', 'remove', 'removeAll', 'update'] });
120 120
121 // ----------------------------------------------------------------------------- 121 // -----------------------------------------------------------------------------
122 122
123 WebViewImpl.prototype.maybeSetupContextMenus = function() { 123 WebViewImpl.prototype.maybeSetupContextMenus = function() {
124 if (!this.contextMenusOnContextMenuEvent_) { 124 if (!this.contextMenusOnContextMenuEvent_) {
125 var eventName = 'chromeWebViewInternal.onContextMenuShow'; 125 var eventName = 'chromeWebViewInternal.onContextMenuShow';
126 // TODO(lazyboy): Find event by name instead of events[1]. 126 var eventSchema =
127 var eventSchema = ChromeWebViewSchema.events[1]; 127 Utils.lookup(ChromeWebViewSchema.events, 'name', 'onShow');
128 var eventOptions = {supportsListeners: true}; 128 var eventOptions = {supportsListeners: true};
129 this.contextMenusOnContextMenuEvent_ = new ContextMenusOnContextMenuEvent( 129 this.contextMenusOnContextMenuEvent_ = new ContextMenusOnContextMenuEvent(
130 this, eventName, eventSchema, eventOptions, this.viewInstanceId); 130 this, eventName, eventSchema, eventOptions, this.viewInstanceId);
131 } 131 }
132 132
133 var createContextMenus = function() { 133 var createContextMenus = function() {
134 return function() { 134 return function() {
135 if (this.contextMenus_) { 135 if (this.contextMenus_) {
136 return this.contextMenus_; 136 return this.contextMenus_;
137 } 137 }
138 138
139 this.contextMenus_ = new WebViewContextMenus(this.viewInstanceId); 139 this.contextMenus_ = new WebViewContextMenus(this.viewInstanceId);
140 140
141 // Define 'onClicked' event property on |this.contextMenus_|. 141 // Define 'onClicked' event property on |this.contextMenus_|.
142 var getOnClickedEvent = function() { 142 var getOnClickedEvent = function() {
143 return function() { 143 return function() {
144 if (!this.contextMenusOnClickedEvent_) { 144 if (!this.contextMenusOnClickedEvent_) {
145 var eventName = 'chromeWebViewInternal.onClicked'; 145 var eventName = 'chromeWebViewInternal.onClicked';
146 // TODO(lazyboy): Find event by name instead of events[0]. 146 var eventSchema =
147 var eventSchema = ChromeWebViewSchema.events[0]; 147 Utils.lookup(ChromeWebViewSchema.events, 'name', 'onClicked');
148 var eventOptions = {supportsListeners: true}; 148 var eventOptions = {supportsListeners: true};
149 var onClickedEvent = new ContextMenusOnClickedEvent( 149 var onClickedEvent = new ContextMenusOnClickedEvent(
150 eventName, eventSchema, eventOptions, this.viewInstanceId); 150 eventName, eventSchema, eventOptions, this.viewInstanceId);
151 this.contextMenusOnClickedEvent_ = onClickedEvent; 151 this.contextMenusOnClickedEvent_ = onClickedEvent;
152 return onClickedEvent; 152 return onClickedEvent;
153 } 153 }
154 return this.contextMenusOnClickedEvent_; 154 return this.contextMenusOnClickedEvent_;
155 }.bind(this); 155 }.bind(this);
156 }.bind(this); 156 }.bind(this);
157 $Object.defineProperty( 157 $Object.defineProperty(
(...skipping 21 matching lines...) Expand all
179 'contextMenus', 179 'contextMenus',
180 { 180 {
181 get: createContextMenus(), 181 get: createContextMenus(),
182 enumerable: true 182 enumerable: true
183 }); 183 });
184 }; 184 };
185 185
186 function GetUniqueSubEventName(eventName) { 186 function GetUniqueSubEventName(eventName) {
187 return eventName + '/' + idGeneratorNatives.GetNextId(); 187 return eventName + '/' + idGeneratorNatives.GetNextId();
188 } 188 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698