| Index: content/renderer/browser_plugin/browser_plugin.cc
|
| diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc
|
| index 5a961ba2c5cea3f7f1c6b10021f32b52634e3ee7..7bf0d58540090d9f231fdcfd902c4b0107ff3648 100644
|
| --- a/content/renderer/browser_plugin/browser_plugin.cc
|
| +++ b/content/renderer/browser_plugin/browser_plugin.cc
|
| @@ -509,11 +509,14 @@ void BrowserPlugin::OnRequestPermission(
|
| // The New Window API is very similiar to the permission API in structure,
|
| // but exposes a slightly different interface to the developer and so we put
|
| // it in a separate event.
|
| - const char* event_name =
|
| - (permission_type == BrowserPluginPermissionTypeNewWindow) ?
|
| - browser_plugin::kEventNewWindow :
|
| - browser_plugin::kEventRequestPermission;
|
| -
|
| + const char* event_name = NULL;
|
| + if (permission_type == BrowserPluginPermissionTypeNewWindow) {
|
| + event_name = browser_plugin::kEventNewWindow;
|
| + } else if (permission_type == BrowserPluginPermissionTypeJavaScriptDialog) {
|
| + event_name = browser_plugin::kEventDialog;
|
| + } else {
|
| + event_name = browser_plugin::kEventRequestPermission;
|
| + }
|
| AddPermissionRequestToMap(request_id, permission_type);
|
|
|
| std::map<std::string, base::Value*> props;
|
| @@ -971,14 +974,17 @@ WebKit::WebPluginContainer* BrowserPlugin::container() const {
|
| }
|
|
|
| void BrowserPlugin::RespondPermission(
|
| - BrowserPluginPermissionType permission_type, int request_id, bool allow) {
|
| + BrowserPluginPermissionType permission_type,
|
| + int request_id,
|
| + bool allow,
|
| + const std::string& user_input) {
|
| if (permission_type == BrowserPluginPermissionTypePointerLock)
|
| RespondPermissionPointerLock(allow);
|
| else
|
| browser_plugin_manager()->Send(
|
| new BrowserPluginHostMsg_RespondPermission(
|
| - render_view_routing_id_, guest_instance_id_, permission_type,
|
| - request_id, allow));
|
| + render_view_routing_id_, guest_instance_id_,
|
| + request_id, allow, user_input));
|
| }
|
|
|
| void BrowserPlugin::RespondPermissionPointerLock(bool allow) {
|
| @@ -989,7 +995,7 @@ void BrowserPlugin::RespondPermissionPointerLock(bool allow) {
|
| }
|
|
|
| void BrowserPlugin::RespondPermissionIfRequestIsPending(
|
| - int request_id, bool allow) {
|
| + int request_id, bool allow, const std::string& user_input) {
|
| PendingPermissionRequests::iterator iter =
|
| pending_permission_requests_.find(request_id);
|
| if (iter == pending_permission_requests_.end())
|
| @@ -997,11 +1003,13 @@ void BrowserPlugin::RespondPermissionIfRequestIsPending(
|
|
|
| BrowserPluginPermissionType permission_type = iter->second;
|
| pending_permission_requests_.erase(iter);
|
| - RespondPermission(permission_type, request_id, allow);
|
| + RespondPermission(permission_type, request_id, allow, user_input);
|
| }
|
|
|
| -void BrowserPlugin::OnEmbedderDecidedPermission(int request_id, bool allow) {
|
| - RespondPermissionIfRequestIsPending(request_id, allow);
|
| +void BrowserPlugin::OnEmbedderDecidedPermission(int request_id,
|
| + bool allow,
|
| + const std::string& user_input) {
|
| + RespondPermissionIfRequestIsPending(request_id, allow, user_input);
|
| }
|
|
|
| bool BrowserPlugin::initialize(WebPluginContainer* container) {
|
|
|