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

Unified Diff: chrome/browser/ui/views/network_profile_bubble.cc

Issue 10388239: Make NetworkProfileBubble not use BrowserList::GetLastActive() as much. Instead pass it a profile a… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 7 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
« no previous file with comments | « chrome/browser/ui/views/network_profile_bubble.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/network_profile_bubble.cc
===================================================================
--- chrome/browser/ui/views/network_profile_bubble.cc (revision 138102)
+++ chrome/browser/ui/views/network_profile_bubble.cc (working copy)
@@ -16,6 +16,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
sky 2012/05/23 00:03:10 Can you remove this include now?
#include "chrome/browser/ui/network_profile_bubble_prefs.h"
#include "chrome/browser/ui/views/event_utils.h"
@@ -82,21 +83,21 @@
virtual ~BrowserListObserver();
// Overridden from BrowserList::Observer:
- virtual void OnBrowserAdded(const Browser* browser) OVERRIDE;
- virtual void OnBrowserRemoved(const Browser* browser) OVERRIDE;
- virtual void OnBrowserSetLastActive(const Browser* browser) OVERRIDE;
+ virtual void OnBrowserAdded(Browser* browser) OVERRIDE;
+ virtual void OnBrowserRemoved(Browser* browser) OVERRIDE;
+ virtual void OnBrowserSetLastActive(Browser* browser) OVERRIDE;
};
BrowserListObserver::~BrowserListObserver() {
}
-void BrowserListObserver::OnBrowserAdded(const Browser* browser) {
+void BrowserListObserver::OnBrowserAdded(Browser* browser) {
}
-void BrowserListObserver::OnBrowserRemoved(const Browser* browser) {
+void BrowserListObserver::OnBrowserRemoved(Browser* browser) {
}
-void BrowserListObserver::OnBrowserSetLastActive(const Browser* browser) {
+void BrowserListObserver::OnBrowserSetLastActive(Browser* browser) {
NetworkProfileBubble::ShowNotification(browser);
// No need to observe anymore.
BrowserList::RemoveObserver(this);
@@ -190,12 +191,13 @@
}
// static
-void NetworkProfileBubble::ShowNotification(const Browser* browser) {
+void NetworkProfileBubble::ShowNotification(Browser* browser) {
views::View* anchor = NULL;
BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser);
if (browser_view && browser_view->GetToolbarView())
anchor = browser_view->GetToolbarView()->app_menu();
- NetworkProfileBubble* bubble = new NetworkProfileBubble(anchor);
+ NetworkProfileBubble* bubble =
+ new NetworkProfileBubble(anchor, browser, browser->profile());
views::BubbleDelegateView::CreateBubble(bubble);
bubble->Show();
notification_shown_ = true;
@@ -213,8 +215,12 @@
////////////////////////////////////////////////////////////////////////////////
// NetworkProfileBubble, private:
-NetworkProfileBubble::NetworkProfileBubble(views::View* anchor)
- : BubbleDelegateView(anchor, views::BubbleBorder::TOP_RIGHT) {
+NetworkProfileBubble::NetworkProfileBubble(views::View* anchor,
+ content::PageNavigator* navigator,
+ Profile* profile)
+ : BubbleDelegateView(anchor, views::BubbleBorder::TOP_RIGHT),
+ navigator_(navigator),
+ profile_(profile) {
}
NetworkProfileBubble::~NetworkProfileBubble() {
@@ -268,23 +274,21 @@
void NetworkProfileBubble::LinkClicked(views::Link* source, int event_flags) {
RecordUmaEvent(METRIC_LEARN_MORE_CLICKED);
- Browser* browser = BrowserList::GetLastActive();
- if (browser) {
- WindowOpenDisposition disposition =
- event_utils::DispositionFromEventFlags(event_flags);
- content::OpenURLParams params(
- GURL("https://sites.google.com/a/chromium.org/dev/administrators/"
- "common-problems-and-solutions#network_profile"),
- content::Referrer(),
- disposition == CURRENT_TAB ? NEW_FOREGROUND_TAB : disposition,
- content::PAGE_TRANSITION_LINK, false);
- browser->OpenURL(params);
- // If the user interacted with the bubble we don't reduce the number of
- // warnings left.
- PrefService* prefs = browser->profile()->GetPrefs();
- int left_warnings = prefs->GetInteger(prefs::kNetworkProfileWarningsLeft);
- prefs->SetInteger(prefs::kNetworkProfileWarningsLeft, ++left_warnings);
- }
+ WindowOpenDisposition disposition =
+ event_utils::DispositionFromEventFlags(event_flags);
+ content::OpenURLParams params(
+ GURL("https://sites.google.com/a/chromium.org/dev/administrators/"
+ "common-problems-and-solutions#network_profile"),
+ content::Referrer(),
+ disposition == CURRENT_TAB ? NEW_FOREGROUND_TAB : disposition,
+ content::PAGE_TRANSITION_LINK, false);
+ navigator_->OpenURL(params);
+
+ // If the user interacted with the bubble we don't reduce the number of
+ // warnings left.
+ PrefService* prefs = profile_->GetPrefs();
+ int left_warnings = prefs->GetInteger(prefs::kNetworkProfileWarningsLeft);
+ prefs->SetInteger(prefs::kNetworkProfileWarningsLeft, ++left_warnings);
GetWidget()->Close();
}
« no previous file with comments | « chrome/browser/ui/views/network_profile_bubble.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698