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

Unified Diff: chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc

Issue 2468673003: [Extensions] Remove ExtensionWebUI (Closed)
Patch Set: maybefix Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
diff --git a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
index bfe4f352c373da4af3575d6c001dae5a4421ee87..b27b6cd135a4ee1c7c5f2477e5978c8bec6d4838 100644
--- a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
+++ b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
@@ -21,11 +21,11 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h"
#include "chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.h"
-#include "chrome/browser/extensions/extension_web_ui.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/bookmarks/bookmark_drag_drop.h"
#include "chrome/browser/undo/bookmark_undo_service_factory.h"
#include "chrome/common/extensions/api/bookmark_manager_private.h"
+#include "chrome/common/extensions/extension_constants.h"
#include "chrome/grit/generated_resources.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/bookmarks/browser/bookmark_node_data.h"
@@ -41,6 +41,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "extensions/browser/extension_function_dispatcher.h"
+#include "extensions/browser/extension_registry.h"
#include "extensions/browser/view_type_utils.h"
#include "ui/base/dragdrop/drag_drop_types.h"
#include "ui/base/l10n/l10n_util.h"
@@ -51,6 +52,9 @@ using bookmarks::BookmarkNode;
using bookmarks::BookmarkNodeData;
using content::WebContents;
+DEFINE_WEB_CONTENTS_USER_DATA_KEY(
+ extensions::BookmarkManagerPrivateDragEventRouter);
+
namespace extensions {
namespace bookmark_keys = bookmark_api_constants;
@@ -283,9 +287,10 @@ void BookmarkManagerPrivateAPI::OnListenerAdded(
}
BookmarkManagerPrivateDragEventRouter::BookmarkManagerPrivateDragEventRouter(
- Profile* profile,
content::WebContents* web_contents)
- : profile_(profile), web_contents_(web_contents) {
+ : web_contents_(web_contents),
+ profile_(
+ Profile::FromBrowserContext(web_contents_->GetBrowserContext())) {
BookmarkTabHelper* bookmark_tab_helper =
BookmarkTabHelper::FromWebContents(web_contents_);
bookmark_tab_helper->set_bookmark_drag_delegate(this);
@@ -299,6 +304,18 @@ BookmarkManagerPrivateDragEventRouter::
bookmark_tab_helper->set_bookmark_drag_delegate(NULL);
}
+void BookmarkManagerPrivateDragEventRouter::MaybeCreateForWebContents(
+ content::WebContents* web_contents) {
+ content::BrowserContext* context = web_contents->GetBrowserContext();
+ const Extension* extension =
+ ExtensionRegistry::Get(context)
+ ->enabled_extensions()
+ .GetExtensionOrAppByURL(
+ web_contents->GetSiteInstance()->GetSiteURL());
+ if (extension && extension->id() == extension_misc::kBookmarkManagerId)
+ CreateForWebContents(web_contents);
+}
+
void BookmarkManagerPrivateDragEventRouter::DispatchEvent(
events::HistogramValue histogram_value,
const std::string& event_name,
@@ -600,11 +617,8 @@ bool BookmarkManagerPrivateDropFunction::RunOnReady() {
WebContents* web_contents = GetAssociatedWebContents();
CHECK(web_contents);
- ExtensionWebUI* web_ui =
- static_cast<ExtensionWebUI*>(web_contents->GetWebUI()->GetController());
- CHECK(web_ui);
BookmarkManagerPrivateDragEventRouter* router =
- web_ui->bookmark_manager_private_drag_event_router();
+ BookmarkManagerPrivateDragEventRouter::FromWebContents(web_contents);
DCHECK(router);
const BookmarkNodeData* drag_data = router->GetBookmarkNodeData();

Powered by Google App Engine
This is Rietveld 408576698