Index: chrome/browser/ui/views/frame/glass_browser_frame_view.cc |
diff --git a/chrome/browser/ui/views/frame/glass_browser_frame_view.cc b/chrome/browser/ui/views/frame/glass_browser_frame_view.cc |
index fcc500d657278c6a89f435b0c3a46b438658b9e5..13676aa25836dbeaca715e9e939259206eed14d6 100644 |
--- a/chrome/browser/ui/views/frame/glass_browser_frame_view.cc |
+++ b/chrome/browser/ui/views/frame/glass_browser_frame_view.cc |
@@ -10,6 +10,8 @@ |
#include "chrome/app/chrome_dll_resource.h" |
#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/themes/theme_service.h" |
+#include "chrome/browser/ui/search/search.h" |
+#include "chrome/browser/ui/search/search_model.h" |
#include "chrome/browser/ui/views/avatar_menu_button.h" |
#include "chrome/browser/ui/views/frame/browser_view.h" |
#include "chrome/browser/ui/views/tabs/tab.h" |
@@ -280,7 +282,11 @@ void GlassBrowserFrameView::PaintToolbarBackground(gfx::Canvas* canvas) { |
int w = toolbar_bounds.width(); |
int left_x = x - kContentEdgeShadowThickness; |
- gfx::ImageSkia* theme_toolbar = tp->GetImageSkiaNamed(IDR_THEME_TOOLBAR); |
+ // TODO(kuan): migrate background animation from cros to win by calling |
+ // GetToolbarBackgound* with the correct mode, refer to |
+ // BrowserNonClientFrameViewAsh. |
+ gfx::ImageSkia* theme_toolbar = browser_view()->GetToolbarBackgroundImage( |
+ browser_view()->browser()->search_model()->mode().mode); |
gfx::ImageSkia* toolbar_left = tp->GetImageSkiaNamed( |
IDR_CONTENT_TOP_LEFT_CORNER); |
gfx::ImageSkia* toolbar_center = tp->GetImageSkiaNamed( |
@@ -325,12 +331,22 @@ void GlassBrowserFrameView::PaintToolbarBackground(gfx::Canvas* canvas) { |
canvas->DrawImageInt(*tp->GetImageSkiaNamed(IDR_CONTENT_TOP_RIGHT_CORNER), |
right_x, y); |
- // Draw the content/toolbar separator. |
- canvas->FillRect(gfx::Rect(x + kClientEdgeThickness, |
- toolbar_bounds.bottom() - kClientEdgeThickness, |
- w - (2 * kClientEdgeThickness), |
- kClientEdgeThickness), |
- ThemeService::GetDefaultColor(ThemeService::COLOR_TOOLBAR_SEPARATOR)); |
+ // Only draw the content/toolbar separator if Instant Extended API is disabled |
+ // or mode is DEFAULT. |
+ Browser* browser = browser_view()->browser(); |
+ bool extended_instant_enabled = chrome::search::IsInstantExtendedAPIEnabled( |
+ browser->profile()); |
+ if (!extended_instant_enabled || |
+ browser->search_model()->mode().is_default()) { |
+ canvas->FillRect( |
+ gfx::Rect(x + kClientEdgeThickness, |
+ toolbar_bounds.bottom() - kClientEdgeThickness, |
+ w - (2 * kClientEdgeThickness), |
+ kClientEdgeThickness), |
+ ThemeService::GetDefaultColor(extended_instant_enabled ? |
+ ThemeService::COLOR_SEARCH_SEPARATOR_LINE : |
+ ThemeService::COLOR_TOOLBAR_SEPARATOR)); |
+ } |
} |
void GlassBrowserFrameView::PaintRestoredClientEdge(gfx::Canvas* canvas) { |
@@ -369,7 +385,8 @@ void GlassBrowserFrameView::PaintRestoredClientEdge(gfx::Canvas* canvas) { |
// where not covered by the toolbar image. NOTE: We do this after drawing the |
// images because the images are meant to alpha-blend atop the frame whereas |
// these rects are meant to be fully opaque, without anything overlaid. |
- SkColor toolbar_color = tp->GetColor(ThemeService::COLOR_TOOLBAR); |
+ SkColor toolbar_color = browser_view()->GetToolbarBackgroundColor( |
+ browser_view()->browser()->search_model()->mode().mode); |
canvas->FillRect(gfx::Rect(client_area_bounds.x() - kClientEdgeThickness, |
client_area_top, kClientEdgeThickness, |
client_area_bottom + kClientEdgeThickness - client_area_top), |