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

Side by Side Diff: chrome/browser/ui/panels/panel.h

Issue 8704005: Add autoresize capability to chromium. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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/browser/ui/panels/panel.cc » ('j') | chrome/browser/ui/panels/panel.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_UI_PANELS_PANEL_H_ 5 #ifndef CHROME_BROWSER_UI_PANELS_PANEL_H_
6 #define CHROME_BROWSER_UI_PANELS_PANEL_H_ 6 #define CHROME_BROWSER_UI_PANELS_PANEL_H_
7 #pragma once 7 #pragma once
8 8
9 #include "chrome/browser/ui/browser_window.h" 9 #include "chrome/browser/ui/browser_window.h"
10 10
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 // Construct a native panel BrowserWindow implementation for the specified 188 // Construct a native panel BrowserWindow implementation for the specified
189 // |browser|. 189 // |browser|.
190 static NativePanel* CreateNativePanel(Browser* browser, 190 static NativePanel* CreateNativePanel(Browser* browser,
191 Panel* panel, 191 Panel* panel,
192 const gfx::Rect& bounds); 192 const gfx::Rect& bounds);
193 193
194 // Gets the extension from the browser that a panel is created from. 194 // Gets the extension from the browser that a panel is created from.
195 // Returns NULL if it cannot be found. 195 // Returns NULL if it cannot be found.
196 static const Extension* GetExtensionFromBrowser(Browser* browser); 196 static const Extension* GetExtensionFromBrowser(Browser* browser);
197 197
198 // Used on platforms where the panel cannot determine its window size
199 // until the window has been created. (e.g. GTK)
200 void OnWindowSizeAvailable();
201
202 // Asynchronous completion of panel close request. 198 // Asynchronous completion of panel close request.
203 void OnNativePanelClosed(); 199 void OnNativePanelClosed();
204 200
205 NativePanel* native_panel() { return native_panel_; } 201 NativePanel* native_panel() { return native_panel_; }
206 Browser* browser() const; 202 Browser* browser() const;
207 ExpansionState expansion_state() const { return expansion_state_; } 203 ExpansionState expansion_state() const { return expansion_state_; }
208 const gfx::Size& min_size() const { return min_size_; } 204 const gfx::Size& min_size() const { return min_size_; }
209 const gfx::Size& max_size() const { return max_size_; } 205 const gfx::Size& max_size() const { return max_size_; }
210 bool auto_resizable() const { return auto_resizable_; } 206 bool auto_resizable() const { return auto_resizable_; }
211 207
(...skipping 24 matching lines...) Expand all
236 // NULL might be returned if the tab has not been added. 232 // NULL might be returned if the tab has not been added.
237 RenderViewHost* GetRenderViewHost() const; 233 RenderViewHost* GetRenderViewHost() const;
238 234
239 // Configures the tab contents for auto resize, including configurations 235 // Configures the tab contents for auto resize, including configurations
240 // on the renderer and detecting renderer changes. 236 // on the renderer and detecting renderer changes.
241 void EnableTabContentsAutoResize(TabContents* tab_contents); 237 void EnableTabContentsAutoResize(TabContents* tab_contents);
242 238
243 // Configures the renderer for auto resize. 239 // Configures the renderer for auto resize.
244 void EnableRendererAutoResize(RenderViewHost* render_view_host); 240 void EnableRendererAutoResize(RenderViewHost* render_view_host);
245 241
246 // Requests RenderViewHost not to show the scrollbars till |max_size_| since
247 // the panel can grow to |max_size_|.
248 void RequestRenderViewHostToDisableScrollbars(
249 RenderViewHost* render_view_host);
250
251 // This is the minimum size that the panel can shrink to. 242 // This is the minimum size that the panel can shrink to.
252 gfx::Size min_size_; 243 gfx::Size min_size_;
253 244
254 // This is the size beyond which the panel is not going to grow to accomodate 245 // This is the size beyond which the panel is not going to grow to accomodate
255 // the growing content and WebKit would add the scrollbars in such case. 246 // the growing content and WebKit would add the scrollbars in such case.
256 gfx::Size max_size_; 247 gfx::Size max_size_;
257 248
258 // True if this panel auto resizes based on content. 249 // True if this panel auto resizes based on content.
259 bool auto_resizable_; 250 bool auto_resizable_;
260 251
261 // Platform specifc implementation for panels. It'd be one of 252 // Platform specifc implementation for panels. It'd be one of
262 // PanelBrowserWindowGtk/PanelBrowserView/PanelBrowserWindowCocoa. 253 // PanelBrowserWindowGtk/PanelBrowserView/PanelBrowserWindowCocoa.
263 NativePanel* native_panel_; // Weak, owns us. 254 NativePanel* native_panel_; // Weak, owns us.
264 255
265 ExpansionState expansion_state_; 256 ExpansionState expansion_state_;
266 257
267 // Stores the full height of the panel so we can restore it after it's 258 // Stores the full height of the panel so we can restore it after it's
268 // been minimized. 259 // been minimized.
269 int restored_height_; 260 int restored_height_;
270 261
271 content::NotificationRegistrar registrar_; 262 content::NotificationRegistrar registrar_;
272 263
273 DISALLOW_COPY_AND_ASSIGN(Panel); 264 DISALLOW_COPY_AND_ASSIGN(Panel);
274 }; 265 };
275 266
276 #endif // CHROME_BROWSER_UI_PANELS_PANEL_H_ 267 #endif // CHROME_BROWSER_UI_PANELS_PANEL_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/panels/panel.cc » ('j') | chrome/browser/ui/panels/panel.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698