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

Side by Side Diff: content/renderer/browser_plugin/browser_plugin.h

Issue 19679002: <webview>: Implement dialog API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added more tests and fixed a bug Created 7 years, 5 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 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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 void TrackObjectLifetime(const NPVariant* request, int id); 125 void TrackObjectLifetime(const NPVariant* request, int id);
126 126
127 // Returns true if |point| lies within the bounds of the plugin rectangle. 127 // Returns true if |point| lies within the bounds of the plugin rectangle.
128 // Not OK to use this function for making security-sensitive decision since it 128 // Not OK to use this function for making security-sensitive decision since it
129 // can return false positives when the plugin has rotation transformation 129 // can return false positives when the plugin has rotation transformation
130 // applied. 130 // applied.
131 bool InBounds(const gfx::Point& point) const; 131 bool InBounds(const gfx::Point& point) const;
132 132
133 gfx::Point ToLocalCoordinates(const gfx::Point& point) const; 133 gfx::Point ToLocalCoordinates(const gfx::Point& point) const;
134 // Called by browser plugin binding. 134 // Called by browser plugin binding.
135 void OnEmbedderDecidedPermission(int request_id, bool allow); 135 void OnEmbedderDecidedPermission(int request_id, bool allow,
136 const std::string& user_input);
136 137
137 // Attaches this BrowserPlugin to a guest with the provided |instance_id|. 138 // Attaches this BrowserPlugin to a guest with the provided |instance_id|.
138 // If the |instance_id| is not yet associated with a guest, a new guest 139 // If the |instance_id| is not yet associated with a guest, a new guest
139 // will be created. If the |instance_id| has not yet been allocated or the 140 // will be created. If the |instance_id| has not yet been allocated or the
140 // embedder is not permitted access to that particular guest, then the 141 // embedder is not permitted access to that particular guest, then the
141 // embedder will be killed. 142 // embedder will be killed.
142 void Attach(int instance_id); 143 void Attach(int instance_id);
143 144
144 // Notify the plugin about a compositor commit so that frame ACKs could be 145 // Notify the plugin about a compositor commit so that frame ACKs could be
145 // sent, if needed. 146 // sent, if needed.
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 bool UsesPendingDamageBuffer( 291 bool UsesPendingDamageBuffer(
291 const BrowserPluginMsg_UpdateRect_Params& params); 292 const BrowserPluginMsg_UpdateRect_Params& params);
292 293
293 void AddPermissionRequestToMap(int request_id, 294 void AddPermissionRequestToMap(int request_id,
294 BrowserPluginPermissionType type); 295 BrowserPluginPermissionType type);
295 296
296 // Informs the BrowserPlugin that the guest's permission request has been 297 // Informs the BrowserPlugin that the guest's permission request has been
297 // allowed or denied by the embedder. 298 // allowed or denied by the embedder.
298 void RespondPermission(BrowserPluginPermissionType permission_type, 299 void RespondPermission(BrowserPluginPermissionType permission_type,
299 int request_id, 300 int request_id,
300 bool allow); 301 bool allow,
302 const std::string& user_input);
301 303
302 // Handles the response to the pointerLock permission request. 304 // Handles the response to the pointerLock permission request.
303 void RespondPermissionPointerLock(bool allow); 305 void RespondPermissionPointerLock(bool allow);
304 306
305 // If the request with id |request_id| is pending then informs the 307 // If the request with id |request_id| is pending then informs the
306 // BrowserPlugin that the guest's permission request has been allowed or 308 // BrowserPlugin that the guest's permission request has been allowed or
307 // denied by the embedder. 309 // denied by the embedder.
308 void RespondPermissionIfRequestIsPending(int request_id, bool allow); 310 void RespondPermissionIfRequestIsPending(int request_id,
311 bool allow,
312 const std::string& user_input);
309 313
310 // Called when the tracked object of |id| ID becomes unreachable in 314 // Called when the tracked object of |id| ID becomes unreachable in
311 // JavaScript. 315 // JavaScript.
312 void OnTrackedObjectGarbageCollected(int id); 316 void OnTrackedObjectGarbageCollected(int id);
313 // V8 garbage collection callback for |object|. 317 // V8 garbage collection callback for |object|.
314 static void WeakCallbackForTrackedObject(v8::Isolate* isolate, 318 static void WeakCallbackForTrackedObject(v8::Isolate* isolate,
315 v8::Persistent<v8::Value>* object, 319 v8::Persistent<v8::Value>* object,
316 void* param); 320 void* param);
317 321
318 // IPC message handlers. 322 // IPC message handlers.
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 base::WeakPtrFactory<BrowserPlugin> weak_ptr_factory_; 409 base::WeakPtrFactory<BrowserPlugin> weak_ptr_factory_;
406 410
407 std::vector<EditCommand> edit_commands_; 411 std::vector<EditCommand> edit_commands_;
408 412
409 DISALLOW_COPY_AND_ASSIGN(BrowserPlugin); 413 DISALLOW_COPY_AND_ASSIGN(BrowserPlugin);
410 }; 414 };
411 415
412 } // namespace content 416 } // namespace content
413 417
414 #endif // CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ 418 #endif // CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698