Changeset 90389 in webkit


Ignore:
Timestamp:
Jul 5, 2011 3:16:36 AM (13 years ago)
Author:
vsevik@chromium.org
Message:

2011-07-05 Vsevolod Vlasov <vsevik@chromium.org>

Web Inspector: Show content for plugin requests in network panel.
https://bugs.webkit.org/show_bug.cgi?id=30080

Added GTK symbols for new window.internals methods.

Reviewed by Pavel Feldman.

  • Source/autotools/symbols.filter:

2011-07-04 Vsevolod Vlasov <vsevik@chromium.org>

Web Inspector: Show content for plugin requests in network panel.
https://bugs.webkit.org/show_bug.cgi?id=30080

Added tests for plugin content saving and replacing in NetworkResourcesData.
Adjusted older tests to use new window.internals method setInspectorResourcesDataSizeLimits
to ensure NetworkResourcesData is in the correct state before test.

Reviewed by Pavel Feldman.

  • http/tests/inspector/network/network-content-replacement-embed-expected.txt: Added.
  • http/tests/inspector/network/network-content-replacement-embed.html: Added.
  • http/tests/inspector/network/network-content-replacement-xhr-expected.txt: Added.
  • http/tests/inspector/network/network-content-replacement-xhr.html: Added.
  • http/tests/inspector/network/network-embed-expected.txt: Added.
  • http/tests/inspector/network/network-embed.html: Added.
  • http/tests/inspector/network/network-xhr-async-expected.txt:
  • http/tests/inspector/network/network-xhr-async.html:
  • http/tests/inspector/network/network-xhr-sync-expected.txt:
  • http/tests/inspector/network/network-xhr-sync.html:
  • http/tests/inspector/network/resources/cp1251.xml: Added.
  • http/tests/inspector/network/resources/plugin-data.php: Added.
  • http/tests/inspector/network/resources/resource.php:
  • http/tests/inspector/network/resources/utf8.xml: Added.
  • platform/chromium/test_expectations.txt:

2011-07-05 Vsevolod Vlasov <vsevik@chromium.org>

Web Inspector: Show content for plugin requests in network panel.
https://bugs.webkit.org/show_bug.cgi?id=30080

Now the data from didReceiveData callback is passed to inspector.
It is then saved in NetworkResourcesData structure for plugin requests.
Added window.internals.setInspectorResourcesDataSizeLimits() method
for testing replacement logic.

Reviewed by Pavel Feldman.

Tests: http/tests/inspector/network/network-content-replacement-embed.html

http/tests/inspector/network/network-content-replacement-xhr.html
http/tests/inspector/network/network-embed.html

  • WebCore.exp.in:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::setResourcesDataSizeLimitsFromInternals):
  • inspector/InspectorController.h:
  • inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didReceiveDataImpl):
  • inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didReceiveData):
  • inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::didReceiveResponse): (WebCore::InspectorResourceAgent::didReceiveData): (WebCore::InspectorResourceAgent::didFinishLoading): (WebCore::InspectorResourceAgent::setInitialXHRContent): (WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals): (WebCore::InspectorResourceAgent::getResourceContent):
  • inspector/InspectorResourceAgent.h:
  • inspector/NetworkResourcesData.cpp: (WebCore::NetworkResourcesData::ResourceData::ResourceData): (WebCore::NetworkResourcesData::ResourceData::setContent): (WebCore::NetworkResourcesData::ResourceData::purgeContent): (WebCore::NetworkResourcesData::ResourceData::createDecoder): (WebCore::NetworkResourcesData::ResourceData::dataLength): (WebCore::NetworkResourcesData::ResourceData::appendData): (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent): (WebCore::NetworkResourcesData::NetworkResourcesData): (WebCore::NetworkResourcesData::responseReceived): (WebCore::NetworkResourcesData::setResourceContent): (WebCore::NetworkResourcesData::maybeAddResourceData): (WebCore::NetworkResourcesData::maybeDecodeDataToContent): (WebCore::NetworkResourcesData::data): (WebCore::NetworkResourcesData::clear): (WebCore::NetworkResourcesData::setResourcesDataSizeLimits): (WebCore::NetworkResourcesData::ensureNoDataForIdentifier): (WebCore::NetworkResourcesData::ensureFreeSpace):
  • inspector/NetworkResourcesData.h: (WebCore::NetworkResourcesData::ResourceData::hasContent): (WebCore::NetworkResourcesData::ResourceData::content): (WebCore::NetworkResourcesData::ResourceData::decoder): (WebCore::NetworkResourcesData::ResourceData::buffer): (WebCore::NetworkResourcesData::ResourceData::setBuffer): (WebCore::NetworkResourcesData::ResourceData::hasData):
  • inspector/front-end/Resource.js: (WebInspector.Resource.prototype.get contentEncoded):
  • inspector/front-end/ResourcePreviewView.js: (WebInspector.ResourcePreviewView.prototype.contentLoaded): (WebInspector.ResourcePreviewView.prototype._createEmptyView): (WebInspector.ResourcePreviewView.prototype._createPreviewView):
  • inspector/front-end/ResourceView.js: (WebInspector.ResourceView.hasTextContent):
  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::willLoadMediaElementURL): (WebCore::FrameLoader::commitProvisionalLoad): (WebCore::FrameLoader::loadResourceSynchronously): (WebCore::FrameLoader::loadedResourceFromMemoryCache):
  • loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::didReceiveData): (WebCore::ResourceLoadNotifier::dispatchDidReceiveData): (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
  • loader/ResourceLoadNotifier.h:
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveData):
  • testing/Internals.cpp: (WebCore::Internals::setInspectorResourcesDataSizeLimits):
  • testing/Internals.h:
  • testing/Internals.idl:

2011-07-05 Vsevolod Vlasov <vsevik@chromium.org>

Web Inspector: Show content for plugin requests in network panel.
https://bugs.webkit.org/show_bug.cgi?id=30080

Added win symbols for new window.internals methods.

