| Index: chrome/browser/guestview/webview/webview_guest.h
|
| diff --git a/chrome/browser/guestview/webview/webview_guest.h b/chrome/browser/guestview/webview/webview_guest.h
|
| index a9abd6873bac09ab70f52e8a56ca8aef74fbabcb..94f85f99aa32e4dc68bfb2e129f87c9e72c1cd37 100644
|
| --- a/chrome/browser/guestview/webview/webview_guest.h
|
| +++ b/chrome/browser/guestview/webview/webview_guest.h
|
| @@ -49,6 +49,10 @@ class WebViewGuest : public GuestView,
|
| const content::NativeWebKeyboardEvent& event) OVERRIDE;
|
| virtual void RendererResponsive() OVERRIDE;
|
| virtual void RendererUnresponsive() OVERRIDE;
|
| + virtual bool RequestPermission(
|
| + BrowserPluginPermissionType permission_type,
|
| + const base::DictionaryValue& request_info,
|
| + const PermissionResponseCallback& callback) OVERRIDE;
|
|
|
| // NotificationObserver implementation.
|
| virtual void Observe(int type,
|
| @@ -62,6 +66,13 @@ class WebViewGuest : public GuestView,
|
| // Reload the guest.
|
| void Reload();
|
|
|
| + // Responds to the permission request |request_id| with |should_allow| and
|
| + // |user_input|. Returns whether there was a pending request for the provided
|
| + // |request_id|.
|
| + bool SetPermission(int request_id,
|
| + bool should_allow,
|
| + const std::string& user_input);
|
| +
|
| // Stop loading the guest.
|
| void Stop();
|
|
|
| @@ -120,6 +131,14 @@ class WebViewGuest : public GuestView,
|
|
|
| content::NotificationRegistrar notification_registrar_;
|
|
|
| + // A counter to generate a unique request id for a permission request.
|
| + // We only need the ids to be unique for a given WebViewGuest.
|
| + int next_permission_request_id_;
|
| +
|
| + // A map to store the callback for a request keyed by the request's id.
|
| + typedef std::map<int, PermissionResponseCallback> RequestMap;
|
| + RequestMap pending_permission_requests_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(WebViewGuest);
|
| };
|
|
|
|
|