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

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

Issue 10736037: Enable keyboard shortcuts and some menu commands for browserless Panels. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Synced Created 8 years, 5 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 | « chrome/browser/ui/browser_commands.cc ('k') | chrome/browser/ui/panels/panel.cc » ('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 #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 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/gtest_prod_util.h" 10 #include "base/gtest_prod_util.h"
(...skipping 13 matching lines...) Expand all
24 class GURL; 24 class GURL;
25 class NativePanel; 25 class NativePanel;
26 class PanelHost; 26 class PanelHost;
27 class PanelManager; 27 class PanelManager;
28 class PanelStrip; 28 class PanelStrip;
29 class Profile; 29 class Profile;
30 class SkBitmap; 30 class SkBitmap;
31 31
32 namespace content { 32 namespace content {
33 class WebContents; 33 class WebContents;
34 struct NativeWebKeyboardEvent;
34 } 35 }
35 36
36 // A platform independent implementation of BaseWindow for Panels. 37 // A platform independent implementation of BaseWindow for Panels.
37 // This class gets the first crack at all the BaseWindow calls for Panels and 38 // This class gets the first crack at all the BaseWindow calls for Panels and
38 // does one or more of the following: 39 // does one or more of the following:
39 // - Do nothing. The function is not relevant to Panels. 40 // - Do nothing. The function is not relevant to Panels.
40 // - Do Panel specific platform independent processing and then invoke the 41 // - Do Panel specific platform independent processing and then invoke the
41 // function on the platform specific member. For example, restrict panel 42 // function on the platform specific member. For example, restrict panel
42 // size to certain limits. 43 // size to certain limits.
43 // - Invoke an appropriate PanelManager function to do stuff that might affect 44 // - Invoke an appropriate PanelManager function to do stuff that might affect
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 // Sets minimum and maximum size for the panel. 238 // Sets minimum and maximum size for the panel.
238 void SetSizeRange(const gfx::Size& min_size, const gfx::Size& max_size); 239 void SetSizeRange(const gfx::Size& min_size, const gfx::Size& max_size);
239 240
240 // Updates the maximum size of the panel so that it's never smaller than the 241 // Updates the maximum size of the panel so that it's never smaller than the
241 // panel's desired size. Note that even if the user resizes the panel smaller 242 // panel's desired size. Note that even if the user resizes the panel smaller
242 // later, the increased maximum size will still be in effect. Since it's not 243 // later, the increased maximum size will still be in effect. Since it's not
243 // possible currently to switch the panel back to autosizing from 244 // possible currently to switch the panel back to autosizing from
244 // user-resizable, it should not be a problem. 245 // user-resizable, it should not be a problem.
245 void IncreaseMaxSize(const gfx::Size& desired_panel_size); 246 void IncreaseMaxSize(const gfx::Size& desired_panel_size);
246 247
248 // Handles keyboard events coming back from the renderer.
249 void HandleKeyboardEvent(const content::NativeWebKeyboardEvent& event);
250
247 // Whether the panel window is always on top. 251 // Whether the panel window is always on top.
248 void SetAlwaysOnTop(bool on_top); 252 void SetAlwaysOnTop(bool on_top);
249 bool always_on_top() const { return always_on_top_; } 253 bool always_on_top() const { return always_on_top_; }
250 254
251 // Sets whether the panel is shown in preview mode. When the panel is 255 // Sets whether the panel is shown in preview mode. When the panel is
252 // being dragged, it is in preview mode. 256 // being dragged, it is in preview mode.
253 void SetPreviewMode(bool in_preview_mode); 257 void SetPreviewMode(bool in_preview_mode);
254 258
255 // Sets up the panel for being resizable by the user - for example, 259 // Sets up the panel for being resizable by the user - for example,
256 // enables the resize mouse cursors when mouse is hovering over the edges. 260 // enables the resize mouse cursors when mouse is hovering over the edges.
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 375
372 content::NotificationRegistrar registrar_; 376 content::NotificationRegistrar registrar_;
373 const SessionID session_id_; 377 const SessionID session_id_;
374 scoped_ptr<ExtensionWindowController> extension_window_controller_; 378 scoped_ptr<ExtensionWindowController> extension_window_controller_;
375 scoped_ptr<PanelHost> panel_host_; 379 scoped_ptr<PanelHost> panel_host_;
376 380
377 DISALLOW_COPY_AND_ASSIGN(Panel); 381 DISALLOW_COPY_AND_ASSIGN(Panel);
378 }; 382 };
379 383
380 #endif // CHROME_BROWSER_UI_PANELS_PANEL_H_ 384 #endif // CHROME_BROWSER_UI_PANELS_PANEL_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser_commands.cc ('k') | chrome/browser/ui/panels/panel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698