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 17class GURL; 18 19namespace gfx { 20class Rect; 21class Size; 22} // namespace gfx 23 24namespace 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. 29gfx::Rect CalculateScreenBounds(const gfx::Size& size); 30 31// Returns the size of user image required for proper display under current DPI. 32int GetCurrentUserImageSize(); 33 34// Define the constants in |login| namespace to avoid potential 35// conflict with other chromeos components. 36namespace login { 37 38// Maximum size of user image, in which it should be saved to be properly 39// displayed under all possible DPI values. 40const 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. 44bool LoginScrollIntoViewEnabled(); 45 46// A helper class for easily mocking out Network*Handler calls for tests. 47class 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