diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-26 19:04:46 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-26 19:04:46 +0000 |
commit | b6b19e26bb00c8e8bc4ab91b535520352fb009f9 (patch) | |
tree | cac19c6ed6138c8a3d80d90558a0f328b558101f /views/widget | |
parent | 568f11038c851e25254b364c659504edc8a35d1d (diff) | |
download | chromium_src-b6b19e26bb00c8e8bc4ab91b535520352fb009f9.zip chromium_src-b6b19e26bb00c8e8bc4ab91b535520352fb009f9.tar.gz chromium_src-b6b19e26bb00c8e8bc4ab91b535520352fb009f9.tar.bz2 |
Rough cut at window activation.
http://crbug.com/84070
TEST=none
Review URL: http://codereview.chromium.org/7071017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86869 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget')
-rw-r--r-- | views/widget/native_widget_view.cc | 12 | ||||
-rw-r--r-- | views/widget/native_widget_view.h | 5 | ||||
-rw-r--r-- | views/widget/native_widget_views.cc | 8 | ||||
-rw-r--r-- | views/widget/native_widget_views.h | 7 | ||||
-rw-r--r-- | views/widget/widget.cc | 8 |
5 files changed, 34 insertions, 6 deletions
diff --git a/views/widget/native_widget_view.cc b/views/widget/native_widget_view.cc index 525de8e..daaf2cc 100644 --- a/views/widget/native_widget_view.cc +++ b/views/widget/native_widget_view.cc @@ -12,6 +12,9 @@ namespace internal { //////////////////////////////////////////////////////////////////////////////// // NativeWidgetView, public: +// static +const char NativeWidgetView::kViewClassName[] = "views/NativeWidgetView"; + NativeWidgetView::NativeWidgetView(NativeWidgetViews* native_widget) : native_widget_(native_widget) { } @@ -19,6 +22,10 @@ NativeWidgetView::NativeWidgetView(NativeWidgetViews* native_widget) NativeWidgetView::~NativeWidgetView() { } +Widget* NativeWidgetView::GetAssociatedWidget() { + return native_widget_->delegate()->AsWidget(); +} + //////////////////////////////////////////////////////////////////////////////// // NativeWidgetView, View overrides: @@ -103,6 +110,11 @@ void NativeWidgetView::OnBlur() { //delegate()->OnNativeBlur(NULL); } +std::string NativeWidgetView::GetClassName() const { + return kViewClassName; +} + + } // namespace internal } // namespace views diff --git a/views/widget/native_widget_view.h b/views/widget/native_widget_view.h index 75084cd..84dcdca 100644 --- a/views/widget/native_widget_view.h +++ b/views/widget/native_widget_view.h @@ -25,9 +25,13 @@ namespace internal { // class NativeWidgetView : public View { public: + static const char kViewClassName[]; + explicit NativeWidgetView(NativeWidgetViews* native_widget); virtual ~NativeWidgetView(); + Widget* GetAssociatedWidget(); + private: // Overridden from View: virtual void ViewHierarchyChanged(bool is_add, @@ -50,6 +54,7 @@ class NativeWidgetView : public View { virtual bool OnMouseWheel(const MouseWheelEvent& event) OVERRIDE; virtual void OnFocus() OVERRIDE; virtual void OnBlur() OVERRIDE; + virtual std::string GetClassName() const OVERRIDE; internal::NativeWidgetDelegate* delegate() { return native_widget_->delegate(); diff --git a/views/widget/native_widget_views.cc b/views/widget/native_widget_views.cc index bff9bde..d1bc2d5 100644 --- a/views/widget/native_widget_views.cc +++ b/views/widget/native_widget_views.cc @@ -17,6 +17,7 @@ NativeWidgetViews::NativeWidgetViews(View* host, : delegate_(delegate), view_(NULL), host_view_(host), + active_(false), ALLOW_THIS_IN_INITIALIZER_LIST(close_widget_factory_(this)) { } @@ -31,6 +32,11 @@ const View* NativeWidgetViews::GetView() const { return view_; } +void NativeWidgetViews::OnActivate(bool active) { + active_ = active; + view_->SchedulePaint(); +} + //////////////////////////////////////////////////////////////////////////////// // NativeWidgetViews, NativeWidget implementation: @@ -184,7 +190,7 @@ bool NativeWidgetViews::IsVisible() const { } bool NativeWidgetViews::IsActive() const { - return view_->HasFocus(); + return active_; } bool NativeWidgetViews::IsAccessibleWidget() const { diff --git a/views/widget/native_widget_views.h b/views/widget/native_widget_views.h index 5089d59..63a5908 100644 --- a/views/widget/native_widget_views.h +++ b/views/widget/native_widget_views.h @@ -28,9 +28,11 @@ class NativeWidgetViews : public NativeWidget { View* GetView(); const View* GetView() const; + void OnActivate(bool active); + internal::NativeWidgetDelegate* delegate() { return delegate_; } - private: + protected: // Overridden from NativeWidget: virtual void InitNativeWidget(const Widget::InitParams& params) OVERRIDE; virtual Widget* GetWidget() OVERRIDE; @@ -76,6 +78,7 @@ class NativeWidgetViews : public NativeWidget { virtual void SchedulePaintInRect(const gfx::Rect& rect) OVERRIDE; virtual void SetCursor(gfx::NativeCursor cursor) OVERRIDE; + private: NativeWidget* GetParentNativeWidget(); const NativeWidget* GetParentNativeWidget() const; @@ -85,6 +88,8 @@ class NativeWidgetViews : public NativeWidget { View* host_view_; + bool active_; + // The following factory is used for calls to close the NativeWidgetViews // instance. ScopedRunnableMethodFactory<NativeWidgetViews> close_widget_factory_; diff --git a/views/widget/widget.cc b/views/widget/widget.cc index ad537f1..8b4e793 100644 --- a/views/widget/widget.cc +++ b/views/widget/widget.cc @@ -213,6 +213,10 @@ void Widget::Hide() { native_widget_->Hide(); } +bool Widget::IsActive() const { + return native_widget_->IsActive(); +} + void Widget::SetOpacity(unsigned char opacity) { native_widget_->SetOpacity(opacity); } @@ -233,10 +237,6 @@ bool Widget::IsVisible() const { return native_widget_->IsVisible(); } -bool Widget::IsActive() const { - return native_widget_->IsActive(); -} - bool Widget::IsAccessibleWidget() const { return native_widget_->IsAccessibleWidget(); } |