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

Unified Diff: chrome/browser/guest_view/web_view/web_view_guest.cc

Issue 426593007: Refactor guest view availability to be API not permission based. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/guest_view/web_view/web_view_guest.cc
diff --git a/chrome/browser/guest_view/web_view/web_view_guest.cc b/chrome/browser/guest_view/web_view/web_view_guest.cc
index 88ff3ddf68abd3f61e9924c69d4e2d4694192a88..24838344d05cb4b9ee9cba895ad2aa562a53db6c 100644
--- a/chrome/browser/guest_view/web_view/web_view_guest.cc
+++ b/chrome/browser/guest_view/web_view/web_view_guest.cc
@@ -48,10 +48,10 @@
#include "content/public/common/result_codes.h"
#include "content/public/common/stop_find_action.h"
#include "content/public/common/url_constants.h"
-#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/constants.h"
-#include "extensions/common/permissions/permissions_data.h"
+#include "extensions/common/features/feature.h"
+#include "extensions/common/features/feature_provider.h"
#include "ipc/ipc_message_macros.h"
#include "net/base/escape.h"
#include "net/base/net_errors.h"
@@ -226,16 +226,9 @@ scoped_ptr<base::ListValue> WebViewGuest::MenuModelToValue(
return items.Pass();
}
-bool WebViewGuest::CanEmbedderUseGuestView(
- const std::string& embedder_extension_id) {
- const extensions::Extension* embedder_extension =
- extensions::ExtensionRegistry::Get(browser_context())
- ->enabled_extensions()
- .GetByID(embedder_extension_id);
- if (!embedder_extension)
- return false;
- return embedder_extension->permissions_data()->HasAPIPermission(
- extensions::APIPermission::kWebView);
+extensions::Feature* WebViewGuest::GetFeature() {
+ return extensions::FeatureProvider::GetAPIFeatures()->GetFeature(
+ "webViewInternal");
}
void WebViewGuest::CreateWebContents(
@@ -551,9 +544,11 @@ void WebViewGuest::CreateNewGuestWebViewWindow(
WebViewGuest::Type,
embedder_extension_id(),
embedder_web_contents()->GetRenderProcessHost()->GetID(),
+ embedder_web_contents(),
create_params,
base::Bind(&WebViewGuest::NewGuestWebViewCallback,
- base::Unretained(this), params));
+ base::Unretained(this),
+ params));
}
void WebViewGuest::NewGuestWebViewCallback(

Powered by Google App Engine
This is Rietveld 408576698