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

Unified Diff: chrome/browser/views/cookie_prompt_view.cc

Issue 560030: Refactored out JS specific part of modal dialog stack into its own class, exp... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 10 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
« no previous file with comments | « chrome/browser/views/cookie_prompt_view.h ('k') | chrome/browser/views/jsmessage_box_dialog.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/views/cookie_prompt_view.cc
===================================================================
--- chrome/browser/views/cookie_prompt_view.cc (revision 38222)
+++ chrome/browser/views/cookie_prompt_view.cc (working copy)
@@ -12,6 +12,7 @@
#include "base/i18n/time_formatting.h"
#include "base/message_loop.h"
#include "base/string_util.h"
+#include "chrome/browser/cookie_modal_dialog.h"
#include "chrome/browser/profile.h"
#include "chrome/browser/views/cookie_info_view.h"
#include "chrome/browser/views/local_storage_info_view.h"
@@ -30,100 +31,94 @@
static const int kCookiePromptViewInsetSize = 5;
///////////////////////////////////////////////////////////////////////////////
-// CookiesPromptView, public:
+// CookiePromptView, public:
-// static
-void CookiesPromptView::ShowCookiePromptWindow(
- gfx::NativeWindow parent,
- Profile* profile,
- const std::string& domain,
- const net::CookieMonster::CanonicalCookie& cookie,
- CookiesPromptViewDelegate* delegate) {
- CookiesPromptView* cookies_view = new CookiesPromptView(profile, delegate);
- cookies_view->SetCookie(domain, cookie);
- views::Window::CreateChromeWindow(parent,
- gfx::Rect(),
- cookies_view)->Show();
-}
-
-// static
-void CookiesPromptView::ShowLocalStoragePromptWindow(
- gfx::NativeWindow parent,
- Profile* profile,
- const std::string& domain,
- const BrowsingDataLocalStorageHelper::LocalStorageInfo& local_storage_info,
- CookiesPromptViewDelegate* delegate) {
- CookiesPromptView* cookies_view = new CookiesPromptView(profile, delegate);
- cookies_view->SetLocalStorage(domain, local_storage_info);
- views::Window::CreateChromeWindow(parent,
- gfx::Rect(),
- cookies_view)->Show();
-}
-
-
-CookiesPromptView::~CookiesPromptView() {
-}
-
-void CookiesPromptView::SetCookie(
- const std::string& domain,
- const net::CookieMonster::CanonicalCookie& cookie) {
+CookiePromptView::CookiePromptView(
+ CookiePromptModalDialog* parent,
+ gfx::NativeWindow root_window,
+ Profile* profile,
+ const GURL& url,
+ const std::string& cookie_line,
+ CookiePromptModalDialogDelegate* delegate)
+ : parent_(parent),
+ root_window_(root_window),
+ profile_(profile),
+ delegate_(delegate) {
cookie_ui_ = true;
- InitializeViewResources(domain);
- cookie_ = cookie;
+ net::CookieMonster::ParsedCookie cookie(cookie_line);
+ InitializeViewResources(cookie.HasDomain() ? cookie.Domain() : url.host());
}
-void CookiesPromptView::SetLocalStorage(
- const std::string& domain,
- const BrowsingDataLocalStorageHelper::LocalStorageInfo storage_info) {
+CookiePromptView::CookiePromptView(
+ CookiePromptModalDialog* parent,
+ gfx::NativeWindow root_window,
+ Profile* profile,
+ const BrowsingDataLocalStorageHelper::LocalStorageInfo& storage_info,
+ CookiePromptModalDialogDelegate* delegate)
+ : parent_(parent),
+ root_window_(root_window),
+ profile_(profile),
+ local_storage_info_(storage_info),
+ delegate_(delegate) {
cookie_ui_ = false;
- InitializeViewResources(domain);
- local_storage_info_ = storage_info;
+ InitializeViewResources(storage_info.host);
}
+CookiePromptView::~CookiePromptView() {
+}
+
///////////////////////////////////////////////////////////////////////////////
-// CookiesPromptView, views::View overrides:
+// CookiePromptView, views::View overrides:
-gfx::Size CookiesPromptView::GetPreferredSize() {
+gfx::Size CookiePromptView::GetPreferredSize() {
gfx::Size client_size = views::View::GetPreferredSize();
return gfx::Size(client_size.width(),
client_size.height() + GetExtendedViewHeight());
}
-void CookiesPromptView::ViewHierarchyChanged(bool is_add,
- views::View* parent,
- views::View* child) {
+void CookiePromptView::ViewHierarchyChanged(bool is_add,
+ views::View* parent,
+ views::View* child) {
if (is_add && child == this)
Init();
}
///////////////////////////////////////////////////////////////////////////////
-// CookiesPromptView, views::DialogDelegate implementation:
+// CookiePromptView, ModalDialogDelegate implementation:
-std::wstring CookiesPromptView::GetWindowTitle() const {
+gfx::NativeWindow CookiePromptView::GetDialogRootWindow() {
+ return root_window_;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// CookiePromptView, views::DialogDelegate implementation:
+
+std::wstring CookiePromptView::GetWindowTitle() const {
return title_;
}
-void CookiesPromptView::WindowClosing() {
+void CookiePromptView::WindowClosing() {
if (!signaled_ && delegate_)
delegate_->BlockSiteData(false);
+ parent_->CompleteDialog();
}
-views::View* CookiesPromptView::GetContentsView() {
+views::View* CookiePromptView::GetContentsView() {
return this;
}
// CookieInfoViewDelegate overrides:
-void CookiesPromptView::ModifyExpireDate(bool session_expire) {
+void CookiePromptView::ModifyExpireDate(bool session_expire) {
session_expire_ = session_expire;
}
///////////////////////////////////////////////////////////////////////////////
-// CookiesPromptView, views::ButtonListener implementation:
+// CookiePromptView, views::ButtonListener implementation:
-void CookiesPromptView::ButtonPressed(views::Button* sender,
- const views::Event& event) {
+void CookiePromptView::ButtonPressed(views::Button* sender,
+ const views::Event& event) {
if (sender == allow_button_) {
if (delegate_) {
delegate_->AllowSiteData(remember_radio_->checked(), session_expire_);
@@ -140,8 +135,8 @@
}
///////////////////////////////////////////////////////////////////////////////
-// CookiesPromptView, views::LinkController implementation:
-void CookiesPromptView::LinkActivated(views::Link* source, int event_flags) {
+// CookiePromptView, views::LinkController implementation:
+void CookiePromptView::LinkActivated(views::Link* source, int event_flags) {
if (source == show_cookie_link_)
ToggleDetailsViewExpand();
else if (source == manage_cookies_link_)
@@ -151,10 +146,10 @@
}
///////////////////////////////////////////////////////////////////////////////
-// CookiesPromptView, private:
+// CookiePromptView, private:
-CookiesPromptView::CookiesPromptView(Profile* profile,
- CookiesPromptViewDelegate* delegate)
+CookiePromptView::CookiePromptView(Profile* profile,
+ CookiePromptModalDialogDelegate* delegate)
: remember_radio_(NULL),
ask_radio_(NULL),
allow_button_(NULL),
@@ -169,7 +164,7 @@
profile_(profile) {
}
-void CookiesPromptView::Init() {
+void CookiePromptView::Init() {
views::Label* description_label = new views::Label(l10n_util::GetStringF(
cookie_ui_ ? IDS_COOKIE_ALERT_LABEL : IDS_DATA_ALERT_LABEL,
display_domain_));
@@ -267,7 +262,8 @@
cookie_info_view->set_delegate(this);
layout->AddView(cookie_info_view, 1, 1, GridLayout::FILL,
GridLayout::CENTER);
- cookie_info_view->SetCookie(domain_, cookie_);
+
+ cookie_info_view->SetCookieString(domain_, cookie_line_);
info_view_ = cookie_info_view;
} else {
LocalStorageInfoView* local_storage_info_view = new LocalStorageInfoView();
@@ -282,13 +278,13 @@
ask_radio_->SetChecked(true);
}
-int CookiesPromptView::GetExtendedViewHeight() {
+int CookiePromptView::GetExtendedViewHeight() {
DCHECK(info_view_);
return expanded_view_ ?
kRelatedControlVerticalSpacing : -info_view_->GetPreferredSize().height();
}
-void CookiesPromptView::ToggleDetailsViewExpand() {
+void CookiePromptView::ToggleDetailsViewExpand() {
expanded_view_ = !expanded_view_;
views::Window* parent = GetWindow();
gfx::Size non_client_size = parent->GetNonClientView()->GetPreferredSize();
@@ -300,11 +296,11 @@
Layout();
}
-void CookiesPromptView::InitializeViewResources(const std::string& domain) {
+void CookiePromptView::InitializeViewResources(const std::string& domain) {
domain_ = domain;
std::string display_domain = domain;
if (!domain.empty() && domain[0] == '.')
- display_domain = display_domain.substr(1);
+ display_domain = display_domain.substr(1);
display_domain_ = UTF8ToWide(display_domain);
title_ = l10n_util::GetStringF(
cookie_ui_ ? IDS_COOKIE_ALERT_TITLE : IDS_DATA_ALERT_TITLE,
« no previous file with comments | « chrome/browser/views/cookie_prompt_view.h ('k') | chrome/browser/views/jsmessage_box_dialog.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698