| Index: chrome/browser/ui/panels/panel_browser_view.cc
|
| ===================================================================
|
| --- chrome/browser/ui/panels/panel_browser_view.cc (revision 104349)
|
| +++ chrome/browser/ui/panels/panel_browser_view.cc (working copy)
|
| @@ -75,6 +75,28 @@
|
| ::BrowserView::Close();
|
| }
|
|
|
| +void PanelBrowserView::Deactivate() {
|
| + if (!IsActive())
|
| + return;
|
| +
|
| +#if defined(OS_WIN)
|
| + gfx::NativeWindow native_window = NULL;
|
| + BrowserWindow* browser_window =
|
| + panel_->manager()->GetNextBrowserWindowToActivate(panel_.get());
|
| + if (browser_window)
|
| + native_window = browser_window->GetNativeHandle();
|
| + else
|
| + native_window = ::GetDesktopWindow();
|
| + if (native_window)
|
| + ::SetForegroundWindow(native_window);
|
| + else
|
| + ::SetFocus(NULL);
|
| +#else
|
| + // TODO(jianli): to be implemented for other platform.
|
| + BrowserView::Deactivate();
|
| +#endif
|
| +}
|
| +
|
| bool PanelBrowserView::CanResize() const {
|
| return false;
|
| }
|
| @@ -449,8 +471,8 @@
|
| virtual void CancelDragTitlebar() OVERRIDE;
|
| virtual void FinishDragTitlebar() OVERRIDE;
|
| virtual bool VerifyDrawingAttention() const OVERRIDE;
|
| + virtual bool VerifyTitlebarPaintedAsActive(bool as_active) OVERRIDE;
|
|
|
| -
|
| PanelBrowserView* panel_browser_view_;
|
| };
|
|
|
| @@ -497,3 +519,16 @@
|
| PanelBrowserFrameView::PAINT_FOR_ATTENTION);
|
| return attention_color == frame_view->title_label_->GetColor();
|
| }
|
| +
|
| +bool NativePanelTestingWin::VerifyTitlebarPaintedAsActive(bool as_active) {
|
| + PanelBrowserFrameView* frame_view = panel_browser_view_->GetFrameView();
|
| +
|
| + PanelBrowserFrameView::PaintState expected_paint_state =
|
| + as_active ? PanelBrowserFrameView::PAINT_AS_ACTIVE
|
| + : PanelBrowserFrameView::PAINT_AS_INACTIVE;
|
| + if (frame_view->paint_state_ != expected_paint_state)
|
| + return false;
|
| +
|
| + SkColor expected_color = frame_view->GetTitleColor(expected_paint_state);
|
| + return expected_color == frame_view->title_label_->GetColor();
|
| +}
|
|
|