Index: chrome/browser/extensions/api/guest_view/guest_view_internal_api.cc |
diff --git a/chrome/browser/extensions/api/guest_view/guest_view_internal_api.cc b/chrome/browser/extensions/api/guest_view/guest_view_internal_api.cc |
index 8e16381fd0a0aa2c922d7c919c2d49bc976f5172..41d119154b457dd1a6d1a1c8f7deccd33fe6879b 100644 |
--- a/chrome/browser/extensions/api/guest_view/guest_view_internal_api.cc |
+++ b/chrome/browser/extensions/api/guest_view/guest_view_internal_api.cc |
@@ -9,6 +9,11 @@ |
#include "chrome/common/extensions/api/guest_view_internal.h" |
#include "extensions/common/permissions/permissions_data.h" |
+namespace { |
+const char* kWebViewPermissionRequiredError = |
+ "\"webview\" permission is required for allocating instance ID."; |
+} // namespace |
+ |
namespace extensions { |
GuestViewInternalAllocateInstanceIdFunction:: |
@@ -18,9 +23,14 @@ GuestViewInternalAllocateInstanceIdFunction:: |
bool GuestViewInternalAllocateInstanceIdFunction::RunAsync() { |
EXTENSION_FUNCTION_VALIDATE(!args_->GetSize()); |
- // Check if we have "webview" permission. |
- CHECK(GetExtension()->permissions_data()->HasAPIPermission( |
- APIPermission::kWebView)); |
+ |
+ if (!GetExtension()->permissions_data()->HasAPIPermission( |
+ APIPermission::kWebView)) { |
+ LOG(ERROR) << kWebViewPermissionRequiredError; |
+ error_ = kWebViewPermissionRequiredError; |
+ SendResponse(false); |
+ return false; |
+ } |
int instanceId = GuestViewManager::FromBrowserContext(browser_context()) |
->GetNextInstanceID(); |