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

Unified Diff: chrome/browser/ui/views/extensions/chooser_dialog_view.cc

Issue 2086663003: Change ChooserController ownership model (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: removed temporary unique ptr at ChooserBubbleUiCocoa Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/extensions/chooser_dialog_view.cc
diff --git a/chrome/browser/ui/views/extensions/chooser_dialog_view.cc b/chrome/browser/ui/views/extensions/chooser_dialog_view.cc
index fb1fba546b4e73580bdc43adfd53c276b8751bb3..2f621f76b11978ab3a476daaba675876fcae5825 100644
--- a/chrome/browser/ui/views/extensions/chooser_dialog_view.cc
+++ b/chrome/browser/ui/views/extensions/chooser_dialog_view.cc
@@ -17,13 +17,11 @@
#include "ui/base/l10n/l10n_util.h"
#include "ui/views/controls/styled_label.h"
#include "ui/views/window/dialog_client_view.h"
-#include "url/origin.h"
-ChooserDialogView::ChooserDialogView(content::WebContents* web_contents,
- ChooserController* chooser_controller)
- : chooser_content_view_(nullptr),
- web_contents_(web_contents),
- chooser_controller_(chooser_controller) {
+ChooserDialogView::ChooserDialogView(
+ content::WebContents* web_contents,
+ std::unique_ptr<ChooserController> chooser_controller)
+ : web_contents_(web_contents), chooser_content_view_(nullptr) {
// ------------------------------------
// | Chooser dialog title |
// | -------------------------------- |
@@ -40,29 +38,30 @@ ChooserDialogView::ChooserDialogView(content::WebContents* web_contents,
// ------------------------------------
DCHECK(web_contents_);
-
- chooser_content_view_ = new ChooserContentView(this, chooser_controller_);
+ DCHECK(chooser_controller);
+ origin_ = chooser_controller->GetOrigin();
+ chooser_content_view_ =
+ new ChooserContentView(this, std::move(chooser_controller));
}
ChooserDialogView::~ChooserDialogView() {}
base::string16 ChooserDialogView::GetWindowTitle() const {
base::string16 chooser_title;
- url::Origin origin = chooser_controller_->GetOrigin();
content::BrowserContext* browser_context = web_contents_->GetBrowserContext();
extensions::ExtensionRegistry* extension_registry =
extensions::ExtensionRegistry::Get(browser_context);
if (extension_registry) {
const extensions::Extension* extension =
extension_registry->enabled_extensions().GetExtensionOrAppByURL(
- GURL(origin.Serialize()));
+ GURL(origin_.Serialize()));
if (extension)
chooser_title = base::UTF8ToUTF16(extension->name());
}
if (chooser_title.empty()) {
chooser_title = url_formatter::FormatOriginForSecurityDisplay(
- origin, url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC);
+ origin_, url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC);
}
return l10n_util::GetStringFUTF16(IDS_DEVICE_CHOOSER_PROMPT, chooser_title);
@@ -131,7 +130,7 @@ views::TableView* ChooserDialogView::table_view_for_test() const {
}
void ChromeExtensionChooserDialog::ShowDialogImpl(
- ChooserController* chooser_controller) const {
+ std::unique_ptr<ChooserController> chooser_controller) const {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
DCHECK(chooser_controller);
@@ -139,7 +138,7 @@ void ChromeExtensionChooserDialog::ShowDialogImpl(
web_modal::WebContentsModalDialogManager::FromWebContents(web_contents_);
if (manager) {
constrained_window::ShowWebModalDialogViews(
- new ChooserDialogView(web_contents_, chooser_controller),
+ new ChooserDialogView(web_contents_, std::move(chooser_controller)),
web_contents_);
}
}

Powered by Google App Engine
This is Rietveld 408576698