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

Side by Side Diff: chrome/browser/ui/views/location_bar/location_bar_view.cc

Issue 1394763003: Update LocationBarView Background (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactor Painting into a Background class Created 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | ui/views/background.h » ('j') | ui/views/background.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/location_bar/location_bar_view.h" 5 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 edit_bookmarks_enabled_.Init( 154 edit_bookmarks_enabled_.Init(
155 bookmarks::prefs::kEditBookmarksEnabled, profile->GetPrefs(), 155 bookmarks::prefs::kEditBookmarksEnabled, profile->GetPrefs(),
156 base::Bind(&LocationBarView::UpdateWithoutTabRestore, 156 base::Bind(&LocationBarView::UpdateWithoutTabRestore,
157 base::Unretained(this))); 157 base::Unretained(this)));
158 158
159 if (browser_) 159 if (browser_)
160 browser_->search_model()->AddObserver(this); 160 browser_->search_model()->AddObserver(this);
161 161
162 ui_zoom::ZoomEventManager::GetForBrowserContext(profile) 162 ui_zoom::ZoomEventManager::GetForBrowserContext(profile)
163 ->AddZoomEventManagerObserver(this); 163 ->AddZoomEventManagerObserver(this);
164 if (ui::MaterialDesignController::IsModeMaterial()) {
Peter Kasting 2015/10/19 21:09:44 Nit: Blank line above.
jonross 2015/10/20 18:54:53 Done.
165 set_background(views::Background::CreateSolidScaledBackground(
166 GetColor(SecurityStateModel::NONE, BACKGROUND),
167 SkColorSetARGB(0x4D, 0x00, 0x00, 0x00), !is_popup_mode_));
168 }
164 } 169 }
165 170
166 LocationBarView::~LocationBarView() { 171 LocationBarView::~LocationBarView() {
167 if (template_url_service_) 172 if (template_url_service_)
168 template_url_service_->RemoveObserver(this); 173 template_url_service_->RemoveObserver(this);
169 if (browser_) 174 if (browser_)
170 browser_->search_model()->RemoveObserver(this); 175 browser_->search_model()->RemoveObserver(this);
171 176
172 ui_zoom::ZoomEventManager::GetForBrowserContext(profile()) 177 ui_zoom::ZoomEventManager::GetForBrowserContext(profile())
173 ->RemoveZoomEventManagerObserver(this); 178 ->RemoveZoomEventManagerObserver(this);
(...skipping 1069 matching lines...) Expand 10 before | Expand all | Expand 10 after
1243 1248
1244 void LocationBarView::OnFocus() { 1249 void LocationBarView::OnFocus() {
1245 // Explicitly focus the omnibox so a focus ring will be displayed around it on 1250 // Explicitly focus the omnibox so a focus ring will be displayed around it on
1246 // Windows. 1251 // Windows.
1247 omnibox_view_->SetFocus(); 1252 omnibox_view_->SetFocus();
1248 } 1253 }
1249 1254
1250 void LocationBarView::OnPaint(gfx::Canvas* canvas) { 1255 void LocationBarView::OnPaint(gfx::Canvas* canvas) {
1251 View::OnPaint(canvas); 1256 View::OnPaint(canvas);
1252 1257
1258 // SolidScaledBackground is used in Material Design
Peter Kasting 2015/10/19 21:09:44 Nit: Comments should have periods. Maybe this:
jonross 2015/10/20 18:54:53 Done.
1259 if (ui::MaterialDesignController::IsModeMaterial())
1260 return;
1261
1253 // Fill the location bar background color behind the border. Parts of the 1262 // Fill the location bar background color behind the border. Parts of the
1254 // border images are meant to rest atop the toolbar background and parts atop 1263 // border images are meant to rest atop the toolbar background and parts atop
1255 // the omnibox background, so we can't just blindly fill our entire bounds. 1264 // the omnibox background, so we can't just blindly fill our entire bounds.
1256 gfx::Rect bounds(GetContentsBounds()); 1265 gfx::Rect bounds(GetContentsBounds());
1257 bounds.Inset(GetHorizontalEdgeThickness(), GetVerticalEdgeThickness()); 1266 bounds.Inset(GetHorizontalEdgeThickness(), GetVerticalEdgeThickness());
1258 SkColor color(GetColor(SecurityStateModel::NONE, BACKGROUND)); 1267 SkColor color(GetColor(SecurityStateModel::NONE, BACKGROUND));
1259 if (is_popup_mode_) { 1268 if (is_popup_mode_) {
1260 canvas->FillRect(bounds, color); 1269 canvas->FillRect(bounds, color);
1261 } else { 1270 } else {
1262 SkPaint paint; 1271 SkPaint paint;
(...skipping 12 matching lines...) Expand all
1275 1284
1276 ui::PaintRecorder recorder(context, size()); 1285 ui::PaintRecorder recorder(context, size());
1277 1286
1278 // For non-InstantExtendedAPI cases, if necessary, show focus rect. As we need 1287 // For non-InstantExtendedAPI cases, if necessary, show focus rect. As we need
1279 // the focus rect to appear on top of children we paint here rather than 1288 // the focus rect to appear on top of children we paint here rather than
1280 // OnPaint(). 1289 // OnPaint().
1281 // Note: |Canvas::DrawFocusRect| paints a dashed rect with gray color. 1290 // Note: |Canvas::DrawFocusRect| paints a dashed rect with gray color.
1282 if (show_focus_rect_ && HasFocus()) 1291 if (show_focus_rect_ && HasFocus())
1283 recorder.canvas()->DrawFocusRect(omnibox_view_->bounds()); 1292 recorder.canvas()->DrawFocusRect(omnibox_view_->bounds());
1284 1293
1294 // SolidScaledBackground used for Material Design
Peter Kasting 2015/10/19 21:09:44 See above
jonross 2015/10/20 18:54:53 Done.
1295 if (ui::MaterialDesignController::IsModeMaterial())
1296 return;
1297
1285 // Maximized popup windows don't draw the horizontal edges. We implement this 1298 // Maximized popup windows don't draw the horizontal edges. We implement this
1286 // by simply expanding the paint area outside the view by the edge thickness. 1299 // by simply expanding the paint area outside the view by the edge thickness.
1287 gfx::Rect border_rect(GetContentsBounds()); 1300 gfx::Rect border_rect(GetContentsBounds());
1288 if (is_popup_mode_ && (GetHorizontalEdgeThickness() == 0)) 1301 if (is_popup_mode_ && (GetHorizontalEdgeThickness() == 0))
1289 border_rect.Inset(-kPopupEdgeThickness, 0); 1302 border_rect.Inset(-kPopupEdgeThickness, 0);
1290 1303
1291 if (ui::MaterialDesignController::IsModeMaterial()) { 1304 views::Painter::PaintPainterAt(recorder.canvas(), border_painter_.get(),
1292 gfx::Canvas* canvas = recorder.canvas(); 1305 border_rect);
1293 const float scale = canvas->SaveAndUnscale();
1294
1295 SkPaint paint;
1296 paint.setStyle(SkPaint::Style::kStroke_Style);
1297 paint.setColor(SkColorSetARGB(0x40, 0x00, 0x00, 0x00));
1298 paint.setStrokeWidth(1);
1299 paint.setAntiAlias(true);
1300
1301 const float kOffset = 0.5f;
1302 gfx::RectF border_rect_f(border_rect);
1303 border_rect_f.Scale(scale);
1304 gfx::InsetsF insets(kOffset, kOffset, kOffset, kOffset);
1305 border_rect_f.Inset(insets);
1306
1307 const SkScalar kCornerRadius = SkDoubleToScalar(2.5f * scale);
1308 canvas->sk_canvas()->drawRoundRect(gfx::RectFToSkRect(border_rect_f),
1309 kCornerRadius, kCornerRadius, paint);
1310 recorder.canvas()->Restore();
1311 } else {
1312 views::Painter::PaintPainterAt(recorder.canvas(), border_painter_.get(),
1313 border_rect);
1314 }
1315 } 1306 }
1316 1307
1317 //////////////////////////////////////////////////////////////////////////////// 1308 ////////////////////////////////////////////////////////////////////////////////
1318 // LocationBarView, private views::ButtonListener implementation: 1309 // LocationBarView, private views::ButtonListener implementation:
1319 1310
1320 void LocationBarView::ButtonPressed(views::Button* sender, 1311 void LocationBarView::ButtonPressed(views::Button* sender,
1321 const ui::Event& event) { 1312 const ui::Event& event) {
1322 DCHECK_EQ(mic_search_view_, sender); 1313 DCHECK_EQ(mic_search_view_, sender);
1323 command_updater()->ExecuteCommand(IDC_TOGGLE_SPEECH_INPUT); 1314 command_updater()->ExecuteCommand(IDC_TOGGLE_SPEECH_INPUT);
1324 } 1315 }
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 1409
1419 void LocationBarView::ModelChanged(const SearchModel::State& old_state, 1410 void LocationBarView::ModelChanged(const SearchModel::State& old_state,
1420 const SearchModel::State& new_state) { 1411 const SearchModel::State& new_state) {
1421 const bool visible = !GetToolbarModel()->input_in_progress() && 1412 const bool visible = !GetToolbarModel()->input_in_progress() &&
1422 new_state.voice_search_supported; 1413 new_state.voice_search_supported;
1423 if (mic_search_view_->visible() != visible) { 1414 if (mic_search_view_->visible() != visible) {
1424 mic_search_view_->SetVisible(visible); 1415 mic_search_view_->SetVisible(visible);
1425 Layout(); 1416 Layout();
1426 } 1417 }
1427 } 1418 }
OLDNEW
« no previous file with comments | « no previous file | ui/views/background.h » ('j') | ui/views/background.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698