Index: chrome/renderer/resources/extensions/extension_options.js |
diff --git a/chrome/renderer/resources/extensions/extension_options.js b/chrome/renderer/resources/extensions/extension_options.js |
index cc42d7fb4b156bcff285dafd53e8e03a7e999bbb..6b837191ff0df028ba16dc7e514e2543abf2bb31 100644 |
--- a/chrome/renderer/resources/extensions/extension_options.js |
+++ b/chrome/renderer/resources/extensions/extension_options.js |
@@ -16,6 +16,8 @@ function ExtensionOptionsInternal(extensionoptionsNode) { |
// on* Event handlers. |
this.eventHandlers = {}; |
+ this.setupEventProperty('createfailed'); |
not at google - send to devlin
2014/07/30 17:33:10
i'm confused, where is the 'load' even set up in a
ericzeng
2014/08/01 17:13:26
setupEventProperty() is called on 'load' in extens
not at google - send to devlin
2014/08/04 19:12:03
Ah, makes sense. Could you explain that in a comme
|
+ |
new ExtensionOptionsEvents(this, this.viewInstanceId); |
this.setupNodeProperties(); |
@@ -49,6 +51,10 @@ ExtensionOptionsInternal.prototype.createGuest = function() { |
function(instanceId) { |
if (instanceId == 0) { |
self.initCalled = false; |
+ var createFailedEvent = new Event( |
+ 'createfailed', |
+ {bubbles:true, supportsListeners: true, supportsFilters: true}); |
+ self.dispatchEvent(createFailedEvent); |
} else { |
self.attachWindow(instanceId); |
} |
@@ -93,13 +99,8 @@ ExtensionOptionsInternal.prototype.init = function() { |
ExtensionOptionsInternal.prototype.parseExtensionAttribute = function() { |
if (this.extensionoptionsNode.hasAttribute('extension')) { |
- var extensionId = this.extensionoptionsNode.getAttribute('extension'); |
- // Only allow extensions to embed their own options page (if it has one). |
- if (chrome.runtime.id == extensionId && |
- chrome.runtime.getManifest().hasOwnProperty('options_page')) { |
- this.extensionId = extensionId; |
- return true; |
- } |
+ this.extensionId = this.extensionoptionsNode.getAttribute('extension'); |
+ return true; |
} |
return false; |
}; |