1 // Copyright (c) 2012 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 // This file contains helper functions used by Chromium OS login. 6 7 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_HELPER_H_ 8 #define CHROME_BROWSER_CHROMEOS_LOGIN_HELPER_H_ 9 10 #include <string> 11 12 #include "base/compiler_specific.h" 13 #include "base/strings/string16.h" 14 #include "third_party/skia/include/core/SkColor.h" 15 #include "ui/views/view.h" 16 17 class GURL; 18 19 namespace gfx { 20 class Rect; 21 class Size; 22 } // namespace gfx 23 24 namespace chromeos { 25 26 // Returns bounds of the screen to use for login wizard. 27 // The rect is centered within the default monitor and sized accordingly if 28 // |size| is not empty. Otherwise the whole monitor is occupied. 29 gfx::Rect CalculateScreenBounds(const gfx::Size& size); 30 31 // Returns the size of user image required for proper display under current DPI. 32 int GetCurrentUserImageSize(); 33 34 // Define the constants in |login| namespace to avoid potential 35 // conflict with other chromeos components. 36 namespace login { 37 38 // Maximum size of user image, in which it should be saved to be properly 39 // displayed under all possible DPI values. 40 const int kMaxUserImageSize = 512; 41 42 // Returns true if lock/login should scroll user pods into view itself when 43 // virtual keyboard is shown and disable vk overscroll. 44 bool LoginScrollIntoViewEnabled(); 45 46 // A helper class for easily mocking out Network*Handler calls for tests. 47 class NetworkStateHelper { 48 public: 49 NetworkStateHelper(); 50 virtual ~NetworkStateHelper(); 51 52 // Returns name of the currently connected network. 53 // If there are no connected networks, returns name of the network 54 // that is in the "connecting" state. Otherwise empty string is returned. 55 // If there are multiple connected networks, network priority: 56 // Ethernet > WiFi > Cellular. Same for connecting network. 57 virtual base::string16 GetCurrentNetworkName() const; 58 59 // Returns true if the default network is in connected state. 60 virtual bool IsConnected() const; 61 62 // Returns true if the default network is in connecting state. 63 virtual bool IsConnecting() const; 64 65 private: 66 DISALLOW_COPY_AND_ASSIGN(NetworkStateHelper); 67 }; 68 69 } // namespace login 70 71 } // namespace chromeos 72 73 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_HELPER_H_ 74