Chromium Code Reviews| Index: chrome/browser/ui/views/autofill/autofill_popup_view_views.h |
| diff --git a/chrome/browser/ui/views/autofill/autofill_popup_view_views.h b/chrome/browser/ui/views/autofill/autofill_popup_view_views.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3cca6dfe2f24ba1ff95fccefc8608fb118bd709e |
| --- /dev/null |
| +++ b/chrome/browser/ui/views/autofill/autofill_popup_view_views.h |
| @@ -0,0 +1,61 @@ |
| +// Copyright (c) 2012 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. |
| + |
| +#ifndef CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_POPUP_VIEW_VIEWS_H_ |
| +#define CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_POPUP_VIEW_VIEWS_H_ |
| + |
| +#include "chrome/browser/autofill/autofill_popup_view.h" |
| +#include "content/public/browser/keyboard_listener.h" |
| +#include "ui/views/widget/widget_delegate.h" |
| + |
| +class AutofillExternalDelegateViews; |
| + |
| +namespace content { |
| +class RenderViewHost; |
| +class WebContents; |
| +} |
| + |
| +namespace gfx { |
| +class Rect; |
| +} |
| + |
| +// The View Autofill popup implementation. |
| +class AutofillPopupViewViews : public views::WidgetDelegateView, |
|
sky
2012/08/23 22:34:36
As far as I can tell you're never actually setting
csharp
2012/08/24 20:34:53
Ah, no I wasn't. Fixed.
|
| + public AutofillPopupView, |
| + public KeyboardListener { |
| + public: |
| + AutofillPopupViewViews(content::WebContents* web_contents, |
| + AutofillExternalDelegateViews* external_delegate); |
| + virtual ~AutofillPopupViewViews(); |
| + |
| + private: |
| + class AutofillPopupWidget; |
| + |
| + // views::WidgetDelegateView implementation. |
| + virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; |
| + virtual void WindowClosing() OVERRIDE; |
| + |
| + // AutofillPopupView implementation. |
| + virtual void ShowInternal() OVERRIDE; |
| + virtual void HideInternal() OVERRIDE; |
| + virtual void InvalidateRow(size_t row) OVERRIDE; |
| + virtual void ResizePopup() OVERRIDE; |
| + |
| + // The popup that contains this view. We create this, but it deletes itself |
| + // when its window is destroyed. This is a WeakPtr because it's possible for |
| + // the OS to destroy the window and thus delete this object before we're |
| + // deleted, or without our knowledge. |
| + base::WeakPtr<AutofillPopupWidget> popup_; |
| + |
| + // Used to determine if our already closing, which would mean we don't |
| + // need to close the widget. |
| + bool popup_closing_; |
| + |
| + AutofillExternalDelegateViews* external_delegate_; // Weak reference. |
| + content::WebContents* web_contents_; // Weak reference. |
| + |
| + DISALLOW_COPY_AND_ASSIGN(AutofillPopupViewViews); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_POPUP_VIEW_VIEWS_H_ |