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

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

Issue 7635026: Profiles: Change bookmark notifications implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nit 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
« no previous file with comments | « chrome/browser/extensions/extension_bookmarks_module.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 Source<Profile> source(tab_contents->profile()); 29 registrar_.Add(this, chrome::NOTIFICATION_URLS_STARRED,
30 registrar_.Add(this, chrome::NOTIFICATION_URLS_STARRED, source); 30 NotificationService::AllBrowserContextsAndSources());
31 registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED, source); 31 registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED,
32 NotificationService::AllBrowserContextsAndSources());
32 } 33 }
33 34
34 BookmarkTabHelper::~BookmarkTabHelper() { 35 BookmarkTabHelper::~BookmarkTabHelper() {
35 // 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.
36 registrar_.RemoveAll(); 37 registrar_.RemoveAll();
37 } 38 }
38 39
39 bool BookmarkTabHelper::ShouldShowBookmarkBar() { 40 bool BookmarkTabHelper::ShouldShowBookmarkBar() {
40 if (tab_contents()->showing_interstitial_page()) 41 if (tab_contents()->showing_interstitial_page())
41 return false; 42 return false;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 void BookmarkTabHelper::UpdateStarredStateForCurrentURL() { 98 void BookmarkTabHelper::UpdateStarredStateForCurrentURL() {
98 Profile* profile = 99 Profile* profile =
99 Profile::FromBrowserContext(tab_contents()->browser_context()); 100 Profile::FromBrowserContext(tab_contents()->browser_context());
100 BookmarkModel* model = profile->GetBookmarkModel(); 101 BookmarkModel* model = profile->GetBookmarkModel();
101 const bool old_state = is_starred_; 102 const bool old_state = is_starred_;
102 is_starred_ = (model && model->IsBookmarked(tab_contents()->GetURL())); 103 is_starred_ = (model && model->IsBookmarked(tab_contents()->GetURL()));
103 104
104 if (is_starred_ != old_state && delegate()) 105 if (is_starred_ != old_state && delegate())
105 delegate()->URLStarredChanged(tab_contents_wrapper_, is_starred_); 106 delegate()->URLStarredChanged(tab_contents_wrapper_, is_starred_);
106 } 107 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_bookmarks_module.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698