summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-03 22:06:23 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-03 22:06:23 +0000
commit26be0e2ad24016cdba8f079142420adb67894ac6 (patch)
tree7755cd3be5cd55333fa30fbddf167e6430b2cf59
parent8be15fe2b380ac0f12570226d9f1e8bb64527d21 (diff)
downloadchromium_src-26be0e2ad24016cdba8f079142420adb67894ac6.zip
chromium_src-26be0e2ad24016cdba8f079142420adb67894ac6.tar.gz
chromium_src-26be0e2ad24016cdba8f079142420adb67894ac6.tar.bz2
WebUI: Use the TOOLKIT_VIEWS define to determine the value of isViews.
This sets isViews correctly for non-Windows, non-CrOS Views builds. BUG=none TEST=none R=arv@chromium.org Review URL: http://codereview.chromium.org/7968001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103795 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/resources/shared/js/cr.js12
-rw-r--r--content/browser/webui/web_ui.cc8
-rw-r--r--content/browser/webui/web_ui.h2
3 files changed, 18 insertions, 4 deletions
diff --git a/chrome/browser/resources/shared/js/cr.js b/chrome/browser/resources/shared/js/cr.js
index 366f038..2a370a1 100644
--- a/chrome/browser/resources/shared/js/cr.js
+++ b/chrome/browser/resources/shared/js/cr.js
@@ -35,10 +35,16 @@ const cr = (function() {
const isLinux = /Linux/.test(navigator.userAgent);
/**
+ * Whether this uses GTK or not.
+ * @type {boolean}
+ */
+ const isGTK = /GTK/.test(chrome.toolkit);
+
+ /**
* Whether this uses the views toolkit or not.
* @type {boolean}
*/
- const isViews = isWindows || isChromeOS;
+ const isViews = /views/.test(chrome.toolkit);
/**
* Sets the os and toolkit attributes in the <html> element so that platform
@@ -51,10 +57,10 @@ const cr = (function() {
doc.documentElement.setAttribute('os', 'windows');
if (isChromeOS)
doc.documentElement.setAttribute('os', 'chromeos');
- if (isLinux) {
+ if (isLinux)
doc.documentElement.setAttribute('os', 'linux');
+ if (isGTK)
doc.documentElement.setAttribute('toolkit', 'gtk');
- }
if (isViews)
doc.documentElement.setAttribute('toolkit', 'views');
}
diff --git a/content/browser/webui/web_ui.cc b/content/browser/webui/web_ui.cc
index 9ac142c..99cd1c8 100644
--- a/content/browser/webui/web_ui.cc
+++ b/content/browser/webui/web_ui.cc
@@ -99,6 +99,14 @@ void WebUI::OnWebUISend(const GURL& source_url,
}
}
+void WebUI::RenderViewCreated(RenderViewHost* render_view_host) {
+#if defined(TOOLKIT_VIEWS)
+ render_view_host->SetWebUIProperty("toolkit", "views");
+#elif defined(TOOLKIT_GTK)
+ render_view_host->SetWebUIProperty("toolkit", "GTK");
+#endif // defined(TOOLKIT_VIEWS)
+}
+
void WebUI::CallJavascriptFunction(const std::string& function_name) {
DCHECK(IsStringASCII(function_name));
string16 javascript = ASCIIToUTF16(function_name + "();");
diff --git a/content/browser/webui/web_ui.h b/content/browser/webui/web_ui.h
index 8f3188a..bda70b3 100644
--- a/content/browser/webui/web_ui.h
+++ b/content/browser/webui/web_ui.h
@@ -49,7 +49,7 @@ class CONTENT_EXPORT WebUI : public IPC::Channel::Listener {
// *not* called for every page load because in some cases
// RenderViewHostManager will reuse RenderView instances. In those cases,
// RenderViewReused will be called instead.
- virtual void RenderViewCreated(RenderViewHost* render_view_host) {}
+ virtual void RenderViewCreated(RenderViewHost* render_view_host);
// Called by RenderViewHostManager when a RenderView is reused to display a
// page.