Reviewed by Pavel Feldman.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
Location:
trunk
Files:
9 added
33 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r90375 r90389  
     12011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: Show content for plugin requests in network panel.
     4        https://bugs.webkit.org/show_bug.cgi?id=30080
     5
     6        Added GTK symbols for new window.internals methods.
     7
     8        Reviewed by Pavel Feldman.
     9
     10        * Source/autotools/symbols.filter:
     11
    1122011-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>
    213
  • trunk/LayoutTests/ChangeLog

    r90386 r90389  
     12011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: Show content for plugin requests in network panel.
     4        https://bugs.webkit.org/show_bug.cgi?id=30080
     5
     6        Added tests for plugin content saving and replacing in NetworkResourcesData.
     7        Adjusted older tests to use new window.internals method setInspectorResourcesDataSizeLimits
     8        to ensure NetworkResourcesData is in the correct state before test.
     9
     10        Reviewed by Pavel Feldman.
     11
     12        * http/tests/inspector/network/network-content-replacement-embed-expected.txt: Added.
     13        * http/tests/inspector/network/network-content-replacement-embed.html: Added.
     14        * http/tests/inspector/network/network-content-replacement-xhr-expected.txt: Added.
     15        * http/tests/inspector/network/network-content-replacement-xhr.html: Added.
     16        * http/tests/inspector/network/network-embed-expected.txt: Added.
     17        * http/tests/inspector/network/network-embed.html: Added.
     18        * http/tests/inspector/network/network-xhr-async-expected.txt:
     19        * http/tests/inspector/network/network-xhr-async.html:
     20        * http/tests/inspector/network/network-xhr-sync-expected.txt:
     21        * http/tests/inspector/network/network-xhr-sync.html:
     22        * http/tests/inspector/network/resources/cp1251.xml: Added.
     23        * http/tests/inspector/network/resources/plugin-data.php: Added.
     24        * http/tests/inspector/network/resources/resource.php:
     25        * http/tests/inspector/network/resources/utf8.xml: Added.
     26        * platform/chromium/test_expectations.txt:
     27
    1282011-07-04  Kinuko Yasuda  <kinuko@chromium.org>
    229
  • trunk/LayoutTests/http/tests/inspector/network/network-xhr-async-expected.txt

    r90375 r90389  
    1 CONSOLE MESSAGE: line 13: Done.
     1CONSOLE MESSAGE: line 21: Done.
    22Tests XHR network resource type and content for asynchronous requests. Bug 61205
    33
  • trunk/LayoutTests/http/tests/inspector/network/network-xhr-async.html

    r90375 r90389  
    66function loadData()
    77{
     8    if (!window.internals) {
     9        console.log("This test can not be run as window.internals is not available.");
     10        return;
     11    }
     12    // Since this test could be run together with other inspector backend cache
     13    // tests, we need to reset size limits to default ones.
     14    internals.setInspectorResourcesDataSizeLimits(document, 10 * 1000 * 1000, 1000 * 1000);
     15
    816    doXHR("GET", "resources/resource.php", true, resourceLoaded);
    917}
  • trunk/LayoutTests/http/tests/inspector/network/network-xhr-sync-expected.txt

    r90375 r90389  
    1 CONSOLE MESSAGE: line 13: Done.
     1CONSOLE MESSAGE: line 21: Done.
    22Tests XHR network resource type and content for synchronous requests. Bug 61205
    33
  • trunk/LayoutTests/http/tests/inspector/network/network-xhr-sync.html

    r90375 r90389  
    66function loadData()
    77{
     8    if (!window.internals) {
     9        console.log("This test can not be run as window.internals is not available.");
     10        return;
     11    }
     12    // Since this test could be run together with other inspector backend cache
     13    // tests, we need to reset size limits to default ones.
     14    internals.setInspectorResourcesDataSizeLimits(document, 10 * 1000 * 1000, 1000 * 1000);
     15
    816    doXHR("GET", "resources/resource.php", false, resourceLoaded);
    917}
  • trunk/LayoutTests/http/tests/inspector/network/resources/resource.php

    r90375 r90389  
    2727        header("Content-Type: image/png");
    2828    else
    29         header("Content-Type: text/html");
     29        header("Content-Type: text/plain");
    3030
    3131    # Flush headers and sleep bofore sending response
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r90381 r90389  
    657657WONTFIX SKIP : http/tests/inspector/extensions-headers.html = FAIL
    658658WONTFIX SKIP : http/tests/inspector/extensions-resources-redirect.html = FAIL
     659
     660// There is no enough plugins support in DRT
     661WONTFIX SKIP : http/tests/inspector/network/network-embed.html = FAIL
     662WONTFIX SKIP : http/tests/inspector/network/network-content-replacement-embed.html = FAIL
    659663
    660664// Inspector tests in Debug build are very slow.
  • trunk/Source/WebCore/ChangeLog

    r90388 r90389  
     12011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: Show content for plugin requests in network panel.
     4        https://bugs.webkit.org/show_bug.cgi?id=30080
     5
     6        Now the data from didReceiveData callback is passed to inspector.
     7        It is then saved in NetworkResourcesData structure for plugin requests.
     8        Added window.internals.setInspectorResourcesDataSizeLimits() method
     9        for testing replacement logic.
     10
     11        Reviewed by Pavel Feldman.
     12
     13        Tests: http/tests/inspector/network/network-content-replacement-embed.html
     14               http/tests/inspector/network/network-content-replacement-xhr.html
     15               http/tests/inspector/network/network-embed.html
     16
     17        * WebCore.exp.in:
     18        * inspector/InspectorController.cpp:
     19        (WebCore::InspectorController::setResourcesDataSizeLimitsFromInternals):
     20        * inspector/InspectorController.h:
     21        * inspector/InspectorInstrumentation.cpp:
     22        (WebCore::InspectorInstrumentation::didReceiveDataImpl):
     23        * inspector/InspectorInstrumentation.h:
     24        (WebCore::InspectorInstrumentation::didReceiveData):
     25        * inspector/InspectorResourceAgent.cpp:
     26        (WebCore::InspectorResourceAgent::didReceiveResponse):
     27        (WebCore::InspectorResourceAgent::didReceiveData):
     28        (WebCore::InspectorResourceAgent::didFinishLoading):
     29        (WebCore::InspectorResourceAgent::setInitialXHRContent):
     30        (WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals):
     31        (WebCore::InspectorResourceAgent::getResourceContent):
     32        * inspector/InspectorResourceAgent.h:
     33        * inspector/NetworkResourcesData.cpp:
     34        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
     35        (WebCore::NetworkResourcesData::ResourceData::setContent):
     36        (WebCore::NetworkResourcesData::ResourceData::purgeContent):
     37        (WebCore::NetworkResourcesData::ResourceData::createDecoder):
     38        (WebCore::NetworkResourcesData::ResourceData::dataLength):
     39        (WebCore::NetworkResourcesData::ResourceData::appendData):
     40        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
     41        (WebCore::NetworkResourcesData::NetworkResourcesData):
     42        (WebCore::NetworkResourcesData::responseReceived):
     43        (WebCore::NetworkResourcesData::setResourceContent):
     44        (WebCore::NetworkResourcesData::maybeAddResourceData):
     45        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
     46        (WebCore::NetworkResourcesData::data):
     47        (WebCore::NetworkResourcesData::clear):
     48        (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
     49        (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
     50        (WebCore::NetworkResourcesData::ensureFreeSpace):
     51        * inspector/NetworkResourcesData.h:
     52        (WebCore::NetworkResourcesData::ResourceData::hasContent):
     53        (WebCore::NetworkResourcesData::ResourceData::content):
     54        (WebCore::NetworkResourcesData::ResourceData::decoder):
     55        (WebCore::NetworkResourcesData::ResourceData::buffer):
     56        (WebCore::NetworkResourcesData::ResourceData::setBuffer):
     57        (WebCore::NetworkResourcesData::ResourceData::hasData):
     58        * inspector/front-end/Resource.js:
     59        (WebInspector.Resource.prototype.get contentEncoded):
     60        * inspector/front-end/ResourcePreviewView.js:
     61        (WebInspector.ResourcePreviewView.prototype.contentLoaded):
     62        (WebInspector.ResourcePreviewView.prototype._createEmptyView):
     63        (WebInspector.ResourcePreviewView.prototype._createPreviewView):
     64        * inspector/front-end/ResourceView.js:
     65        (WebInspector.ResourceView.hasTextContent):
     66        * loader/DocumentThreadableLoader.cpp:
     67        (WebCore::DocumentThreadableLoader::didReceiveData):
     68        * loader/FrameLoader.cpp:
     69        (WebCore::FrameLoader::willLoadMediaElementURL):
     70        (WebCore::FrameLoader::commitProvisionalLoad):
     71        (WebCore::FrameLoader::loadResourceSynchronously):
     72        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
     73        * loader/ResourceLoadNotifier.cpp:
     74        (WebCore::ResourceLoadNotifier::didReceiveData):
     75        (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
     76        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
     77        * loader/ResourceLoadNotifier.h:
     78        * loader/appcache/ApplicationCacheGroup.cpp:
     79        (WebCore::ApplicationCacheGroup::didReceiveData):
     80        * testing/Internals.cpp:
     81        (WebCore::Internals::setInspectorResourcesDataSizeLimits):
     82        * testing/Internals.h:
     83        * testing/Internals.idl:
     84
    1852011-07-05  Kent Tamura  <tkent@chromium.org>
    286
  • trunk/Source/WebCore/WebCore.exp.in

    r90375 r90389  
    13021302__ZNK7WebCore8Document31displayStringModifiedByEncodingERKN3WTF6StringE
    13031303__ZNK7WebCore8Document4bodyEv
     1304__ZNK7WebCore8Document4pageEv
    13041305__ZNK7WebCore8Document6domainEv
    13051306__ZNK7WebCore8Document6loaderEv
     
    15821583__ZN7WebCore19InspectorController26stopUserInitiatedProfilingEv
    15831584__ZN7WebCore19InspectorController27startUserInitiatedProfilingEv
     1585__ZN7WebCore19InspectorController39setResourcesDataSizeLimitsFromInternalsEii
    15841586__ZN7WebCore19InspectorController4showEv
    15851587__ZN7WebCore19InspectorController5closeEv
  • trunk/Source/WebCore/inspector/InspectorController.cpp

    r90375 r90389  
    490490#endif
    491491
     492void InspectorController::setResourcesDataSizeLimitsFromInternals(int maximumResourcesContentSize, int maximumSingleResourceContentSize)
     493{
     494    m_resourceAgent->setResourcesDataSizeLimitsFromInternals(maximumResourcesContentSize, maximumSingleResourceContentSize);
     495}
     496
    492497} // namespace WebCore
    493498
  • trunk/Source/WebCore/inspector/InspectorController.h

    r90375 r90389  
    121121#endif
    122122
     123    void setResourcesDataSizeLimitsFromInternals(int maximumResourcesContentSize, int maximumSingleResourceContentSize);
     124
    123125private:
    124126    friend class PostWorkerNotificationToFrontendTask;
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp

    r90375 r90389  
    493493}
    494494
    495 void InspectorInstrumentation::didReceiveContentLengthImpl(InstrumentingAgents* instrumentingAgents, unsigned long identifier, int dataLength, int encodedDataLength)
    496 {
    497     if (InspectorResourceAgent* resourceAgent = instrumentingAgents->inspectorResourceAgent())
    498         resourceAgent->didReceiveContentLength(identifier, dataLength, encodedDataLength);
     495void InspectorInstrumentation::didReceiveDataImpl(InstrumentingAgents* instrumentingAgents, unsigned long identifier, const char* data, int dataLength, int encodedDataLength)
     496{
     497    if (InspectorResourceAgent* resourceAgent = instrumentingAgents->inspectorResourceAgent())
     498        resourceAgent->didReceiveData(identifier, data, dataLength, encodedDataLength);
    499499}
    500500
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.h

    r90375 r90389  
    127127    static void continueWithPolicyDownload(Frame*, DocumentLoader*, unsigned long identifier, const ResourceResponse&);
    128128    static void continueWithPolicyIgnore(Frame*, DocumentLoader*, unsigned long identifier, const ResourceResponse&);
    129     static void didReceiveContentLength(Frame*, unsigned long identifier, int dataLength, int encodedDataLength);
     129    static void didReceiveData(Frame*, unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
    130130    static void didFinishLoading(Frame*, DocumentLoader*, unsigned long identifier, double finishTime);
    131131    static void didFailLoading(Frame*, DocumentLoader*, unsigned long identifier, const ResourceError&);
     
    255255    static void continueWithPolicyDownloadImpl(Frame*, DocumentLoader*, unsigned long identifier, const ResourceResponse&);
    256256    static void continueWithPolicyIgnoreImpl(Frame*, DocumentLoader*, unsigned long identifier, const ResourceResponse&);
    257     static void didReceiveContentLengthImpl(InstrumentingAgents*, unsigned long identifier, int dataLength, int encodedDataLength);
     257    static void didReceiveDataImpl(InstrumentingAgents*, unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
    258258    static void didFinishLoadingImpl(InstrumentingAgents*, unsigned long identifier, DocumentLoader*, double finishTime);
    259259    static void didFailLoadingImpl(InstrumentingAgents*, unsigned long identifier, DocumentLoader*, const ResourceError&);
     
    765765}
    766766
    767 inline void InspectorInstrumentation::didReceiveContentLength(Frame* frame, unsigned long identifier, int dataLength, int encodedDataLength)
    768 {
    769 #if ENABLE(INSPECTOR)
    770     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForFrame(frame))
    771         didReceiveContentLengthImpl(instrumentingAgents, identifier, dataLength, encodedDataLength);
     767inline void InspectorInstrumentation::didReceiveData(Frame* frame, unsigned long identifier, const char* data, int dataLength, int encodedDataLength)
     768{
     769#if ENABLE(INSPECTOR)
     770    if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForFrame(frame))
     771        didReceiveDataImpl(instrumentingAgents, identifier, data, dataLength, encodedDataLength);
    772772#endif
    773773}
  • trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp

    r90375 r90389  
    252252            type = InspectorPageAgent::XHRResource;
    253253
    254         m_resourcesData->responseReceived(identifier, m_pageAgent->frameId(loader->frame()), response.url());
     254        m_resourcesData->responseReceived(identifier, m_pageAgent->frameId(loader->frame()), response);
    255255    }
    256256    m_resourcesData->setResourceType(identifier, type);
    257257    m_frontend->responseReceived(static_cast<int>(identifier), currentTime(), InspectorPageAgent::resourceTypeString(type), resourceResponse);
    258258    // If we revalidated the resource and got Not modified, send content length following didReceiveResponse
    259     // as there will be no calls to didReceiveContentLength from the network stack.
     259    // as there will be no calls to didReceiveData from the network stack.
    260260    if (cachedResourceSize && response.httpStatusCode() == 304)
    261         didReceiveContentLength(identifier, cachedResourceSize, 0);
    262 }
    263 
    264 void InspectorResourceAgent::didReceiveContentLength(unsigned long identifier, int dataLength, int encodedDataLength)
    265 {
     261        didReceiveData(identifier, 0, cachedResourceSize, 0);
     262}
     263
     264void InspectorResourceAgent::didReceiveData(unsigned long identifier, const char* data, int dataLength, int encodedDataLength)
     265{
     266    if (data && m_resourcesData->resourceType(identifier) == InspectorPageAgent::OtherResource)
     267        m_resourcesData->maybeAddResourceData(identifier, data, dataLength);
     268
    266269    m_frontend->dataReceived(static_cast<int>(identifier), currentTime(), dataLength, encodedDataLength);
    267270}
     
    272275        m_resourcesData->addResourceSharedBuffer(identifier, loader->frameLoader()->documentLoader()->mainResourceData(), loader->frame()->document()->inputEncoding());
    273276
     277    m_resourcesData->maybeDecodeDataToContent(identifier);
     278
    274279    if (!finishTime)
    275280        finishTime = currentTime();
     
    298303void InspectorResourceAgent::setInitialXHRContent(unsigned long identifier, const String& sourceString)
    299304{
    300     m_resourcesData->addResourceContent(identifier, sourceString);
     305    m_resourcesData->setResourceContent(identifier, sourceString);
    301306}
    302307
     
    399404}
    400405
     406// called from Internals for layout test purposes.
     407void InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals(int maximumResourcesContentSize, int maximumSingleResourceContentSize)
     408{
     409    m_resourcesData->setResourcesDataSizeLimits(maximumResourcesContentSize, maximumSingleResourceContentSize);
     410}
     411
    401412void InspectorResourceAgent::enable(ErrorString*)
    402413{
     
    438449void InspectorResourceAgent::getResourceContent(ErrorString* errorString, unsigned long identifier, String* content, bool* base64Encoded)
    439450{
    440     NetworkResourcesData::ResourceData* resourceData = m_resourcesData->data(identifier);
     451    NetworkResourcesData::ResourceData const* resourceData = m_resourcesData->data(identifier);
    441452    if (!resourceData) {
    442453        *errorString = "No resource with given identifier found";
  • trunk/Source/WebCore/inspector/InspectorResourceAgent.h

    r90375 r90389  
    9191    void markResourceAsCached(unsigned long identifier);
    9292    void didReceiveResponse(unsigned long identifier, DocumentLoader* laoder, const ResourceResponse&);
    93     void didReceiveContentLength(unsigned long identifier, int dataLength, int encodedDataLength);
     93    void didReceiveData(unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
    9494    void didFinishLoading(unsigned long identifier, DocumentLoader*, double finishTime);
    9595    void didFailLoading(unsigned long identifier, DocumentLoader*, const ResourceError&);
     
    113113    void isBackgroundEventsCollectionEnabled(ErrorString*, bool* enabled);
    114114    void setBackgroundEventsCollectionEnabled(ErrorString*, bool enabled);
     115
     116    // called from Internals for layout test purposes.
     117    void setResourcesDataSizeLimitsFromInternals(int maximumResourcesContentSize, int maximumSingleResourceContentSize);
    115118
    116119    // Called from frontend
  • trunk/Source/WebCore/inspector/NetworkResourcesData.cpp

    r90375 r90389  
    3030#include "NetworkResourcesData.h"
    3131
     32#include "DOMImplementation.h"
     33#include "SharedBuffer.h"
     34#include "TextResourceDecoder.h"
     35
    3236#if ENABLE(INSPECTOR)
    3337
     
    3539// 10MB
    3640static int maximumResourcesContentSize = 10 * 1000 * 1000;
     41
     42// 1MB
     43static int maximumSingleResourceContentSize = 1000 * 1000;
    3744}
    3845
    3946namespace WebCore {
     47
    4048
    4149// ResourceData
     
    4351    : m_identifier(identifier)
    4452    , m_loaderId(loaderId)
    45     , m_hasContent(false)
    4653    , m_isContentPurged(false)
    4754    , m_type(InspectorPageAgent::OtherResource)
     
    4956}
    5057
    51 String NetworkResourcesData::ResourceData::content()
    52 {
    53     return m_hasContent ? m_contentBuilder.toString() : String();
    54 }
    55 
    56 void NetworkResourcesData::ResourceData::appendContent(const String& content)
    57 {
    58     m_contentBuilder.append(content);
    59     m_hasContent = true;
     58void NetworkResourcesData::ResourceData::setContent(const String& content)
     59{
     60    ASSERT(!hasData());
     61    ASSERT(!hasContent());
     62    m_content = content;
    6063}
    6164
    6265unsigned NetworkResourcesData::ResourceData::purgeContent()
    6366{
    64     unsigned length = m_contentBuilder.toStringPreserveCapacity().length();
    65     m_contentBuilder.clear();
     67    unsigned result = 0;
     68    if (hasData()) {
     69        ASSERT(!hasContent());
     70        result = m_dataBuffer->size();
     71        m_dataBuffer = nullptr;
     72    }
     73
     74    if (hasContent()) {
     75        ASSERT(!hasData());
     76        result = 2 * m_content.length();
     77        m_content = String();
     78    }
    6679    m_isContentPurged = true;
    67     m_hasContent = false;
    68     return length;
     80    return result;
     81}
     82
     83void NetworkResourcesData::ResourceData::createDecoder(const String& mimeType, const String& textEncodingName)
     84{
     85    if (!textEncodingName.isEmpty())
     86        m_decoder = TextResourceDecoder::create("text/plain", textEncodingName);
     87    else if (mimeType == "text/plain")
     88        m_decoder = TextResourceDecoder::create("text/plain", "ISO-8859-1");
     89    else if (mimeType == "text/html")
     90        m_decoder = TextResourceDecoder::create("text/html", "UTF-8");
     91    else if (DOMImplementation::isXMLMIMEType(mimeType)) {
     92        m_decoder = TextResourceDecoder::create("application/xml");
     93        m_decoder->useLenientXMLDecoding();
     94    }
     95}
     96
     97int NetworkResourcesData::ResourceData::dataLength() const
     98{
     99    return m_dataBuffer ? m_dataBuffer->size() : 0;
     100}
     101
     102void NetworkResourcesData::ResourceData::appendData(const char* data, int dataLength)
     103{
     104    ASSERT(!hasContent());
     105    if (!m_dataBuffer)
     106        m_dataBuffer = SharedBuffer::create(data, dataLength);
     107    else
     108        m_dataBuffer->append(data, dataLength);
     109}
     110
     111int NetworkResourcesData::ResourceData::decodeDataToContent()
     112{
     113    ASSERT(!hasContent());
     114    int dataLength = m_dataBuffer->size();
     115    m_content = m_decoder->decode(m_dataBuffer->data(), m_dataBuffer->size());
     116    m_dataBuffer = nullptr;
     117    return 2 * m_content.length() - dataLength;
    69118}
    70119
     
    72121NetworkResourcesData::NetworkResourcesData()
    73122    : m_contentSize(0)
     123    , m_maximumResourcesContentSize(maximumResourcesContentSize)
     124    , m_maximumSingleResourceContentSize(maximumSingleResourceContentSize)
    74125{
    75126}
     
    86137}
    87138
    88 void NetworkResourcesData::responseReceived(unsigned long identifier, const String& frameId, const String& url)
     139void NetworkResourcesData::responseReceived(unsigned long identifier, const String& frameId, const ResourceResponse& response)
    89140{
    90141    ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     
    92143        return;
    93144    resourceData->setFrameId(frameId);
    94     resourceData->setUrl(url);
     145    resourceData->setUrl(response.url());
     146    resourceData->createDecoder(response.mimeType(), response.textEncodingName());
    95147}
    96148
     
    111163}
    112164
    113 void NetworkResourcesData::addResourceContent(unsigned long identifier, const String& content)
    114 {
    115     ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
    116     if (!resourceData)
     165void NetworkResourcesData::setResourceContent(unsigned long identifier, const String& content)
     166{
     167    ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     168    if (!resourceData)
     169        return;
     170    int dataLength = 2 * content.length();
     171    if (dataLength > m_maximumSingleResourceContentSize)
    117172        return;
    118173    if (resourceData->isContentPurged())
    119174        return;
    120     if (ensureFreeSpace(content.length()) && !resourceData->isContentPurged()) {
    121         if (!resourceData->hasContent())
    122             m_identifiersDeque.append(identifier);
    123         resourceData->appendContent(content);
    124         m_contentSize += content.length();
    125     }
     175    if (ensureFreeSpace(dataLength) && !resourceData->isContentPurged()) {
     176        m_identifiersDeque.append(identifier);
     177        resourceData->setContent(content);
     178        m_contentSize += dataLength;
     179    }
     180}
     181
     182void NetworkResourcesData::maybeAddResourceData(unsigned long identifier, const char* data, int dataLength)
     183{
     184    ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     185    if (!resourceData)
     186        return;
     187    if (!resourceData->decoder())
     188        return;
     189    if (resourceData->dataLength() + dataLength > m_maximumSingleResourceContentSize)
     190        m_contentSize -= resourceData->purgeContent();
     191    if (resourceData->isContentPurged())
     192        return;
     193    if (ensureFreeSpace(dataLength) && !resourceData->isContentPurged()) {
     194        m_identifiersDeque.append(identifier);
     195        resourceData->appendData(data, dataLength);
     196        m_contentSize += dataLength;
     197    }
     198}
     199
     200void NetworkResourcesData::maybeDecodeDataToContent(unsigned long identifier)
     201{
     202    ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
     203    if (!resourceData)
     204        return;
     205    if (!resourceData->hasData())
     206        return;
     207    m_contentSize += resourceData->decodeDataToContent();
     208    int dataLength = 2 * resourceData->content().length();
     209    if (dataLength > m_maximumSingleResourceContentSize)
     210        m_contentSize -= resourceData->purgeContent();
    126211}
    127212
     
    144229}
    145230
    146 NetworkResourcesData::ResourceData* NetworkResourcesData::data(unsigned long identifier)
     231NetworkResourcesData::ResourceData const* NetworkResourcesData::data(unsigned long identifier)
    147232{
    148233    return m_identifierToResourceDataMap.get(identifier);
     
    152237{
    153238    m_identifiersDeque.clear();
     239    m_contentSize = 0;
    154240
    155241    ResourceDataMap preservedMap;
     
    167253}
    168254
     255void NetworkResourcesData::setResourcesDataSizeLimits(int maximumResourcesContentSize, int maximumSingleResourceContentSize)
     256{
     257    clear();
     258    m_maximumResourcesContentSize = maximumResourcesContentSize;
     259    m_maximumSingleResourceContentSize = maximumSingleResourceContentSize;
     260}
     261
     262
    169263void NetworkResourcesData::ensureNoDataForIdentifier(unsigned long identifier)
    170264{
    171265    ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
    172266    if (resourceData) {
    173         if (resourceData->hasContent())
     267        if (resourceData->hasContent() || resourceData->hasData())
    174268            m_contentSize -= resourceData->purgeContent();
    175269        delete resourceData;
     
    180274bool NetworkResourcesData::ensureFreeSpace(int size)
    181275{
    182     if (size > maximumResourcesContentSize)
     276    if (size > m_maximumResourcesContentSize)
    183277        return false;
    184278
    185     while (size > maximumResourcesContentSize - m_contentSize) {
     279    while (size > m_maximumResourcesContentSize - m_contentSize) {
    186280        unsigned long identifier = m_identifiersDeque.takeFirst();
    187281        ResourceData* resourceData = m_identifierToResourceDataMap.get(identifier);
  • trunk/Source/WebCore/inspector/NetworkResourcesData.h

    r90375 r90389  
    3232#include "CachedResourceHandle.h"
    3333#include "InspectorPageAgent.h"
    34 #include "SharedBuffer.h"
    3534
    3635#include <wtf/Deque.h>
     
    4443namespace WebCore {
    4544
     45class CachedResource;
    4646class SharedBuffer;
    47 class CachedResource;
     47class TextResourceDecoder;
    4848
    4949class NetworkResourcesData {
    5050public:
    5151    class ResourceData {
     52        friend class NetworkResourcesData;
    5253    public:
    5354        ResourceData(unsigned long identifier, const String& loaderId);
     
    6263        void setUrl(const String& url) { m_url = url; }
    6364
    64         bool hasContent() const { return m_hasContent; }
    65         String content();
    66         void appendContent(const String&);
     65        bool hasContent() const { return !m_content.isNull(); }
     66        String content() const { return m_content; }
     67        void setContent(const String&);
    6768
    6869        bool isContentPurged() const { return m_isContentPurged; }
    69         void setIsContentPurged(bool isContentPurged) { m_isContentPurged = isContentPurged; }
    7070        unsigned purgeContent();
    7171
     
    7373        void setType(InspectorPageAgent::ResourceType type) { m_type = type; }
    7474
     75        String textEncodingName() const { return m_textEncodingName; }
     76        void setTextEncodingName(const String& textEncodingName) { m_textEncodingName = textEncodingName; }
     77
     78        TextResourceDecoder* decoder() const { return m_decoder.get(); }
     79        void createDecoder(const String& mimeType, const String& textEncodingName);
     80
    7581        PassRefPtr<SharedBuffer> buffer() const { return m_buffer; }
    7682        void setBuffer(PassRefPtr<SharedBuffer> buffer) { m_buffer = buffer; }
    77 
    78         String textEncodingName() const { return m_textEncodingName; }
    79         void setTextEncodingName(const String& textEncodingName) { m_textEncodingName = textEncodingName; }
    8083
    8184        CachedResource* cachedResource() const { return m_cachedResource.get(); }
     
    8386
    8487    private:
     88        bool hasData() const { return m_dataBuffer; }
     89        int dataLength() const;
     90        void appendData(const char* data, int dataLength);
     91        int decodeDataToContent();
     92
    8593        unsigned long m_identifier;
    8694        String m_loaderId;
    8795        String m_frameId;
    8896        String m_url;
    89         bool m_hasContent;
    90         StringBuilder m_contentBuilder;
     97        String m_content;
     98        RefPtr<SharedBuffer> m_dataBuffer;
    9199        bool m_isContentPurged;
    92100        InspectorPageAgent::ResourceType m_type;
    93101
     102        String m_textEncodingName;
     103        RefPtr<TextResourceDecoder> m_decoder;
     104
    94105        RefPtr<SharedBuffer> m_buffer;
    95         String m_textEncodingName;
    96106        CachedResourceHandle<CachedResource> m_cachedResource;
    97107    };
     
    102112
    103113    void resourceCreated(unsigned long identifier, const String& loaderId);
    104     void responseReceived(unsigned long identifier, const String& frameId, const String& url);
     114    void responseReceived(unsigned long identifier, const String& frameId, const ResourceResponse&);
    105115    void setResourceType(unsigned long identifier, InspectorPageAgent::ResourceType);
    106116    InspectorPageAgent::ResourceType resourceType(unsigned long identifier);
    107     void addResourceContent(unsigned long identifier, const String& content);
     117    void setResourceContent(unsigned long identifier, const String& content);
     118    void maybeAddResourceData(unsigned long identifier, const char* data, int dataLength);
     119    void maybeDecodeDataToContent(unsigned long identifier);
    108120    void addCachedResource(unsigned long identifier, CachedResource*);
    109121    void addResourceSharedBuffer(unsigned long identifier, PassRefPtr<SharedBuffer>, const String& textEncodingName);
    110     ResourceData* data(unsigned long identifier);
     122    ResourceData const* data(unsigned long identifier);
    111123    void clear(const String& preservedLoaderId = String());
     124
     125    void setResourcesDataSizeLimits(int maximumResourcesContentSize, int maximumSingleResourceContentSize);
    112126
    113127private:
     
    120134    ResourceDataMap m_identifierToResourceDataMap;
    121135    int m_contentSize;
     136    int m_maximumResourcesContentSize;
     137    int m_maximumSingleResourceContentSize;
    122138};
    123139
  • trunk/Source/WebCore/inspector/front-end/Resource.js

    r90375 r90389  
    783783    },
    784784
     785    get contentEncoded()
     786    {
     787        return this._contentEncoded;
     788    },
     789
    785790    get contentTimestamp()
    786791    {
  • trunk/Source/WebCore/inspector/front-end/ResourcePreviewView.js

    r90375 r90389  
    4040        if (!this.resource.content) {
    4141            if (!this._emptyView) {
    42                 this._emptyView = new WebInspector.EmptyView(WebInspector.UIString("This request has no preview available."));
     42                this._emptyView = this._createEmptyView();
    4343                this._emptyView.show(this.element);
    4444            }
     
    4848                delete this._emptyView;
    4949            }
    50             if (!this._view)
    51                 this._view = this._createInnerView();
    52             this._view.show(this.element);
     50            if (!this._previewView)
     51                this._previewView = this._createPreviewView();
     52            this._previewView.show(this.element);
    5353        }
    5454    },
    5555
    56     _createInnerView: function()
     56    _createEmptyView: function()
     57    {
     58        return new WebInspector.EmptyView(WebInspector.UIString("This request has no preview available."));
     59    },
     60   
     61    _createPreviewView: function()
    5762    {
    5863        if (this.resource.hasErrorStatusCode() && this.resource.content)
     
    6772        if (this._responseView.sourceView)
    6873            return this._responseView.sourceView;
     74       
     75        if (this.resource.category === WebInspector.resourceCategories.other)
     76            return this._createEmptyView();
    6977
    7078        return WebInspector.ResourceView.nonSourceViewForResource(this.resource);
  • trunk/Source/WebCore/inspector/front-end/ResourceView.js

    r90375 r90389  
    5252    case WebInspector.resourceCategories.stylesheets:
    5353        return true;
     54    case WebInspector.resourceCategories.other:
     55        return resource.content && !resource.contentEncoded;
    5456    default:
    5557        return false;
  • trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp

    r90375 r90389  
    230230#if ENABLE(INSPECTOR)
    231231    if (m_preflightRequestIdentifier)
    232         InspectorInstrumentation::didReceiveContentLength(m_document->frame(), m_preflightRequestIdentifier, 0, dataLength);
     232        InspectorInstrumentation::didReceiveData(m_document->frame(), m_preflightRequestIdentifier, 0, 0, dataLength);
    233233#endif
    234234
  • trunk/Source/WebCore/loader/FrameLoader.cpp

    r90375 r90389  
    13831383    ResourceError error;
    13841384    requestFromDelegate(request, identifier, error);
    1385     notifier()->sendRemainingDelegateMessages(m_documentLoader.get(), identifier, ResourceResponse(url, String(), -1, String(), String()), -1, -1, error);
     1385    notifier()->sendRemainingDelegateMessages(m_documentLoader.get(), identifier, ResourceResponse(url, String(), -1, String(), String()), 0, -1, -1, error);
    13861386
    13871387    url = request.url();
     
    17811781            // However, with today's computers and networking speeds, this won't happen in practice.
    17821782            // Could be an issue with a giant local file.
    1783             notifier()->sendRemainingDelegateMessages(m_documentLoader.get(), identifier, response, static_cast<int>(response.expectedContentLength()), 0, error);
     1783            notifier()->sendRemainingDelegateMessages(m_documentLoader.get(), identifier, response, 0, static_cast<int>(response.expectedContentLength()), 0, error);
    17841784        }
    17851785       
     
    25912591    }
    25922592    int encodedDataLength = response.resourceLoadInfo() ? static_cast<int>(response.resourceLoadInfo()->encodedDataLength) : -1;
    2593     notifier()->sendRemainingDelegateMessages(m_documentLoader.get(), identifier, response, data.size(), encodedDataLength, error);
     2593    notifier()->sendRemainingDelegateMessages(m_documentLoader.get(), identifier, response, data.data(), data.size(), encodedDataLength, error);
    25942594    return identifier;
    25952595}
     
    28842884    requestFromDelegate(request, identifier, error);
    28852885    InspectorInstrumentation::markResourceAsCached(page, identifier);
    2886     notifier()->sendRemainingDelegateMessages(m_documentLoader.get(), identifier, resource->response(), resource->encodedSize(), 0, error);
     2886    notifier()->sendRemainingDelegateMessages(m_documentLoader.get(), identifier, resource->response(), 0, resource->encodedSize(), 0, error);
    28872887}
    28882888
  • trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp

    r90376 r90389  
    8080        page->progress()->incrementProgress(loader->identifier(), data, dataLength);
    8181
    82     dispatchDidReceiveContentLength(loader->documentLoader(), loader->identifier(), dataLength, encodedDataLength);
     82    dispatchDidReceiveData(loader->documentLoader(), loader->identifier(), data, dataLength, encodedDataLength);
    8383}
    8484
     
    131131}
    132132
    133 void ResourceLoadNotifier::dispatchDidReceiveContentLength(DocumentLoader* loader, unsigned long identifier, int dataLength, int encodedDataLength)
     133void ResourceLoadNotifier::dispatchDidReceiveData(DocumentLoader* loader, unsigned long identifier, const char* data, int dataLength, int encodedDataLength)
    134134{
    135135    m_frame->loader()->client()->dispatchDidReceiveContentLength(loader, identifier, dataLength);
    136136
    137     InspectorInstrumentation::didReceiveContentLength(m_frame, identifier, dataLength, encodedDataLength);
     137    InspectorInstrumentation::didReceiveData(m_frame, identifier, data, dataLength, encodedDataLength);
    138138}
    139139
     
    153153}
    154154
    155 void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response, int dataLength, int encodedDataLength, const ResourceError& error)
     155void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response, const char* data, int dataLength, int encodedDataLength, const ResourceError& error)
    156156{
    157157    if (!response.isNull())
     
    159159
    160160    if (dataLength > 0)
    161         dispatchDidReceiveContentLength(loader, identifier, dataLength, encodedDataLength);
     161        dispatchDidReceiveData(loader, identifier, data, dataLength, encodedDataLength);
    162162
    163163    if (error.isNull())
  • trunk/Source/WebCore/loader/ResourceLoadNotifier.h

    r90375 r90389  
    6161    void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse);
    6262    void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&);
    63     void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long identifier, int dataLength, int encodedDataLength);
     63    void dispatchDidReceiveData(DocumentLoader*, unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
    6464    void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier, double finishTime);
    6565    void dispatchTransferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*);
    6666
    67     void sendRemainingDelegateMessages(DocumentLoader*, unsigned long identifier, const ResourceResponse&, int dataLength, int encodedDataLength, const ResourceError&);
     67    void sendRemainingDelegateMessages(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const char* data, int dataLength, int encodedDataLength, const ResourceError&);
    6868
    6969private:
  • trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp

    r90375 r90389  
    572572
    573573#if ENABLE(INSPECTOR)
    574     InspectorInstrumentation::didReceiveContentLength(m_frame, m_currentResourceIdentifier, length, 0);
     574    InspectorInstrumentation::didReceiveData(m_frame, m_currentResourceIdentifier, 0, length, 0);
    575575#endif
    576576
  • trunk/Source/WebCore/testing/Internals.cpp

    r90375 r90389  
    3131#include "Element.h"
    3232#include "ExceptionCode.h"
     33#include "InspectorController.h"
     34#include "Page.h"
    3335#include "RenderTreeAsText.h"
    3436#include "ShadowContentElement.h"
     
    124126}
    125127
     128#if ENABLE(INSPECTOR)
     129void Internals::setInspectorResourcesDataSizeLimits(Document* document, int maximumResourcesContentSize, int maximumSingleResourceContentSize, ExceptionCode& ec)
     130{
     131    if (!document || !document->page() || !document->page()->inspectorController()) {
     132        ec = INVALID_ACCESS_ERR;
     133        return;
     134    }
     135    document->page()->inspectorController()->setResourcesDataSizeLimitsFromInternals(maximumResourcesContentSize, maximumSingleResourceContentSize);
    126136}
     137#endif
     138
     139}
  • trunk/Source/WebCore/testing/Internals.h

    r90375 r90389  
    5454    PassRefPtr<Element> createShadowContentElement(Document*, ExceptionCode&);
    5555
     56#if ENABLE(INSPECTOR)
     57    void setInspectorResourcesDataSizeLimits(Document*, int maximumResourcesContentSize, int maximumSingleResourceContentSize, ExceptionCode&);
     58#endif
     59
    5660private:
    5761    Internals();
  • trunk/Source/WebCore/testing/Internals.idl

    r90375 r90389  
    3636        DOMString shadowPseudoId(in Element element) raises (DOMException);
    3737        Element createShadowContentElement(in Document document) raises(DOMException);
     38
     39        [Conditional=INSPECTOR] void setInspectorResourcesDataSizeLimits(in Document document, in long maximumResourcesContentSize, in long maximumSingleResourceContentSize) raises(DOMException);
    3840    };
    3941}
  • trunk/Source/WebKit2/ChangeLog

    r90375 r90389  
     12011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: Show content for plugin requests in network panel.
     4        https://bugs.webkit.org/show_bug.cgi?id=30080
     5
     6        Added win symbols for new window.internals methods.
     7
     8        Reviewed by Pavel Feldman.
     9
     10        * win/WebKit2.def:
     11        * win/WebKit2CFLite.def:
     12
    1132011-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>
    214
  • trunk/Source/WebKit2/win/WebKit2.def

    r90375 r90389  
    145145        ?isPreloaded@CachedResourceLoader@WebCore@@QBE_NABVString@WTF@@@Z
    146146        ?jsStringSlowCase@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@AAV?$HashMap@PAVStringImpl@WTF@@V?$Weak@VJSString@JSC@@@JSC@@UStringHash@2@U?$HashTraits@PAVStringImpl@WTF@@@2@U?$HashTraits@V?$Weak@VJSString@JSC@@@JSC@@@2@@WTF@@PAVStringImpl@6@@Z
     147        ?page@Document@WebCore@@QBEPAVPage@2@XZ
    147148        ?removeShadowRoot@Element@WebCore@@QAEXXZ
    148149        ?setDOMException@WebCore@@YAXPAVExecState@JSC@@H@Z
     150        ?setResourcesDataSizeLimitsFromInternals@InspectorController@WebCore@@QAEXHH@Z
    149151        ?shadowRoot@Element@WebCore@@QBEPAVShadowRoot@2@XZ
    150152        ?toDocument@WebCore@@YAPAVDocument@1@VJSValue@JSC@@@Z
  • trunk/Source/WebKit2/win/WebKit2CFLite.def

    r90375 r90389  
    138138        ?isPreloaded@CachedResourceLoader@WebCore@@QBE_NABVString@WTF@@@Z
    139139        ?jsStringSlowCase@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@AAV?$HashMap@PAVStringImpl@WTF@@V?$Weak@VJSString@JSC@@@JSC@@UStringHash@2@U?$HashTraits@PAVStringImpl@WTF@@@2@U?$HashTraits@V?$Weak@VJSString@JSC@@@JSC@@@2@@WTF@@PAVStringImpl@6@@Z
     140        ?page@Document@WebCore@@QBEPAVPage@2@XZ
    140141        ?removeShadowRoot@Element@WebCore@@QAEXXZ
    141142        ?setDOMException@WebCore@@YAXPAVExecState@JSC@@H@Z
     143        ?setResourcesDataSizeLimitsFromInternals@InspectorController@WebCore@@QAEXHH@Z
    142144        ?shadowRoot@Element@WebCore@@QBEPAVShadowRoot@2@XZ
    143145        ?toDocument@WebCore@@YAPAVDocument@1@VJSValue@JSC@@@Z
  • trunk/Source/autotools/symbols.filter

    r90375 r90389  
    3737_ZN7WebCore16jsStringSlowCaseEPN3JSC9ExecStateERN3WTF7HashMapIPNS3_10StringImplENS0_4WeakINS0_8JSStringEEENS3_10StringHashENS3_10HashTraitsIS6_EENSB_IS9_EEEES6_;
    3838_ZN7WebCore17cacheDOMStructureEPNS_17JSDOMGlobalObjectEPN3JSC9StructureEPKNS2_9ClassInfoE;
     39_ZN7WebCore19InspectorController39setResourcesDataSizeLimitsFromInternalsEii;
    3940_ZN7WebCore20ShadowContentElement6createEPNS_8DocumentE;
    4041_ZN7WebCore21getCachedDOMStructureEPNS_17JSDOMGlobalObjectEPKN3JSC9ClassInfoE;
     
    5152_ZNK7WebCore6JSNode21pushEventHandlerScopeEPN3JSC9ExecStateEPNS1_14ScopeChainNodeE;
    5253_ZNK7WebCore7Element10shadowRootEv;
     54_ZNK7WebCore8Document4pageEv;
    5355local:
    5456_Z*;
Note: See TracChangeset for help on using the changeset viewer.