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

Side by Side Diff: chrome/renderer/resources/extensions/browser_action_custom_bindings.js

Issue 477193003: Refactor setIcon to allow for more general use of imageData (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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 // 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 // Custom binding for the browserAction API. 5 // Custom binding for the browserAction API.
6 6
7 var binding = require('binding').Binding.create('browserAction'); 7 var binding = require('binding').Binding.create('browserAction');
8 8
9 var setIcon = require('setIcon').setIcon; 9 var setIcon = require('setIcon').setIcon;
10 var getExtensionViews = requireNative('runtime').GetExtensionViews; 10 var getExtensionViews = requireNative('runtime').GetExtensionViews;
11 var sendRequest = require('sendRequest').sendRequest;
11 12
12 binding.registerCustomHook(function(bindingsAPI) { 13 binding.registerCustomHook(function(bindingsAPI) {
not at google - send to devlin 2014/08/19 00:04:43 What about page_action_custom_bindings.js?
gpdavis 2014/08/19 00:54:15 Good point. Done.
13 var apiFunctions = bindingsAPI.apiFunctions; 14 var apiFunctions = bindingsAPI.apiFunctions;
14 15
15 apiFunctions.setHandleRequest('setIcon', function(details, callback) { 16 apiFunctions.setHandleRequest('setIcon', function(details, callback) {
16 setIcon(details, callback, this.name, this.definition.parameters, 17 setIcon(details, 'browser_action', function(args) {
17 'browser action'); 18 sendRequest(this.name, [args, callback], this.definition.parameters);
19 }.bind(this));
18 }); 20 });
19 21
20 apiFunctions.setCustomCallback('openPopup', 22 apiFunctions.setCustomCallback('openPopup',
21 function(name, request, response) { 23 function(name, request, response) {
22 if (!request.callback) 24 if (!request.callback)
23 return; 25 return;
24 26
25 if (chrome.runtime.lastError) { 27 if (chrome.runtime.lastError) {
26 request.callback(); 28 request.callback();
27 } else { 29 } else {
28 var views = getExtensionViews(-1, 'POPUP'); 30 var views = getExtensionViews(-1, 'POPUP');
29 request.callback(views.length > 0 ? views[0] : null); 31 request.callback(views.length > 0 ? views[0] : null);
30 } 32 }
31 request.callback = null; 33 request.callback = null;
32 }); 34 });
33 }); 35 });
34 36
35 exports.binding = binding.generate(); 37 exports.binding = binding.generate();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698