Index: content/public/browser/browser_plugin_guest_delegate.h |
diff --git a/content/public/browser/browser_plugin_guest_delegate.h b/content/public/browser/browser_plugin_guest_delegate.h |
index df98e4fd7ed7dd0fb66a024bcc23660007a815da..151c752dd3cc7ed6ab21f69980c3fc92bc8a3d8f 100644 |
--- a/content/public/browser/browser_plugin_guest_delegate.h |
+++ b/content/public/browser/browser_plugin_guest_delegate.h |
@@ -5,9 +5,12 @@ |
#ifndef CONTENT_PUBLIC_BROWSER_BROWSER_PLUGIN_GUEST_DELEGATE_H_ |
#define CONTENT_PUBLIC_BROWSER_BROWSER_PLUGIN_GUEST_DELEGATE_H_ |
+#include "base/callback.h" |
jam
2013/08/08 21:22:11
nit: callback_forward is enough?
Fady Samuel
2013/08/08 21:42:49
Done.
|
#include "base/process/kill.h" |
#include "base/strings/string16.h" |
+#include "base/values.h" |
#include "content/common/content_export.h" |
+#include "content/public/common/browser_plugin/browser_plugin_message_enums.h" |
namespace content { |
@@ -17,6 +20,10 @@ struct NativeWebKeyboardEvent; |
// WebContents and to provide necessary functionality. |
class CONTENT_EXPORT BrowserPluginGuestDelegate { |
public: |
+ typedef base::Callback<void(bool /* allow */, |
+ const std::string& /* user_input */)> |
jam
2013/08/08 21:22:11
nit: the const should line up with the bool
also,
Fady Samuel
2013/08/08 21:42:49
Done.
jam
2013/08/09 00:07:27
where?
|
+ PermissionResponseCallback; |
+ |
virtual ~BrowserPluginGuestDelegate() {} |
// Add a message to the console. |
@@ -41,6 +48,15 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate { |
// Notification that the guest is hung. |
virtual void RendererUnresponsive() {} |
+ |
+ // Request permission from the delegate to perform an action of the provided |
+ // |permission_type|. Details of the permission request are found in |
+ // |request_info|. A |callback| is provided to make the decision. |
+ // Returns whether the delegate has, or will handle the permission request. |
+ virtual bool RequestPermission( |
+ BrowserPluginPermissionType permission_type, |
+ const base::DictionaryValue& request_info, |
+ const PermissionResponseCallback& callback); |
}; |
} // namespace content |