Changeset 51440 in webkit


Ignore:
Timestamp:
Nov 27, 2009 5:07:06 AM (14 years ago)
Author:
yurys@chromium.org
Message:

2009-11-27 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

This is a WebCore part of the fix that allows to view plugin
resources loaded by plugins.

https://bugs.webkit.org/show_bug.cgi?id=31832

  • inspector/InspectorController.cpp: (WebCore::InspectorController::willSendRequest): (WebCore::InspectorController::didReceiveResponse): (WebCore::InspectorController::didReceiveContentLength): (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading):
  • inspector/InspectorController.h:
  • inspector/InspectorResource.cpp: (WebCore::InspectorResource::addLength):
  • loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):

2009-11-27 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

WebCore part of the fix that allows to view plugin
resources loaded by plugins. Methods that for resource
loading notifications are exposed through WebDevToolsAgent
interface to the glue code to allow Chromium's plugin
implementation to notify InspectorController about resource
loading in plugins.

https://bugs.webkit.org/show_bug.cgi?id=31832

  • public/WebDevToolsAgent.h:
  • public/WebView.h:
  • src/WebViewImpl.cpp: (WebKit::WebViewImpl::createUniqueIdentifierForRequest):
  • src/WebViewImpl.h:
Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r51439 r51440  
     12009-11-27  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        This is a WebCore part of the fix that allows to view plugin
     6        resources loaded by plugins.
     7
     8        https://bugs.webkit.org/show_bug.cgi?id=31832
     9
     10        * inspector/InspectorController.cpp:
     11        (WebCore::InspectorController::willSendRequest):
     12        (WebCore::InspectorController::didReceiveResponse):
     13        (WebCore::InspectorController::didReceiveContentLength):
     14        (WebCore::InspectorController::didFinishLoading):
     15        (WebCore::InspectorController::didFailLoading):
     16        * inspector/InspectorController.h:
     17        * inspector/InspectorResource.cpp:
     18        (WebCore::InspectorResource::addLength):
     19        * loader/ResourceLoadNotifier.cpp:
     20        (WebCore::ResourceLoadNotifier::didFailToLoad):
     21        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
     22        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
     23        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
     24        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
     25
    1262009-11-27  Yury Semikhatsky  <yurys@chromium.org>
    227
  • trunk/WebCore/inspector/InspectorController.cpp

    r51439 r51440  
    940940}
    941941
    942 void InspectorController::willSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
    943 {
     942void InspectorController::willSendRequest(unsigned long identifier, const ResourceRequest& request, const ResourceResponse& redirectResponse)
     943{
     944    bool isMainResource = (m_mainResource && m_mainResource->identifier() == identifier);
    944945    if (m_timelineAgent)
    945         m_timelineAgent->willSendResourceRequest(identifier, isMainResourceLoader(loader, request.url()), request);
     946        m_timelineAgent->willSendResourceRequest(identifier, isMainResource, request);
    946947
    947948    RefPtr<InspectorResource> resource = getTrackedResource(identifier);
     
    960961}
    961962
    962 void InspectorController::didReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse& response)
     963void InspectorController::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
    963964{
    964965    if (m_timelineAgent)
     
    976977}
    977978
    978 void InspectorController::didReceiveContentLength(DocumentLoader*, unsigned long identifier, int lengthReceived)
     979void InspectorController::didReceiveContentLength(unsigned long identifier, int lengthReceived)
    979980{
    980981    RefPtr<InspectorResource> resource = getTrackedResource(identifier);
     
    988989}
    989990
    990 void InspectorController::didFinishLoading(DocumentLoader*, unsigned long identifier)
     991void InspectorController::didFinishLoading(unsigned long identifier)
    991992{
    992993    if (m_timelineAgent)
     
    10071008}
    10081009
    1009 void InspectorController::didFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError& /*error*/)
     1010void InspectorController::didFailLoading(unsigned long identifier, const ResourceError& /*error*/)
    10101011{
    10111012    if (m_timelineAgent)
  • trunk/WebCore/inspector/InspectorController.h

    r51439 r51440  
    217217
    218218    void identifierForInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&);
    219     void willSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse);
    220     void didReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&);
    221     void didReceiveContentLength(DocumentLoader*, unsigned long identifier, int lengthReceived);
    222     void didFinishLoading(DocumentLoader*, unsigned long identifier);
    223     void didFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&);
     219    void willSendRequest(unsigned long identifier, const ResourceRequest&, const ResourceResponse& redirectResponse);
     220    void didReceiveResponse(unsigned long identifier, const ResourceResponse&);
     221    void didReceiveContentLength(unsigned long identifier, int lengthReceived);
     222    void didFinishLoading(unsigned long identifier);
     223    void didFailLoading(unsigned long identifier, const ResourceError&);
    224224    void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString);
    225225    void scriptImported(unsigned long identifier, const String& sourceString);
  • trunk/WebCore/inspector/InspectorResource.cpp

    r51439 r51440  
    382382    m_length += lengthReceived;
    383383    m_changes.set(LengthChange);
     384
     385    // Update load time, otherwise the resource will
     386    // have start time == end time and  0 load duration
     387    // until its loading is completed.
     388    m_endTime = currentTime();
     389    m_changes.set(TimingChange);
    384390}
    385391
  • trunk/WebCore/loader/ResourceLoadNotifier.cpp

    r51422 r51440  
    9797    if (!error.isNull())
    9898        m_frame->loader()->client()->dispatchDidFailLoading(loader->documentLoader(), loader->identifier(), error);
     99
     100#if ENABLE(INSPECTOR)
     101    if (Page* page = m_frame->page())
     102        page->inspectorController()->didFailLoading(loader->identifier(), error);
     103#endif
    99104}
    100105
     
    127132#if ENABLE(INSPECTOR)
    128133    if (Page* page = m_frame->page())
    129         page->inspectorController()->willSendRequest(loader, identifier, request, redirectResponse);
     134        page->inspectorController()->willSendRequest(identifier, request, redirectResponse);
    130135#endif
    131136}
     
    137142#if ENABLE(INSPECTOR)
    138143    if (Page* page = m_frame->page())
    139         page->inspectorController()->didReceiveResponse(loader, identifier, r);
     144        page->inspectorController()->didReceiveResponse(identifier, r);
    140145#endif
    141146}
     
    147152#if ENABLE(INSPECTOR)
    148153    if (Page* page = m_frame->page())
    149         page->inspectorController()->didReceiveContentLength(loader, identifier, length);
     154        page->inspectorController()->didReceiveContentLength(identifier, length);
    150155#endif
    151156}
     
    157162#if ENABLE(INSPECTOR)
    158163    if (Page* page = m_frame->page())
    159         page->inspectorController()->didFinishLoading(loader, identifier);
     164        page->inspectorController()->didFinishLoading(identifier);
    160165#endif
    161166}
  • trunk/WebKit/chromium/ChangeLog

    r51422 r51440  
     12009-11-27  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        WebCore part of the fix that allows to view plugin
     6        resources loaded by plugins. Methods that for resource
     7        loading notifications are exposed through WebDevToolsAgent
     8        interface to the glue code to allow Chromium's plugin
     9        implementation to notify InspectorController about resource
     10        loading in plugins.
     11
     12        https://bugs.webkit.org/show_bug.cgi?id=31832
     13
     14        * public/WebDevToolsAgent.h:
     15        * public/WebView.h:
     16        * src/WebViewImpl.cpp:
     17        (WebKit::WebViewImpl::createUniqueIdentifierForRequest):
     18        * src/WebViewImpl.h:
     19
    1202009-11-26  Yury Semikhatsky  <yurys@chromium.org>
    221
  • trunk/WebKit/chromium/public/WebDevToolsAgent.h

    r51422 r51440  
    3636namespace WebKit {
    3737class WebDevToolsAgentClient;
     38class WebFrame;
    3839class WebString;
     40class WebURLRequest;
     41class WebURLResponse;
    3942class WebView;
    4043struct WebPoint;
     44struct WebURLError;
    4145
    4246class WebDevToolsAgent {
     
    7175    // while on a breakpoint.
    7276    WEBKIT_API static void setMessageLoopDispatchHandler(MessageLoopDispatchHandler);
     77
     78    virtual void identifierForInitialRequest(unsigned long resourceId, WebFrame*, const WebURLRequest&) = 0;
     79    virtual void willSendRequest(unsigned long resourceId, const WebURLRequest&) = 0;
     80    virtual void didReceiveData(unsigned long resourceId, int length) = 0;
     81    virtual void didReceiveResponse(unsigned long resourceId, const WebURLResponse&) = 0;
     82    virtual void didFinishLoading(unsigned long resourceId) = 0;
     83    virtual void didFailLoading(unsigned long resourceId, const WebURLError&) = 0;
    7384};
    7485
  • trunk/WebKit/chromium/public/WebView.h

    r51422 r51440  
    192192
    193193
     194    // Support for resource loading initiated by plugins -------------------
     195
     196    // Returns next unused request identifier which is unique within the
     197    // parent Page.
     198    virtual unsigned long createUniqueIdentifierForRequest() = 0;
     199
     200
    194201    // Developer tools -----------------------------------------------------
    195202
  • trunk/WebKit/chromium/src/WebViewImpl.cpp

    r51422 r51440  
    7171#include "PopupMenuChromium.h"
    7272#include "PopupMenuClient.h"
     73#include "ProgressTracker.h"
    7374#include "RenderView.h"
    7475#include "ResourceHandle.h"
     
    14761477}
    14771478
     1479unsigned long WebViewImpl::createUniqueIdentifierForRequest() {
     1480    if (m_page)
     1481        return m_page->progress()->createUniqueIdentifier();
     1482    return 0;
     1483}
     1484
    14781485void WebViewImpl::inspectElementAt(const WebPoint& point)
    14791486{
  • trunk/WebKit/chromium/src/WebViewImpl.h

    r51422 r51440  
    144144    virtual int dragIdentity();
    145145    virtual bool setDropEffect(bool accept);
     146    virtual unsigned long createUniqueIdentifierForRequest();
    146147    virtual void inspectElementAt(const WebPoint& point);
    147148    virtual WebString inspectorSettings() const;
Note: See TracChangeset for help on using the changeset viewer.