Index: views/controls/native/native_view_host_views.cc |
diff --git a/views/controls/native/native_view_host_views.cc b/views/controls/native/native_view_host_views.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8a999eec5c45afb9af39c967906887164957278e |
--- /dev/null |
+++ b/views/controls/native/native_view_host_views.cc |
@@ -0,0 +1,75 @@ |
+// Copyright (c) 2006-2008 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. |
+ |
+#include "views/controls/native/native_view_host_views.h" |
+ |
+#include "base/logging.h" |
+#include "gfx/canvas.h" |
+#include "views/controls/native/native_view_host.h" |
+#include "views/focus/focus_manager.h" |
+#include "views/widget/root_view.h" |
+#include "views/widget/widget.h" |
+ |
+namespace views { |
+ |
+//////////////////////////////////////////////////////////////////////////////// |
+// NativeViewHostViews, public: |
+ |
+NativeViewHostViews::NativeViewHostViews(NativeViewHost* host) |
+ : host_(host), |
+ installed_clip_(false) { |
+} |
+ |
+NativeViewHostViews::~NativeViewHostViews() { |
+NOTIMPLEMENTED(); |
+} |
+ |
+//////////////////////////////////////////////////////////////////////////////// |
+// NativeViewHostViews, NativeViewHostWrapper implementation: |
+void NativeViewHostViews::NativeViewAttached() { |
+ host_->AddChildView(host_->views_view()); |
+ host_->Layout(); |
+} |
+ |
+void NativeViewHostViews::NativeViewDetaching(bool destroyed) { |
+ host_->RemoveChildView(host_->views_view()); |
+} |
+ |
+void NativeViewHostViews::AddedToWidget() { |
+ // nothing to do |
+} |
+ |
+void NativeViewHostViews::RemovedFromWidget() { |
+ // nothing to do |
+} |
+ |
+void NativeViewHostViews::InstallClip(int x, int y, int w, int h) { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+bool NativeViewHostViews::HasInstalledClip() { |
+ return installed_clip_; |
+} |
+ |
+void NativeViewHostViews::UninstallClip() { |
+ installed_clip_ = false; |
+} |
+ |
+void NativeViewHostViews::ShowWidget(int x, int y, int w, int h) { |
+ // x, y are in the coordinate system of the root view, but we're |
+ // already properly positioned by virtue of being an actual views |
+ // child of the NativeHostView, so disregard the origin. |
+ host_->views_view()->SetBounds(0, 0, w, h); |
+ host_->views_view()->SetVisible(true); |
+} |
+ |
+void NativeViewHostViews::HideWidget() { |
+ host_->views_view()->SetVisible(false); |
+} |
+ |
+void NativeViewHostViews::SetFocus() { |
+ host_->views_view()->RequestFocus(); |
+} |
+ |
+} // namespace views |