Index: chrome/browser/ui/views/panels/panel_view.h |
diff --git a/chrome/browser/ui/views/panels/panel_view.h b/chrome/browser/ui/views/panels/panel_view.h |
deleted file mode 100644 |
index f7e7f35bafcb7d56be59609a29c7b2e57c3be266..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/views/panels/panel_view.h |
+++ /dev/null |
@@ -1,254 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_UI_VIEWS_PANELS_PANEL_VIEW_H_ |
-#define CHROME_BROWSER_UI_VIEWS_PANELS_PANEL_VIEW_H_ |
- |
-#include <memory> |
- |
-#include "base/macros.h" |
-#include "build/build_config.h" |
-#include "chrome/browser/ui/panels/native_panel.h" |
-#include "ui/gfx/animation/animation_delegate.h" |
-#include "ui/views/widget/widget_delegate.h" |
-#include "ui/views/widget/widget_observer.h" |
- |
-#if defined(OS_WIN) |
-#include "ui/base/win/hwnd_subclass.h" |
-#endif |
- |
-class ScopedKeepAlive; |
-class Panel; |
-class PanelBoundsAnimation; |
-class PanelFrameView; |
-class TaskbarWindowThumbnailerWin; |
- |
-namespace views { |
-class WebView; |
-} |
- |
-class PanelView : public NativePanel, |
- public views::WidgetObserver, |
- public views::WidgetDelegateView, |
-#if defined(OS_WIN) |
- public ui::HWNDMessageFilter, |
-#endif |
- public gfx::AnimationDelegate { |
- public: |
- // The size of inside area used for mouse resizing. |
- static const int kResizeInsideBoundsSize = 5; |
- |
- PanelView(Panel* panel, const gfx::Rect& bounds, bool always_on_top); |
- ~PanelView() override; |
- |
- // Overridden from NativePanel: |
- void ShowPanel() override; |
- void ShowPanelInactive() override; |
- gfx::Rect GetPanelBounds() const override; |
- void SetPanelBounds(const gfx::Rect& bounds) override; |
- void SetPanelBoundsInstantly(const gfx::Rect& bounds) override; |
- void ClosePanel() override; |
- void ActivatePanel() override; |
- void DeactivatePanel() override; |
- bool IsPanelActive() const override; |
- void PreventActivationByOS(bool prevent_activation) override; |
- gfx::NativeWindow GetNativePanelWindow() override; |
- void UpdatePanelTitleBar() override; |
- void UpdatePanelLoadingAnimations(bool should_animate) override; |
- void PanelCut() override; |
- void PanelCopy() override; |
- void PanelPaste() override; |
- void DrawAttention(bool draw_attention) override; |
- bool IsDrawingAttention() const override; |
- void HandlePanelKeyboardEvent( |
- const content::NativeWebKeyboardEvent& event) override; |
- void FullScreenModeChanged(bool is_full_screen) override; |
- bool IsPanelAlwaysOnTop() const override; |
- void SetPanelAlwaysOnTop(bool on_top) override; |
- void UpdatePanelMinimizeRestoreButtonVisibility() override; |
- void SetWindowCornerStyle(panel::CornerStyle corner_style) override; |
- void PanelExpansionStateChanging(Panel::ExpansionState old_state, |
- Panel::ExpansionState new_state) override; |
- void AttachWebContents(content::WebContents* contents) override; |
- void DetachWebContents(content::WebContents* contents) override; |
- gfx::Size WindowSizeFromContentSize( |
- const gfx::Size& content_size) const override; |
- gfx::Size ContentSizeFromWindowSize( |
- const gfx::Size& window_size) const override; |
- int TitleOnlyHeight() const override; |
- void MinimizePanelBySystem() override; |
- bool IsPanelMinimizedBySystem() const override; |
- bool IsPanelShownOnActiveDesktop() const override; |
- void ShowShadow(bool show) override; |
- NativePanelTesting* CreateNativePanelTesting() override; |
- |
- // Overridden from views::View: |
- gfx::Size GetMinimumSize() const override; |
- gfx::Size GetMaximumSize() const override; |
- |
- // Return true if the mouse event is handled. |
- // |mouse_location| is in screen coordinate system. |
- bool OnTitlebarMousePressed(const gfx::Point& mouse_location); |
- bool OnTitlebarMouseDragged(const gfx::Point& mouse_location); |
- bool OnTitlebarMouseReleased(panel::ClickModifier modifier); |
- bool OnTitlebarMouseCaptureLost(); |
- |
- PanelFrameView* GetFrameView() const; |
- bool IsAnimatingBounds() const; |
- |
- Panel* panel() const { return panel_.get(); } |
- views::Widget* window() const { return window_; } |
- bool force_to_paint_as_inactive() const { |
- return force_to_paint_as_inactive_; |
- } |
- |
- // PanelStackView might want to update the stored bounds directly since it |
- // has already taken care of updating the window bounds directly. |
- void set_cached_bounds_directly(const gfx::Rect& bounds) { bounds_ = bounds; } |
- |
- private: |
- enum MouseDraggingState { |
- NO_DRAGGING, |
- DRAGGING_STARTED, |
- DRAGGING_ENDED |
- }; |
- |
- // Overridden from views::WidgetDelegate: |
- void OnDisplayChanged() override; |
- void OnWorkAreaChanged() override; |
- bool WillProcessWorkAreaChange() const override; |
- views::View* GetContentsView() override; |
- views::NonClientFrameView* CreateNonClientFrameView( |
- views::Widget* widget) override; |
- bool CanResize() const override; |
- bool CanMaximize() const override; |
- bool CanMinimize() const override; |
- views::Widget* GetWidget() override; |
- const views::Widget* GetWidget() const override; |
- base::string16 GetWindowTitle() const override; |
- gfx::ImageSkia GetWindowAppIcon() override; |
- gfx::ImageSkia GetWindowIcon() override; |
- void WindowClosing() override; |
- void DeleteDelegate() override; |
- void OnWindowBeginUserBoundsChange() override; |
- void OnWindowEndUserBoundsChange() override; |
- |
- // Overridden from views::View: |
- void Layout() override; |
- bool AcceleratorPressed(const ui::Accelerator& accelerator) override; |
- |
- // Overridden from views::WidgetObserver: |
- void OnWidgetDestroying(views::Widget* widget) override; |
- void OnWidgetActivationChanged(views::Widget* widget, bool active) override; |
- void OnWidgetBoundsChanged(views::Widget* widget, |
- const gfx::Rect& new_bounds) override; |
- |
- // Overridden from ui::HWNDMessageFilter: |
-#if defined(OS_WIN) |
- bool FilterMessage(HWND hwnd, |
- UINT message, |
- WPARAM w_param, |
- LPARAM l_param, |
- LRESULT* l_result) override; |
-#endif |
- |
- // Overridden from AnimationDelegate: |
- void AnimationEnded(const gfx::Animation* animation) override; |
- void AnimationProgressed(const gfx::Animation* animation) override; |
- |
- void UpdateLoadingAnimations(bool should_animate); |
- void UpdateWindowTitle(); |
- void UpdateWindowIcon(); |
- void SetBoundsInternal(const gfx::Rect& bounds, bool animate); |
- bool EndDragging(bool cancelled); |
- |
- // Sets the bounds of the underlying window to |new_bounds|. Note that this |
- // might update the window style to work around the minimum overlapped |
- // window height limitation. |
- void SetWidgetBounds(const gfx::Rect& new_bounds); |
- |
-#if defined(OS_WIN) |
- // Sets |attribute_value_to_set| and/or clears |attribute_value_to_reset| for |
- // the attibute denoted by |attribute_index|. This is used to update the style |
- // or extended style for the native window. |
- void UpdateWindowAttribute(int attribute_index, |
- int attribute_value_to_set, |
- int attribute_value_to_reset, |
- bool update_frame); |
-#endif |
- |
- std::unique_ptr<Panel> panel_; |
- gfx::Rect bounds_; |
- |
- // The window that holds all panel views. Lifetime managed by native widget. |
- // See widget.h. |
- views::Widget* window_; |
- |
- // Close gets called more than once, so use this to do one-time clean up once. |
- bool window_closed_; |
- |
- // The view hosting the web contents. Will be destroyed when child views |
- // of this class are destroyed. |
- views::WebView* web_view_; |
- |
- // True if the panel should always stay on top of other windows. |
- bool always_on_top_; |
- |
- // Is the panel receiving the focus? |
- bool focused_; |
- |
- // True if the user is resizing the panel. |
- bool user_resizing_; |
- |
-#if defined(OS_WIN) |
- // True if the user is resizing the interior edge of a stack. |
- bool user_resizing_interior_stacked_panel_edge_; |
- |
- // The original full size of the resizing panel before the resizing states. |
- gfx::Size original_full_size_of_resizing_panel_; |
- |
- // The original full size of the panel below the resizing panel before the |
- // resizing starts. |
- gfx::Size original_full_size_of_panel_below_resizing_panel_; |
-#endif |
- |
- |
- // Is the mouse button currently down? |
- bool mouse_pressed_; |
- |
- // Location the mouse was pressed at or dragged to last time when we process |
- // the mouse event. Used in drag-and-drop. |
- // This point is represented in the screen coordinate system. |
- gfx::Point last_mouse_location_; |
- |
- // Is the titlebar currently being dragged? That is, has the cursor |
- // moved more than kDragThreshold away from its starting position? |
- MouseDraggingState mouse_dragging_state_; |
- |
- // Used to animate the bounds change. |
- std::unique_ptr<PanelBoundsAnimation> bounds_animator_; |
- gfx::Rect animation_start_bounds_; |
- |
- // Is the panel in highlighted state to draw people's attention? |
- bool is_drawing_attention_; |
- |
- // Should we force to paint the panel as inactive? This is needed when we need |
- // to capture the screenshot before an active panel goes minimized. |
- bool force_to_paint_as_inactive_; |
- |
- // The last view that had focus in the panel. This is saved so that focus can |
- // be restored properly when a drag ends. |
- views::View* old_focused_view_; |
- |
- std::unique_ptr<ScopedKeepAlive> keep_alive_; |
- |
-#if defined(OS_WIN) |
- // Used to provide custom taskbar thumbnail for Windows 7 and later. |
- std::unique_ptr<TaskbarWindowThumbnailerWin> thumbnailer_; |
-#endif |
- |
- DISALLOW_COPY_AND_ASSIGN(PanelView); |
-}; |
- |
-#endif // CHROME_BROWSER_UI_VIEWS_PANELS_PANEL_VIEW_H_ |