summaryrefslogtreecommitdiffstats
path: root/views/widget
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 19:04:46 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 19:04:46 +0000
commitb6b19e26bb00c8e8bc4ab91b535520352fb009f9 (patch)
treecac19c6ed6138c8a3d80d90558a0f328b558101f /views/widget
parent568f11038c851e25254b364c659504edc8a35d1d (diff)
downloadchromium_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.cc12
-rw-r--r--views/widget/native_widget_view.h5
-rw-r--r--views/widget/native_widget_views.cc8
-rw-r--r--views/widget/native_widget_views.h7
-rw-r--r--views/widget/widget.cc8
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();
}