Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(523)

Unified Diff: chrome/browser/ui/views/autofill/autofill_dialog_views.h

Issue 18850006: retry r210334 with fix for android (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/autofill/autofill_dialog_views.h
diff --git a/chrome/browser/ui/views/autofill/autofill_dialog_views.h b/chrome/browser/ui/views/autofill/autofill_dialog_views.h
index ef7d115fc4d4be3c3ebe7dacd1271583a0a853a6..b7ac20853df123735267e83a3e4864fa27e11ee6 100644
--- a/chrome/browser/ui/views/autofill/autofill_dialog_views.h
+++ b/chrome/browser/ui/views/autofill/autofill_dialog_views.h
@@ -13,6 +13,7 @@
#include "chrome/browser/ui/autofill/autofill_dialog_view.h"
#include "chrome/browser/ui/autofill/testable_autofill_dialog_view.h"
#include "ui/base/accelerators/accelerator.h"
+#include "ui/base/animation/animation_delegate.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/controls/button/menu_button_listener.h"
#include "ui/views/controls/combobox/combobox_listener.h"
@@ -42,6 +43,7 @@ class FocusManager;
class ImageButton;
class ImageView;
class Label;
+class LabelButton;
class Link;
class MenuRunner;
class StyledLabel;
@@ -52,6 +54,7 @@ class Widget;
namespace ui {
class ComboboxModel;
class KeyEvent;
+class MultiAnimation;
}
namespace autofill {
@@ -272,6 +275,48 @@ class AutofillDialogViews : public AutofillDialogView,
DISALLOW_COPY_AND_ASSIGN(AccountChooser);
};
+ // A view which displays an image, optionally some messages and a button. Used
+ // for the splash page as well as the Wallet interstitial.
+ class OverlayView : public views::View,
+ public ui::AnimationDelegate {
+ public:
+ // The listener is informed when |button_| is pressed.
+ explicit OverlayView(views::ButtonListener* listener);
+ virtual ~OverlayView();
+
+ // Sets properties that should be displayed.
+ void SetState(const DialogOverlayState& state,
+ views::ButtonListener* listener);
+
+ // Fades the view out after a delay.
+ void BeginFadeOut();
+
+ // ui::AnimationDelegate implementation:
+ virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE;
+ virtual void AnimationEnded(const ui::Animation* animation) OVERRIDE;
+
+ // views::View implementation:
+ virtual void Layout() OVERRIDE;
+ virtual const char* GetClassName() const OVERRIDE;
+ virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
+ virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE;
+
+ private:
+ // Child View. Front and center.
+ views::ImageView* image_view_;
+ // Child View. When visible, below |image_view_|.
+ views::View* message_stack_;
+ // Child View. When visible, below |message_stack_|.
+ views::LabelButton* button_;
+
+ // This MultiAnimation is used to first fade out the contents of the
+ // overlay, then fade out the background of the overlay (revealing the
+ // dialog behind the overlay). This avoids cross-fade.
+ scoped_ptr<ui::MultiAnimation> fade_out_;
+
+ DISALLOW_COPY_AND_ASSIGN(OverlayView);
+ };
+
// An area for notifications. Some notifications point at the account chooser.
class NotificationArea : public views::View,
public views::ButtonListener {
@@ -565,7 +610,7 @@ class AutofillDialogViews : public AutofillDialogView,
views::Label* loading_shield_;
// The view that completely overlays the dialog (used for the splash page).
- views::View* overlay_view_;
+ OverlayView* overlay_view_;
// The "Extra view" is on the same row as the dialog buttons.
views::View* button_strip_extra_view_;

Powered by Google App Engine
This is Rietveld 408576698