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

Unified Diff: chrome/browser/permissions/permission_request_manager.cc

Issue 2315563002: Add PermissionPromptAndroid skeleton (Closed)
Patch Set: remove unused stuff Created 4 years, 2 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/permissions/permission_request_manager.cc
diff --git a/chrome/browser/permissions/permission_request_manager.cc b/chrome/browser/permissions/permission_request_manager.cc
index 40fdb5031c0ea5d498ea63f9a43a18bbf4cc2ba6..5f8e5c2809871910ad67a8921ab5cae38658582a 100644
--- a/chrome/browser/permissions/permission_request_manager.cc
+++ b/chrome/browser/permissions/permission_request_manager.cc
@@ -7,10 +7,13 @@
#include <algorithm>
#include "base/command_line.h"
+#include "base/feature_list.h"
#include "base/metrics/user_metrics_action.h"
#include "build/build_config.h"
#include "chrome/browser/permissions/permission_request.h"
#include "chrome/browser/permissions/permission_uma_util.h"
+#include "chrome/browser/ui/website_settings/permission_prompt.h"
+#include "chrome/common/chrome_features.h"
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_details.h"
@@ -74,15 +77,12 @@ DEFINE_WEB_CONTENTS_USER_DATA_KEY(PermissionRequestManager);
PermissionRequestManager::PermissionRequestManager(
content::WebContents* web_contents)
: content::WebContentsObserver(web_contents),
-#if !defined(OS_ANDROID) // No bubbles in android tests.
view_factory_(base::Bind(&PermissionPrompt::Create)),
-#endif
view_(nullptr),
main_frame_has_fully_loaded_(false),
persist_(true),
auto_response_for_test_(NONE),
- weak_factory_(this) {
-}
+ weak_factory_(this) {}
PermissionRequestManager::~PermissionRequestManager() {
if (view_ != NULL)
@@ -237,13 +237,8 @@ void PermissionRequestManager::DisplayPendingRequests() {
if (IsBubbleVisible())
return;
-#if defined(OS_ANDROID)
- NOTREACHED();
- return;
-#else
view_ = view_factory_.Run(web_contents());
view_->SetDelegate(this);
-#endif
TriggerShowBubble();
}
@@ -257,6 +252,15 @@ bool PermissionRequestManager::IsBubbleVisible() {
return view_ && view_->IsVisible();
}
+// static
+bool PermissionRequestManager::IsEnabled() {
+#if defined(OS_ANDROID)
+ return base::FeatureList::IsEnabled(features::kUseGroupedPermissionInfobars);
+#else
+ return true;
+#endif
+}
+
gfx::NativeWindow PermissionRequestManager::GetBubbleWindow() {
if (view_)
return view_->GetNativeWindow();
@@ -351,10 +355,12 @@ void PermissionRequestManager::Closing() {
}
void PermissionRequestManager::ScheduleShowBubble() {
+#if !defined(OS_ANDROID)
raymes 2016/10/19 00:25:41 Do you know why this ifdef is needed? (and the sec
lshang 2016/10/20 05:03:10 Removed. This is not needed, probably some leftove
// ::ScheduleShowBubble() will be called again when the main frame will be
// loaded.
if (!main_frame_has_fully_loaded_)
return;
+#endif
content::BrowserThread::PostTask(
content::BrowserThread::UI,
@@ -368,8 +374,10 @@ void PermissionRequestManager::TriggerShowBubble() {
return;
if (IsBubbleVisible())
return;
+#if !defined(OS_ANDROID)
if (!main_frame_has_fully_loaded_)
return;
+#endif
if (requests_.empty() && queued_requests_.empty() &&
queued_frame_requests_.empty()) {
return;

Powered by Google App Engine
This is Rietveld 408576698