summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-15 22:23:21 +0000
committerpkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-15 22:23:21 +0000
commit3a80190d5f0c907f60d00467658401766d3cc4d8 (patch)
tree92b73d865923ba53d794b8d6293c48d7a015c3d2
parent80d364ec445be64ce949f7c033cf510fd16ea36c (diff)
downloadchromium_src-3a80190d5f0c907f60d00467658401766d3cc4d8.zip
chromium_src-3a80190d5f0c907f60d00467658401766d3cc4d8.tar.gz
chromium_src-3a80190d5f0c907f60d00467658401766d3cc4d8.tar.bz2
Moves GetIconScaleFactor to WebUI::GetRendererScale in order to reuse code as many places in the C++ code push images to Javascript.
Bug=133032 Test=Compiles Review URL: https://chromiumcodereview.appspot.com/10535134 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142499 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc22
-rw-r--r--chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.h3
-rw-r--r--chrome/browser/ui/webui/sync_setup_handler_unittest.cc3
-rw-r--r--content/browser/webui/web_ui_impl.cc5
-rw-r--r--content/browser/webui/web_ui_impl.h1
-rw-r--r--content/public/browser/web_ui.h5
6 files changed, 22 insertions, 17 deletions
diff --git a/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc b/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc
index a905055..cea1cdb 100644
--- a/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc
+++ b/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.cc
@@ -1135,12 +1135,6 @@ Browser* InternetOptionsHandler::GetAppropriateBrowser() {
ProfileManager::GetDefaultProfileOrOffTheRecord());
}
-float InternetOptionsHandler::GetIconScaleFactor() {
- gfx::NativeWindow window = GetNativeWindow();
- gfx::Display display = gfx::Screen::GetMonitorNearestWindow(window);
- return display.device_scale_factor();
-}
-
void InternetOptionsHandler::NetworkCommandCallback(const ListValue* args) {
std::string str_type;
std::string service_path;
@@ -1332,7 +1326,7 @@ ListValue* InternetOptionsHandler::GetWiredList() {
cros_->ethernet_network();
if (ethernet_network) {
NetworkInfoDictionary network_dict(ethernet_network,
- GetIconScaleFactor());
+ web_ui()->GetDeviceScale());
network_dict.set_name(
l10n_util::GetStringUTF8(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET)),
list->Append(network_dict.BuildDictionary());
@@ -1347,7 +1341,7 @@ ListValue* InternetOptionsHandler::GetWirelessList() {
const chromeos::WifiNetworkVector& wifi_networks = cros_->wifi_networks();
for (chromeos::WifiNetworkVector::const_iterator it =
wifi_networks.begin(); it != wifi_networks.end(); ++it) {
- NetworkInfoDictionary network_dict(*it, GetIconScaleFactor());
+ NetworkInfoDictionary network_dict(*it, web_ui()->GetDeviceScale());
network_dict.set_connectable(cros_->CanConnectToNetwork(*it));
list->Append(network_dict.BuildDictionary());
}
@@ -1355,7 +1349,7 @@ ListValue* InternetOptionsHandler::GetWirelessList() {
const chromeos::WimaxNetworkVector& wimax_networks = cros_->wimax_networks();
for (chromeos::WimaxNetworkVector::const_iterator it =
wimax_networks.begin(); it != wimax_networks.end(); ++it) {
- NetworkInfoDictionary network_dict(*it, GetIconScaleFactor());
+ NetworkInfoDictionary network_dict(*it, web_ui()->GetDeviceScale());
network_dict.set_connectable(cros_->CanConnectToNetwork(*it));
list->Append(network_dict.BuildDictionary());
}
@@ -1364,7 +1358,7 @@ ListValue* InternetOptionsHandler::GetWirelessList() {
cros_->cellular_networks();
for (chromeos::CellularNetworkVector::const_iterator it =
cellular_networks.begin(); it != cellular_networks.end(); ++it) {
- NetworkInfoDictionary network_dict(*it, GetIconScaleFactor());
+ NetworkInfoDictionary network_dict(*it, web_ui()->GetDeviceScale());
network_dict.set_connectable(cros_->CanConnectToNetwork(*it));
network_dict.set_activation_state((*it)->activation_state());
network_dict.set_needs_new_plan(
@@ -1375,7 +1369,7 @@ ListValue* InternetOptionsHandler::GetWirelessList() {
const chromeos::NetworkDevice* cellular_device = cros_->FindCellularDevice();
if (cellular_device && cellular_device->support_network_scan() &&
cros_->cellular_enabled()) {
- NetworkInfoDictionary network_dict(GetIconScaleFactor());
+ NetworkInfoDictionary network_dict(web_ui()->GetDeviceScale());
network_dict.set_service_path(kOtherNetworksFakePath);
network_dict.set_icon(
chromeos::NetworkMenuIcon::GetDisconnectedImage(
@@ -1399,7 +1393,7 @@ ListValue* InternetOptionsHandler::GetVPNList() {
cros_->virtual_networks();
for (chromeos::VirtualNetworkVector::const_iterator it =
virtual_networks.begin(); it != virtual_networks.end(); ++it) {
- NetworkInfoDictionary network_dict(*it, GetIconScaleFactor());
+ NetworkInfoDictionary network_dict(*it, web_ui()->GetDeviceScale());
network_dict.set_connectable(cros_->CanConnectToNetwork(*it));
list->Append(network_dict.BuildDictionary());
}
@@ -1419,7 +1413,7 @@ ListValue* InternetOptionsHandler::GetRememberedList() {
NetworkInfoDictionary network_dict(wifi,
remembered,
- GetIconScaleFactor());
+ web_ui()->GetDeviceScale());
list->Append(network_dict.BuildDictionary());
}
@@ -1432,7 +1426,7 @@ ListValue* InternetOptionsHandler::GetRememberedList() {
NetworkInfoDictionary network_dict(vpn,
remembered,
- GetIconScaleFactor());
+ web_ui()->GetDeviceScale());
list->Append(network_dict.BuildDictionary());
}
diff --git a/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.h b/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.h
index 4d6b44d..60b46da 100644
--- a/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.h
+++ b/chrome/browser/ui/webui/options2/chromeos/internet_options_handler2.h
@@ -64,9 +64,6 @@ class InternetOptionsHandler
void CreateModalPopup(views::WidgetDelegate* view);
gfx::NativeWindow GetNativeWindow() const;
- // Get preferred scale factor for network icons.
- float GetIconScaleFactor();
-
// Returns the last active browser. If there is no such browser, creates a new
// browser window with an empty tab and returns it.
Browser* GetAppropriateBrowser();
diff --git a/chrome/browser/ui/webui/sync_setup_handler_unittest.cc b/chrome/browser/ui/webui/sync_setup_handler_unittest.cc
index cb6fc99..1b212eb 100644
--- a/chrome/browser/ui/webui/sync_setup_handler_unittest.cc
+++ b/chrome/browser/ui/webui/sync_setup_handler_unittest.cc
@@ -255,6 +255,9 @@ class TestWebUI : public content::WebUI {
return NULL;
}
virtual void SetController(content::WebUIController* controller) OVERRIDE {}
+ virtual float GetDeviceScale() const OVERRIDE {
+ return 1.0f;
+ }
virtual bool ShouldHideFavicon() const OVERRIDE {
return false;
}
diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui_impl.cc
index 1656b98..1050e61 100644
--- a/content/browser/webui/web_ui_impl.cc
+++ b/content/browser/webui/web_ui_impl.cc
@@ -9,6 +9,7 @@
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "content/browser/child_process_security_policy_impl.h"
+#include "content/browser/renderer_host/dip_util.h"
#include "content/browser/renderer_host/render_process_host_impl.h"
#include "content/browser/renderer_host/render_view_host_impl.h"
#include "content/browser/web_contents/web_contents_impl.h"
@@ -116,6 +117,10 @@ WebContents* WebUIImpl::GetWebContents() const {
return web_contents_;
}
+float WebUIImpl::GetDeviceScale() const {
+ return GetDIPScaleFactor(web_contents_->GetRenderWidgetHostView());
+}
+
bool WebUIImpl::ShouldHideFavicon() const {
return hide_favicon_;
}
diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_impl.h
index d0dfcab..e8f9ea1 100644
--- a/content/browser/webui/web_ui_impl.h
+++ b/content/browser/webui/web_ui_impl.h
@@ -33,6 +33,7 @@ class CONTENT_EXPORT WebUIImpl : public content::WebUI,
virtual content::WebContents* GetWebContents() const OVERRIDE;
virtual content::WebUIController* GetController() const OVERRIDE;
virtual void SetController(content::WebUIController* controller) OVERRIDE;
+ virtual float GetDeviceScale() const OVERRIDE;
virtual bool ShouldHideFavicon() const OVERRIDE;
virtual void HideFavicon() OVERRIDE;
virtual bool ShouldFocusLocationBarByDefault() const OVERRIDE;
diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h
index 8bb0734..b0d8a08 100644
--- a/content/public/browser/web_ui.h
+++ b/content/public/browser/web_ui.h
@@ -52,6 +52,11 @@ class CONTENT_EXPORT WebUI {
virtual WebUIController* GetController() const = 0;
virtual void SetController(WebUIController* controller) = 0;
+ // Returns the device scale of the monitor that the renderer is on.
+ // Whenever possible, WebUI should push resources with this scale to
+ // Javascript.
+ virtual float GetDeviceScale() const = 0;
+
// Returns true if the favicon should be hidden for the current tab.
virtual bool ShouldHideFavicon() const = 0;
virtual void HideFavicon() = 0;