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

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

Issue 7605009: Implement drag and drop testing in a platform independent way. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 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
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_NATIVE_PANEL_H_ 5 #ifndef CHROME_BROWSER_UI_PANELS_NATIVE_PANEL_H_
6 #define CHROME_BROWSER_UI_PANELS_NATIVE_PANEL_H_ 6 #define CHROME_BROWSER_UI_PANELS_NATIVE_PANEL_H_
7 #pragma once 7 #pragma once
8 8
9 #include "chrome/browser/ui/panels/panel.h" 9 #include "chrome/browser/ui/panels/panel.h"
10 #include "ui/gfx/native_widget_types.h" 10 #include "ui/gfx/native_widget_types.h"
11 11
12 class FindBar; 12 class FindBar;
13 class NativePanelTesting; 13 class NativePanelTesting;
14 class Panel;
jianli 2011/08/09 21:10:23 We already include panel.h. I think this is remove
prasadt 2011/08/09 23:05:04 Done.
14 15
15 namespace gfx { 16 namespace gfx {
16 class Rect; 17 class Rect;
17 } // namespace gfx 18 } // namespace gfx
18 19
19 // An interface for a class that implements platform-specific behavior for panel 20 // An interface for a class that implements platform-specific behavior for panel
20 // windows. We use this interface for two reasons: 21 // windows. We use this interface for two reasons:
21 // 1. We don't want to use BrowserWindow as the interface between shared panel 22 // 1. We don't want to use BrowserWindow as the interface between shared panel
22 // code and platform-specific code. BrowserWindow has a lot of methods, most 23 // code and platform-specific code. BrowserWindow has a lot of methods, most
23 // of which we don't use and simply stub out with NOTIMPLEMENTED(). 24 // of which we don't use and simply stub out with NOTIMPLEMENTED().
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 virtual bool IsPanelActive() const = 0; 56 virtual bool IsPanelActive() const = 0;
56 virtual gfx::NativeWindow GetNativePanelHandle() = 0; 57 virtual gfx::NativeWindow GetNativePanelHandle() = 0;
57 virtual void UpdatePanelTitleBar() = 0; 58 virtual void UpdatePanelTitleBar() = 0;
58 virtual void ShowTaskManagerForPanel() = 0; 59 virtual void ShowTaskManagerForPanel() = 0;
59 virtual FindBar* CreatePanelFindBar() = 0; 60 virtual FindBar* CreatePanelFindBar() = 0;
60 virtual void NotifyPanelOnUserChangedTheme() = 0; 61 virtual void NotifyPanelOnUserChangedTheme() = 0;
61 virtual void DrawAttention() = 0; 62 virtual void DrawAttention() = 0;
62 virtual bool IsDrawingAttention() const = 0; 63 virtual bool IsDrawingAttention() const = 0;
63 virtual Browser* GetPanelBrowser() const = 0; 64 virtual Browser* GetPanelBrowser() const = 0;
64 virtual void DestroyPanelBrowser() = 0; 65 virtual void DestroyPanelBrowser() = 0;
65
66 // Returns a pointer to the testing interface to the native panel.
67 virtual NativePanelTesting* GetNativePanelTesting() = 0;
68 }; 66 };
69 67
70 // A NativePanel utility interface used for accessing elements of the 68 // A NativePanel utility interface used for accessing elements of the
71 // native panel used only by test automation. 69 // native panel used only by test automation.
72 class NativePanelTesting { 70 class NativePanelTesting {
73 public: 71 public:
72 static NativePanelTesting* Create(NativePanel* native_panel);
74 73
75 protected: 74 virtual void TitlebarLeftButtonPress(gfx::Point point) = 0;
jianli 2011/08/09 21:10:23 It would be better to call it either TitlebarLeftB
prasadt 2011/08/09 23:05:04 I changed the name to PressLeftMouseButtonTitlebar
76 virtual ~NativePanelTesting() {} 75 virtual void TitlebarLeftButtonRelease() = 0;
76 virtual void TitlebarDrag(int delta_x, int delta_y) = 0;
77 virtual void TitlebarCancelDrag() = 0;
78 virtual void TitlebarFinishDrag() = 0;
77 }; 79 };
78 80
79 #endif // CHROME_BROWSER_UI_PANELS_NATIVE_PANEL_H_ 81 #endif // CHROME_BROWSER_UI_PANELS_NATIVE_PANEL_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/panels/panel_browser_view.h » ('j') | chrome/browser/ui/panels/panel_browser_view.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698