OLD | NEW |
1 // -*- c++ -*- | 1 // -*- c++ -*- |
2 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 // Use of this source code is governed by a BSD-style license that can be | 3 // Use of this source code is governed by a BSD-style license that can be |
4 // found in the LICENSE file. | 4 // found in the LICENSE file. |
5 | 5 |
6 // The portable representation of an instance and root scriptable object. | 6 // The portable representation of an instance and root scriptable object. |
7 // The PPAPI version of the plugin instantiates a subclass of this class. | 7 // The PPAPI version of the plugin instantiates a subclass of this class. |
8 | 8 |
9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_ | 9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_ |
10 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_ | 10 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_ |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 | 56 |
57 class Plugin : public pp::Instance { | 57 class Plugin : public pp::Instance { |
58 public: | 58 public: |
59 explicit Plugin(PP_Instance instance); | 59 explicit Plugin(PP_Instance instance); |
60 | 60 |
61 // ----- Methods inherited from pp::Instance: | 61 // ----- Methods inherited from pp::Instance: |
62 | 62 |
63 // Initializes this plugin with <embed/object ...> tag attribute count |argc|, | 63 // Initializes this plugin with <embed/object ...> tag attribute count |argc|, |
64 // names |argn| and values |argn|. Returns false on failure. | 64 // names |argn| and values |argn|. Returns false on failure. |
65 // Gets called by the browser right after New(). | 65 // Gets called by the browser right after New(). |
66 virtual bool Init(uint32_t argc, const char* argn[], const char* argv[]); | 66 bool Init(uint32_t argc, const char* argn[], const char* argv[]) override; |
67 | 67 |
68 // Handles document load, when the plugin is a MIME type handler. | 68 // Handles document load, when the plugin is a MIME type handler. |
69 virtual bool HandleDocumentLoad(const pp::URLLoader& url_loader); | 69 bool HandleDocumentLoad(const pp::URLLoader& url_loader) override; |
70 | 70 |
71 // Load support. | 71 // Load support. |
72 // | 72 // |
73 // Starts NaCl module but does not wait until low-level | 73 // Starts NaCl module but does not wait until low-level |
74 // initialization (e.g. ld.so dynamic loading of manifest files) is | 74 // initialization (e.g. ld.so dynamic loading of manifest files) is |
75 // done. The module will become ready later, asynchronously. Other | 75 // done. The module will become ready later, asynchronously. Other |
76 // event handlers should block until the module is ready before | 76 // event handlers should block until the module is ready before |
77 // trying to communicate with it, i.e., until nacl_ready_state is | 77 // trying to communicate with it, i.e., until nacl_ready_state is |
78 // DONE. | 78 // DONE. |
79 // | 79 // |
(...skipping 21 matching lines...) Expand all Loading... |
101 | 101 |
102 nacl::DescWrapperFactory* wrapper_factory() const { return wrapper_factory_; } | 102 nacl::DescWrapperFactory* wrapper_factory() const { return wrapper_factory_; } |
103 | 103 |
104 const PPB_NaCl_Private* nacl_interface() const { return nacl_interface_; } | 104 const PPB_NaCl_Private* nacl_interface() const { return nacl_interface_; } |
105 pp::UMAPrivate& uma_interface() { return uma_interface_; } | 105 pp::UMAPrivate& uma_interface() { return uma_interface_; } |
106 | 106 |
107 private: | 107 private: |
108 NACL_DISALLOW_COPY_AND_ASSIGN(Plugin); | 108 NACL_DISALLOW_COPY_AND_ASSIGN(Plugin); |
109 // The browser will invoke the destructor via the pp::Instance | 109 // The browser will invoke the destructor via the pp::Instance |
110 // pointer to this object, not from base's Delete(). | 110 // pointer to this object, not from base's Delete(). |
111 ~Plugin(); | 111 ~Plugin() override; |
112 | 112 |
113 // Shuts down socket connection, service runtime, and receive thread, | 113 // Shuts down socket connection, service runtime, and receive thread, |
114 // in this order, for the main nacl subprocess. | 114 // in this order, for the main nacl subprocess. |
115 void ShutDownSubprocesses(); | 115 void ShutDownSubprocesses(); |
116 | 116 |
117 // Histogram helper functions, internal to Plugin so they can use | 117 // Histogram helper functions, internal to Plugin so they can use |
118 // uma_interface_ normally. | 118 // uma_interface_ normally. |
119 void HistogramTimeSmall(const std::string& name, int64_t ms); | 119 void HistogramTimeSmall(const std::string& name, int64_t ms); |
120 | 120 |
121 // Loads and starts a helper (e.g. llc, ld) NaCl module. | 121 // Loads and starts a helper (e.g. llc, ld) NaCl module. |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 | 178 |
179 PP_NaClFileInfo nexe_file_info_; | 179 PP_NaClFileInfo nexe_file_info_; |
180 | 180 |
181 const PPB_NaCl_Private* nacl_interface_; | 181 const PPB_NaCl_Private* nacl_interface_; |
182 pp::UMAPrivate uma_interface_; | 182 pp::UMAPrivate uma_interface_; |
183 }; | 183 }; |
184 | 184 |
185 } // namespace plugin | 185 } // namespace plugin |
186 | 186 |
187 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_ | 187 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PLUGIN_H_ |
OLD | NEW |