OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2010 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 #include "chrome/browser/chromeos/login/proxy_settings_dialog.h" |
| 6 |
| 7 #include "chrome/browser/chromeos/login/helper.h" |
| 8 #include "gfx/rect.h" |
| 9 #include "gfx/size.h" |
| 10 |
| 11 namespace { |
| 12 |
| 13 // Hints for size of proxy settings dialog. |
| 14 const int kProxySettingsDialogReasonableWidth = 750; |
| 15 const int kProxySettingsDialogReasonableHeight = 460; |
| 16 const float kProxySettingsDialogReasonableWidthRatio = 0.4f; |
| 17 const float kProxySettingsDialogReasonableHeightRatio = 0.4f; |
| 18 |
| 19 const char kProxySettingsURL[] = "chrome://settings/proxy?menu=off"; |
| 20 |
| 21 int calculate_size(int screen_size, int min_comfortable, float desired_ratio) { |
| 22 int desired_size = static_cast<int>(desired_ratio * screen_size); |
| 23 desired_size = std::max(min_comfortable, desired_size); |
| 24 return std::min(screen_size, desired_size); |
| 25 } |
| 26 |
| 27 } // namespace |
| 28 |
| 29 namespace chromeos { |
| 30 |
| 31 ProxySettingsDialog::ProxySettingsDialog(LoginHtmlDialog::Delegate* delegate, |
| 32 gfx::NativeWindow window) |
| 33 : LoginHtmlDialog( |
| 34 delegate, |
| 35 window, |
| 36 std::wstring(), |
| 37 GURL(kProxySettingsURL), |
| 38 LoginHtmlDialog::STYLE_BUBBLE) { |
| 39 gfx::Rect screen_bounds(chromeos::CalculateScreenBounds(gfx::Size())); |
| 40 SetDialogSize(calculate_size(screen_bounds.width(), |
| 41 kProxySettingsDialogReasonableWidth, |
| 42 kProxySettingsDialogReasonableWidthRatio), |
| 43 calculate_size(screen_bounds.height(), |
| 44 kProxySettingsDialogReasonableHeight, |
| 45 kProxySettingsDialogReasonableHeightRatio)); |
| 46 } |
| 47 |
| 48 } // namespace chromeos |
OLD | NEW |