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

Side by Side Diff: chrome/browser/ui/views/extensions/shell_window_views.cc

Issue 9452008: Allow platform apps to specify a maximum size for the shell container. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: missing file Created 8 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/common/extensions/extension.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/extensions/shell_window_views.h" 5 #include "chrome/browser/ui/views/extensions/shell_window_views.h"
6 6
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/extensions/extension_host.h" 8 #include "chrome/browser/extensions/extension_host.h"
9 #include "chrome/common/extensions/extension.h" 9 #include "chrome/common/extensions/extension.h"
10 #include "ui/base/hit_test.h" 10 #include "ui/base/hit_test.h"
(...skipping 22 matching lines...) Expand all
33 // views::NonClientFrameView implementation. 33 // views::NonClientFrameView implementation.
34 virtual gfx::Rect GetBoundsForClientView() const OVERRIDE; 34 virtual gfx::Rect GetBoundsForClientView() const OVERRIDE;
35 virtual gfx::Rect GetWindowBoundsForClientBounds( 35 virtual gfx::Rect GetWindowBoundsForClientBounds(
36 const gfx::Rect& client_bounds) const OVERRIDE; 36 const gfx::Rect& client_bounds) const OVERRIDE;
37 virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE; 37 virtual int NonClientHitTest(const gfx::Point& point) OVERRIDE;
38 virtual void GetWindowMask(const gfx::Size& size, 38 virtual void GetWindowMask(const gfx::Size& size,
39 gfx::Path* window_mask) OVERRIDE; 39 gfx::Path* window_mask) OVERRIDE;
40 virtual void ResetWindowControls() OVERRIDE {} 40 virtual void ResetWindowControls() OVERRIDE {}
41 virtual void UpdateWindowIcon() OVERRIDE {} 41 virtual void UpdateWindowIcon() OVERRIDE {}
42 virtual gfx::Size GetMinimumSize() OVERRIDE; 42 virtual gfx::Size GetMinimumSize() OVERRIDE;
43 virtual gfx::Size GetMaximumSize() OVERRIDE;
43 44
44 void set_min_size(gfx::Size size) { min_size_ = size; } 45 void set_min_size(gfx::Size size) { min_size_ = size; }
46 void set_max_size(gfx::Size size) { max_size_ = size; }
45 47
46 private: 48 private:
47 DISALLOW_COPY_AND_ASSIGN(ShellWindowFrameView); 49 DISALLOW_COPY_AND_ASSIGN(ShellWindowFrameView);
48 50
49 gfx::Size min_size_; 51 gfx::Size min_size_;
52 gfx::Size max_size_;
50 }; 53 };
51 54
52 ShellWindowFrameView::ShellWindowFrameView(): min_size_() { 55 ShellWindowFrameView::ShellWindowFrameView(): min_size_() {
53 } 56 }
54 57
55 ShellWindowFrameView::~ShellWindowFrameView() { 58 ShellWindowFrameView::~ShellWindowFrameView() {
56 } 59 }
57 60
58 gfx::Rect ShellWindowFrameView::GetBoundsForClientView() const { 61 gfx::Rect ShellWindowFrameView::GetBoundsForClientView() const {
59 return gfx::Rect(0, 0, width(), height()); 62 return gfx::Rect(0, 0, width(), height());
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 96
94 void ShellWindowFrameView::GetWindowMask(const gfx::Size& size, 97 void ShellWindowFrameView::GetWindowMask(const gfx::Size& size,
95 gfx::Path* window_mask) { 98 gfx::Path* window_mask) {
96 // Don't touch it. 99 // Don't touch it.
97 } 100 }
98 101
99 gfx::Size ShellWindowFrameView::GetMinimumSize() { 102 gfx::Size ShellWindowFrameView::GetMinimumSize() {
100 return min_size_; 103 return min_size_;
101 } 104 }
102 105
106 gfx::Size ShellWindowFrameView::GetMaximumSize() {
107 return max_size_;
108 }
103 109
104 ShellWindowViews::ShellWindowViews(ExtensionHost* host) 110 ShellWindowViews::ShellWindowViews(ExtensionHost* host)
105 : ShellWindow(host) { 111 : ShellWindow(host) {
106 host_->view()->SetContainer(this); 112 host_->view()->SetContainer(this);
107 window_ = new views::Widget; 113 window_ = new views::Widget;
108 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 114 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
109 params.delegate = this; 115 params.delegate = this;
110 params.remove_standard_frame = true; 116 params.remove_standard_frame = true;
111 int width = host_->extension()->launch_width(); 117 int width = host_->extension()->launch_width();
112 int height = host_->extension()->launch_height(); 118 int height = host_->extension()->launch_height();
(...skipping 30 matching lines...) Expand all
143 bool ShellWindowViews::CanMaximize() const { 149 bool ShellWindowViews::CanMaximize() const {
144 return true; 150 return true;
145 } 151 }
146 152
147 views::View* ShellWindowViews::GetContentsView() { 153 views::View* ShellWindowViews::GetContentsView() {
148 return host_->view(); 154 return host_->view();
149 } 155 }
150 156
151 views::NonClientFrameView* ShellWindowViews::CreateNonClientFrameView() { 157 views::NonClientFrameView* ShellWindowViews::CreateNonClientFrameView() {
152 ShellWindowFrameView* frame_view = new ShellWindowFrameView(); 158 ShellWindowFrameView* frame_view = new ShellWindowFrameView();
153 gfx::Size size(host_->extension()->launch_min_width(), 159 gfx::Size min_size(host_->extension()->launch_min_width(),
154 host_->extension()->launch_min_height()); 160 host_->extension()->launch_min_height());
155 frame_view->set_min_size(size); 161 gfx::Size max_size(host_->extension()->launch_max_width(),
162 host_->extension()->launch_max_height());
163 frame_view->set_min_size(min_size);
164 frame_view->set_max_size(max_size);
156 return frame_view; 165 return frame_view;
157 } 166 }
158 167
159 string16 ShellWindowViews::GetWindowTitle() const { 168 string16 ShellWindowViews::GetWindowTitle() const {
160 return UTF8ToUTF16(host_->extension()->name()); 169 return UTF8ToUTF16(host_->extension()->name());
161 } 170 }
162 171
163 views::Widget* ShellWindowViews::GetWidget() { 172 views::Widget* ShellWindowViews::GetWidget() {
164 return window_; 173 return window_;
165 } 174 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 rgn->op(0, height - kResizeBorderWidth, width, height, SkRegion::kUnion_Op); 209 rgn->op(0, height - kResizeBorderWidth, width, height, SkRegion::kUnion_Op);
201 } 210 }
202 host_->render_view_host()->view()->SetClickthroughRegion(rgn); 211 host_->render_view_host()->view()->SetClickthroughRegion(rgn);
203 #endif 212 #endif
204 } 213 }
205 214
206 // static 215 // static
207 ShellWindow* ShellWindow::CreateShellWindow(ExtensionHost* host) { 216 ShellWindow* ShellWindow::CreateShellWindow(ExtensionHost* host) {
208 return new ShellWindowViews(host); 217 return new ShellWindowViews(host);
209 } 218 }
OLDNEW
« no previous file with comments | « no previous file | chrome/common/extensions/extension.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698