diff options
author | mnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-19 08:27:40 +0000 |
---|---|---|
committer | mnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-19 08:27:40 +0000 |
commit | f4d7feacd341fcdf796882be07a486ae62ccdd84 (patch) | |
tree | 24d0c8e906aa720c855691f9c283ebb453f5271f | |
parent | 46f89e149da3971fcf52b778de939256fae4249a (diff) | |
download | chromium_src-f4d7feacd341fcdf796882be07a486ae62ccdd84.zip chromium_src-f4d7feacd341fcdf796882be07a486ae62ccdd84.tar.gz chromium_src-f4d7feacd341fcdf796882be07a486ae62ccdd84.tar.bz2 |
Introduce "--enable-memory-info" command-line flag to enable reporting
of JS heap size via "console.memory" (for now) and
"webkitPerformance.memory" (having Web Timing enabled).
BUG=43281
TEST=none
Review URL: http://codereview.chromium.org/3017007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52886 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/tab_contents/render_view_host_delegate_helper.cc | 2 | ||||
-rw-r--r-- | chrome/common/chrome_switches.cc | 3 | ||||
-rw-r--r-- | chrome/common/chrome_switches.h | 1 | ||||
-rw-r--r-- | chrome/common/render_messages.h | 4 | ||||
-rw-r--r-- | webkit/glue/webpreferences.cc | 3 | ||||
-rw-r--r-- | webkit/glue/webpreferences.h | 4 |
6 files changed, 15 insertions, 2 deletions
diff --git a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc index a530642..a99d549 100644 --- a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc +++ b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc @@ -268,6 +268,8 @@ WebPreferences RenderViewHostDelegateHelper::GetWebkitPrefs( command_line.HasSwitch(switches::kShowCompositedLayerBorders); web_prefs.accelerated_compositing_enabled = command_line.HasSwitch(switches::kEnableAcceleratedCompositing); + web_prefs.memory_info_enabled = + command_line.HasSwitch(switches::kEnableMemoryInfo); // The user stylesheet watcher may not exist in a testing profile. if (profile->GetUserStyleSheetWatcher()) { web_prefs.user_style_sheet_enabled = true; diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc index 8d99b6ba..7da1430 100644 --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc @@ -339,6 +339,9 @@ const char kEnableGPURendering[] = "enable-gpu-rendering"; // builds. const char kEnableLogging[] = "enable-logging"; +// Allows reporting memory info (JS heap size) to page. +const char kEnableMemoryInfo[] = "enable-memory-info"; + // On Windows, converts the page to the currently-installed monitor profile. // This does NOT enable color management for images. The source is still // assumed to be sRGB. diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h index 4f96654..30a2997 100644 --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h @@ -110,6 +110,7 @@ extern const char kEnableIndexedDatabase[]; extern const char kEnableInMemoryURLIndex[]; extern const char kEnableIPv6[]; extern const char kEnableLogging[]; +extern const char kEnableMemoryInfo[]; extern const char kEnableMonitorProfile[]; extern const char kEnableNaCl[]; extern const char kEnableNativeWebWorkers[]; diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h index 5c3370c..82888e6 100644 --- a/chrome/common/render_messages.h +++ b/chrome/common/render_messages.h @@ -2023,6 +2023,7 @@ struct ParamTraits<WebPreferences> { WriteParam(m, p.experimental_webgl_enabled); WriteParam(m, p.show_composited_layer_borders); WriteParam(m, p.accelerated_compositing_enabled); + WriteParam(m, p.memory_info_enabled); } static bool Read(const Message* m, void** iter, param_type* p) { return @@ -2066,7 +2067,8 @@ struct ParamTraits<WebPreferences> { ReadParam(m, iter, &p->allow_file_access_from_file_urls) && ReadParam(m, iter, &p->experimental_webgl_enabled) && ReadParam(m, iter, &p->show_composited_layer_borders) && - ReadParam(m, iter, &p->accelerated_compositing_enabled); + ReadParam(m, iter, &p->accelerated_compositing_enabled) && + ReadParam(m, iter, &p->memory_info_enabled); } static void Log(const param_type& p, std::wstring* l) { l->append(L"<WebPreferences>"); diff --git a/webkit/glue/webpreferences.cc b/webkit/glue/webpreferences.cc index 7fd6a39..987cef4 100644 --- a/webkit/glue/webpreferences.cc +++ b/webkit/glue/webpreferences.cc @@ -96,6 +96,9 @@ void WebPreferences::Apply(WebView* web_view) const { // Enable gpu-accelerated compositing if requested on the command line. settings->setAcceleratedCompositingEnabled(accelerated_compositing_enabled); + // Enable memory info reporting to page if requested on the command line. + settings->setMemoryInfoEnabled(memory_info_enabled); + for (WebInspectorPreferences::const_iterator it = inspector_settings.begin(); it != inspector_settings.end(); ++it) web_view->setInspectorSetting(WebString::fromUTF8(it->first), diff --git a/webkit/glue/webpreferences.h b/webkit/glue/webpreferences.h index b86a051..3e4f926 100644 --- a/webkit/glue/webpreferences.h +++ b/webkit/glue/webpreferences.h @@ -65,6 +65,7 @@ struct WebPreferences { bool show_composited_layer_borders; bool accelerated_compositing_enabled; bool enable_html5_parser; + bool memory_info_enabled; // We try to keep the default values the same as the default values in // chrome, except for the cases where it would require lots of extra work for @@ -109,7 +110,8 @@ struct WebPreferences { experimental_webgl_enabled(false), show_composited_layer_borders(false), accelerated_compositing_enabled(false), - enable_html5_parser(true) { + enable_html5_parser(true), + memory_info_enabled(false) { } void Apply(WebKit::WebView* web_view) const; |