diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-03 22:06:23 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-03 22:06:23 +0000 |
commit | 26be0e2ad24016cdba8f079142420adb67894ac6 (patch) | |
tree | 7755cd3be5cd55333fa30fbddf167e6430b2cf59 | |
parent | 8be15fe2b380ac0f12570226d9f1e8bb64527d21 (diff) | |
download | chromium_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.js | 12 | ||||
-rw-r--r-- | content/browser/webui/web_ui.cc | 8 | ||||
-rw-r--r-- | content/browser/webui/web_ui.h | 2 |
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. |