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

Side by Side Diff: chrome/browser/ui/views/toolbar/home_button.cc

Issue 62873007: [Toolbar] Base toolbar button class with background images for button states (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Account for maximized state. Created 7 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/views/toolbar/home_button.h" 5 #include "chrome/browser/ui/views/toolbar/home_button.h"
6 6
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ui/browser.h" 9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 // to reset this, and the user triggers a call to ShowBubble() while the 127 // to reset this, and the user triggers a call to ShowBubble() while the
128 // window is hidden but not destroyed, GetWidget()->Close() would be 128 // window is hidden but not destroyed, GetWidget()->Close() would be
129 // called twice. 129 // called twice.
130 DCHECK_EQ(this, home_page_undo_bubble_); 130 DCHECK_EQ(this, home_page_undo_bubble_);
131 home_page_undo_bubble_ = NULL; 131 home_page_undo_bubble_ = NULL;
132 } 132 }
133 133
134 } // namespace 134 } // namespace
135 135
136 136
137 // HomeImageButton ----------------------------------------------------------- 137 // HomeButton -----------------------------------------------------------
138 138
139 HomeImageButton::HomeImageButton( 139 HomeButton::HomeButton(
140 views::ButtonListener* listener, 140 views::ButtonListener* listener,
141 Browser* browser) 141 Browser* browser)
142 : views::ImageButton(listener), 142 : ToolbarButton(listener, NULL),
143 browser_(browser) { 143 browser_(browser) {
144 } 144 }
145 145
146 HomeImageButton::~HomeImageButton() { 146 HomeButton::~HomeButton() {
147 } 147 }
148 148
149 bool HomeImageButton::GetDropFormats( 149 bool HomeButton::GetDropFormats(
150 int* formats, 150 int* formats,
151 std::set<OSExchangeData::CustomFormat>* custom_formats) { 151 std::set<OSExchangeData::CustomFormat>* custom_formats) {
152 *formats = ui::OSExchangeData::URL; 152 *formats = ui::OSExchangeData::URL;
153 return true; 153 return true;
154 } 154 }
155 155
156 bool HomeImageButton::CanDrop(const OSExchangeData& data) { 156 bool HomeButton::CanDrop(const OSExchangeData& data) {
157 return data.HasURL(); 157 return data.HasURL();
158 } 158 }
159 159
160 int HomeImageButton::OnDragUpdated(const ui::DropTargetEvent& event) { 160 int HomeButton::OnDragUpdated(const ui::DropTargetEvent& event) {
161 return (event.source_operations() & ui::DragDropTypes::DRAG_LINK) ? 161 return (event.source_operations() & ui::DragDropTypes::DRAG_LINK) ?
162 ui::DragDropTypes::DRAG_LINK : ui::DragDropTypes::DRAG_NONE; 162 ui::DragDropTypes::DRAG_LINK : ui::DragDropTypes::DRAG_NONE;
163 } 163 }
164 164
165 int HomeImageButton::OnPerformDrop(const ui::DropTargetEvent& event) { 165 int HomeButton::OnPerformDrop(const ui::DropTargetEvent& event) {
166 GURL new_homepage_url; 166 GURL new_homepage_url;
167 string16 title; 167 string16 title;
168 if (event.data().GetURLAndTitle(&new_homepage_url, &title) && 168 if (event.data().GetURLAndTitle(&new_homepage_url, &title) &&
169 new_homepage_url.is_valid()) { 169 new_homepage_url.is_valid()) {
170 PrefService* prefs = browser_->profile()->GetPrefs(); 170 PrefService* prefs = browser_->profile()->GetPrefs();
171 bool old_is_ntp = prefs->GetBoolean(prefs::kHomePageIsNewTabPage); 171 bool old_is_ntp = prefs->GetBoolean(prefs::kHomePageIsNewTabPage);
172 GURL old_homepage(prefs->GetString(prefs::kHomePage)); 172 GURL old_homepage(prefs->GetString(prefs::kHomePage));
173 173
174 prefs->SetBoolean(prefs::kHomePageIsNewTabPage, false); 174 prefs->SetBoolean(prefs::kHomePageIsNewTabPage, false);
175 prefs->SetString(prefs::kHomePage, new_homepage_url.spec()); 175 prefs->SetString(prefs::kHomePage, new_homepage_url.spec());
176 176
177 HomePageUndoBubble::ShowBubble(browser_, old_is_ntp, old_homepage, this); 177 HomePageUndoBubble::ShowBubble(browser_, old_is_ntp, old_homepage, this);
178 } 178 }
179 return ui::DragDropTypes::DRAG_NONE; 179 return ui::DragDropTypes::DRAG_NONE;
180 } 180 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698