Changeset 209498 in webkit


Ignore:
Timestamp:
Dec 7, 2016 4:44:19 PM (7 years ago)
Author:
Keith Rollin
Message:

Network event record/replay
https://bugs.webkit.org/show_bug.cgi?id=164527
<rdar://problem/29168157>

Reviewed by Alex Christensen.

Source/WebCore:

Export parseURLEncodedForm.

No new tests -- no functionality added, changed, or removed.

  • platform/URLParser.h:

Source/WebKit2:

Add WebKit2/NetworkProcess/capture/* for recording the network events
that occur when loading a page and for replaying them later. Update
NetworkLoad to invoke capture facilities. Add preferences for enabling
record or replay.

  • CMakeLists.txt:
  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::initializeForRecord):
(WebKit::NetworkLoad::initializeForReplay):
(WebKit::NetworkLoad::initialize):
(WebKit::NetworkLoad::setDefersLoading):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::sharedWillSendRedirectedRequest):
(WebKit::NetworkLoad::notifyDidReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
(WebKit::NetworkLoad::didCompleteWithError):

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::terminate):

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/capture/NetworkCaptureEvent.cpp: Added.

(WebKit::NetworkCapture::copyHeaders):
(WebKit::NetworkCapture::KeyValuePair::KeyValuePair):
(WebKit::NetworkCapture::ResourceRequest::ResourceRequest):
(WebKit::NetworkCapture::ResourceRequest::operator WebCore::ResourceRequest):
(WebKit::NetworkCapture::ResourceResponse::ResourceResponse):
(WebKit::NetworkCapture::ResourceResponse::operator WebCore::ResourceResponse):
(WebKit::NetworkCapture::ResourceError::ResourceError):
(WebKit::NetworkCapture::ResourceError::operator WebCore::ResourceError):
(WebKit::NetworkCapture::JSONCoder::encode):
(WebKit::NetworkCapture::JSONCoder::decode):
(WebKit::NetworkCapture::JSONCoder<String>::encode):
(WebKit::NetworkCapture::JSONCoder<String>::decode):
(WebKit::NetworkCapture::JSONCoder<CaptureTimeType>::encode):
(WebKit::NetworkCapture::JSONCoder<CaptureTimeType>::decode):
(WebKit::NetworkCapture::JSONCoder<KeyValuePair>::encode):
(WebKit::NetworkCapture::JSONCoder<KeyValuePair>::decode):
(WebKit::NetworkCapture::JSONCoder<Vector<T>>::encode):
(WebKit::NetworkCapture::JSONCoder<Vector<T>>::decode):
(WebKit::NetworkCapture::JSONCoder<ResourceRequest>::encode):
(WebKit::NetworkCapture::JSONCoder<ResourceRequest>::decode):
(WebKit::NetworkCapture::JSONCoder<ResourceResponse>::encode):
(WebKit::NetworkCapture::JSONCoder<ResourceResponse>::decode):
(WebKit::NetworkCapture::JSONCoder<ResourceError>::encode):
(WebKit::NetworkCapture::JSONCoder<ResourceError>::decode):
(WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::encode):
(WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::decode):
(WebKit::NetworkCapture::JSONCoder<RequestSentEvent>::encode):
(WebKit::NetworkCapture::JSONCoder<RequestSentEvent>::decode):
(WebKit::NetworkCapture::JSONCoder<ResponseReceivedEvent>::encode):
(WebKit::NetworkCapture::JSONCoder<ResponseReceivedEvent>::decode):
(WebKit::NetworkCapture::JSONCoder<RedirectReceivedEvent>::encode):
(WebKit::NetworkCapture::JSONCoder<RedirectReceivedEvent>::decode):
(WebKit::NetworkCapture::JSONCoder<RedirectSentEvent>::encode):
(WebKit::NetworkCapture::JSONCoder<RedirectSentEvent>::decode):
(WebKit::NetworkCapture::JSONCoder<DataReceivedEvent>::encode):
(WebKit::NetworkCapture::JSONCoder<DataReceivedEvent>::decode):
(WebKit::NetworkCapture::JSONCoder<FinishedEvent>::encode):
(WebKit::NetworkCapture::JSONCoder<FinishedEvent>::decode):
(WebKit::NetworkCapture::eventToString):
(WebKit::NetworkCapture::stringToEvent):

  • NetworkProcess/capture/NetworkCaptureEvent.h: Added.

(WebKit::NetworkCapture::TimedEvent::TimedEvent):

  • NetworkProcess/capture/NetworkCaptureLogging.h: Added.
  • NetworkProcess/capture/NetworkCaptureManager.cpp: Added.

(WebKit::NetworkCapture::Manager::singleton):
(WebKit::NetworkCapture::Manager::initialize):
(WebKit::NetworkCapture::Manager::terminate):
(WebKit::NetworkCapture::Manager::findMatch):
(WebKit::NetworkCapture::Manager::findExactMatch):
(WebKit::NetworkCapture::Manager::findBestFuzzyMatch):
(WebKit::NetworkCapture::Manager::fuzzyMatchURLs):
(WebKit::NetworkCapture::Manager::loadResources):
(WebKit::NetworkCapture::Manager::reportLoadPath):
(WebKit::NetworkCapture::Manager::reportRecordPath):
(WebKit::NetworkCapture::Manager::reportReplayPath):
(WebKit::NetworkCapture::Manager::requestToPath):
(WebKit::NetworkCapture::Manager::stringToHash):
(WebKit::NetworkCapture::Manager::hashToPath):
(WebKit::NetworkCapture::Manager::logRecordedResource):
(WebKit::NetworkCapture::Manager::logLoadedResource):
(WebKit::NetworkCapture::Manager::logPlayedBackResource):
(WebKit::NetworkCapture::Manager::ensureFileHandle):
(WebKit::NetworkCapture::Manager::openCacheFile):
(WebKit::NetworkCapture::Manager::readFile):
(WebKit::NetworkCapture::Manager::getLine):
(WebKit::NetworkCapture::Manager::getWord):
(WebKit::NetworkCapture::Manager::printToFile):

  • NetworkProcess/capture/NetworkCaptureManager.h: Added.

(WebKit::NetworkCapture::Manager::isRecording):
(WebKit::NetworkCapture::Manager::isReplaying):
(WebKit::NetworkCapture::Manager::mode):

  • NetworkProcess/capture/NetworkCaptureRecorder.cpp: Added.

(WebKit::NetworkCapture::Recorder::recordRequestSent):
(WebKit::NetworkCapture::Recorder::recordResponseReceived):
(WebKit::NetworkCapture::Recorder::recordRedirectReceived):
(WebKit::NetworkCapture::Recorder::recordRedirectSent):
(WebKit::NetworkCapture::Recorder::recordDataReceived):
(WebKit::NetworkCapture::Recorder::recordFinish):
(WebKit::NetworkCapture::Recorder::writeEvents):

  • NetworkProcess/capture/NetworkCaptureRecorder.h: Added.

(WebKit::NetworkCapture::Recorder::recordEvent):

  • NetworkProcess/capture/NetworkCaptureReplayer.cpp: Added.

(WebKit::NetworkCapture::Replayer::replayResource):

  • NetworkProcess/capture/NetworkCaptureReplayer.h: Added.
  • NetworkProcess/capture/NetworkCaptureResource.cpp: Added.

(WebKit::NetworkCapture::Resource::Resource):
(WebKit::NetworkCapture::Resource::url):
(WebKit::NetworkCapture::Resource::baseURL):
(WebKit::NetworkCapture::Resource::queryParameters):
(WebKit::NetworkCapture::Resource::eventStream):
(WebKit::NetworkCapture::Resource::EventStream::EventStream):
(WebKit::NetworkCapture::Resource::EventStream::nextEvent):

  • NetworkProcess/capture/NetworkCaptureResource.h: Added.
  • NetworkProcess/capture/NetworkCaptureTypes.h: Added.

(WebKit::NetworkCapture::TypeHolder::forEachTypeImpl):
(WebKit::NetworkCapture::TypeHolder::forEachType):

  • NetworkProcess/capture/NetworkDataTaskReplay.cpp: Added.

(WebKit::NetworkCapture::NetworkDataTaskReplay::NetworkDataTaskReplay):
(WebKit::NetworkCapture::NetworkDataTaskReplay::~NetworkDataTaskReplay):
(WebKit::NetworkCapture::NetworkDataTaskReplay::resume):
(WebKit::NetworkCapture::NetworkDataTaskReplay::suspend):
(WebKit::NetworkCapture::NetworkDataTaskReplay::cancel):
(WebKit::NetworkCapture::NetworkDataTaskReplay::complete):
(WebKit::NetworkCapture::NetworkDataTaskReplay::invalidateAndCancel):
(WebKit::NetworkCapture::NetworkDataTaskReplay::enqueueEventHandler):
(WebKit::NetworkCapture::NetworkDataTaskReplay::replayRequestSent):
(WebKit::NetworkCapture::NetworkDataTaskReplay::replayResponseReceived):
(WebKit::NetworkCapture::NetworkDataTaskReplay::replayRedirectReceived):
(WebKit::NetworkCapture::NetworkDataTaskReplay::replayRedirectSent):
(WebKit::NetworkCapture::NetworkDataTaskReplay::replayDataReceived):
(WebKit::NetworkCapture::NetworkDataTaskReplay::replayFinished):
(WebKit::NetworkCapture::NetworkDataTaskReplay::didReceiveResponse):
(WebKit::NetworkCapture::NetworkDataTaskReplay::didFinish):

  • NetworkProcess/capture/NetworkDataTaskReplay.h: Added.

(WebKit::NetworkCapture::NetworkDataTaskReplay::create):

  • NetworkProcess/capture/json.hpp: Added.
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • WebKit2.xcodeproj/project.pbxproj:
  • config.h:
Location:
trunk/Source
Files:
16 added
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r209495 r209498  
     12016-12-07  Keith Rollin  <krollin@apple.com>
     2
     3        Network event record/replay
     4        https://bugs.webkit.org/show_bug.cgi?id=164527
     5        <rdar://problem/29168157>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Export parseURLEncodedForm.
     10
     11        No new tests -- no functionality added, changed, or removed.
     12
     13        * platform/URLParser.h:
     14
    1152016-12-07  Dave Hyatt  <hyatt@apple.com>
    216
  • trunk/Source/WebCore/platform/URLParser.h

    r208985 r209498  
    4848   
    4949    typedef Vector<std::pair<String, String>> URLEncodedForm;
    50     static URLEncodedForm parseURLEncodedForm(StringView);
     50    WEBCORE_EXPORT static URLEncodedForm parseURLEncodedForm(StringView);
    5151    static String serialize(const URLEncodedForm&);
    5252
  • trunk/Source/WebKit2/CMakeLists.txt

    r209449 r209498  
    209209    NetworkProcess/cache/NetworkCacheStatistics.cpp
    210210    NetworkProcess/cache/NetworkCacheStorage.cpp
     211
     212    NetworkProcess/capture/NetworkCaptureEvent.cpp
     213    NetworkProcess/capture/NetworkCaptureManager.cpp
     214    NetworkProcess/capture/NetworkCaptureRecorder.cpp
     215    NetworkProcess/capture/NetworkCaptureReplayer.cpp
     216    NetworkProcess/capture/NetworkCaptureResource.cpp
     217    NetworkProcess/capture/NetworkDataTaskReplay.cpp
    211218)
    212219
  • trunk/Source/WebKit2/ChangeLog

    r209485 r209498  
     12016-12-07  Keith Rollin  <krollin@apple.com>
     2
     3        Network event record/replay
     4        https://bugs.webkit.org/show_bug.cgi?id=164527
     5        <rdar://problem/29168157>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Add WebKit2/NetworkProcess/capture/* for recording the network events
     10        that occur when loading a page and for replaying them later. Update
     11        NetworkLoad to invoke capture facilities. Add preferences for enabling
     12        record or replay.
     13
     14        * CMakeLists.txt:
     15        * NetworkProcess/NetworkLoad.cpp:
     16        (WebKit::NetworkLoad::NetworkLoad):
     17        (WebKit::NetworkLoad::initializeForRecord):
     18        (WebKit::NetworkLoad::initializeForReplay):
     19        (WebKit::NetworkLoad::initialize):
     20        (WebKit::NetworkLoad::setDefersLoading):
     21        (WebKit::NetworkLoad::continueWillSendRequest):
     22        (WebKit::NetworkLoad::sharedWillSendRedirectedRequest):
     23        (WebKit::NetworkLoad::notifyDidReceiveResponse):
     24        (WebKit::NetworkLoad::didReceiveData):
     25        (WebKit::NetworkLoad::didCompleteWithError):
     26        * NetworkProcess/NetworkLoad.h:
     27        * NetworkProcess/NetworkProcess.cpp:
     28        (WebKit::NetworkProcess::initializeNetworkProcess):
     29        (WebKit::NetworkProcess::terminate):
     30        * NetworkProcess/NetworkProcessCreationParameters.cpp:
     31        (WebKit::NetworkProcessCreationParameters::encode):
     32        (WebKit::NetworkProcessCreationParameters::decode):
     33        * NetworkProcess/NetworkProcessCreationParameters.h:
     34        * NetworkProcess/capture/NetworkCaptureEvent.cpp: Added.
     35        (WebKit::NetworkCapture::copyHeaders):
     36        (WebKit::NetworkCapture::KeyValuePair::KeyValuePair):
     37        (WebKit::NetworkCapture::ResourceRequest::ResourceRequest):
     38        (WebKit::NetworkCapture::ResourceRequest::operator WebCore::ResourceRequest):
     39        (WebKit::NetworkCapture::ResourceResponse::ResourceResponse):
     40        (WebKit::NetworkCapture::ResourceResponse::operator WebCore::ResourceResponse):
     41        (WebKit::NetworkCapture::ResourceError::ResourceError):
     42        (WebKit::NetworkCapture::ResourceError::operator WebCore::ResourceError):
     43        (WebKit::NetworkCapture::JSONCoder::encode):
     44        (WebKit::NetworkCapture::JSONCoder::decode):
     45        (WebKit::NetworkCapture::JSONCoder<String>::encode):
     46        (WebKit::NetworkCapture::JSONCoder<String>::decode):
     47        (WebKit::NetworkCapture::JSONCoder<CaptureTimeType>::encode):
     48        (WebKit::NetworkCapture::JSONCoder<CaptureTimeType>::decode):
     49        (WebKit::NetworkCapture::JSONCoder<KeyValuePair>::encode):
     50        (WebKit::NetworkCapture::JSONCoder<KeyValuePair>::decode):
     51        (WebKit::NetworkCapture::JSONCoder<Vector<T>>::encode):
     52        (WebKit::NetworkCapture::JSONCoder<Vector<T>>::decode):
     53        (WebKit::NetworkCapture::JSONCoder<ResourceRequest>::encode):
     54        (WebKit::NetworkCapture::JSONCoder<ResourceRequest>::decode):
     55        (WebKit::NetworkCapture::JSONCoder<ResourceResponse>::encode):
     56        (WebKit::NetworkCapture::JSONCoder<ResourceResponse>::decode):
     57        (WebKit::NetworkCapture::JSONCoder<ResourceError>::encode):
     58        (WebKit::NetworkCapture::JSONCoder<ResourceError>::decode):
     59        (WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::encode):
     60        (WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::decode):
     61        (WebKit::NetworkCapture::JSONCoder<RequestSentEvent>::encode):
     62        (WebKit::NetworkCapture::JSONCoder<RequestSentEvent>::decode):
     63        (WebKit::NetworkCapture::JSONCoder<ResponseReceivedEvent>::encode):
     64        (WebKit::NetworkCapture::JSONCoder<ResponseReceivedEvent>::decode):
     65        (WebKit::NetworkCapture::JSONCoder<RedirectReceivedEvent>::encode):
     66        (WebKit::NetworkCapture::JSONCoder<RedirectReceivedEvent>::decode):
     67        (WebKit::NetworkCapture::JSONCoder<RedirectSentEvent>::encode):
     68        (WebKit::NetworkCapture::JSONCoder<RedirectSentEvent>::decode):
     69        (WebKit::NetworkCapture::JSONCoder<DataReceivedEvent>::encode):
     70        (WebKit::NetworkCapture::JSONCoder<DataReceivedEvent>::decode):
     71        (WebKit::NetworkCapture::JSONCoder<FinishedEvent>::encode):
     72        (WebKit::NetworkCapture::JSONCoder<FinishedEvent>::decode):
     73        (WebKit::NetworkCapture::eventToString):
     74        (WebKit::NetworkCapture::stringToEvent):
     75        * NetworkProcess/capture/NetworkCaptureEvent.h: Added.
     76        (WebKit::NetworkCapture::TimedEvent::TimedEvent):
     77        * NetworkProcess/capture/NetworkCaptureLogging.h: Added.
     78        * NetworkProcess/capture/NetworkCaptureManager.cpp: Added.
     79        (WebKit::NetworkCapture::Manager::singleton):
     80        (WebKit::NetworkCapture::Manager::initialize):
     81        (WebKit::NetworkCapture::Manager::terminate):
     82        (WebKit::NetworkCapture::Manager::findMatch):
     83        (WebKit::NetworkCapture::Manager::findExactMatch):
     84        (WebKit::NetworkCapture::Manager::findBestFuzzyMatch):
     85        (WebKit::NetworkCapture::Manager::fuzzyMatchURLs):
     86        (WebKit::NetworkCapture::Manager::loadResources):
     87        (WebKit::NetworkCapture::Manager::reportLoadPath):
     88        (WebKit::NetworkCapture::Manager::reportRecordPath):
     89        (WebKit::NetworkCapture::Manager::reportReplayPath):
     90        (WebKit::NetworkCapture::Manager::requestToPath):
     91        (WebKit::NetworkCapture::Manager::stringToHash):
     92        (WebKit::NetworkCapture::Manager::hashToPath):
     93        (WebKit::NetworkCapture::Manager::logRecordedResource):
     94        (WebKit::NetworkCapture::Manager::logLoadedResource):
     95        (WebKit::NetworkCapture::Manager::logPlayedBackResource):
     96        (WebKit::NetworkCapture::Manager::ensureFileHandle):
     97        (WebKit::NetworkCapture::Manager::openCacheFile):
     98        (WebKit::NetworkCapture::Manager::readFile):
     99        (WebKit::NetworkCapture::Manager::getLine):
     100        (WebKit::NetworkCapture::Manager::getWord):
     101        (WebKit::NetworkCapture::Manager::printToFile):
     102        * NetworkProcess/capture/NetworkCaptureManager.h: Added.
     103        (WebKit::NetworkCapture::Manager::isRecording):
     104        (WebKit::NetworkCapture::Manager::isReplaying):
     105        (WebKit::NetworkCapture::Manager::mode):
     106        * NetworkProcess/capture/NetworkCaptureRecorder.cpp: Added.
     107        (WebKit::NetworkCapture::Recorder::recordRequestSent):
     108        (WebKit::NetworkCapture::Recorder::recordResponseReceived):
     109        (WebKit::NetworkCapture::Recorder::recordRedirectReceived):
     110        (WebKit::NetworkCapture::Recorder::recordRedirectSent):
     111        (WebKit::NetworkCapture::Recorder::recordDataReceived):
     112        (WebKit::NetworkCapture::Recorder::recordFinish):
     113        (WebKit::NetworkCapture::Recorder::writeEvents):
     114        * NetworkProcess/capture/NetworkCaptureRecorder.h: Added.
     115        (WebKit::NetworkCapture::Recorder::recordEvent):
     116        * NetworkProcess/capture/NetworkCaptureReplayer.cpp: Added.
     117        (WebKit::NetworkCapture::Replayer::replayResource):
     118        * NetworkProcess/capture/NetworkCaptureReplayer.h: Added.
     119        * NetworkProcess/capture/NetworkCaptureResource.cpp: Added.
     120        (WebKit::NetworkCapture::Resource::Resource):
     121        (WebKit::NetworkCapture::Resource::url):
     122        (WebKit::NetworkCapture::Resource::baseURL):
     123        (WebKit::NetworkCapture::Resource::queryParameters):
     124        (WebKit::NetworkCapture::Resource::eventStream):
     125        (WebKit::NetworkCapture::Resource::EventStream::EventStream):
     126        (WebKit::NetworkCapture::Resource::EventStream::nextEvent):
     127        * NetworkProcess/capture/NetworkCaptureResource.h: Added.
     128        * NetworkProcess/capture/NetworkCaptureTypes.h: Added.
     129        (WebKit::NetworkCapture::TypeHolder::forEachTypeImpl):
     130        (WebKit::NetworkCapture::TypeHolder::forEachType):
     131        * NetworkProcess/capture/NetworkDataTaskReplay.cpp: Added.
     132        (WebKit::NetworkCapture::NetworkDataTaskReplay::NetworkDataTaskReplay):
     133        (WebKit::NetworkCapture::NetworkDataTaskReplay::~NetworkDataTaskReplay):
     134        (WebKit::NetworkCapture::NetworkDataTaskReplay::resume):
     135        (WebKit::NetworkCapture::NetworkDataTaskReplay::suspend):
     136        (WebKit::NetworkCapture::NetworkDataTaskReplay::cancel):
     137        (WebKit::NetworkCapture::NetworkDataTaskReplay::complete):
     138        (WebKit::NetworkCapture::NetworkDataTaskReplay::invalidateAndCancel):
     139        (WebKit::NetworkCapture::NetworkDataTaskReplay::enqueueEventHandler):
     140        (WebKit::NetworkCapture::NetworkDataTaskReplay::replayRequestSent):
     141        (WebKit::NetworkCapture::NetworkDataTaskReplay::replayResponseReceived):
     142        (WebKit::NetworkCapture::NetworkDataTaskReplay::replayRedirectReceived):
     143        (WebKit::NetworkCapture::NetworkDataTaskReplay::replayRedirectSent):
     144        (WebKit::NetworkCapture::NetworkDataTaskReplay::replayDataReceived):
     145        (WebKit::NetworkCapture::NetworkDataTaskReplay::replayFinished):
     146        (WebKit::NetworkCapture::NetworkDataTaskReplay::didReceiveResponse):
     147        (WebKit::NetworkCapture::NetworkDataTaskReplay::didFinish):
     148        * NetworkProcess/capture/NetworkDataTaskReplay.h: Added.
     149        (WebKit::NetworkCapture::NetworkDataTaskReplay::create):
     150        * NetworkProcess/capture/json.hpp: Added.
     151        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     152        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
     153        * WebKit2.xcodeproj/project.pbxproj:
     154        * config.h:
     155
    11562016-12-07  Anders Carlsson  <andersca@apple.com>
    2157
  • trunk/Source/WebKit2/NetworkProcess/NetworkLoad.cpp

    r208522 r209498  
    4444#endif
    4545
     46#if ENABLE(NETWORK_CAPTURE)
     47#include "NetworkCaptureManager.h"
     48#endif
     49
    4650namespace WebKit {
    4751
     
    6872    , m_currentRequest(m_parameters.request)
    6973{
     74#if ENABLE(NETWORK_CAPTURE)
     75    switch (NetworkCapture::Manager::singleton().mode()) {
     76    case NetworkCapture::Manager::RecordReplayMode::Record:
     77        initializeForRecord(networkSession);
     78        break;
     79    case NetworkCapture::Manager::RecordReplayMode::Replay:
     80        initializeForReplay(networkSession);
     81        break;
     82    case NetworkCapture::Manager::RecordReplayMode::Disabled:
     83        initialize(networkSession);
     84        break;
     85    }
     86#else
     87    initialize(networkSession);
     88#endif
     89}
     90
     91#if ENABLE(NETWORK_CAPTURE)
     92void NetworkLoad::initializeForRecord(NetworkSession& networkSession)
     93{
     94    m_recorder = std::make_unique<NetworkCapture::Recorder>();
     95    m_task = NetworkDataTask::create(networkSession, *this, m_parameters);
     96    if (!m_parameters.defersLoading) {
     97        m_task->resume();
     98        m_recorder->recordRequestSent(m_parameters.request);
     99    }
     100}
     101
     102void NetworkLoad::initializeForReplay(NetworkSession& networkSession)
     103{
     104    m_replayer = std::make_unique<NetworkCapture::Replayer>();
     105    m_task = m_replayer->replayResource(networkSession, *this, m_parameters);
     106    if (!m_parameters.defersLoading)
     107        m_task->resume();
     108}
     109#endif
     110
     111void NetworkLoad::initialize(NetworkSession& networkSession)
     112{
    70113    m_task = NetworkDataTask::create(networkSession, *this, m_parameters);
    71114    if (!m_parameters.defersLoading)
     
    114157        if (defers)
    115158            m_task->suspend();
    116         else
     159        else {
    117160            m_task->resume();
     161#if ENABLE(NETWORK_CAPTURE)
     162            if (m_recorder)
     163                m_recorder->recordRequestSent(m_parameters.request);
     164#endif
     165        }
    118166    }
    119167#else
     
    141189    // FIXME: Implement ResourceRequest::updateFromDelegatePreservingOldProperties. See https://bugs.webkit.org/show_bug.cgi?id=126127.
    142190    m_currentRequest.updateFromDelegatePreservingOldProperties(newRequest);
     191#endif
     192
     193#if ENABLE(NETWORK_CAPTURE)
     194    if (m_recorder)
     195        m_recorder->recordRedirectSent(newRequest);
    143196#endif
    144197
     
    194247    ASSERT(!redirectResponse.isNull());
    195248    ASSERT(RunLoop::isMain());
     249
     250#if ENABLE(NETWORK_CAPTURE)
     251    if (m_recorder)
     252        m_recorder->recordRedirectReceived(request, redirectResponse);
     253#endif
    196254
    197255    auto oldRequest = WTFMove(m_currentRequest);
     
    325383    ASSERT(isMainThread());
    326384
     385#if ENABLE(NETWORK_CAPTURE)
     386    if (m_recorder)
     387        m_recorder->recordResponseReceived(response);
     388#endif
     389
    327390    if (sharedDidReceiveResponse(WTFMove(response)) == NetworkLoadClient::ShouldContinueDidReceiveResponse::No) {
    328391        m_responseCompletionHandler = WTFMove(completionHandler);
     
    335398{
    336399    ASSERT(!m_throttle);
     400
     401#if ENABLE(NETWORK_CAPTURE)
     402    if (m_recorder)
     403        m_recorder->recordDataReceived(buffer.get());
     404#endif
    337405
    338406    // FIXME: This should be the encoded data length, not the decoded data length.
     
    344412{
    345413    ASSERT(!m_throttle);
     414
     415#if ENABLE(NETWORK_CAPTURE)
     416    if (m_recorder)
     417        m_recorder->recordFinish(error);
     418#endif
    346419
    347420    if (error.isNull())
  • trunk/Source/WebKit2/NetworkProcess/NetworkLoad.h

    r208985 r209498  
    3737#include "NetworkDataTask.h"
    3838#include <WebCore/AuthenticationChallenge.h>
     39#endif
     40
     41#if ENABLE(NETWORK_CAPTURE)
     42#include "NetworkCaptureRecorder.h"
     43#include "NetworkCaptureReplayer.h"
    3944#endif
    4045
     
    96101
    97102private:
     103#if USE(NETWORK_SESSION)
     104#if ENABLE(NETWORK_CAPTURE)
     105    void initializeForRecord(NetworkSession&);
     106    void initializeForReplay(NetworkSession&);
     107#endif
     108    void initialize(NetworkSession&);
     109#endif
     110
    98111    NetworkLoadClient::ShouldContinueDidReceiveResponse sharedDidReceiveResponse(WebCore::ResourceResponse&&);
    99112    void sharedWillSendRedirectedRequest(WebCore::ResourceRequest&&, WebCore::ResourceResponse&&);
     
    152165
    153166    WebCore::ResourceRequest m_currentRequest; // Updated on redirects.
     167
     168#if ENABLE(NETWORK_CAPTURE)
     169    std::unique_ptr<NetworkCapture::Recorder> m_recorder;
     170    std::unique_ptr<NetworkCapture::Replayer> m_replayer;
     171#endif
    154172};
    155173
  • trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp

    r208727 r209498  
    7575#endif
    7676
     77#if ENABLE(NETWORK_CAPTURE)
     78#include "NetworkCaptureManager.h"
     79#endif
     80
    7781#if PLATFORM(COCOA)
    7882#include "NetworkSessionCocoa.h"
     
    222226        memoryPressureHandler.install();
    223227    }
     228
     229#if ENABLE(NETWORK_CAPTURE)
     230    NetworkCapture::Manager::singleton().initialize(
     231        parameters.recordReplayMode,
     232        parameters.recordReplayCacheLocation);
     233#endif
    224234
    225235    m_diskCacheIsDisabledForTesting = parameters.shouldUseTestingNetworkSession;
     
    597607void NetworkProcess::terminate()
    598608{
     609#if ENABLE(NETWORK_CAPTURE)
     610    NetworkCapture::Manager::singleton().terminate();
     611#endif
     612
    599613    platformTerminate();
    600614    ChildProcess::terminate();
  • trunk/Source/WebKit2/NetworkProcess/NetworkProcessCreationParameters.cpp

    r207812 r209498  
    9494    encoder << memoryPressureMonitorHandle;
    9595#endif
     96#if ENABLE(NETWORK_CAPTURE)
     97    encoder << recordReplayMode;
     98    encoder << recordReplayCacheLocation;
     99#endif
    96100}
    97101
     
    189193#endif
    190194
     195#if ENABLE(NETWORK_CAPTURE)
     196    if (!decoder.decode(result.recordReplayMode))
     197        return false;
     198    if (!decoder.decode(result.recordReplayCacheLocation))
     199        return false;
     200#endif
     201
    191202    return true;
    192203}
  • trunk/Source/WebKit2/NetworkProcess/NetworkProcessCreationParameters.h

    r207816 r209498  
    107107    IPC::Attachment memoryPressureMonitorHandle;
    108108#endif
     109
     110#if ENABLE(NETWORK_CAPTURE)
     111    String recordReplayMode;
     112    String recordReplayCacheLocation;
     113#endif
    109114};
    110115
  • trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r209212 r209498  
    8888static NSString * const WebKitVariationFontsEnabledDefaultsKey = @"ExperimentalVariationFontsEnabled";
    8989
     90#if ENABLE(NETWORK_CAPTURE)
     91static NSString * const WebKitRecordReplayModeDefaultsKey = @"WebKitRecordReplayMode";
     92static NSString * const WebKitRecordReplayCacheLocationDefaultsKey = @"WebKitRecordReplayCacheLocation";
     93#endif
     94
    9095namespace WebKit {
    9196
     
    285290
    286291    parameters.cookieStoragePartitioningEnabled = cookieStoragePartitioningEnabled();
     292
     293#if ENABLE(NETWORK_CAPTURE)
     294    parameters.recordReplayMode = [defaults stringForKey:WebKitRecordReplayModeDefaultsKey];
     295    parameters.recordReplayCacheLocation = [defaults stringForKey:WebKitRecordReplayCacheLocationDefaultsKey];
     296    if (parameters.recordReplayCacheLocation.isEmpty())
     297        parameters.recordReplayCacheLocation = parameters.diskCacheDirectory;
     298#endif
    287299}
    288300
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r209449 r209498  
    10541054                52D5A1B11C57496200DE34A3 /* WebVideoFullscreenManagerProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52D5A1AC1C57494E00DE34A3 /* WebVideoFullscreenManagerProxy.mm */; };
    10551055                52D5A1B71C574A0200DE34A3 /* WebVideoFullscreenManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52D5A1B41C5749F200DE34A3 /* WebVideoFullscreenManager.mm */; };
     1056                5302583B1DCBBD2200DA89C2 /* NetworkCaptureResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5302582E1DCBBD1D00DA89C2 /* NetworkCaptureResource.cpp */; };
     1057                5302583C1DCBBD2200DA89C2 /* NetworkCaptureResource.h in Headers */ = {isa = PBXBuildFile; fileRef = 5302582F1DCBBD1D00DA89C2 /* NetworkCaptureResource.h */; };
     1058                5302583D1DCBBD2200DA89C2 /* NetworkCaptureEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 530258301DCBBD1D00DA89C2 /* NetworkCaptureEvent.cpp */; };
     1059                5302583E1DCBBD2200DA89C2 /* NetworkCaptureEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 530258311DCBBD1D00DA89C2 /* NetworkCaptureEvent.h */; };
     1060                5302583F1DCBBD2200DA89C2 /* NetworkCaptureLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = 530258321DCBBD1D00DA89C2 /* NetworkCaptureLogging.h */; };
     1061                530258401DCBBD2200DA89C2 /* NetworkCaptureManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 530258331DCBBD1D00DA89C2 /* NetworkCaptureManager.cpp */; };
     1062                530258411DCBBD2200DA89C2 /* NetworkCaptureManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 530258341DCBBD1D00DA89C2 /* NetworkCaptureManager.h */; };
     1063                530258421DCBBD2200DA89C2 /* NetworkCaptureRecorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 530258351DCBBD1D00DA89C2 /* NetworkCaptureRecorder.cpp */; };
     1064                530258431DCBBD2200DA89C2 /* NetworkCaptureRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 530258361DCBBD1D00DA89C2 /* NetworkCaptureRecorder.h */; };
     1065                530258441DCBBD2200DA89C2 /* NetworkCaptureReplayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 530258371DCBBD1D00DA89C2 /* NetworkCaptureReplayer.cpp */; };
     1066                530258451DCBBD2200DA89C2 /* NetworkCaptureReplayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 530258381DCBBD1D00DA89C2 /* NetworkCaptureReplayer.h */; };
     1067                530258461DCBBD2200DA89C2 /* NetworkDataTaskReplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 530258391DCBBD1D00DA89C2 /* NetworkDataTaskReplay.cpp */; };
     1068                530258471DCBBD2200DA89C2 /* NetworkDataTaskReplay.h in Headers */ = {isa = PBXBuildFile; fileRef = 5302583A1DCBBD1D00DA89C2 /* NetworkDataTaskReplay.h */; };
    10561069                532159531DBAE7180054AA3C /* NetworkSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 532159521DBAE6FC0054AA3C /* NetworkSession.cpp */; };
    10571070                532159541DBAE71D0054AA3C /* NetworkDataTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 532159511DBAE6FC0054AA3C /* NetworkDataTask.cpp */; };
     
    10601073                53BA47D01DC2EF5E004DF4AD /* NetworkDataTaskBlob.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 539EB5461DC2EE40009D48CF /* NetworkDataTaskBlob.cpp */; };
    10611074                53BA47D11DC2EF5E004DF4AD /* NetworkDataTaskBlob.h in Headers */ = {isa = PBXBuildFile; fileRef = 539EB5471DC2EE40009D48CF /* NetworkDataTaskBlob.h */; };
     1075                53DEA3661DDE423100E82648 /* json.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 53DEA3651DDE422E00E82648 /* json.hpp */; };
     1076                53E260651DDA948E00590818 /* NetworkCaptureTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 53E260641DDA948100590818 /* NetworkCaptureTypes.h */; };
    10621077                5C052F261C6D3BD30076E919 /* AuthenticationManagerCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C052F241C6D3AB60076E919 /* AuthenticationManagerCocoa.mm */; };
    10631078                5C1426EC1C23F80900D41183 /* NetworkProcessCreationParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C1426E21C23F80500D41183 /* NetworkProcessCreationParameters.cpp */; };
     
    31623177                52D5A1B31C5749F200DE34A3 /* WebVideoFullscreenManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebVideoFullscreenManager.messages.in; sourceTree = "<group>"; };
    31633178                52D5A1B41C5749F200DE34A3 /* WebVideoFullscreenManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebVideoFullscreenManager.mm; sourceTree = "<group>"; };
     3179                5302582E1DCBBD1D00DA89C2 /* NetworkCaptureResource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkCaptureResource.cpp; path = NetworkProcess/capture/NetworkCaptureResource.cpp; sourceTree = "<group>"; };
     3180                5302582F1DCBBD1D00DA89C2 /* NetworkCaptureResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkCaptureResource.h; path = NetworkProcess/capture/NetworkeCachedResource.h; sourceTree = "<group>"; };
     3181                530258301DCBBD1D00DA89C2 /* NetworkCaptureEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkCaptureEvent.cpp; path = NetworkProcess/capture/NetworkCaptureEvent.cpp; sourceTree = "<group>"; };
     3182                530258311DCBBD1D00DA89C2 /* NetworkCaptureEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkCaptureEvent.h; path = NetworkProcess/capture/NetworkCaptureEvent.h; sourceTree = "<group>"; };
     3183                530258321DCBBD1D00DA89C2 /* NetworkCaptureLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkCaptureLogging.h; path = NetworkProcess/capture/NetworkCaptureLogging.h; sourceTree = "<group>"; };
     3184                530258331DCBBD1D00DA89C2 /* NetworkCaptureManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkCaptureManager.cpp; path = NetworkProcess/capture/NetworkCaptureManager.cpp; sourceTree = "<group>"; };
     3185                530258341DCBBD1D00DA89C2 /* NetworkCaptureManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkCaptureManager.h; path = NetworkProcess/capture/NetworkCaptureManager.h; sourceTree = "<group>"; };
     3186                530258351DCBBD1D00DA89C2 /* NetworkCaptureRecorder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkCaptureRecorder.cpp; path = NetworkProcess/capture/NetworkCaptureRecorder.cpp; sourceTree = "<group>"; };
     3187                530258361DCBBD1D00DA89C2 /* NetworkCaptureRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkCaptureRecorder.h; path = NetworkProcess/capture/NetworkCaptureRecorder.h; sourceTree = "<group>"; };
     3188                530258371DCBBD1D00DA89C2 /* NetworkCaptureReplayer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkCaptureReplayer.cpp; path = NetworkProcess/capture/NetworkCaptureReplayer.cpp; sourceTree = "<group>"; };
     3189                530258381DCBBD1D00DA89C2 /* NetworkCaptureReplayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkCaptureReplayer.h; path = NetworkProcess/capture/NetworkCaptureReplayer.h; sourceTree = "<group>"; };
     3190                530258391DCBBD1D00DA89C2 /* NetworkDataTaskReplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkDataTaskReplay.cpp; path = NetworkProcess/capture/NetworkDataTaskReplay.cpp; sourceTree = "<group>"; };
     3191                5302583A1DCBBD1D00DA89C2 /* NetworkDataTaskReplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkDataTaskReplay.h; path = NetworkProcess/capture/NetworkDataTaskReplay.h; sourceTree = "<group>"; };
    31643192                5321594F1DBAE6D70054AA3C /* NetworkDataTaskCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkDataTaskCocoa.h; path = NetworkProcess/cocoa/NetworkDataTaskCocoa.h; sourceTree = "<group>"; };
    31653193                532159501DBAE6D70054AA3C /* NetworkSessionCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkSessionCocoa.h; path = NetworkProcess/cocoa/NetworkSessionCocoa.h; sourceTree = "<group>"; };
     
    31683196                539EB5461DC2EE40009D48CF /* NetworkDataTaskBlob.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkDataTaskBlob.cpp; path = NetworkProcess/NetworkDataTaskBlob.cpp; sourceTree = "<group>"; };
    31693197                539EB5471DC2EE40009D48CF /* NetworkDataTaskBlob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkDataTaskBlob.h; path = NetworkProcess/NetworkDataTaskBlob.h; sourceTree = "<group>"; };
     3198                53DEA3651DDE422E00E82648 /* json.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = json.hpp; path = NetworkProcess/capture/json.hpp; sourceTree = "<group>"; };
     3199                53E260641DDA948100590818 /* NetworkCaptureTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkCaptureTypes.h; path = NetworkProcess/capture/NetworkCaptureTypes.h; sourceTree = "<group>"; };
    31703200                579D18B71CCFE34B00B1974C /* PhotosSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PhotosSPI.h; sourceTree = "<group>"; };
    31713201                5C052F241C6D3AB60076E919 /* AuthenticationManagerCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AuthenticationManagerCocoa.mm; path = Authentication/cocoa/AuthenticationManagerCocoa.mm; sourceTree = "<group>"; };
     
    55045534                        children = (
    55055535                                E489D2821A0A2BE80078C06A /* cache */,
     5536                                539BD5B21DADB0BA00F2E4E1 /* capture */,
    55065537                                7EC4F0F818E4A922008056AF /* cocoa */,
    55075538                                5C1426F21C23F82D00D41183 /* CustomProtocols */,
     
    58125843                        );
    58135844                        name = IconDatabase;
     5845                        sourceTree = "<group>";
     5846                };
     5847                539BD5B21DADB0BA00F2E4E1 /* capture */ = {
     5848                        isa = PBXGroup;
     5849                        children = (
     5850                                53DEA3651DDE422E00E82648 /* json.hpp */,
     5851                                5302582E1DCBBD1D00DA89C2 /* NetworkCaptureResource.cpp */,
     5852                                5302582F1DCBBD1D00DA89C2 /* NetworkCaptureResource.h */,
     5853                                530258301DCBBD1D00DA89C2 /* NetworkCaptureEvent.cpp */,
     5854                                530258311DCBBD1D00DA89C2 /* NetworkCaptureEvent.h */,
     5855                                530258321DCBBD1D00DA89C2 /* NetworkCaptureLogging.h */,
     5856                                530258331DCBBD1D00DA89C2 /* NetworkCaptureManager.cpp */,
     5857                                530258341DCBBD1D00DA89C2 /* NetworkCaptureManager.h */,
     5858                                530258351DCBBD1D00DA89C2 /* NetworkCaptureRecorder.cpp */,
     5859                                530258361DCBBD1D00DA89C2 /* NetworkCaptureRecorder.h */,
     5860                                530258371DCBBD1D00DA89C2 /* NetworkCaptureReplayer.cpp */,
     5861                                530258381DCBBD1D00DA89C2 /* NetworkCaptureReplayer.h */,
     5862                                53E260641DDA948100590818 /* NetworkCaptureTypes.h */,
     5863                                530258391DCBBD1D00DA89C2 /* NetworkDataTaskReplay.cpp */,
     5864                                5302583A1DCBBD1D00DA89C2 /* NetworkDataTaskReplay.h */,
     5865                        );
     5866                        name = capture;
    58145867                        sourceTree = "<group>";
    58155868                };
     
    75697622                                373D122318A473010066D9CC /* _WKFrameHandle.h in Headers */,
    75707623                                373D122718A473F60066D9CC /* _WKFrameHandleInternal.h in Headers */,
     7624                                CD78E1191DB7E5AD0014A2DE /* _WKFullscreenDelegate.h in Headers */,
    75717625                                93E6A4EE1BC5DD3900F8A0E7 /* _WKHitTestResult.h in Headers */,
    75727626                                93A88B3B1BC710D900ABA5C2 /* _WKHitTestResultInternal.h in Headers */,
     
    76097663                                1A4A93B71AEB08EA00150E9C /* _WKWebsiteDataStoreInternal.h in Headers */,
    76107664                                A115DC72191D82DA00DA8072 /* _WKWebViewPrintFormatter.h in Headers */,
    7611                                 CD78E1191DB7E5AD0014A2DE /* _WKFullscreenDelegate.h in Headers */,
    76127665                                A19DD3C01D07D16800AC823B /* _WKWebViewPrintFormatterInternal.h in Headers */,
    76137666                                A182D5B51BE6BD250087A7CC /* AccessibilityIOS.h in Headers */,
     
    76297682                                1AC1337218566C7C00F3EC05 /* APIFrameHandle.h in Headers */,
    76307683                                2DF9EEE61A781FB400B6CFBE /* APIFrameInfo.h in Headers */,
     7684                                CD78E1171DB7DC0A0014A2DE /* APIFullscreenClient.h in Headers */,
    76317685                                0F174AA3142A4CB70039250F /* APIGeometry.h in Headers */,
    76327686                                2DABA7761A82B42100EF0F1A /* APIHistoryClient.h in Headers */,
     
    77427796                                1A14F8E21D74C834006CBEC6 /* FrameInfoData.h in Headers */,
    77437797                                1AE00D611831792100087DD7 /* FrameLoadState.h in Headers */,
     7798                                CD78E1151DB7D7ED0014A2DE /* FullscreenClient.h in Headers */,
    77447799                                515BE1B31D5902DD00DD7C68 /* GamepadData.h in Headers */,
    77457800                                BC17753F118BABF0007D9E9A /* GenericCallback.h in Headers */,
     
    78217876                                E4436ECF1A0D040B00EAD204 /* NetworkCacheStorage.h in Headers */,
    78227877                                8310428B1BD6B66F00A715E4 /* NetworkCacheSubresourcesEntry.h in Headers */,
     7878                                5302583C1DCBBD2200DA89C2 /* NetworkCaptureResource.h in Headers */,
     7879                                5302583E1DCBBD2200DA89C2 /* NetworkCaptureEvent.h in Headers */,
     7880                                5302583F1DCBBD2200DA89C2 /* NetworkCaptureLogging.h in Headers */,
     7881                                530258411DCBBD2200DA89C2 /* NetworkCaptureManager.h in Headers */,
     7882                                530258431DCBBD2200DA89C2 /* NetworkCaptureRecorder.h in Headers */,
     7883                                530258451DCBBD2200DA89C2 /* NetworkCaptureReplayer.h in Headers */,
     7884                                53E260651DDA948E00590818 /* NetworkCaptureTypes.h in Headers */,
    78237885                                513A164D1630A9BF005D7D22 /* NetworkConnectionToWebProcess.h in Headers */,
    78247886                                51DD9F2916367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h in Headers */,
    78257887                                5CBC9B8E1C652CA000A8FDCF /* NetworkDataTask.h in Headers */,
     7888                                53BA47D11DC2EF5E004DF4AD /* NetworkDataTaskBlob.h in Headers */,
     7889                                532159561DBAE72D0054AA3C /* NetworkDataTaskCocoa.h in Headers */,
     7890                                530258471DCBBD2200DA89C2 /* NetworkDataTaskReplay.h in Headers */,
    78267891                                839902031BE9A02B000F3653 /* NetworkLoad.h in Headers */,
    78277892                                83D454D71BE9D3C4006C93BD /* NetworkLoadClient.h in Headers */,
     
    78397904                                5C1426F01C23F80900D41183 /* NetworkResourceLoadParameters.h in Headers */,
    78407905                                5C20CBA01BB1ECD800895BB1 /* NetworkSession.h in Headers */,
     7906                                532159551DBAE7290054AA3C /* NetworkSessionCocoa.h in Headers */,
    78417907                                31A2EC5614899C0900810D71 /* NotificationPermissionRequest.h in Headers */,
    78427908                                3131261F148FF82C00BA2A39 /* NotificationPermissionRequestManager.h in Headers */,
     
    78927958                                1A0EC75E124BC7B2007EF4A5 /* PluginProcessProxy.h in Headers */,
    78937959                                1A043B5E124D5E9D00FFBFB5 /* PluginProcessProxyMessages.h in Headers */,
    7894                                 53BA47D11DC2EF5E004DF4AD /* NetworkDataTaskBlob.h in Headers */,
    78957960                                1A043DC1124FF87500FFBFB5 /* PluginProxy.h in Headers */,
    78967961                                1A8EFA711252B84100F7067F /* PluginProxyMessages.h in Headers */,
     
    80148079                                512935D81288D19400A4B695 /* WebContextMenuItem.h in Headers */,
    80158080                                510FBB9B1288C95E00AFFDF4 /* WebContextMenuItemData.h in Headers */,
     8081                                A1EA02401DAC31DB0096021F /* WebContextMenuListenerProxy.h in Headers */,
    80168082                                51ACBB82127A8BAD00D203B9 /* WebContextMenuProxy.h in Headers */,
    80178083                                51ACBBA0127A8F2C00D203B9 /* WebContextMenuProxyMac.h in Headers */,
     
    81028168                                BC7B621512A4219A00D174A4 /* WebPageGroupProxy.h in Headers */,
    81038169                                2D9EA30F1A96CBFF002D2807 /* WebPageInjectedBundleClient.h in Headers */,
    8104                                 A1EA02381DABFF7E0096021F /* WKContextMenuListener.h in Headers */,
    81058170                                C0CE72A11247E71D00BC0EC4 /* WebPageMessages.h in Headers */,
    81068171                                2D5C9D0619C81D8F00B3C5C1 /* WebPageOverlay.h in Headers */,
     
    82288293                                1AB474D8184D43FD0051B622 /* WKBundlePageLoaderClient.h in Headers */,
    82298294                                ED82A7F2128C6FAF004477B3 /* WKBundlePageOverlay.h in Headers */,
    8230                                 532159561DBAE72D0054AA3C /* NetworkDataTaskCocoa.h in Headers */,
    82318295                                1AB474EA184D45130051B622 /* WKBundlePagePolicyClient.h in Headers */,
    82328296                                BC1B419811D41D570011E8DD /* WKBundlePagePrivate.h in Headers */,
     
    82528316                                51A555F6128C6C47009ABCEC /* WKContextMenuItem.h in Headers */,
    82538317                                51A55601128C6D92009ABCEC /* WKContextMenuItemTypes.h in Headers */,
     8318                                A1EA02381DABFF7E0096021F /* WKContextMenuListener.h in Headers */,
    82548319                                BCC938E11180DE440085E5FE /* WKContextPrivate.h in Headers */,
    82558320                                9FB5F395169E6A80002C25BF /* WKContextPrivateMac.h in Headers */,
     
    82988363                                BC06F44E12DBDF3F002D78DE /* WKGeolocationPermissionRequest.h in Headers */,
    82998364                                BC0E619812D6CD120012A72A /* WKGeolocationPosition.h in Headers */,
    8300                                 532159551DBAE7290054AA3C /* NetworkSessionCocoa.h in Headers */,
    83018365                                0FCB4E4F18BBE044000FCFC9 /* WKGeolocationProviderIOS.h in Headers */,
    83028366                                BCC8B374125FB69000DE46A4 /* WKGeometry.h in Headers */,
     
    83588422                                378E1A40181EDA010031007A /* WKObject.h in Headers */,
    83598423                                1ACC50F21CBC381D003C7D03 /* WKOpenPanelParameters.h in Headers */,
    8360                                 A1EA02401DAC31DB0096021F /* WebContextMenuListenerProxy.h in Headers */,
    83618424                                1A67CD2E1CBC513F00BFE3EA /* WKOpenPanelParametersInternal.h in Headers */,
    83628425                                BC857FE612B843D800EDEB2E /* WKOpenPanelParametersRef.h in Headers */,
     
    83688431                                1AB8A1F418400B8F00E9AE69 /* WKPageFindClient.h in Headers */,
    83698432                                1AB8A1F618400B9D00E9AE69 /* WKPageFindMatchesClient.h in Headers */,
    8370                                 CD78E1151DB7D7ED0014A2DE /* FullscreenClient.h in Headers */,
    83718433                                1AB8A1F018400B0000E9AE69 /* WKPageFormClient.h in Headers */,
    83728434                                BC7B633712A45ABA00D174A4 /* WKPageGroup.h in Headers */,
     
    84008462                                0FCB4E6618BBE3D9000FCFC9 /* WKPrintingView.h in Headers */,
    84018463                                BCBAACEB145225E30053F82F /* WKProcessGroup.h in Headers */,
    8402                                 CD78E1171DB7DC0A0014A2DE /* APIFullscreenClient.h in Headers */,
    84038464                                BCBAACED145225E30053F82F /* WKProcessGroupPrivate.h in Headers */,
    84048465                                1A15841A189044F50017616C /* WKProcessPool.h in Headers */,
     
    84728533                                1F7506B11859163700EC0FF7 /* WKWebProcessPlugInFrame.h in Headers */,
    84738534                                1F7506B81859165D00EC0FF7 /* WKWebProcessPlugInFrameInternal.h in Headers */,
     8535                                53DEA3661DDE423100E82648 /* json.hpp in Headers */,
    84748536                                373D122D18A4B6EB0066D9CC /* WKWebProcessPlugInFramePrivate.h in Headers */,
    84758537                                1F7506B21859163E00EC0FF7 /* WKWebProcessPlugInHitTestResult.h in Headers */,
     
    92319293                                1A14F8E11D74C834006CBEC6 /* FrameInfoData.cpp in Sources */,
    92329294                                1AE00D601831792100087DD7 /* FrameLoadState.cpp in Sources */,
     9295                                CD78E1141DB7D7ED0014A2DE /* FullscreenClient.mm in Sources */,
    92339296                                515BE1B21D5902DD00DD7C68 /* GamepadData.cpp in Sources */,
    92349297                                BC06F43012DBB9B6002D78DE /* GeolocationPermissionRequestManager.cpp in Sources */,
     
    93099372                                831EEBBE1BD85C4300BB64C3 /* NetworkCacheSpeculativeLoad.cpp in Sources */,
    93109373                                832AE2531BE2E8CD00FAAE10 /* NetworkCacheSpeculativeLoadManager.cpp in Sources */,
    9311                                 CD78E1141DB7D7ED0014A2DE /* FullscreenClient.mm in Sources */,
    93129374                                83BDCCB91AC5FDB6003F6441 /* NetworkCacheStatistics.cpp in Sources */,
    93139375                                E4436ED01A0D040B00EAD204 /* NetworkCacheStorage.cpp in Sources */,
    93149376                                8310428C1BD6B66F00A715E4 /* NetworkCacheSubresourcesEntry.cpp in Sources */,
     9377                                5302583B1DCBBD2200DA89C2 /* NetworkCaptureResource.cpp in Sources */,
     9378                                5302583D1DCBBD2200DA89C2 /* NetworkCaptureEvent.cpp in Sources */,
     9379                                530258401DCBBD2200DA89C2 /* NetworkCaptureManager.cpp in Sources */,
     9380                                530258421DCBBD2200DA89C2 /* NetworkCaptureRecorder.cpp in Sources */,
     9381                                530258441DCBBD2200DA89C2 /* NetworkCaptureReplayer.cpp in Sources */,
    93159382                                513A164C1630A9BF005D7D22 /* NetworkConnectionToWebProcess.cpp in Sources */,
    93169383                                51DD9F2816367DA2001578E9 /* NetworkConnectionToWebProcessMessageReceiver.cpp in Sources */,
     9384                                532159541DBAE71D0054AA3C /* NetworkDataTask.cpp in Sources */,
     9385                                53BA47D01DC2EF5E004DF4AD /* NetworkDataTaskBlob.cpp in Sources */,
    93179386                                5CBC9B8D1C65279C00A8FDCF /* NetworkDataTaskCocoa.mm in Sources */,
     9387                                530258461DCBBD2200DA89C2 /* NetworkDataTaskReplay.cpp in Sources */,
    93189388                                839902021BE9A02B000F3653 /* NetworkLoad.cpp in Sources */,
    93199389                                836EEB801BE9EC9E006B4B82 /* NetworkLoadMac.mm in Sources */,
     
    93349404                                5C1426EF1C23F80900D41183 /* NetworkResourceLoadParameters.cpp in Sources */,
    93359405                                BC8283AC16B4BF3F00A278FE /* NetworkServiceEntryPoint.mm in Sources */,
     9406                                532159531DBAE7180054AA3C /* NetworkSession.cpp in Sources */,
    93369407                                5C20CB9D1BB0DCFA00895BB1 /* NetworkSessionCocoa.mm in Sources */,
    93379408                                31A2EC551489982E00810D71 /* NotificationPermissionRequest.cpp in Sources */,
     
    93939464                                1A8EFA701252B84100F7067F /* PluginProxyMessageReceiver.cpp in Sources */,
    93949465                                7CD622771739D863005BD7FF /* PluginSandboxProfile.mm in Sources */,
    9395                                 53BA47D01DC2EF5E004DF4AD /* NetworkDataTaskBlob.cpp in Sources */,
    93969466                                BC82844D16B5081C00A278FE /* PluginServiceEntryPoint.mm in Sources */,
    93979467                                1A6FB7AE11E64B6800DB1371 /* PluginView.cpp in Sources */,
     
    94499519                                C01A260112662F2100C9ED55 /* ShareableBitmapCG.cpp in Sources */,
    94509520                                51217460164C20E30037A5C1 /* ShareableResource.cpp in Sources */,
     9521                                4450AEC01DC3FAE5009943F2 /* SharedMemoryCocoa.cpp in Sources */,
    94519522                                2DAF06D718BD1A470081CEB1 /* SmartMagnificationController.mm in Sources */,
    94529523                                2DE6943D18BD2A68005C15E5 /* SmartMagnificationControllerMessageReceiver.cpp in Sources */,
     
    95249595                                512935D71288D19400A4B695 /* WebContextMenuItem.cpp in Sources */,
    95259596                                510FBB9A1288C95E00AFFDF4 /* WebContextMenuItemData.cpp in Sources */,
     9597                                A1EA023F1DAC31DB0096021F /* WebContextMenuListenerProxy.cpp in Sources */,
    95269598                                51A84CE3127F386B00CA6EA4 /* WebContextMenuProxy.cpp in Sources */,
    95279599                                51ACBBA1127A8F2C00D203B9 /* WebContextMenuProxyMac.mm in Sources */,
     
    95869658                                514129951C6428C20059E714 /* WebIDBConnectionToServer.cpp in Sources */,
    95879659                                510523751C73D38F007993CB /* WebIDBConnectionToServerMessageReceiver.cpp in Sources */,
    9588                                 4450AEC01DC3FAE5009943F2 /* SharedMemoryCocoa.cpp in Sources */,
    95899660                                51A587801D1C5081004BA9AF /* WebIDBResult.cpp in Sources */,
    95909661                                BCCF6ABC12C91EF9008F9C35 /* WebImage.cpp in Sources */,
     
    97019772                                1A4832C31A965A3C008B4DFE /* WebsiteDataStoreCocoa.mm in Sources */,
    97029773                                5C7706741D1138380012700F /* WebSocketProvider.cpp in Sources */,
    9703                                 A1D420471DB5578500BB6B0D /* WKContextMenuListener.cpp in Sources */,
    97049774                                8360349F1ACB34D600626549 /* WebSQLiteDatabaseTracker.cpp in Sources */,
    97059775                                1A52C0F71A38CDC70016160A /* WebStorageNamespaceProvider.cpp in Sources */,
     
    97159785                                7C361D78192803BD0036A59D /* WebUserContentControllerProxyMessageReceiver.cpp in Sources */,
    97169786                                15739BBE1B42046600D258C1 /* WebUserMediaClient.cpp in Sources */,
     9787                                83EE575B1DB7D61100C74C50 /* WebValidationMessageClient.cpp in Sources */,
    97179788                                52D5A1B71C574A0200DE34A3 /* WebVideoFullscreenManager.mm in Sources */,
    97189789                                3F418EF91887BD97002795FD /* WebVideoFullscreenManagerMessageReceiver.cpp in Sources */,
     
    97229793                                C0337DD1127A2980008FF4F4 /* WebWheelEvent.cpp in Sources */,
    97239794                                868160D0187645570021E79D /* WindowServerConnection.mm in Sources */,
    9724                                 532159531DBAE7180054AA3C /* NetworkSession.cpp in Sources */,
    97259795                                29CD55AB128E294F00133C85 /* WKAccessibilityWebPageObjectBase.mm in Sources */,
    97269796                                29232DF818B2A9AE00D0596F /* WKAccessibilityWebPageObjectIOS.mm in Sources */,
     
    97419811                                1AE00D4C182D6EB000087DD7 /* WKBrowsingContextHandle.mm in Sources */,
    97429812                                BC204EEE11C83EC8008F3375 /* WKBundle.cpp in Sources */,
    9743                                 532159541DBAE71D0054AA3C /* NetworkDataTask.cpp in Sources */,
    97449813                                935EEB9E127761AC003322B8 /* WKBundleBackForwardList.cpp in Sources */,
    97459814                                935EEBA0127761AC003322B8 /* WKBundleBackForwardListItem.cpp in Sources */,
     
    97689837                                1AE52F971920263300A1FA37 /* WKContextConfigurationRef.cpp in Sources */,
    97699838                                51A555F5128C6C47009ABCEC /* WKContextMenuItem.cpp in Sources */,
     9839                                A1D420471DB5578500BB6B0D /* WKContextMenuListener.cpp in Sources */,
    97709840                                9FB5F394169E6A80002C25BF /* WKContextPrivateMac.mm in Sources */,
    97719841                                3309345A1315B9980097A7BC /* WKCookieManager.cpp in Sources */,
     
    98009870                                CDCA85C8132ABA4E00E961DF /* WKFullScreenWindowController.mm in Sources */,
    98019871                                BC54CC1312D674EE005C67B0 /* WKGeolocationManager.cpp in Sources */,
    9802                                 A1EA023F1DAC31DB0096021F /* WebContextMenuListenerProxy.cpp in Sources */,
    98039872                                BC06F44F12DBDF3F002D78DE /* WKGeolocationPermissionRequest.cpp in Sources */,
    98049873                                BC0E619912D6CD120012A72A /* WKGeolocationPosition.cpp in Sources */,
     
    98089877                                3749421A1DF1F9FF0033C19F /* WKWebProcessPlugInRangeHandle.mm in Sources */,
    98099878                                B62E7310143047A60069EC35 /* WKHitTestResult.cpp in Sources */,
    9810                                 83EE575B1DB7D61100C74C50 /* WebValidationMessageClient.cpp in Sources */,
    98119879                                5110AE0C133C16CB0072717A /* WKIconDatabase.cpp in Sources */,
    98129880                                5123CF1B133D260A0056F800 /* WKIconDatabaseCG.cpp in Sources */,
  • trunk/Source/WebKit2/config.h

    r208595 r209498  
    111111#endif
    112112
     113#ifndef ENABLE_NETWORK_CAPTURE
     114#if USE(NETWORK_SESSION) && PLATFORM(COCOA)
     115#define ENABLE_NETWORK_CAPTURE 1
     116#endif
     117#endif
     118
    113119#ifndef ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION
    114120#if ENABLE(NETWORK_CACHE) && (PLATFORM(COCOA) || PLATFORM(GTK))
Note: See TracChangeset for help on using the changeset viewer.