1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_ 6#define CHROME_BROWSER_UI_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_ 7 8#include "third_party/skia/include/core/SkColor.h" 9 10namespace gfx { 11class Point; 12class Size; 13} 14 15namespace autofill { 16 17class PasswordGenerationPopupController; 18 19// Interface for creating and controlling a platform dependent view. 20class PasswordGenerationPopupView { 21 public: 22 // Number of pixels added in between lines of the help section. 23 static const int kHelpSectionAdditionalSpacing = 3; 24 25 // Display the popup. 26 virtual void Show() = 0; 27 28 // This will cause the popup to be deleted. 29 virtual void Hide() = 0; 30 31 // Get desired size of the popup. 32 virtual gfx::Size GetPreferredSizeOfPasswordView() = 0; 33 34 // Updates layout information from the controller. 35 virtual void UpdateBoundsAndRedrawPopup() = 0; 36 37 // Called when the password selection state has changed. 38 virtual void PasswordSelectionUpdated() = 0; 39 40 virtual bool IsPointInPasswordBounds(const gfx::Point& point) = 0; 41 42 // Note that PasswordGenerationPopupView owns itself, and will only be deleted 43 // when Hide() is called. 44 static PasswordGenerationPopupView* Create( 45 PasswordGenerationPopupController* controller); 46 47 static const SkColor kPasswordTextColor; 48 static const SkColor kExplanatoryTextBackgroundColor; 49 static const SkColor kExplanatoryTextColor; 50 static const SkColor kDividerColor; 51}; 52 53} // namespace autofill 54 55#endif // CHROME_BROWSER_UI_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_ 56