From 296d61e24b5a5311f120a767a59ac006176f6f9a Mon Sep 17 00:00:00 2001 From: "fqian@google.com" Date: Fri, 14 Nov 2008 17:29:05 +0000 Subject: Add GCController support to test_shell. This is done in the binding layer, GCController is a JS object, GCController.collect() is a JS function which calls gc(). GCController object can be enabled by calling ScriptController::setShouldExposeGCController(true); GCController.collect() needs V8 expose gc function, which is controlled by a flag '--expose-gc'. Otherwise GCController.collect() has no effect. By default, test_shell exposes both gc function and GCController object. Review URL: http://codereview.chromium.org/10719 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5482 0039d316-1c4b-4281-b951-d872f2087c98 --- webkit/glue/webkit_glue.cc | 7 +++++++ webkit/glue/webkit_glue.h | 1 + 2 files changed, 8 insertions(+) (limited to 'webkit/glue') diff --git a/webkit/glue/webkit_glue.cc b/webkit/glue/webkit_glue.cc index a1e7272..335c3b0 100644 --- a/webkit/glue/webkit_glue.cc +++ b/webkit/glue/webkit_glue.cc @@ -64,6 +64,13 @@ void SetRecordPlaybackMode(bool value) { #endif } + +void SetShouldExposeGCController(bool enable) { +#if USE(V8) + WebCore::ScriptController::setShouldExposeGCController(enable); +#endif +} + static bool layout_test_mode_ = false; void SetLayoutTestMode(bool enable) { diff --git a/webkit/glue/webkit_glue.h b/webkit/glue/webkit_glue.h index ccc3e06..6c685a8 100644 --- a/webkit/glue/webkit_glue.h +++ b/webkit/glue/webkit_glue.h @@ -57,6 +57,7 @@ namespace webkit_glue { // Functions implemented by JS engines. void SetJavaScriptFlags(const std::wstring& flags); void SetRecordPlaybackMode(bool value); +void SetShouldExposeGCController(bool enable); //----------------------------------------------------------------------------- // Functions implemented by WebKit, called by the embedder: -- cgit v1.1