summaryrefslogtreecommitdiffstats
path: root/views/widget/native_widget_views.cc
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-01 17:09:46 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-01 17:09:46 +0000
commite865b36b87c44b419886035f898ae1c13a54f91b (patch)
tree5cc1916d036b64af8af573ac1ac769a7bc169211 /views/widget/native_widget_views.cc
parent0d1046002cb8aa1a2756f604b05bafb60c594f9f (diff)
downloadchromium_src-e865b36b87c44b419886035f898ae1c13a54f91b.zip
chromium_src-e865b36b87c44b419886035f898ae1c13a54f91b.tar.gz
chromium_src-e865b36b87c44b419886035f898ae1c13a54f91b.tar.bz2
Gets compositor working for embedded widgets.
BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/7280002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91312 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget/native_widget_views.cc')
-rw-r--r--views/widget/native_widget_views.cc29
1 files changed, 22 insertions, 7 deletions
diff --git a/views/widget/native_widget_views.cc b/views/widget/native_widget_views.cc
index 9013ccc..4fac3aa 100644
--- a/views/widget/native_widget_views.cc
+++ b/views/widget/native_widget_views.cc
@@ -8,6 +8,7 @@
#include "views/view.h"
#include "views/views_delegate.h"
#include "views/widget/native_widget_view.h"
+#include "views/widget/root_view.h"
namespace views {
@@ -19,7 +20,8 @@ NativeWidgetViews::NativeWidgetViews(internal::NativeWidgetDelegate* delegate)
view_(NULL),
active_(false),
minimized_(false),
- ALLOW_THIS_IN_INITIALIZER_LIST(close_widget_factory_(this)) {
+ ALLOW_THIS_IN_INITIALIZER_LIST(close_widget_factory_(this)),
+ hosting_widget_(NULL) {
}
NativeWidgetViews::~NativeWidgetViews() {
@@ -42,10 +44,11 @@ void NativeWidgetViews::OnActivate(bool active) {
// NativeWidgetViews, NativeWidget implementation:
void NativeWidgetViews::InitNativeWidget(const Widget::InitParams& params) {
+ View* desktop_view = ViewsDelegate::views_delegate->GetDefaultParentView();
+ hosting_widget_ = desktop_view->GetWidget();
view_ = new internal::NativeWidgetView(this);
view_->SetBoundsRect(params.bounds);
view_->SetPaintToLayer(true);
- View* desktop_view = ViewsDelegate::views_delegate->GetDefaultParentView();
desktop_view->AddChildView(view_);
// TODO(beng): handle parenting.
@@ -83,6 +86,23 @@ gfx::NativeWindow NativeWidgetViews::GetNativeWindow() const {
return GetParentNativeWidget()->GetNativeWindow();
}
+const ui::Compositor* NativeWidgetViews::GetCompositor() const {
+ return hosting_widget_->GetCompositor();
+}
+
+ui::Compositor* NativeWidgetViews::GetCompositor() {
+ return hosting_widget_->GetCompositor();
+}
+
+void NativeWidgetViews::MarkLayerDirty() {
+ view_->MarkLayerDirty();
+}
+
+void NativeWidgetViews::CalculateOffsetToAncestorWithLayer(gfx::Point* offset,
+ View** ancestor) {
+ view_->CalculateOffsetToAncestorWithLayer(offset, ancestor);
+}
+
void NativeWidgetViews::ViewRemoved(View* view) {
return GetParentNativeWidget()->ViewRemoved(view);
}
@@ -164,11 +184,6 @@ void NativeWidgetViews::BecomeModal() {
NOTIMPLEMENTED();
}
-gfx::AcceleratedWidget NativeWidgetViews::GetAcceleratedWidget() {
- // TODO(sky):
- return gfx::kNullAcceleratedWidget;
-}
-
gfx::Rect NativeWidgetViews::GetWindowScreenBounds() const {
gfx::Point origin = view_->bounds().origin();
View::ConvertPointToScreen(view_->parent(), &origin);