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

Unified Diff: chrome/browser/ui/views/frame/browser_view.cc

Issue 11365075: alternate ntp: tweaks and fixes for bookmark bar in ntp (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/frame/browser_view.cc
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index a9b7db74a1b343fa5610e29f3de960c8b488fb4a..2db4524d29a14b7235d5bf8d7025cbdeb29a5993 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -14,6 +14,8 @@
#include "base/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/app/chrome_dll_resource.h"
+#include "chrome/browser/bookmarks/bookmark_model.h"
+#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/tab_helper.h"
@@ -220,6 +222,8 @@ BookmarkExtensionBackground::BookmarkExtensionBackground(
void BookmarkExtensionBackground::Paint(gfx::Canvas* canvas,
views::View* view) const {
+ ui::ThemeProvider* tp = host_view_->GetThemeProvider();
+
// If search mode is |NTP|, bookmark bar is detached and floating on top of
// the content view (in z-order) and below the "Most Visited" thumbnails (in
// the y-direction). It's visually nicer without the bookmark background, so
@@ -227,10 +231,31 @@ void BookmarkExtensionBackground::Paint(gfx::Canvas* canvas,
// each bookmark button is part of the content view.
const chrome::search::Mode& search_mode =
browser_view_->browser()->search_model()->mode();
- if (search_mode.is_ntp())
+ if (search_mode.is_ntp()) {
+ BookmarkModel* bookmark_model =
+ BookmarkModelFactory::GetForProfile(browser_->profile());
+ if (bookmark_model && bookmark_model->HasBookmarks()) {
+ // If a theme is being used, paint the theme background color at maximum
+ // 80% opacity to make the the bookmark bar more legible;
+ // otherwise, use a transparent background.
+ if (tp->HasCustomImage(IDR_THEME_NTP_BACKGROUND)) {
+ const U8CPU kBackgroundOpacity = 204; // 80% opacity
+ SkColor color = tp->GetColor(ThemeService::COLOR_NTP_BACKGROUND);
+ if (gfx::IsInvertedColorScheme())
+ color = color_utils::InvertColor(color);
+ if (SkColorGetA(color) > kBackgroundOpacity)
+ color = SkColorSetA(color, kBackgroundOpacity);
+ canvas->DrawColor(color);
+ DetachableToolbarView::PaintHorizontalBorder(canvas, host_view_);
+ } else {
+ const SkColor kBorderColor = SkColorSetARGB(25, 0, 0, 0); // 10% black
+ DetachableToolbarView::PaintHorizontalBorderWithColor(
+ canvas, host_view_, kBorderColor);
+ }
+ }
return;
+ }
- ui::ThemeProvider* tp = host_view_->GetThemeProvider();
int toolbar_overlap = host_view_->GetToolbarOverlap();
// The client edge is drawn below the toolbar bounds.
if (toolbar_overlap)
@@ -271,9 +296,7 @@ void BookmarkExtensionBackground::Paint(gfx::Canvas* canvas,
DetachableToolbarView::PaintBackgroundAttachedMode(canvas, host_view_,
browser_view_->OffsetPointForToolbarBackgroundImage(
gfx::Point(host_view_->GetMirroredX(), host_view_->y())));
- // For instant extended API, only draw bookmark separator for |MODE_DFEAULT|
- // mode.
- if (host_view_->height() >= toolbar_overlap && search_mode.is_default())
+ if (host_view_->height() >= toolbar_overlap)
DetachableToolbarView::PaintHorizontalBorder(canvas, host_view_);
}
}
« no previous file with comments | « chrome/browser/ui/views/detachable_toolbar_view.cc ('k') | chrome/browser/ui/views/frame/browser_view_layout.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698