OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ | 5 #ifndef CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ |
6 #define CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ | 6 #define CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ |
7 | 7 |
8 #include "third_party/WebKit/public/web/WebPlugin.h" | 8 #include "third_party/WebKit/public/web/WebPlugin.h" |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 void TrackObjectLifetime(const NPVariant* request, int id); | 123 void TrackObjectLifetime(const NPVariant* request, int id); |
124 | 124 |
125 // Returns true if |point| lies within the bounds of the plugin rectangle. | 125 // Returns true if |point| lies within the bounds of the plugin rectangle. |
126 // Not OK to use this function for making security-sensitive decision since it | 126 // Not OK to use this function for making security-sensitive decision since it |
127 // can return false positives when the plugin has rotation transformation | 127 // can return false positives when the plugin has rotation transformation |
128 // applied. | 128 // applied. |
129 bool InBounds(const gfx::Point& point) const; | 129 bool InBounds(const gfx::Point& point) const; |
130 | 130 |
131 gfx::Point ToLocalCoordinates(const gfx::Point& point) const; | 131 gfx::Point ToLocalCoordinates(const gfx::Point& point) const; |
132 // Called by browser plugin binding. | 132 // Called by browser plugin binding. |
133 void OnEmbedderDecidedPermission(int request_id, bool allow); | 133 void OnEmbedderDecidedPermission(int request_id, bool allow, |
| 134 const std::string& user_input); |
134 | 135 |
135 // Called when a guest instance ID has been allocated by the browser process. | 136 // Called when a guest instance ID has been allocated by the browser process. |
136 void OnInstanceIDAllocated(int guest_instance_id); | 137 void OnInstanceIDAllocated(int guest_instance_id); |
137 // Provided that a guest instance ID has been allocated, this method attaches | 138 // Provided that a guest instance ID has been allocated, this method attaches |
138 // this BrowserPlugin instance to that guest. |extra_params| are parameters | 139 // this BrowserPlugin instance to that guest. |extra_params| are parameters |
139 // passed in by the content embedder to the browser process. | 140 // passed in by the content embedder to the browser process. |
140 void Attach(scoped_ptr<base::DictionaryValue> extra_params); | 141 void Attach(scoped_ptr<base::DictionaryValue> extra_params); |
141 | 142 |
142 // Notify the plugin about a compositor commit so that frame ACKs could be | 143 // Notify the plugin about a compositor commit so that frame ACKs could be |
143 // sent, if needed. | 144 // sent, if needed. |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 | 286 |
286 // Indicates whether the |pending_damage_buffer_| was used to copy over pixels | 287 // Indicates whether the |pending_damage_buffer_| was used to copy over pixels |
287 // given the provided |params|. | 288 // given the provided |params|. |
288 bool UsesPendingDamageBuffer( | 289 bool UsesPendingDamageBuffer( |
289 const BrowserPluginMsg_UpdateRect_Params& params); | 290 const BrowserPluginMsg_UpdateRect_Params& params); |
290 | 291 |
291 void AddPermissionRequestToSet(int request_id); | 292 void AddPermissionRequestToSet(int request_id); |
292 | 293 |
293 // Informs the BrowserPlugin that the guest's permission request has been | 294 // Informs the BrowserPlugin that the guest's permission request has been |
294 // allowed or denied by the embedder. | 295 // allowed or denied by the embedder. |
295 void RespondPermission(int request_id, bool allow); | 296 void RespondPermission(int request_id, |
| 297 bool allow, |
| 298 const std::string& user_input); |
296 | 299 |
297 // If the request with id |request_id| is pending then informs the | 300 // If the request with id |request_id| is pending then informs the |
298 // BrowserPlugin that the guest's permission request has been allowed or | 301 // BrowserPlugin that the guest's permission request has been allowed or |
299 // denied by the embedder. | 302 // denied by the embedder. |
300 void RespondPermissionIfRequestIsPending(int request_id, bool allow); | 303 void RespondPermissionIfRequestIsPending(int request_id, |
| 304 bool allow, |
| 305 const std::string& user_input); |
301 | 306 |
302 // Called when the tracked object of |id| ID becomes unreachable in | 307 // Called when the tracked object of |id| ID becomes unreachable in |
303 // JavaScript. | 308 // JavaScript. |
304 void OnTrackedObjectGarbageCollected(int id); | 309 void OnTrackedObjectGarbageCollected(int id); |
305 // V8 garbage collection callback for |object|. | 310 // V8 garbage collection callback for |object|. |
306 static void WeakCallbackForTrackedObject(v8::Isolate* isolate, | 311 static void WeakCallbackForTrackedObject(v8::Isolate* isolate, |
307 v8::Persistent<v8::Value>* object, | 312 v8::Persistent<v8::Value>* object, |
308 void* param); | 313 void* param); |
309 | 314 |
310 // IPC message handlers. | 315 // IPC message handlers. |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 base::WeakPtrFactory<BrowserPlugin> weak_ptr_factory_; | 402 base::WeakPtrFactory<BrowserPlugin> weak_ptr_factory_; |
398 | 403 |
399 std::vector<EditCommand> edit_commands_; | 404 std::vector<EditCommand> edit_commands_; |
400 | 405 |
401 DISALLOW_COPY_AND_ASSIGN(BrowserPlugin); | 406 DISALLOW_COPY_AND_ASSIGN(BrowserPlugin); |
402 }; | 407 }; |
403 | 408 |
404 } // namespace content | 409 } // namespace content |
405 | 410 |
406 #endif // CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ | 411 #endif // CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ |
OLD | NEW |