| Index: chrome/renderer/resources/extensions/page_action_custom_bindings.js | 
| diff --git a/chrome/renderer/resources/extensions/page_action_custom_bindings.js b/chrome/renderer/resources/extensions/page_action_custom_bindings.js | 
| index 6b189cc14d54149235b66cd5f43a111868ceb148..572187f6a7f329b8d47a8837f8dc63eed6a1f340 100644 | 
| --- a/chrome/renderer/resources/extensions/page_action_custom_bindings.js | 
| +++ b/chrome/renderer/resources/extensions/page_action_custom_bindings.js | 
| @@ -4,19 +4,22 @@ | 
|  | 
| // Custom binding for the pageAction API. | 
|  | 
| -var binding = require('binding').Binding.create('pageAction'); | 
| - | 
| +var binding = apiBridge || require('binding').Binding.create('pageAction'); | 
| var setIcon = require('setIcon').setIcon; | 
| -var sendRequest = require('sendRequest').sendRequest; | 
| +var sendRequest = bindingUtil ? | 
| +    $Function.bind(bindingUtil.sendRequest, bindingUtil) : | 
| +    require('sendRequest').sendRequest; | 
|  | 
| binding.registerCustomHook(function(bindingsAPI) { | 
| var apiFunctions = bindingsAPI.apiFunctions; | 
|  | 
| apiFunctions.setHandleRequest('setIcon', function(details, callback) { | 
| -    setIcon(details, function(args) { | 
| -      sendRequest(this.name, [args, callback], this.definition.parameters); | 
| -    }.bind(this)); | 
| +    setIcon(details, $Function.bind(function(args) { | 
| +      sendRequest('pageAction.setIcon', [args, callback], | 
| +                  bindingUtil ? undefined : this.definition.parameters); | 
| +    }, this)); | 
| }); | 
| }); | 
|  | 
| -exports.$set('binding', binding.generate()); | 
| +if (!apiBridge) | 
| +  exports.$set('binding', binding.generate()); | 
|  |