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

Side by Side Diff: chrome/renderer/extensions/miscellaneous_bindings.h

Issue 15841013: Make miscellaneous_bindings and event_bindings Required as needed. Previously (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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) 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_RENDERER_EXTENSIONS_MISCELLANEOUS_BINDINGS_H_ 5 #ifndef CHROME_RENDERER_EXTENSIONS_MISCELLANEOUS_BINDINGS_H_
6 #define CHROME_RENDERER_EXTENSIONS_MISCELLANEOUS_BINDINGS_H_ 6 #define CHROME_RENDERER_EXTENSIONS_MISCELLANEOUS_BINDINGS_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "chrome/renderer/extensions/chrome_v8_context_set.h" 10 #include "chrome/renderer/extensions/chrome_v8_context_set.h"
11 11
12 namespace base { 12 namespace base {
13 class DictionaryValue; 13 class DictionaryValue;
14 class ListValue;
14 } 15 }
15 16
16 namespace content { 17 namespace content {
17 class RenderView; 18 class RenderView;
18 } 19 }
19 20
20 namespace v8 { 21 namespace v8 {
21 class Extension; 22 class Extension;
22 } 23 }
23 24
24 namespace extensions { 25 namespace extensions {
25 class ChromeV8Extension; 26 class ChromeV8Extension;
26 class Dispatcher; 27 class Dispatcher;
27 28
28 // Manually implements some random JavaScript bindings for the extension system. 29 // Manually implements some random JavaScript bindings for the extension system.
29 // 30 //
30 // TODO(aa): This should all get re-implemented using SchemaGeneratedBindings. 31 // TODO(aa): This should all get re-implemented using SchemaGeneratedBindings.
31 // If anything needs to be manual for some reason, it should be implemented in 32 // If anything needs to be manual for some reason, it should be implemented in
32 // its own class. 33 // its own class.
33 class MiscellaneousBindings { 34 class MiscellaneousBindings {
34 public: 35 public:
35 // Creates an instance of the extension. 36 // Creates an instance of the extension.
36 static ChromeV8Extension* Get(Dispatcher* dispatcher, 37 static ChromeV8Extension* Get(Dispatcher* dispatcher,
37 v8::Handle<v8::Context> context); 38 v8::Handle<v8::Context> context);
38 39
39 // Dispatches the Port.onConnect content script messaging event to some 40 // Dispatches the onConnect content script messaging event to some contexts
40 // contexts in |contexts|. If |restrict_to_render_view| is specified, only 41 // in |contexts|. If |restrict_to_render_view| is specified, only contexts in
41 // contexts in that render view will receive the message. 42 // that render view will receive the message.
42 static void DispatchOnConnect( 43 static void DispatchOnConnect(
43 const ChromeV8ContextSet::ContextSet& contexts, 44 const ChromeV8ContextSet::ContextSet& contexts,
44 int target_port_id, 45 int target_port_id,
45 const std::string& channel_name, 46 const std::string& channel_name,
46 const base::DictionaryValue& source_tab, 47 const base::DictionaryValue& source_tab,
47 const std::string& source_extension_id, 48 const std::string& source_extension_id,
48 const std::string& target_extension_id, 49 const std::string& target_extension_id,
49 const GURL& source_url, 50 const GURL& source_url,
50 content::RenderView* restrict_to_render_view); 51 content::RenderView* restrict_to_render_view);
51 52
52 // Delivers a message sent using content script messaging to some of the 53 // Delivers a message sent using content script messaging to some of the
53 // contexts in |bindings_context_set|. If |restrict_to_render_view| is 54 // contexts in |bindings_context_set|. If |restrict_to_render_view| is
54 // specified, only contexts in that render view will receive the message. 55 // specified, only contexts in that render view will receive the message.
55 static void DeliverMessage( 56 static void DeliverMessage(
56 const ChromeV8ContextSet::ContextSet& context_set, 57 const ChromeV8ContextSet::ContextSet& context_set,
57 int target_port_id, 58 int target_port_id,
58 const std::string& message, 59 const base::ListValue& message,
59 content::RenderView* restrict_to_render_view); 60 content::RenderView* restrict_to_render_view);
60 61
61 // Dispatches the Port.onDisconnect event in response to the channel being 62 // Dispatches the onDisconnect event in response to the channel being closed.
62 // closed.
63 static void DispatchOnDisconnect( 63 static void DispatchOnDisconnect(
64 const ChromeV8ContextSet::ContextSet& context_set, 64 const ChromeV8ContextSet::ContextSet& context_set,
65 int port_id, 65 int port_id,
66 const std::string& error_message, 66 const std::string& error_message,
67 content::RenderView* restrict_to_render_view); 67 content::RenderView* restrict_to_render_view);
68 }; 68 };
69 69
70 } // namespace 70 } // namespace
71 71
72 #endif // CHROME_RENDERER_EXTENSIONS_MISCELLANEOUS_BINDINGS_H_ 72 #endif // CHROME_RENDERER_EXTENSIONS_MISCELLANEOUS_BINDINGS_H_
OLDNEW
« no previous file with comments | « chrome/renderer/extensions/extension_helper.cc ('k') | chrome/renderer/extensions/miscellaneous_bindings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698