summaryrefslogtreecommitdiffstats
path: root/apps/ui/views
diff options
context:
space:
mode:
authormgiuca@chromium.org <mgiuca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-10 04:51:53 +0000
committermgiuca@chromium.org <mgiuca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-10 04:51:53 +0000
commit733670a2d4e1c3723d7cd0ff18dcc90eb3d534f6 (patch)
tree2b96490d0b38c6eaabc786e89d040774802a5794 /apps/ui/views
parentcbcc6c1ee96bd8dcb980dce4ad89f6f7575f73cb (diff)
downloadchromium_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.cc47
-rw-r--r--apps/ui/views/app_window_frame_view.h34
-rw-r--r--apps/ui/views/native_app_window_views.h3
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_; }