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

Unified Diff: chrome/browser/ui/views/constrained_window_views.cc

Issue 11192014: Revert 162252 - Make Web Intents picker in Views conform to latest mocks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 2 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/constrained_window_views.cc
===================================================================
--- chrome/browser/ui/views/constrained_window_views.cc (revision 162255)
+++ chrome/browser/ui/views/constrained_window_views.cc (working copy)
@@ -13,7 +13,6 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/ui/browser_window.h"
-#include "chrome/browser/ui/constrained_window_constants.h"
#include "chrome/browser/ui/constrained_window_tab_helper.h"
#include "chrome/browser/ui/toolbar/toolbar_model.h"
#include "chrome/browser/ui/views/constrained_window_frame_simple.h"
@@ -21,10 +20,6 @@
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_switches.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/notification_source.h"
-#include "content/public/browser/notification_types.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_view.h"
#include "grit/chromium_strings.h"
@@ -168,6 +163,9 @@
gfx::ImageSkia* XPWindowResources::images_[];
gfx::ImageSkia* VistaWindowResources::images_[];
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowFrameView
+
class ConstrainedWindowFrameView : public views::NonClientFrameView,
public views::ButtonListener {
public:
@@ -287,6 +285,9 @@
} // namespace
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowFrameView, public:
+
ConstrainedWindowFrameView::ConstrainedWindowFrameView(
ConstrainedWindowViews* container)
: NonClientFrameView(),
@@ -319,6 +320,9 @@
SchedulePaintInRect(title_bounds_);
}
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowFrameView, views::NonClientFrameView implementation:
+
gfx::Rect ConstrainedWindowFrameView::GetBoundsForClientView() const {
return client_view_bounds_;
}
@@ -367,6 +371,9 @@
views::GetDefaultWindowMask(size, window_mask);
}
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowFrameView, views::View implementation:
+
void ConstrainedWindowFrameView::OnPaint(gfx::Canvas* canvas) {
PaintFrameBorder(canvas);
PaintTitleBar(canvas);
@@ -383,12 +390,18 @@
InitWindowResources();
}
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowFrameView, views::ButtonListener implementation:
+
void ConstrainedWindowFrameView::ButtonPressed(
views::Button* sender, const ui::Event& event) {
if (sender == close_button_)
container_->CloseConstrainedWindow();
}
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowFrameView, private:
+
int ConstrainedWindowFrameView::NonClientBorderThickness() const {
return kFrameBorderThickness + kClientEdgeThickness;
}
@@ -561,17 +574,18 @@
};
#endif // defined(USE_ASH)
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowViews, public:
+
ConstrainedWindowViews::ConstrainedWindowViews(
content::WebContents* web_contents,
views::WidgetDelegate* widget_delegate,
- bool enable_chrome_style,
- ChromeStyleClientInsets chrome_style_client_insets)
+ bool enable_chrome_style)
: WebContentsObserver(web_contents),
web_contents_(web_contents),
- enable_chrome_style_(enable_chrome_style),
- chrome_style_client_insets_(chrome_style_client_insets),
ALLOW_THIS_IN_INITIALIZER_LIST(native_constrained_window_(
- NativeConstrainedWindow::CreateNativeConstrainedWindow(this))) {
+ NativeConstrainedWindow::CreateNativeConstrainedWindow(this))),
+ enable_chrome_style_(enable_chrome_style) {
views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
params.delegate = widget_delegate;
params.native_widget = native_constrained_window_->AsNativeWidget();
@@ -580,9 +594,9 @@
if (enable_chrome_style_) {
params.parent_widget = Widget::GetTopLevelWidgetForNativeView(
- web_contents_->GetView()->GetNativeView());
+ web_contents->GetView()->GetNativeView());
} else {
- params.parent = web_contents_->GetNativeView();
+ params.parent = web_contents->GetNativeView();
}
#if defined(USE_ASH)
@@ -608,10 +622,7 @@
if (dialog_client_view)
dialog_client_view->set_background(background);
}
- PositionChromeStyleWindow(GetRootView()->bounds().size());
- registrar_.Add(this,
- content::NOTIFICATION_WEB_CONTENTS_VISIBILITY_CHANGED,
- content::Source<content::WebContents>(web_contents));
+ PositionChromeStyleWindow();
}
ConstrainedWindowTabHelper* constrained_window_tab_helper =
@@ -625,6 +636,9 @@
ConstrainedWindowViews::~ConstrainedWindowViews() {
}
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowViews, ConstrainedWindow implementation:
+
void ConstrainedWindowViews::ShowConstrainedWindow() {
Show();
FocusConstrainedWindow();
@@ -670,27 +684,34 @@
constrained_window_tab_helper->WillClose(this);
}
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowViews, views::Widget overrides:
+
void ConstrainedWindowViews::CenterWindow(const gfx::Size& size) {
+ Widget::CenterWindow(size);
if (enable_chrome_style_)
- PositionChromeStyleWindow(size);
- else
- Widget::CenterWindow(size);
+ PositionChromeStyleWindow();
}
views::NonClientFrameView* ConstrainedWindowViews::CreateNonClientFrameView() {
- if (enable_chrome_style_)
- return new ConstrainedWindowFrameSimple(this, chrome_style_client_insets_);
+ if (enable_chrome_style_) {
+ return new ConstrainedWindowFrameSimple(this);
+ } else {
#if defined(USE_ASH)
- CommandLine* command_line = CommandLine::ForCurrentProcess();
- if (command_line->HasSwitch(ash::switches::kAuraGoogleDialogFrames))
- return ash::Shell::GetInstance()->CreateDefaultNonClientFrameView(this);
- ConstrainedWindowFrameViewAsh* frame = new ConstrainedWindowFrameViewAsh;
- frame->Init(this);
- return frame;
+ CommandLine* command_line = CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(ash::switches::kAuraGoogleDialogFrames))
+ return ash::Shell::GetInstance()->CreateDefaultNonClientFrameView(this);
+ ConstrainedWindowFrameViewAsh* frame = new ConstrainedWindowFrameViewAsh;
+ frame->Init(this);
+ return frame;
#endif
- return new ConstrainedWindowFrameView(this);
+ return new ConstrainedWindowFrameView(this);
+ }
}
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowViews, NativeConstrainedWindowDelegate implementation:
+
void ConstrainedWindowViews::OnNativeConstrainedWindowDestroyed() {
NotifyTabHelperWillClose();
}
@@ -709,35 +730,27 @@
return HTNOWHERE;
}
-void ConstrainedWindowViews::WebContentsDestroyed(
- content::WebContents* web_contents) {
- web_contents_ = NULL;
-}
-
-void ConstrainedWindowViews::Observe(
- int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
+void ConstrainedWindowViews::PositionChromeStyleWindow() {
DCHECK(enable_chrome_style_);
- DCHECK_EQ(type, content::NOTIFICATION_WEB_CONTENTS_VISIBILITY_CHANGED);
- if (*content::Details<bool>(details).ptr())
- Show();
- else
- Hide();
-}
-
-void ConstrainedWindowViews::PositionChromeStyleWindow(const gfx::Size& size) {
- DCHECK(enable_chrome_style_);
- gfx::Rect bounds(GetRootView()->bounds().origin(), size);
+ gfx::Rect bounds = GetRootView()->bounds();
ConstrainedWindowTabHelperDelegate* tab_helper_delegate =
ConstrainedWindowTabHelper::FromWebContents(web_contents_)->delegate();
+
BrowserWindow* browser_window =
tab_helper_delegate ? tab_helper_delegate->GetBrowserWindow() : NULL;
- if (browser_window) {
- bounds.set_x(browser_window->GetBounds().width() / 2 - bounds.width() / 2);
- int top_y;
- if (browser_window->GetConstrainedWindowTopY(&top_y))
- bounds.set_y(top_y);
+ int top_y;
+ if (browser_window && browser_window->GetConstrainedWindowTopY(&top_y)) {
+ bounds.set_y(top_y);
+ bounds.set_x(
+ browser_window->GetBounds().width() / 2 - bounds.width() / 2);
+ SetBounds(bounds);
}
- SetBounds(bounds);
}
+
+////////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindowViews, content::WebContentsObserver implementation:
+
+void ConstrainedWindowViews::WebContentsDestroyed(
+ content::WebContents* web_contents) {
+ web_contents_ = NULL;
+}
« no previous file with comments | « chrome/browser/ui/views/constrained_window_views.h ('k') | chrome/browser/ui/views/constrained_window_views_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698