Index: chrome/browser/views/autocomplete/autocomplete_popup_gtk.cc |
=================================================================== |
--- chrome/browser/views/autocomplete/autocomplete_popup_gtk.cc (revision 0) |
+++ chrome/browser/views/autocomplete/autocomplete_popup_gtk.cc (revision 0) |
@@ -0,0 +1,50 @@ |
+// Copyright (c) 2009 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 "chrome/browser/views/autocomplete/autocomplete_popup_gtk.h" |
+ |
+#include "app/gfx/insets.h" |
+#include "chrome/browser/autocomplete/autocomplete_edit_view.h" |
+#include "chrome/browser/autocomplete/autocomplete_popup_model.h" |
+#include "chrome/browser/views/autocomplete/autocomplete_popup_contents_view.h" |
+ |
+//////////////////////////////////////////////////////////////////////////////// |
+// AutocompletePopupGtk, public: |
+ |
+AutocompletePopupGtk::AutocompletePopupGtk( |
+ AutocompletePopupContentsView* contents) |
+ : WidgetGtk(WidgetGtk::TYPE_POPUP), |
+ contents_(contents) { |
+ set_delete_on_destroy(false); |
+} |
+ |
+AutocompletePopupGtk::~AutocompletePopupGtk() { |
+} |
+ |
+void AutocompletePopupGtk::Init(AutocompleteEditView* edit_view, |
+ views::View* contents) { |
+ MakeTransparent(); |
+ // Create the popup |
+ WidgetGtk::Init(gtk_widget_get_parent(edit_view->GetNativeView()), |
+ contents_->GetPopupBounds()); |
+ // The contents is owned by the LocationBarView. |
+ contents_->SetParentOwned(false); |
+ SetContentsView(contents_); |
+} |
+ |
+void AutocompletePopupGtk::Show() { |
+ // Move the popup to the place appropriate for the window's current position - |
+ // it may have been moved since it was last shown. |
+ SetBounds(contents_->GetPopupBounds()); |
+ if (!IsVisible()) |
+ WidgetGtk::Show(); |
+} |
+ |
+bool AutocompletePopupGtk::IsOpen() const { |
+ return IsCreated() && IsVisible(); |
+} |
+ |
+bool AutocompletePopupGtk::IsCreated() const { |
+ return GTK_IS_WIDGET(GetNativeView()); |
+} |