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

Side by Side Diff: extensions/browser/api/web_view/web_view_internal_api.h

Issue 541753004: Split web_view_internal_api and move part of it to extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_API_WEB_VIEW_WEB_VIEW_INTERNAL_API_H_ 5 #ifndef EXTENSIONS_BROWSER_API_WEB_VIEW_WEB_VIEW_INTERNAL_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_WEB_VIEW_WEB_VIEW_INTERNAL_API_H_ 6 #define EXTENSIONS_BROWSER_API_WEB_VIEW_WEB_VIEW_INTERNAL_API_H_
7 7
8 #include "extensions/browser/api/capture_web_contents_function.h" 8 #include "extensions/browser/api/capture_web_contents_function.h"
9 #include "extensions/browser/api/execute_code_function.h" 9 #include "extensions/browser/api/execute_code_function.h"
10 #include "extensions/browser/extension_function.h" 10 #include "extensions/browser/extension_function.h"
11 #include "extensions/browser/guest_view/web_view/web_view_guest.h" 11 #include "extensions/browser/guest_view/web_view/web_view_guest.h"
12 12
13 // WARNING: WebViewInternal could be loaded in an unblessed context, thus any 13 // WARNING: WebViewInternal could be loaded in an unblessed context, thus any
14 // new APIs must extend WebViewInternalExtensionFunction or 14 // new APIs must extend WebViewInternalExtensionFunction or
15 // WebViewInternalExecuteCodeFunction which do a process ID check to prevent 15 // WebViewInternalExecuteCodeFunction which do a process ID check to prevent
16 // abuse by normal renderer processes. 16 // abuse by normal renderer processes.
17 // TODO(guohui): refactor WebViewInternalExecuteCodeFunction to also extend
18 // WebViewInternalExtensionFunction.
19 namespace extensions { 17 namespace extensions {
20 18
21 // An abstract base class for async webview APIs. It does a process ID check 19 // An abstract base class for async webview APIs. It does a process ID check
22 // in RunAsync, and then calls RunAsyncSafe which must be overriden by all 20 // in RunAsync, and then calls RunAsyncSafe which must be overriden by all
23 // subclasses. 21 // subclasses.
24 class WebViewInternalExtensionFunction : public AsyncExtensionFunction { 22 class WebViewInternalExtensionFunction : public AsyncExtensionFunction {
25 public: 23 public:
26 WebViewInternalExtensionFunction() {} 24 WebViewInternalExtensionFunction() {}
27 25
28 protected: 26 protected:
29 virtual ~WebViewInternalExtensionFunction() {} 27 virtual ~WebViewInternalExtensionFunction() {}
30 28
31 // ExtensionFunction implementation. 29 // ExtensionFunction implementation.
32 virtual bool RunAsync() OVERRIDE FINAL; 30 virtual bool RunAsync() OVERRIDE FINAL;
33 31
34 private: 32 private:
35 virtual bool RunAsyncSafe(WebViewGuest* guest) = 0; 33 virtual bool RunAsyncSafe(WebViewGuest* guest) = 0;
36 }; 34 };
37 35
38 class WebViewInternalContextMenusCreateFunction
39 : public AsyncExtensionFunction {
40 public:
41 DECLARE_EXTENSION_FUNCTION("webViewInternal.contextMenusCreate",
42 WEBVIEWINTERNAL_CONTEXTMENUSCREATE);
43 WebViewInternalContextMenusCreateFunction() {}
44
45 protected:
46 virtual ~WebViewInternalContextMenusCreateFunction() {}
47
48 // ExtensionFunction implementation.
49 virtual bool RunAsync() OVERRIDE;
50
51 private:
52 DISALLOW_COPY_AND_ASSIGN(WebViewInternalContextMenusCreateFunction);
53 };
54
55 class WebViewInternalContextMenusUpdateFunction
56 : public AsyncExtensionFunction {
57 public:
58 DECLARE_EXTENSION_FUNCTION("webViewInternal.contextMenusUpdate",
59 WEBVIEWINTERNAL_CONTEXTMENUSUPDATE);
60 WebViewInternalContextMenusUpdateFunction() {}
61
62 protected:
63 virtual ~WebViewInternalContextMenusUpdateFunction() {}
64
65 // ExtensionFunction implementation.
66 virtual bool RunAsync() OVERRIDE;
67
68 private:
69 DISALLOW_COPY_AND_ASSIGN(WebViewInternalContextMenusUpdateFunction);
70 };
71
72 class WebViewInternalContextMenusRemoveFunction
73 : public AsyncExtensionFunction {
74 public:
75 DECLARE_EXTENSION_FUNCTION("webViewInternal.contextMenusRemove",
76 WEBVIEWINTERNAL_CONTEXTMENUSREMOVE);
77 WebViewInternalContextMenusRemoveFunction() {}
78
79 protected:
80 virtual ~WebViewInternalContextMenusRemoveFunction() {}
81
82 // ExtensionFunction implementation.
83 virtual bool RunAsync() OVERRIDE;
84
85 private:
86 DISALLOW_COPY_AND_ASSIGN(WebViewInternalContextMenusRemoveFunction);
87 };
88
89 class WebViewInternalContextMenusRemoveAllFunction
90 : public AsyncExtensionFunction {
91 public:
92 DECLARE_EXTENSION_FUNCTION("webViewInternal.contextMenusRemoveAll",
93 WEBVIEWINTERNAL_CONTEXTMENUSREMOVEALL);
94 WebViewInternalContextMenusRemoveAllFunction() {}
95
96 protected:
97 virtual ~WebViewInternalContextMenusRemoveAllFunction() {}
98
99 // ExtensionFunction implementation.
100 virtual bool RunAsync() OVERRIDE;
101
102 private:
103 DISALLOW_COPY_AND_ASSIGN(WebViewInternalContextMenusRemoveAllFunction);
104 };
105
106 class WebViewInternalNavigateFunction 36 class WebViewInternalNavigateFunction
107 : public WebViewInternalExtensionFunction { 37 : public WebViewInternalExtensionFunction {
108 public: 38 public:
109 DECLARE_EXTENSION_FUNCTION("webViewInternal.navigate", 39 DECLARE_EXTENSION_FUNCTION("webViewInternal.navigate",
110 WEBVIEWINTERNAL_NAVIGATE); 40 WEBVIEWINTERNAL_NAVIGATE);
111 WebViewInternalNavigateFunction() {} 41 WebViewInternalNavigateFunction() {}
112 42
113 protected: 43 protected:
114 virtual ~WebViewInternalNavigateFunction() {} 44 virtual ~WebViewInternalNavigateFunction() {}
115 45
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 protected: 290 protected:
361 virtual ~WebViewInternalSetPermissionFunction(); 291 virtual ~WebViewInternalSetPermissionFunction();
362 292
363 private: 293 private:
364 // WebViewInternalExtensionFunction implementation. 294 // WebViewInternalExtensionFunction implementation.
365 virtual bool RunAsyncSafe(WebViewGuest* guest) OVERRIDE; 295 virtual bool RunAsyncSafe(WebViewGuest* guest) OVERRIDE;
366 296
367 DISALLOW_COPY_AND_ASSIGN(WebViewInternalSetPermissionFunction); 297 DISALLOW_COPY_AND_ASSIGN(WebViewInternalSetPermissionFunction);
368 }; 298 };
369 299
370 class WebViewInternalShowContextMenuFunction
371 : public WebViewInternalExtensionFunction {
372 public:
373 DECLARE_EXTENSION_FUNCTION("webViewInternal.showContextMenu",
374 WEBVIEWINTERNAL_SHOWCONTEXTMENU);
375
376 WebViewInternalShowContextMenuFunction();
377
378 protected:
379 virtual ~WebViewInternalShowContextMenuFunction();
380
381 private:
382 // WebViewInternalExtensionFunction implementation.
383 virtual bool RunAsyncSafe(WebViewGuest* guest) OVERRIDE;
384
385 DISALLOW_COPY_AND_ASSIGN(WebViewInternalShowContextMenuFunction);
386 };
387
388 class WebViewInternalOverrideUserAgentFunction 300 class WebViewInternalOverrideUserAgentFunction
389 : public WebViewInternalExtensionFunction { 301 : public WebViewInternalExtensionFunction {
390 public: 302 public:
391 DECLARE_EXTENSION_FUNCTION("webViewInternal.overrideUserAgent", 303 DECLARE_EXTENSION_FUNCTION("webViewInternal.overrideUserAgent",
392 WEBVIEWINTERNAL_OVERRIDEUSERAGENT); 304 WEBVIEWINTERNAL_OVERRIDEUSERAGENT);
393 305
394 WebViewInternalOverrideUserAgentFunction(); 306 WebViewInternalOverrideUserAgentFunction();
395 307
396 protected: 308 protected:
397 virtual ~WebViewInternalOverrideUserAgentFunction(); 309 virtual ~WebViewInternalOverrideUserAgentFunction();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 private: 345 private:
434 // WebViewInternalExtensionFunction implementation. 346 // WebViewInternalExtensionFunction implementation.
435 virtual bool RunAsyncSafe(WebViewGuest* guest) OVERRIDE; 347 virtual bool RunAsyncSafe(WebViewGuest* guest) OVERRIDE;
436 348
437 DISALLOW_COPY_AND_ASSIGN(WebViewInternalTerminateFunction); 349 DISALLOW_COPY_AND_ASSIGN(WebViewInternalTerminateFunction);
438 }; 350 };
439 351
440 } // namespace extensions 352 } // namespace extensions
441 353
442 #endif // CHROME_BROWSER_EXTENSIONS_API_WEB_VIEW_WEB_VIEW_INTERNAL_API_H_ 354 #endif // CHROME_BROWSER_EXTENSIONS_API_WEB_VIEW_WEB_VIEW_INTERNAL_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698