| Index: webkit/tools/test_shell/test_shell_main.cc
|
| ===================================================================
|
| --- webkit/tools/test_shell/test_shell_main.cc (revision 10914)
|
| +++ webkit/tools/test_shell/test_shell_main.cc (working copy)
|
| @@ -27,6 +27,8 @@
|
| #include "net/url_request/url_request_context.h"
|
| #include "webkit/glue/webkit_glue.h"
|
| #include "webkit/glue/window_open_disposition.h"
|
| +#include "webkit/extensions/v8/gc_extension.h"
|
| +#include "webkit/extensions/v8/playback_extension.h"
|
| #include "webkit/tools/test_shell/simple_resource_loader_bridge.h"
|
| #include "webkit/tools/test_shell/test_shell.h"
|
| #include "webkit/tools/test_shell/test_shell_platform_delegate.h"
|
| @@ -100,6 +102,12 @@
|
| base::TraceLog::StartTracing();
|
|
|
| net::HttpCache::Mode cache_mode = net::HttpCache::NORMAL;
|
| +
|
| + // This is a special mode where JS helps the browser implement
|
| + // playback/record mode. Generally, in this mode, some functions
|
| + // of client-side randomness are removed. For example, in
|
| + // this mode Math.random() and Date.getTime() may not return
|
| + // values which vary.
|
| bool playback_mode =
|
| parsed_command_line.HasSwitch(test_shell::kPlaybackMode);
|
| bool record_mode =
|
| @@ -178,8 +186,8 @@
|
| // Test shell always exposes the GC.
|
| js_flags += L" --expose-gc";
|
| webkit_glue::SetJavaScriptFlags(js_flags);
|
| - // Also expose GCController to JavaScript.
|
| - webkit_glue::SetShouldExposeGCController(true);
|
| + // Expose GCController to JavaScript.
|
| + WebKit::registerExtension(extensions_v8::GCExtension::Get());
|
|
|
| // Load and initialize the stats table. Attempt to construct a somewhat
|
| // unique name to isolate separate instances from each other.
|
| @@ -195,8 +203,7 @@
|
| if (TestShell::CreateNewWindow(uri, &shell)) {
|
| if (record_mode || playback_mode) {
|
| platform.SetWindowPositionForRecording(shell);
|
| - // Tell webkit as well.
|
| - webkit_glue::SetRecordPlaybackMode(true);
|
| + WebKit::registerExtension(extensions_v8::PlaybackExtension::Get());
|
| }
|
|
|
| shell->Show(shell->webView(), NEW_WINDOW);
|
|
|