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

Unified Diff: chrome/browser/ui/views/extensions/disabled_extensions_view.cc

Issue 11232060: Make sure sideload wipeout doesn't interfere with the tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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/ui/views/extensions/disabled_extensions_view.cc
===================================================================
--- chrome/browser/ui/views/extensions/disabled_extensions_view.cc (revision 163351)
+++ chrome/browser/ui/views/extensions/disabled_extensions_view.cc (working copy)
@@ -9,9 +9,12 @@
#include "base/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
+#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/singleton_tabs.h"
+#include "chrome/browser/prefs/pref_service.h"
#include "chrome/common/extensions/feature_switch.h"
+#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "content/public/browser/user_metrics.h"
#include "grit/generated_resources.h"
@@ -43,6 +46,9 @@
const int kHeadlineRowPadding = 10;
const int kMessageBubblePadding = 11;
+// How often to show the disabled extension (sideload wipeout) bubble.
+const int kShowSideloadWipeoutBubbleMax = 3;
+
// How many extensions to show in the bubble (max).
const int kMaxExtensionsToShow = 7;
@@ -52,22 +58,26 @@
// DisabledExtensionsView
// static
-bool DisabledExtensionsView::MaybeShow(Browser* browser,
+void DisabledExtensionsView::MaybeShow(Browser* browser,
views::View* anchor_view) {
-#if !defined(OS_WIN)
- // We are targeting registry-installed extensions, which is Windows-specific,
- // and extensions marked internal and not from the web store, which are mostly
- // problematic on Windows.
- return false;
-#endif
-
if (!extensions::FeatureSwitch::sideload_wipeout()->IsEnabled())
- return false;
+ return;
static bool done_showing_ui = false;
if (done_showing_ui)
- return false; // Only show the bubble once per launch.
+ return; // Only show the bubble once per launch.
+ // A pref that counts how often the bubble has been shown.
+ IntegerPrefMember sideload_wipeout_bubble_shown;
+
+ sideload_wipeout_bubble_shown.Init(
Aaron Boodman 2012/10/23 16:18:06 Since this is used in multiple methods and is low-
Finnur 2012/10/23 16:55:45 This function is static and this (would be) member
+ prefs::kExtensionsSideloadWipeoutBubbleShown,
+ browser->profile()->GetPrefs(), NULL);
+ int bubble_shown_count = sideload_wipeout_bubble_shown.GetValue();
+ if (bubble_shown_count >= kShowSideloadWipeoutBubbleMax)
+ return;
+ sideload_wipeout_bubble_shown.SetValue(++bubble_shown_count);
+
// Fetch all disabled extensions.
ExtensionService* extension_service =
extensions::ExtensionSystem::Get(
@@ -82,10 +92,7 @@
bubble_delegate->StartFade(true);
done_showing_ui = true;
- return true;
}
-
- return false;
}
DisabledExtensionsView::DisabledExtensionsView(
@@ -109,6 +116,14 @@
DisabledExtensionsView::~DisabledExtensionsView() {
}
+void DisabledExtensionsView::DontShowBubbleAgain() {
+ IntegerPrefMember sideload_wipeout_bubble_shown;
+ sideload_wipeout_bubble_shown.Init(
+ prefs::kExtensionsSideloadWipeoutBubbleShown,
+ browser_->profile()->GetPrefs(), NULL);
+ sideload_wipeout_bubble_shown.SetValue(kShowSideloadWipeoutBubbleMax);
+}
+
void DisabledExtensionsView::ButtonPressed(views::Button* sender,
const ui::Event& event) {
if (sender == settings_button_) {
@@ -123,11 +138,12 @@
} else if (sender == dismiss_button_) {
content::RecordAction(UserMetricsAction("DisabledExtension_Dismiss"));
- // No action required. Close will happen below.
} else {
NOTREACHED();
}
+ DontShowBubbleAgain();
Aaron Boodman 2012/10/23 16:18:06 Per Peter's comment, this should go in LinkClicked
Finnur 2012/10/23 16:55:45 Done. On 2012/10/23 16:18:06, Aaron Boodman wrote
+
GetWidget()->Close();
}
« no previous file with comments | « chrome/browser/ui/views/extensions/disabled_extensions_view.h ('k') | chrome/browser/ui/views/toolbar_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698