Chromium Code Reviews| Index: chrome/browser/ui/views/panels/panel_stack_view.h |
| diff --git a/chrome/browser/ui/views/panels/panel_stack_view.h b/chrome/browser/ui/views/panels/panel_stack_view.h |
| index 52c229952b75584f26c3a6a463bbe4d8bbf579b7..b3e42a309a0d7da7c8d8c2c0186388c4aeca03bd 100644 |
| --- a/chrome/browser/ui/views/panels/panel_stack_view.h |
| +++ b/chrome/browser/ui/views/panels/panel_stack_view.h |
| @@ -15,7 +15,10 @@ |
| #include "ui/views/widget/widget_delegate.h" |
| #include "ui/views/widget/widget_observer.h" |
| -class TaskbarWindowThumbnailerWin; |
| +#if defined(OS_WIN) |
| +#include "chrome/browser/ui/views/panels/taskbar_window_thumbnailer_win.h" |
| +#endif |
| + |
| namespace ui { |
| class LinearAnimation; |
| } |
| @@ -29,6 +32,9 @@ class PanelStackView : public NativePanelStackWindow, |
| public views::WidgetObserver, |
| public views::WidgetDelegateView, |
| public views::WidgetFocusChangeListener, |
| +#if defined(OS_WIN) |
| + public TaskbarWindowThumbnailerDelegateWin, |
| +#endif |
| public ui::AnimationDelegate { |
| public: |
| explicit PanelStackView(NativePanelStackWindowDelegate* delegate); |
| @@ -76,6 +82,10 @@ class PanelStackView : public NativePanelStackWindow, |
| virtual void OnNativeFocusChange(gfx::NativeView focused_before, |
| gfx::NativeView focused_now) OVERRIDE; |
| +#if defined(OS_WIN) |
|
Dmitry Titov
2013/05/29 01:14:48
Could you please group all OS_WIN things under a s
jianli
2013/05/29 18:31:52
Done.
|
| + virtual std::vector<HWND> GetSnapshotWindowHandles() const OVERRIDE; |
| +#endif |
| + |
| // Overridden from AnimationDelegate: |
| virtual void AnimationEnded(const ui::Animation* animation) OVERRIDE; |
| virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE; |
| @@ -97,9 +107,14 @@ class PanelStackView : public NativePanelStackWindow, |
| PanelStackView* stack_window); |
| #if defined(OS_WIN) |
| + // If there is a minimized panel in the stack, we want to provide our custom |
| + // thumbnail to live preview. This is because the system preview of the |
| + // minimized panel is showned up narrower than the regular panel. |
| + void StartOrStopCustomThumbnailForMinimizePanel(); |
| + |
| // Capture the thumbnail of the whole stack and provide it to live preview |
| // (available since Windows 7). |
| - void CaptureThumbnailForLivePreview(); |
| + void CaptureThumbnailForLivePreview(bool should_capture_now); |
|
Dmitry Titov
2013/05/29 01:14:48
This should be named like "StartThumbnailer", beca
|
| // Updates the bounds of the widget window in a deferred way. |
| void DeferUpdateNativeWindowBounds(HDWP defer_window_pos_info, |
| @@ -120,6 +135,12 @@ class PanelStackView : public NativePanelStackWindow, |
| // draw the user's attention? |
| bool is_drawing_attention_; |
| + // True if the system minimize is being performed. On Windows, the system |
| + // will activate the window before it is minimized. Sets this flag such that |
| + // we will not stop the thumbnailer when the stack windows is activated due |
| + // to this. |
| + bool is_minimizing_; |
| + |
| #if defined(OS_WIN) |
| // Used to provide custom taskbar thumbnail for Windows 7 and later. |
| scoped_ptr<TaskbarWindowThumbnailerWin> thumbnailer_; |