// Copyright 2014 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_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_ #define CHROME_BROWSER_UI_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_ #include "third_party/skia/include/core/SkColor.h" namespace gfx { class Point; class Size; } namespace autofill { class PasswordGenerationPopupController; // Interface for creating and controlling a platform dependent view. class PasswordGenerationPopupView { public: // Number of pixels added in between lines of the help section. static const int kHelpSectionAdditionalSpacing = 3; // Display the popup. virtual void Show() = 0; // This will cause the popup to be deleted. virtual void Hide() = 0; // Get desired size of the popup. virtual gfx::Size GetPreferredSizeOfPasswordView() = 0; // Updates layout information from the controller. virtual void UpdateBoundsAndRedrawPopup() = 0; // Called when the password selection state has changed. virtual void PasswordSelectionUpdated() = 0; virtual bool IsPointInPasswordBounds(const gfx::Point& point) = 0; // Note that PasswordGenerationPopupView owns itself, and will only be deleted // when Hide() is called. static PasswordGenerationPopupView* Create( PasswordGenerationPopupController* controller); static const SkColor kPasswordTextColor; static const SkColor kExplanatoryTextBackgroundColor; static const SkColor kExplanatoryTextColor; static const SkColor kDividerColor; }; } // namespace autofill #endif // CHROME_BROWSER_UI_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_