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

Side by Side Diff: chrome/browser/ui/bookmarks/bookmark_tab_helper.cc

Issue 7558003: Profiles: Bookmark notifications should listen to only a specific profile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" 5 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
6 6
7 #include "chrome/browser/bookmarks/bookmark_model.h" 7 #include "chrome/browser/bookmarks/bookmark_model.h"
8 #include "chrome/browser/bookmarks/bookmark_node_data.h" 8 #include "chrome/browser/bookmarks/bookmark_node_data.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper_delegate.h" 10 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper_delegate.h"
11 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 11 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
12 #include "chrome/browser/ui/webui/chrome_web_ui.h" 12 #include "chrome/browser/ui/webui/chrome_web_ui.h"
13 #include "chrome/common/chrome_notification_types.h" 13 #include "chrome/common/chrome_notification_types.h"
14 #include "content/browser/tab_contents/navigation_controller.h" 14 #include "content/browser/tab_contents/navigation_controller.h"
15 #include "content/browser/tab_contents/tab_contents.h" 15 #include "content/browser/tab_contents/tab_contents.h"
16 #include "content/common/notification_service.h" 16 #include "content/common/notification_service.h"
17 17
18 static bool ForceBookmarkBarVisible(WebUI* ui) { 18 static bool ForceBookmarkBarVisible(WebUI* ui) {
19 return ui && static_cast<ChromeWebUI*>(ui)->force_bookmark_bar_visible(); 19 return ui && static_cast<ChromeWebUI*>(ui)->force_bookmark_bar_visible();
20 } 20 }
21 21
22 BookmarkTabHelper::BookmarkTabHelper(TabContentsWrapper* tab_contents) 22 BookmarkTabHelper::BookmarkTabHelper(TabContentsWrapper* tab_contents)
23 : TabContentsObserver(tab_contents->tab_contents()), 23 : TabContentsObserver(tab_contents->tab_contents()),
24 is_starred_(false), 24 is_starred_(false),
25 tab_contents_wrapper_(tab_contents), 25 tab_contents_wrapper_(tab_contents),
26 delegate_(NULL), 26 delegate_(NULL),
27 bookmark_drag_(NULL) { 27 bookmark_drag_(NULL) {
28 // Register for notifications about URL starredness changing on any profile. 28 // Register for notifications about URL starredness changing on any profile.
29 registrar_.Add(this, chrome::NOTIFICATION_URLS_STARRED, 29 registrar_.Add(this, chrome::NOTIFICATION_URLS_STARRED,
30 NotificationService::AllSources()); 30 Source<Profile>(tab_contents->profile()));
Peter Kasting 2011/08/08 18:47:37 Nit: Could maybe save a line by factoring this sub
31 registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED, 31 registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED,
32 NotificationService::AllSources()); 32 Source<Profile>(tab_contents->profile()));
33 } 33 }
34 34
35 BookmarkTabHelper::~BookmarkTabHelper() { 35 BookmarkTabHelper::~BookmarkTabHelper() {
36 // We don't want any notifications while we're running our destructor. 36 // We don't want any notifications while we're running our destructor.
37 registrar_.RemoveAll(); 37 registrar_.RemoveAll();
38 } 38 }
39 39
40 bool BookmarkTabHelper::ShouldShowBookmarkBar() { 40 bool BookmarkTabHelper::ShouldShowBookmarkBar() {
41 if (tab_contents()->showing_interstitial_page()) 41 if (tab_contents()->showing_interstitial_page())
42 return false; 42 return false;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 void BookmarkTabHelper::UpdateStarredStateForCurrentURL() { 98 void BookmarkTabHelper::UpdateStarredStateForCurrentURL() {
99 Profile* profile = 99 Profile* profile =
100 Profile::FromBrowserContext(tab_contents()->browser_context()); 100 Profile::FromBrowserContext(tab_contents()->browser_context());
101 BookmarkModel* model = profile->GetBookmarkModel(); 101 BookmarkModel* model = profile->GetBookmarkModel();
102 const bool old_state = is_starred_; 102 const bool old_state = is_starred_;
103 is_starred_ = (model && model->IsBookmarked(tab_contents()->GetURL())); 103 is_starred_ = (model && model->IsBookmarked(tab_contents()->GetURL()));
104 104
105 if (is_starred_ != old_state && delegate()) 105 if (is_starred_ != old_state && delegate())
106 delegate()->URLStarredChanged(tab_contents_wrapper_, is_starred_); 106 delegate()->URLStarredChanged(tab_contents_wrapper_, is_starred_);
107 } 107 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698