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

Side by Side Diff: chrome/browser/extensions/extension_bookmark_manager_api.h

Issue 596105: Bookmark Manager Drag and Drop backend.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 10 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_EXTENSIONS_EXTENSION_BOOKMARK_MANAGER_API_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_MANAGER_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_MANAGER_API_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_MANAGER_API_H_
7 7
8 #include "chrome/browser/bookmarks/bookmark_drag_data.h"
8 #include "chrome/browser/extensions/extension_bookmarks_module.h" 9 #include "chrome/browser/extensions/extension_bookmarks_module.h"
9 #include "chrome/browser/extensions/extension_function.h" 10 #include "chrome/browser/extensions/extension_function.h"
11 #include "chrome/browser/renderer_host/render_view_host_delegate.h"
10 #include "chrome/browser/shell_dialogs.h" 12 #include "chrome/browser/shell_dialogs.h"
11 13
12 class BookmarkNode; 14 class BookmarkNode;
15 class ListValue;
16 class Profile;
17 class TabContents;
18
19 // Class that handles the chrome.experimental.bookmarkManager events.
20 class ExtensionBookmarkManagerEventRouter
21 : public RenderViewHostDelegate::BookmarkDrag {
22 public:
23 ExtensionBookmarkManagerEventRouter(Profile* profile,
24 TabContents* tab_contents);
25 virtual ~ExtensionBookmarkManagerEventRouter();
26
27 // RenderViewHostDelegate::BookmarkDrag interface
28 virtual void OnDragEnter(const DragData* data);
29 virtual void OnDragOver(const DragData* data);
30 virtual void OnDragLeave(const DragData* data);
31 virtual void OnDrop(const DragData* data);
32
33 // The bookmark drag and drop data. This gets set after a drop was done on
34 // the page. This returns NULL if no data is available.
35 const BookmarkDragData* GetBookmarkDragData();
36
37 // Clears the drag and drop data.
38 void ClearBookmarkDragData();
39
40 private:
41 // Helper to actually dispatch an event to extension listeners.
42 void DispatchEvent(const char* event_name, const ListValue* args);
43
44 void DispatchDragEvent(const DragData* data, const char* event_name);
45
46 Profile* profile_;
47 TabContents* tab_contents_;
48 BookmarkDragData bookmark_drag_data_;
49
50 DISALLOW_COPY_AND_ASSIGN(ExtensionBookmarkManagerEventRouter);
51 };
13 52
14 class ClipboardBookmarkManagerFunction : public BookmarksFunction { 53 class ClipboardBookmarkManagerFunction : public BookmarksFunction {
15 protected: 54 protected:
16 bool CopyOrCut(bool cut); 55 bool CopyOrCut(bool cut);
17 }; 56 };
18 57
19 class CopyBookmarkManagerFunction : public ClipboardBookmarkManagerFunction { 58 class CopyBookmarkManagerFunction : public ClipboardBookmarkManagerFunction {
20 public: 59 public:
21 // Override ClipboardBookmarkManagerFunction. 60 // Override ClipboardBookmarkManagerFunction.
22 virtual bool RunImpl(); 61 virtual bool RunImpl();
23 62
24 private: 63 private:
25 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.copy"); 64 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.copy");
26 }; 65 };
27 66
28 class CutBookmarkManagerFunction : public ClipboardBookmarkManagerFunction { 67 class CutBookmarkManagerFunction : public ClipboardBookmarkManagerFunction {
29 public: 68 public:
30 // Override ClipboardBookmarkManagerFunction. 69 // Override ClipboardBookmarkManagerFunction.
31 virtual bool RunImpl(); 70 virtual bool RunImpl();
32 71
33 private: 72 private:
34 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.cut"); 73 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.cut");
35 }; 74 };
36 75
37 class PasteBookmarkManagerFunction : public ClipboardBookmarkManagerFunction { 76 class PasteBookmarkManagerFunction : public BookmarksFunction {
38 public: 77 public:
39 // Override ClipboardBookmarkManagerFunction. 78 // Override BookmarksFunction.
40 virtual bool RunImpl(); 79 virtual bool RunImpl();
41 80
42 private: 81 private:
43 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.paste"); 82 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.paste");
44 }; 83 };
45 84
46 class CanPasteBookmarkManagerFunction 85 class CanPasteBookmarkManagerFunction
47 : public ClipboardBookmarkManagerFunction { 86 : public BookmarksFunction {
48 public: 87 public:
49 // Override ClipboardBookmarkManagerFunction. 88 // Override BookmarksFunction.
50 virtual bool RunImpl(); 89 virtual bool RunImpl();
51 90
52 private: 91 private:
53 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.canPaste"); 92 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.canPaste");
54 }; 93 };
55 94
56 class BookmarkManagerIOFunction : public BookmarksFunction, 95 class BookmarkManagerIOFunction : public BookmarksFunction,
57 public SelectFileDialog::Listener { 96 public SelectFileDialog::Listener {
58 public: 97 public:
59 // Overridden from SelectFileDialog::Listener: 98 // Overridden from SelectFileDialog::Listener:
(...skipping 20 matching lines...) Expand all
80 public: 119 public:
81 // Override BookmarkManagerIOFunction. 120 // Override BookmarkManagerIOFunction.
82 bool RunImpl(); 121 bool RunImpl();
83 void FileSelected(const FilePath& path, int index, void* params); 122 void FileSelected(const FilePath& path, int index, void* params);
84 123
85 private: 124 private:
86 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.export"); 125 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.export");
87 }; 126 };
88 127
89 class SortChildrenBookmarkManagerFunction 128 class SortChildrenBookmarkManagerFunction
90 : public ClipboardBookmarkManagerFunction { 129 : public BookmarksFunction {
91 public: 130 public:
92 // Override ClipboardBookmarkManagerFunction. 131 // Override BookmarksFunction.
93 virtual bool RunImpl(); 132 virtual bool RunImpl();
94 133
95 private: 134 private:
96 DECLARE_EXTENSION_FUNCTION_NAME( 135 DECLARE_EXTENSION_FUNCTION_NAME(
97 "experimental.bookmarkManager.sortChildren"); 136 "experimental.bookmarkManager.sortChildren");
98 }; 137 };
99 138
100 class BookmarkManagerGetStringsFunction : public AsyncExtensionFunction { 139 class BookmarkManagerGetStringsFunction : public AsyncExtensionFunction {
101 public: 140 public:
102 // Override AsyncExtensionFunction. 141 // Override AsyncExtensionFunction.
103 virtual bool RunImpl(); 142 virtual bool RunImpl();
104 143
105 private: 144 private:
106 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.getStrings"); 145 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.getStrings");
107 }; 146 };
108 147
148 class StartDragBookmarkManagerFunction
149 : public BookmarksFunction {
150 public:
151 // Override BookmarksFunction.
152 virtual bool RunImpl();
153
154 private:
155 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.startDrag");
156 };
157
158 class DropBookmarkManagerFunction : public BookmarksFunction {
159 public:
160 virtual bool RunImpl();
161
162 private:
163 DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.drop");
164 };
165
109 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_MANAGER_API_H_ 166 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_MANAGER_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698