Changeset 52169 in webkit


Ignore:
Timestamp:
Dec 15, 2009 1:44:52 PM (14 years ago)
Author:
pfeldman@chromium.org
Message:

2009-12-15 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

Web Inspector: Display request headers for main resource
having redirects.

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

  • inspector/InspectorController.cpp: (WebCore::InspectorController::identifierForInitialRequest): (WebCore::InspectorController::willSendRequest):
  • inspector/InspectorResource.cpp: (WebCore::InspectorResource::InspectorResource): (WebCore::InspectorResource::appendRedirect): (WebCore::InspectorResource::createCached): (WebCore::InspectorResource::updateRequest):
  • inspector/InspectorResource.h: (WebCore::InspectorResource::create):
Location:
trunk/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r52168 r52169  
     12009-12-15  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Reviewed by Timothy Hatcher.
     4
     5        Web Inspector: Display request headers for main resource
     6        having redirects.
     7
     8        https://bugs.webkit.org/show_bug.cgi?id=32577
     9
     10        * inspector/InspectorController.cpp:
     11        (WebCore::InspectorController::identifierForInitialRequest):
     12        (WebCore::InspectorController::willSendRequest):
     13        * inspector/InspectorResource.cpp:
     14        (WebCore::InspectorResource::InspectorResource):
     15        (WebCore::InspectorResource::appendRedirect):
     16        (WebCore::InspectorResource::createCached):
     17        (WebCore::InspectorResource::updateRequest):
     18        * inspector/InspectorResource.h:
     19        (WebCore::InspectorResource::create):
     20
    1212009-12-15  Brian Weinstein  <bweinstein@apple.com>
    222
  • trunk/WebCore/inspector/InspectorController.cpp

    r52154 r52169  
    878878        return;
    879879
    880     RefPtr<InspectorResource> resource = InspectorResource::create(identifier, loader);
    881 
    882     resource->updateRequest(request);
     880    RefPtr<InspectorResource> resource = InspectorResource::create(identifier, loader, request.url());
    883881
    884882    if (isMainResource) {
     
    933931
    934932    if (!redirectResponse.isNull()) {
     933        resource->markResponseReceivedTime();
     934        resource->endTiming();
     935        resource->updateResponse(redirectResponse);
     936
    935937        // We always store last redirect by the original id key. Rest of the redirects are stored within the last one.
    936938        unsigned long id = m_inspectedPage->progress()->createUniqueIdentifier();
    937         RefPtr<InspectorResource> withRedirect = resource->appendRedirect(id, request, redirectResponse);
     939        RefPtr<InspectorResource> withRedirect = resource->appendRedirect(id, request.url());
    938940        removeResource(resource.get());
    939941        addResource(withRedirect.get());
     
    946948
    947949    resource->startTiming();
     950    resource->updateRequest(request);
     951
    948952    if (resource != m_mainResource && windowVisible())
    949953        resource->updateScriptObject(m_frontend.get());
  • trunk/WebCore/inspector/InspectorResource.cpp

    r52154 r52169  
    4747namespace WebCore {
    4848
    49 InspectorResource::InspectorResource(unsigned long identifier, DocumentLoader* loader)
     49InspectorResource::InspectorResource(unsigned long identifier, DocumentLoader* loader, const KURL& requestURL)
    5050    : m_identifier(identifier)
    5151    , m_loader(loader)
    5252    , m_frame(loader->frame())
     53    , m_requestURL(requestURL)
    5354    , m_expectedContentLength(0)
    5455    , m_cached(false)
     
    7071}
    7172
    72 PassRefPtr<InspectorResource> InspectorResource::appendRedirect(unsigned long identifier, const ResourceRequest& request, const ResourceResponse& redirectResponse)
     73PassRefPtr<InspectorResource> InspectorResource::appendRedirect(unsigned long identifier, const KURL& redirectURL)
    7374{
    7475    // Last redirect is always a container of all previous ones. Pass this container here.
    75     RefPtr<InspectorResource> redirect = InspectorResource::create(m_identifier, m_loader.get());
     76    RefPtr<InspectorResource> redirect = InspectorResource::create(m_identifier, m_loader.get(), redirectURL);
    7677    redirect->m_redirects = m_redirects;
    7778    redirect->m_redirects.append(this);
    7879    redirect->m_changes.set(RedirectsChange);
    79     redirect->updateRequest(request);
    8080
    8181    m_identifier = identifier;
    8282    m_redirects.clear();
    83     updateResponse(redirectResponse);
    84     markResponseReceivedTime();
    85     endTiming();
    8683    return redirect;
    8784}
     
    8986PassRefPtr<InspectorResource> InspectorResource::createCached(unsigned long identifier, DocumentLoader* loader, const CachedResource* cachedResource)
    9087{
    91     PassRefPtr<InspectorResource> resource = create(identifier, loader);
     88    PassRefPtr<InspectorResource> resource = create(identifier, loader, KURL(ParsedURLString, cachedResource->url()));
    9289
    9390    resource->m_finished = true;
    9491
    95     resource->m_requestURL = KURL(ParsedURLString, cachedResource->url());
    9692    resource->updateResponse(cachedResource->response());
    9793
     
    110106{
    111107    m_requestHeaderFields = request.httpHeaderFields();
    112     m_requestURL = request.url();
    113108    m_requestMethod = request.httpMethod();
    114109    if (request.httpBody() && !request.httpBody()->isEmpty())
     
    221216    m_changes.setAll();
    222217
     218    for (size_t i = 0; i < m_redirects.size(); ++i)
     219        m_redirects[i]->releaseScriptObject(frontend, callRemoveResource);
     220
    223221    if (!callRemoveResource)
    224222        return;
    225223
    226224    frontend->removeResource(m_identifier);
    227 
    228     for (size_t i = 0; i < m_redirects.size(); ++i)
    229         m_redirects[i]->releaseScriptObject(frontend, callRemoveResource);
    230225}
    231226
  • trunk/WebCore/inspector/InspectorResource.h

    r52154 r52169  
    6969        };
    7070
    71         static PassRefPtr<InspectorResource> create(unsigned long identifier, DocumentLoader* loader)
     71        static PassRefPtr<InspectorResource> create(unsigned long identifier, DocumentLoader* loader, const KURL& requestURL)
    7272        {
    73             return adoptRef(new InspectorResource(identifier, loader));
     73            return adoptRef(new InspectorResource(identifier, loader, requestURL));
    7474        }
    7575
     
    7878        ~InspectorResource();
    7979
    80         PassRefPtr<InspectorResource> appendRedirect(unsigned long identifier, const ResourceRequest&, const ResourceResponse& redirectResponse);
     80        PassRefPtr<InspectorResource> appendRedirect(unsigned long identifier, const KURL& redirectURL);
    8181        void updateScriptObject(InspectorFrontend* frontend);
    8282        void releaseScriptObject(InspectorFrontend* frontend, bool callRemoveResource);
     
    147147        };
    148148
    149         InspectorResource(unsigned long identifier, DocumentLoader*);
     149        InspectorResource(unsigned long identifier, DocumentLoader*, const KURL& requestURL);
    150150        Type type() const;
    151151
Note: See TracChangeset for help on using the changeset viewer.