password_generation_popup_view.h revision 116680a4aac90f2aa7413d9095a592090648e557
1aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger// Copyright 2014 The Chromium Authors. All rights reserved. 2aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger// Use of this source code is governed by a BSD-style license that can be 3aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger// found in the LICENSE file. 4aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 5aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger#ifndef CHROME_BROWSER_UI_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_ 6aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger#define CHROME_BROWSER_UI_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_ 7aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 8aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger#include "third_party/skia/include/core/SkColor.h" 9aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 10aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingernamespace gfx { 11aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerclass Point; 12aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerclass Size; 13aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger} 14aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 15aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingernamespace autofill { 16aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 17aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerclass PasswordGenerationPopupController; 181d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy 19aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger// Interface for creating and controlling a platform dependent view. 20aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemmingerclass PasswordGenerationPopupView { 21aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger public: 22aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger // Number of pixels added in between lines of the help section. 23aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger static const int kHelpSectionAdditionalSpacing = 3; 24aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 25aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger // Display the popup. 26aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger virtual void Show() = 0; 27aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 28aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger // This will cause the popup to be deleted. 29aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger virtual void Hide() = 0; 30aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 31aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger // Get desired size of the popup. 32aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger virtual gfx::Size GetPreferredSizeOfPasswordView() = 0; 33aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 34aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger // Updates layout information from the controller. 351d93483985f0aa2d2afc72dde5179ff3f79a0999Patrick McHardy virtual void UpdateBoundsAndRedrawPopup() = 0; 365e3bb534ae179be141a92eb1a4e2eb48094193b7Andreas Henriksson 375c434a9e5a5eafec09ec9939b255948843423f80Christoph J. Thompson // Called when the password selection state has changed. 38b514b3587ee56552fcc87a066c955a7ff4f55d6fRafael Almeida virtual void PasswordSelectionUpdated() = 0; 39aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger 40aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger virtual bool IsPointInPasswordBounds(const gfx::Point& point) = 0; 41750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger 42aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger // Note that PasswordGenerationPopupView owns itself, and will only be deleted 43aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger // when Hide() is called. 44aba5acdfdb347d2c21fc67d613d83d4430ca3937osdl.org!shemminger static PasswordGenerationPopupView* Create( 45750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger PasswordGenerationPopupController* controller); 46a22e92951d21d0f796040d0d6c00d59a1e188bcaSridhar Samudrala 47750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger static const SkColor kExplanatoryTextBackgroundColor; 48750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger static const SkColor kExplanatoryTextColor; 49750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger static const SkColor kDividerColor; 50750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger}; 51750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger 52750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger} // namespace autofill 53750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger 54db02608b6f408998ea8c823fb791cead3e574f50Vlad Dogaru#endif // CHROME_BROWSER_UI_AUTOFILL_PASSWORD_GENERATION_POPUP_VIEW_H_ 55750a405a5a6f6cdae7d14609b49051e59738177eStephen Hemminger