diff options
author | mgiuca@chromium.org <mgiuca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-10 04:51:53 +0000 |
---|---|---|
committer | mgiuca@chromium.org <mgiuca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-10 04:51:53 +0000 |
commit | 733670a2d4e1c3723d7cd0ff18dcc90eb3d534f6 (patch) | |
tree | 2b96490d0b38c6eaabc786e89d040774802a5794 /apps/ui/views | |
parent | cbcc6c1ee96bd8dcb980dce4ad89f6f7575f73cb (diff) | |
download | chromium_src-733670a2d4e1c3723d7cd0ff18dcc90eb3d534f6.zip chromium_src-733670a2d4e1c3723d7cd0ff18dcc90eb3d534f6.tar.gz chromium_src-733670a2d4e1c3723d7cd0ff18dcc90eb3d534f6.tar.bz2 |
Revert 262516 "Remove title and icon from chrome apps native style title bars."
This CL causes conflicts with my pending CL
(https://codereview.chromium.org/224903022) that needs to be merged into
M35. The safest way forward is to revert this, commit my CL, then
re-land this, dealing with the merge conflicts.
BUG=357049
> Remove title and icon from chrome apps native style title bars.
>
> These windows aren't meant to have titles or icons, but still need to
> get a proper title as far as the OS is concerned. This means using a
> custom but glass frame, similarly to how unthemed browser windows look.
>
> BUG=339558
> TEST=Try out frame:chrome app windows windows on Windows 7, 8 and XP.
> Use the windows in various states (maximised, fullscreen, normal).
> Make sure they work after switching in and out of aero mode.
>
> Review URL: https://codereview.chromium.org/213743017
Review URL: https://codereview.chromium.org/229343004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262915 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'apps/ui/views')
-rw-r--r-- | apps/ui/views/app_window_frame_view.cc | 47 | ||||
-rw-r--r-- | apps/ui/views/app_window_frame_view.h | 34 | ||||
-rw-r--r-- | apps/ui/views/native_app_window_views.h | 3 |
3 files changed, 38 insertions, 46 deletions
diff --git a/apps/ui/views/app_window_frame_view.cc b/apps/ui/views/app_window_frame_view.cc index ef4302c..5fcef42 100644 --- a/apps/ui/views/app_window_frame_view.cc +++ b/apps/ui/views/app_window_frame_view.cc @@ -29,11 +29,8 @@ #endif namespace { - -const int kDefaultResizeInsideBoundsSize = 5; -const int kDefaultResizeAreaCornerSize = 16; +// Height of the chrome-style caption, in pixels. const int kCaptionHeight = 25; - } // namespace namespace apps { @@ -41,26 +38,36 @@ namespace apps { const char AppWindowFrameView::kViewClassName[] = "browser/ui/views/extensions/AppWindowFrameView"; -AppWindowFrameView::AppWindowFrameView(views::Widget* widget, - NativeAppWindow* window, - bool draw_frame, - const SkColor& frame_color) - : widget_(widget), - window_(window), - draw_frame_(draw_frame), - frame_color_(frame_color), +AppWindowFrameView::AppWindowFrameView() + : widget_(NULL), + window_(NULL), close_button_(NULL), maximize_button_(NULL), restore_button_(NULL), minimize_button_(NULL), - resize_inside_bounds_size_(kDefaultResizeInsideBoundsSize), + resize_inside_bounds_size_(0), resize_outside_bounds_size_(0), - resize_area_corner_size_(kDefaultResizeAreaCornerSize) {} + resize_area_corner_size_(0) {} AppWindowFrameView::~AppWindowFrameView() {} -void AppWindowFrameView::Init() { - if (draw_frame_) { +void AppWindowFrameView::Init(views::Widget* widget, + NativeAppWindow* window, + bool draw_frame, + const SkColor& frame_color, + int resize_inside_bounds_size, + int resize_outside_bounds_size, + int resize_outside_scale_for_touch, + int resize_area_corner_size) { + widget_ = widget; + window_ = window; + draw_frame_ = draw_frame; + frame_color_ = frame_color; + resize_inside_bounds_size_ = resize_inside_bounds_size; + resize_outside_bounds_size_ = resize_outside_bounds_size; + resize_area_corner_size_ = resize_area_corner_size; + + if (draw_frame) { ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); close_button_ = new views::ImageButton(this); close_button_->SetImage( @@ -120,14 +127,6 @@ void AppWindowFrameView::Init() { } } -void AppWindowFrameView::SetResizeSizes(int resize_inside_bounds_size, - int resize_outside_bounds_size, - int resize_area_corner_size) { - resize_inside_bounds_size_ = resize_inside_bounds_size; - resize_outside_bounds_size_ = resize_outside_bounds_size; - resize_area_corner_size_ = resize_area_corner_size; -} - // views::NonClientFrameView implementation. gfx::Rect AppWindowFrameView::GetBoundsForClientView() const { diff --git a/apps/ui/views/app_window_frame_view.h b/apps/ui/views/app_window_frame_view.h index 5f15431..1781476 100644 --- a/apps/ui/views/app_window_frame_view.h +++ b/apps/ui/views/app_window_frame_view.h @@ -40,28 +40,22 @@ class AppWindowFrameView : public views::NonClientFrameView, public: static const char kViewClassName[]; - // AppWindowFrameView is used to draw frames for app windows when a non - // standard frame is needed. This occurs if there is no frame needed, or if - // there is a frame color. - // If |draw_frame| is true, the view draws its own window title area and - // controls, using |frame_color|. If |draw_frame| is not true, no frame is - // drawn. - // TODO(benwells): Refactor this to split out frameless and colored frame - // views. See http://crbug.com/359432. - AppWindowFrameView(views::Widget* widget, - NativeAppWindow* window, - bool draw_frame, - const SkColor& frame_color); + explicit AppWindowFrameView(); virtual ~AppWindowFrameView(); - void Init(); - - void SetResizeSizes(int resize_inside_bounds_size, - int resize_outside_bounds_size, - int resize_area_corner_size); - int resize_inside_bounds_size() const { - return resize_inside_bounds_size_; - }; + // Initializes this for |widget|. Sets the number of pixels for which a click + // is interpreted as a resize for the inner and outer border of the window + // and the lower-right corner resize handle. If |draw_frame|, the view draws + // its own window title area and controls, using |frame_color| (otherwise + // |frame_color| is ignored). + void Init(views::Widget* widget, + NativeAppWindow* window, + bool draw_frame, + const SkColor& frame_color, + int resize_inside_bounds_size, + int resize_outside_bounds_size, + int resize_outside_scale_for_touch, + int resize_area_corner_size); private: // views::NonClientFrameView implementation. diff --git a/apps/ui/views/native_app_window_views.h b/apps/ui/views/native_app_window_views.h index 47f4ba1..283e7c1 100644 --- a/apps/ui/views/native_app_window_views.h +++ b/apps/ui/views/native_app_window_views.h @@ -52,8 +52,6 @@ class NativeAppWindowViews : public NativeAppWindow, void Init(AppWindow* app_window, const AppWindow::CreateParams& create_params); - views::Widget* widget() { return widget_; } - void set_window_for_testing(views::Widget* window) { widget_ = window; } void set_web_view_for_testing(views::WebView* view) { web_view_ = view; } @@ -61,6 +59,7 @@ class NativeAppWindowViews : public NativeAppWindow, AppWindow* app_window() { return app_window_; } const AppWindow* app_window() const { return app_window_; } + views::Widget* widget() { return widget_; } const views::Widget* widget() const { return widget_; } views::WebView* web_view() { return web_view_; } |