OLD | NEW |
| (Empty) |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // The IntervalExtension is a v8 extension to implement a simple interval | |
6 // class for measuring microsecond intervals. | |
7 | |
8 #ifndef PLAYBACK_EXTENSION_H__ | |
9 #define PLAYBACK_EXTENSION_H__ | |
10 | |
11 #include "v8.h" | |
12 | |
13 namespace WebCore { | |
14 | |
15 // Inject code which overrides a few common JS functions for implementing | |
16 // randomness. In order to implement effective record & playback of | |
17 // websites, it is important that the URLs not change. Many popular web | |
18 // based apps use randomness in URLs to unique-ify urls for proxies. | |
19 // Unfortunately, this breaks playback. | |
20 // To work around this, we take the two most common client-side randomness | |
21 // generators and make them constant. They really need to be constant | |
22 // (rather than a constant seed followed by constant change) | |
23 // because the playback mode wants flexibility in how it plays them back | |
24 // and cannot always guarantee that requests for randomness are played back | |
25 // in exactly the same order in which they were recorded. | |
26 class PlaybackExtension { | |
27 public: | |
28 static v8::Extension* Get(); | |
29 }; | |
30 | |
31 } | |
32 | |
33 #endif // PLAYBACK_EXTENSION_H__ | |
34 | |
OLD | NEW |