Index: chrome/browser/extensions/extension_web_ui.cc |
diff --git a/chrome/browser/extensions/extension_web_ui.cc b/chrome/browser/extensions/extension_web_ui.cc |
index 024282ec85ba4d3bfad8881a86543d9e9cd08b31..d472a5ea43f28d377ab024732ae9e5b33281f2a8 100644 |
--- a/chrome/browser/extensions/extension_web_ui.cc |
+++ b/chrome/browser/extensions/extension_web_ui.cc |
@@ -333,12 +333,12 @@ |
"extensions.chrome_url_overrides"; |
ExtensionWebUI::ExtensionWebUI(content::WebUI* web_ui, const GURL& url) |
- : WebUIController(web_ui), |
- url_(url) { |
+ : WebUIController(web_ui) { |
Profile* profile = Profile::FromWebUI(web_ui); |
const Extension* extension = extensions::ExtensionRegistry::Get( |
profile)->enabled_extensions().GetExtensionOrAppByURL(url); |
DCHECK(extension); |
+ DCHECK_EQ(extension_misc::kBookmarkManagerId, extension->id()); |
// The base class defaults to enabling WebUI bindings, but we don't need |
// those (this is also reflected in ChromeWebUIControllerFactory:: |
@@ -347,20 +347,26 @@ |
web_ui->SetBindings(bindings); |
// Hack: A few things we specialize just for the bookmark manager. |
- if (extension->id() == extension_misc::kBookmarkManagerId) { |
- bookmark_manager_private_drag_event_router_.reset( |
- new extensions::BookmarkManagerPrivateDragEventRouter( |
- profile, web_ui->GetWebContents())); |
- |
- web_ui->SetLinkTransitionType(ui::PAGE_TRANSITION_AUTO_BOOKMARK); |
- } |
+ bookmark_manager_private_drag_event_router_.reset( |
+ new extensions::BookmarkManagerPrivateDragEventRouter( |
+ profile, web_ui->GetWebContents())); |
+ |
+ web_ui->SetLinkTransitionType(ui::PAGE_TRANSITION_AUTO_BOOKMARK); |
} |
ExtensionWebUI::~ExtensionWebUI() {} |
-extensions::BookmarkManagerPrivateDragEventRouter* |
-ExtensionWebUI::bookmark_manager_private_drag_event_router() { |
- return bookmark_manager_private_drag_event_router_.get(); |
+// static |
+bool ExtensionWebUI::NeedsExtensionWebUI( |
+ content::BrowserContext* browser_context, |
+ const GURL& url) { |
+ CHECK(browser_context); |
+ const Extension* extension = |
+ extensions::ExtensionRegistry::Get(browser_context)->enabled_extensions(). |
+ GetExtensionOrAppByURL(url); |
+ // Only use bindings for the Bookmark Manager extension, which needs it as a |
+ // hack (see ExtensionWebUI's constructor below). |
+ return extension && extension->id() == extension_misc::kBookmarkManagerId; |
} |
//////////////////////////////////////////////////////////////////////////////// |