[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
pfeldman at chromium.org
pfeldman at chromium.org
Wed Dec 22 15:10:20 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit f13f4fe005cba23bb37fee6d28071c3cdb80b57f
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Oct 28 21:09:32 2010 +0000
2010-10-28 Pavel Feldman <pfeldman at chromium.org>
Not reviewed. Rolling out r70800.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 28b42a7..8350e62 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,7 @@
+2010-10-28 Pavel Feldman <pfeldman at chromium.org>
+
+ Not reviewed. Rolling out r70800.
+
2010-10-28 Alexey Proskuryakov <ap at apple.com>
Reviewed by Dan Bernstein.
diff --git a/WebCore/English.lproj/localizedStrings.js b/WebCore/English.lproj/localizedStrings.js
index c432f73..7403b22 100644
Binary files a/WebCore/English.lproj/localizedStrings.js and b/WebCore/English.lproj/localizedStrings.js differ
diff --git a/WebCore/inspector/InspectorCSSStore.cpp b/WebCore/inspector/InspectorCSSStore.cpp
index b75f11b..e0b658f 100644
--- a/WebCore/inspector/InspectorCSSStore.cpp
+++ b/WebCore/inspector/InspectorCSSStore.cpp
@@ -44,7 +44,6 @@
#include "HTMLHeadElement.h"
#include "InspectorController.h"
#include "InspectorResource.h"
-#include "InspectorResourceAgent.h"
#include "Node.h"
#include "PlatformString.h"
#include "SharedBuffer.h"
@@ -143,7 +142,7 @@ String InspectorCSSStore::styleSheetText(long styleSheetId)
bool InspectorCSSStore::resourceStyleSheetText(CSSStyleSheet* styleSheet, String* result)
{
- return InspectorResourceAgent::resourceContent(styleSheet->document()->frame(), styleSheet->finalURL(), result);
+ return m_inspectorController->resourceContentForURL(styleSheet->finalURL(), styleSheet->document(), result);
}
String InspectorCSSStore::inlineStyleSheetText(CSSStyleSheet* styleSheet)
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index 26907a4..31f4505 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -68,6 +68,7 @@
#include "InspectorFrontendClient.h"
#include "InspectorInstrumentation.h"
#include "InspectorProfilerAgent.h"
+#include "InspectorResource.h"
#include "InspectorResourceAgent.h"
#include "InspectorState.h"
#include "InspectorStorageAgent.h"
@@ -100,11 +101,6 @@
#include <wtf/ListHashSet.h>
#include <wtf/RefCounted.h>
#include <wtf/StdLibExtras.h>
-#include <wtf/UnusedParam.h>
-
-#if LEGACY_RESOURCE_TRACKING_ENABLED
-#include "InspectorResource.h"
-#endif
#if ENABLE(DATABASE)
#include "Database.h"
@@ -144,7 +140,6 @@ InspectorController::InspectorController(Page* page, InspectorClient* client)
, m_client(client)
, m_openingFrontend(false)
, m_cssStore(new InspectorCSSStore(this))
- , m_mainResourceIdentifier(0)
, m_loadEventTime(-1.0)
, m_domContentEventTime(-1.0)
, m_expiredConsoleMessageCount(0)
@@ -173,9 +168,7 @@ InspectorController::~InspectorController()
ASSERT(!m_inspectedPage);
ASSERT(!m_highlightedNode);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
deleteAllValues(m_frameResources);
-#endif
releaseFrontendLifetimeAgents();
@@ -232,12 +225,10 @@ bool InspectorController::searchingForNodeInPage() const
return m_state->getBoolean(InspectorState::searchingForNode);
}
-#if LEGACY_RESOURCE_TRACKING_ENABLED
bool InspectorController::resourceTrackingEnabled() const
{
return m_state->getBoolean(InspectorState::resourceTrackingEnabled);
}
-#endif
void InspectorController::getInspectorState(RefPtr<InspectorObject>* state)
{
@@ -491,10 +482,8 @@ void InspectorController::connectFrontend()
releaseFrontendLifetimeAgents();
m_frontend = new InspectorFrontend(m_client);
m_domAgent = InspectorDOMAgent::create(m_cssStore.get(), m_frontend.get());
-
-#if !LEGACY_RESOURCE_TRACKING_ENABLED
- m_resourceAgent = InspectorResourceAgent::create(m_inspectedPage, m_frontend.get());
-#endif
+ // FIXME: enable resource agent once front-end is ready.
+ // m_resourceAgent = InspectorResourceAgent::create(m_inspectedPage, m_frontend.get());
#if ENABLE(DATABASE)
m_storageAgent = InspectorStorageAgent::create(m_frontend.get());
@@ -602,9 +591,7 @@ void InspectorController::disconnectFrontend()
void InspectorController::releaseFrontendLifetimeAgents()
{
-#if !LEGACY_RESOURCE_TRACKING_ENABLED
m_resourceAgent.clear();
-#endif
// m_domAgent is RefPtr. Remove DOM listeners first to ensure that there are
// no references to the DOM agent from the DOM tree.
@@ -639,12 +626,9 @@ void InspectorController::populateScriptObjects()
m_frontend->profilerWasEnabled();
#endif
-#if LEGACY_RESOURCE_TRACKING_ENABLED
ResourcesMap::iterator resourcesEnd = m_resources.end();
for (ResourcesMap::iterator it = m_resources.begin(); it != resourcesEnd; ++it)
it->second->updateScriptObject(m_frontend.get());
-#endif
-
if (m_domContentEventTime != -1.0)
m_frontend->domContentEventFired(m_domContentEventTime);
if (m_loadEventTime != -1.0)
@@ -707,12 +691,10 @@ void InspectorController::restoreProfiler()
void InspectorController::unbindAllResources()
{
-#if LEGACY_RESOURCE_TRACKING_ENABLED
ResourcesMap::iterator resourcesEnd = m_resources.end();
for (ResourcesMap::iterator it = m_resources.begin(); it != resourcesEnd; ++it)
it->second->releaseScriptObject(0);
-#endif
-
+
#if ENABLE(DATABASE)
DatabaseResourcesMap::iterator databasesEnd = m_databaseResources.end();
for (DatabaseResourcesMap::iterator it = m_databaseResources.begin(); it != databasesEnd; ++it)
@@ -727,7 +709,6 @@ void InspectorController::unbindAllResources()
m_timelineAgent->reset();
}
-#if LEGACY_RESOURCE_TRACKING_ENABLED
void InspectorController::pruneResources(ResourcesMap* resourceMap, DocumentLoader* loaderToKeep)
{
ASSERT_ARG(resourceMap, resourceMap);
@@ -746,17 +727,15 @@ void InspectorController::pruneResources(ResourcesMap* resourceMap, DocumentLoad
}
}
}
-#endif
void InspectorController::didCommitLoad(DocumentLoader* loader)
{
if (!enabled())
return;
-#if !LEGACY_RESOURCE_TRACKING_ENABLED
- m_resourceAgent->didCommitLoad(loader);
-#endif
-
+ if (m_resourceAgent)
+ m_resourceAgent->didCommitLoad(loader);
+
ASSERT(m_inspectedPage);
if (loader->frame() == m_inspectedPage->mainFrame()) {
@@ -803,7 +782,6 @@ void InspectorController::didCommitLoad(DocumentLoader* loader)
#endif
if (m_frontend) {
-#if LEGACY_RESOURCE_TRACKING_ENABLED
if (!loader->frameLoader()->isLoadingFromCachedPage()) {
ASSERT(m_mainResource && m_mainResource->isSameLoader(loader));
// We don't add the main resource until its load is committed. This is
@@ -817,18 +795,14 @@ void InspectorController::didCommitLoad(DocumentLoader* loader)
// identifierForInitialRequest.
m_mainResource = 0;
}
-#endif
- m_mainResourceIdentifier = 0;
m_frontend->didCommitLoad();
m_domAgent->setDocument(m_inspectedPage->mainFrame()->document());
}
}
-#if LEGACY_RESOURCE_TRACKING_ENABLED
for (Frame* frame = loader->frame(); frame; frame = frame->tree()->traverseNext(loader->frame()))
if (ResourcesMap* resourceMap = m_frameResources.get(frame))
pruneResources(resourceMap, loader);
-#endif
}
void InspectorController::frameDetachedFromParent(Frame* rootFrame)
@@ -836,16 +810,14 @@ void InspectorController::frameDetachedFromParent(Frame* rootFrame)
if (!enabled())
return;
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->frameDetachedFromParent(rootFrame);
+
for (Frame* frame = rootFrame; frame; frame = frame->tree()->traverseNext(rootFrame))
if (ResourcesMap* resourceMap = m_frameResources.get(frame))
removeAllResources(resourceMap);
-#else
- m_resourceAgent->frameDetachedFromParent(rootFrame);
-#endif
}
-#if LEGACY_RESOURCE_TRACKING_ENABLED
void InspectorController::addResource(InspectorResource* resource)
{
m_resources.set(resource->identifier(), resource);
@@ -901,14 +873,24 @@ InspectorResource* InspectorController::getTrackedResource(unsigned long identif
return 0;
}
-#endif
+
+InspectorResource* InspectorController::resourceForURL(const String& url)
+{
+ for (InspectorController::ResourcesMap::iterator resIt = m_resources.begin(); resIt != m_resources.end(); ++resIt) {
+ if (resIt->second->requestURL().string() == url)
+ return resIt->second.get();
+ }
+ return 0;
+}
void InspectorController::didLoadResourceFromMemoryCache(DocumentLoader* loader, const CachedResource* cachedResource)
{
if (!enabled())
return;
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->didLoadResourceFromMemoryCache(loader, cachedResource);
+
// If the resource URL is already known, we don't need to add it again since this is just a cached load.
if (m_knownResources.contains(cachedResource->url()))
return;
@@ -930,9 +912,6 @@ void InspectorController::didLoadResourceFromMemoryCache(DocumentLoader* loader,
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->didLoadResourceFromMemoryCache(loader, cachedResource);
-#endif
}
void InspectorController::identifierForInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
@@ -941,11 +920,10 @@ void InspectorController::identifierForInitialRequest(unsigned long identifier,
return;
ASSERT(m_inspectedPage);
- bool isMainResource = isMainResourceLoader(loader, request.url());
- if (isMainResource)
- m_mainResourceIdentifier = identifier;
+ if (m_resourceAgent)
+ m_resourceAgent->identifierForInitialRequest(identifier, request.url(), loader);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ bool isMainResource = isMainResourceLoader(loader, request.url());
ensureSettingsLoaded();
if (!isMainResource && !resourceTrackingEnabled())
@@ -962,9 +940,6 @@ void InspectorController::identifierForInitialRequest(unsigned long identifier,
if (m_frontend && loader->frameLoader()->isLoadingFromCachedPage() && resource == m_mainResource)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->identifierForInitialRequest(identifier, request.url(), loader);
-#endif
}
void InspectorController::mainResourceFiredDOMContentEvent(DocumentLoader* loader, const KURL& url)
@@ -1001,22 +976,23 @@ void InspectorController::willSendRequest(unsigned long identifier, ResourceRequ
if (!enabled())
return;
- request.setReportLoadTiming(true);
- // Only enable raw headers if front-end is attached, as otherwise we may lack
- // permissions to fetch the headers.
- if (m_frontend)
- request.setReportRawHeaders(true);
-
- bool isMainResource = m_mainResourceIdentifier == identifier;
+ if (m_resourceAgent)
+ m_resourceAgent->willSendRequest(identifier, request, redirectResponse);
+ bool isMainResource = (m_mainResource && m_mainResource->identifier() == identifier);
if (m_timelineAgent)
m_timelineAgent->willSendResourceRequest(identifier, isMainResource, request);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
RefPtr<InspectorResource> resource = getTrackedResource(identifier);
if (!resource)
return;
+ request.setReportLoadTiming(true);
+ // Only enable raw headers if front-end is attached, as otherwise we may lack
+ // permissions to fetch the headers.
+ if (m_frontend)
+ request.setReportRawHeaders(true);
+
if (!redirectResponse.isNull()) {
// Redirect may have empty URL and we'd like to not crash with invalid HashMap entry.
// See http/tests/misc/will-send-request-returns-null-on-redirect.html
@@ -1042,9 +1018,6 @@ void InspectorController::willSendRequest(unsigned long identifier, ResourceRequ
if (resource != m_mainResource && m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->willSendRequest(identifier, request, redirectResponse);
-#endif
}
void InspectorController::markResourceAsCached(unsigned long identifier)
@@ -1052,12 +1025,11 @@ void InspectorController::markResourceAsCached(unsigned long identifier)
if (!enabled())
return;
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->markResourceAsCached(identifier);
+
if (RefPtr<InspectorResource> resource = getTrackedResource(identifier))
resource->markAsCached();
-#else
- m_resourceAgent->markResourceAsCached(identifier);
-#endif
}
void InspectorController::didReceiveResponse(unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response)
@@ -1065,17 +1037,19 @@ void InspectorController::didReceiveResponse(unsigned long identifier, DocumentL
if (!enabled())
return;
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->didReceiveResponse(identifier, loader, response);
+
if (RefPtr<InspectorResource> resource = getTrackedResource(identifier)) {
resource->updateResponse(response);
if (resource != m_mainResource && m_frontend)
resource->updateScriptObject(m_frontend.get());
}
- UNUSED_PARAM(loader);
-#else
- m_resourceAgent->didReceiveResponse(identifier, loader, response);
-#endif
+ if (response.httpStatusCode() >= 400) {
+ String message = makeString("Failed to load resource: the server responded with a status of ", String::number(response.httpStatusCode()), " (", response.httpStatusText(), ')');
+ addMessageToConsole(OtherMessageSource, LogMessageType, ErrorMessageLevel, message, 0, response.url().string());
+ }
}
void InspectorController::didReceiveContentLength(unsigned long identifier, int lengthReceived)
@@ -1083,7 +1057,9 @@ void InspectorController::didReceiveContentLength(unsigned long identifier, int
if (!enabled())
return;
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->didReceiveContentLength(identifier, lengthReceived);
+
RefPtr<InspectorResource> resource = getTrackedResource(identifier);
if (!resource)
return;
@@ -1092,9 +1068,6 @@ void InspectorController::didReceiveContentLength(unsigned long identifier, int
if (resource != m_mainResource && m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->didReceiveContentLength(identifier, lengthReceived);
-#endif
}
void InspectorController::didFinishLoading(unsigned long identifier, double finishTime)
@@ -1102,10 +1075,12 @@ void InspectorController::didFinishLoading(unsigned long identifier, double fini
if (!enabled())
return;
+ if (m_resourceAgent)
+ m_resourceAgent->didFinishLoading(identifier, finishTime);
+
if (m_timelineAgent)
m_timelineAgent->didFinishLoadingResource(identifier, false, finishTime);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
RefPtr<InspectorResource> resource = getTrackedResource(identifier);
if (!resource)
return;
@@ -1115,9 +1090,6 @@ void InspectorController::didFinishLoading(unsigned long identifier, double fini
// No need to mute this event for main resource since it happens after did commit load.
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->didFinishLoading(identifier, finishTime);
-#endif
}
void InspectorController::didFailLoading(unsigned long identifier, const ResourceError& error)
@@ -1125,23 +1097,27 @@ void InspectorController::didFailLoading(unsigned long identifier, const Resourc
if (!enabled())
return;
+ if (m_resourceAgent)
+ m_resourceAgent->didFailLoading(identifier, error);
+
if (m_timelineAgent)
m_timelineAgent->didFinishLoadingResource(identifier, true, 0);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ String message = "Failed to load resource";
+ if (!error.localizedDescription().isEmpty())
+ message += ": " + error.localizedDescription();
+ addMessageToConsole(OtherMessageSource, LogMessageType, ErrorMessageLevel, message, 0, error.failingURL());
+
RefPtr<InspectorResource> resource = getTrackedResource(identifier);
if (!resource)
return;
- resource->markFailed(error.localizedDescription());
+ resource->markFailed();
resource->endTiming(0);
// No need to mute this event for main resource since it happens after did commit load.
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->didFailLoading(identifier, error);
-#endif
}
void InspectorController::resourceRetrievedByXMLHttpRequest(unsigned long identifier, const String& sourceString, const String& url, const String& sendURL, unsigned sendLineNumber)
@@ -1149,10 +1125,12 @@ void InspectorController::resourceRetrievedByXMLHttpRequest(unsigned long identi
if (!enabled())
return;
+ if (m_resourceAgent)
+ m_resourceAgent->setOverrideContent(identifier, sourceString, InspectorResource::XHR);
+
if (m_state->getBoolean(InspectorState::monitoringXHR))
addMessageToConsole(JSMessageSource, LogMessageType, LogMessageLevel, "XHR finished loading: \"" + url + "\".", sendLineNumber, sendURL);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
if (!resourceTrackingEnabled())
return;
@@ -1164,9 +1142,6 @@ void InspectorController::resourceRetrievedByXMLHttpRequest(unsigned long identi
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->setOverrideContent(identifier, sourceString, InspectorResource::XHR);
-#endif
}
void InspectorController::scriptImported(unsigned long identifier, const String& sourceString)
@@ -1174,7 +1149,9 @@ void InspectorController::scriptImported(unsigned long identifier, const String&
if (!enabled())
return;
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->setOverrideContent(identifier, sourceString, InspectorResource::Script);
+
if (!resourceTrackingEnabled())
return;
@@ -1186,12 +1163,8 @@ void InspectorController::scriptImported(unsigned long identifier, const String&
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->setOverrideContent(identifier, sourceString, InspectorResource::Script);
-#endif
}
-#if LEGACY_RESOURCE_TRACKING_ENABLED
void InspectorController::setResourceTrackingEnabled(bool enable)
{
if (!enabled())
@@ -1200,11 +1173,9 @@ void InspectorController::setResourceTrackingEnabled(bool enable)
ASSERT(m_inspectedPage);
m_state->setBoolean(InspectorState::resourceTrackingEnabled, enable);
}
-#endif
void InspectorController::setResourceTrackingEnabled(bool enable, bool always, bool* newState)
{
-#if LEGACY_RESOURCE_TRACKING_ENABLED
*newState = enable;
if (always)
@@ -1218,11 +1189,6 @@ void InspectorController::setResourceTrackingEnabled(bool enable, bool always, b
if (enable)
reloadPage();
-#else
- UNUSED_PARAM(enable);
- UNUSED_PARAM(always);
- UNUSED_PARAM(newState);
-#endif
}
void InspectorController::ensureSettingsLoaded()
@@ -1382,35 +1348,33 @@ void InspectorController::getCookies(RefPtr<InspectorArray>* cookies, WTF::Strin
// always return the same true/false value.
bool rawCookiesImplemented = false;
- for (Frame* frame = m_inspectedPage->mainFrame(); frame; frame = frame->tree()->traverseNext(m_inspectedPage->mainFrame())) {
- Document* document = frame->document();
- const CachedResourceLoader::DocumentResourceMap& allResources = document->cachedResourceLoader()->allCachedResources();
- CachedResourceLoader::DocumentResourceMap::const_iterator end = allResources.end();
- for (CachedResourceLoader::DocumentResourceMap::const_iterator it = allResources.begin(); it != end; ++it) {
- Vector<Cookie> docCookiesList;
- rawCookiesImplemented = getRawCookies(document, KURL(ParsedURLString, it->second->url()), docCookiesList);
-
- if (!rawCookiesImplemented) {
- // FIXME: We need duplication checking for the String representation of cookies.
- ExceptionCode ec = 0;
- stringCookiesList += document->cookie(ec);
- // Exceptions are thrown by cookie() in sandboxed frames. That won't happen here
- // because "document" is the document of the main frame of the page.
- ASSERT(!ec);
- } else {
- int cookiesSize = docCookiesList.size();
- for (int i = 0; i < cookiesSize; i++) {
- if (!rawCookiesList.contains(docCookiesList[i]))
- rawCookiesList.add(docCookiesList[i]);
- }
+ ResourcesMap::iterator resourcesEnd = m_resources.end();
+ for (ResourcesMap::iterator it = m_resources.begin(); it != resourcesEnd; ++it) {
+ Document* document = it->second->frame()->document();
+ Vector<Cookie> docCookiesList;
+ rawCookiesImplemented = getRawCookies(document, it->second->requestURL(), docCookiesList);
+
+ if (!rawCookiesImplemented) {
+ // FIXME: We need duplication checking for the String representation of cookies.
+ ExceptionCode ec = 0;
+ stringCookiesList += document->cookie(ec);
+ // Exceptions are thrown by cookie() in sandboxed frames. That won't happen here
+ // because "document" is the document of the main frame of the page.
+ ASSERT(!ec);
+ } else {
+ int cookiesSize = docCookiesList.size();
+ for (int i = 0; i < cookiesSize; i++) {
+ if (!rawCookiesList.contains(docCookiesList[i]))
+ rawCookiesList.add(docCookiesList[i]);
}
}
}
if (rawCookiesImplemented)
*cookies = buildArrayForCookies(rawCookiesList);
- else
+ else {
*cookiesString = stringCookiesList;
+ }
}
PassRefPtr<InspectorArray> InspectorController::buildArrayForCookies(ListHashSet<Cookie>& cookiesList)
@@ -1442,14 +1406,11 @@ PassRefPtr<InspectorObject> InspectorController::buildObjectForCookie(const Cook
void InspectorController::deleteCookie(const String& cookieName, const String& domain)
{
- for (Frame* frame = m_inspectedPage->mainFrame(); frame; frame = frame->tree()->traverseNext(m_inspectedPage->mainFrame())) {
- Document* document = frame->document();
- if (document->url().host() != domain)
- continue;
- const CachedResourceLoader::DocumentResourceMap& allResources = document->cachedResourceLoader()->allCachedResources();
- CachedResourceLoader::DocumentResourceMap::const_iterator end = allResources.end();
- for (CachedResourceLoader::DocumentResourceMap::const_iterator it = allResources.begin(); it != end; ++it)
- WebCore::deleteCookie(document, KURL(ParsedURLString, it->second->url()), cookieName);
+ ResourcesMap::iterator resourcesEnd = m_resources.end();
+ for (ResourcesMap::iterator it = m_resources.begin(); it != resourcesEnd; ++it) {
+ Document* document = it->second->frame()->document();
+ if (document->url().host() == domain)
+ WebCore::deleteCookie(document, it->second->requestURL(), cookieName);
}
}
@@ -1547,21 +1508,21 @@ void InspectorController::didCreateWebSocket(unsigned long identifier, const KUR
return;
ASSERT(m_inspectedPage);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->didCreateWebSocket(identifier, requestURL);
+
RefPtr<InspectorResource> resource = InspectorResource::createWebSocket(identifier, requestURL, documentURL);
addResource(resource.get());
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->didCreateWebSocket(identifier, requestURL);
- UNUSED_PARAM(documentURL);
-#endif
}
void InspectorController::willSendWebSocketHandshakeRequest(unsigned long identifier, const WebSocketHandshakeRequest& request)
{
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->willSendWebSocketHandshakeRequest(identifier, request);
+
RefPtr<InspectorResource> resource = getTrackedResource(identifier);
if (!resource)
return;
@@ -1569,14 +1530,13 @@ void InspectorController::willSendWebSocketHandshakeRequest(unsigned long identi
resource->updateWebSocketRequest(request);
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->willSendWebSocketHandshakeRequest(identifier, request);
-#endif
}
void InspectorController::didReceiveWebSocketHandshakeResponse(unsigned long identifier, const WebSocketHandshakeResponse& response)
{
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->didReceiveWebSocketHandshakeResponse(identifier, response);
+
RefPtr<InspectorResource> resource = getTrackedResource(identifier);
if (!resource)
return;
@@ -1586,14 +1546,13 @@ void InspectorController::didReceiveWebSocketHandshakeResponse(unsigned long ide
resource->updateWebSocketResponse(response);
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->didReceiveWebSocketHandshakeResponse(identifier, response);
-#endif
}
void InspectorController::didCloseWebSocket(unsigned long identifier)
{
-#if LEGACY_RESOURCE_TRACKING_ENABLED
+ if (m_resourceAgent)
+ m_resourceAgent->didCloseWebSocket(identifier);
+
RefPtr<InspectorResource> resource = getTrackedResource(identifier);
if (!resource)
return;
@@ -1601,9 +1560,6 @@ void InspectorController::didCloseWebSocket(unsigned long identifier)
resource->endTiming(0);
if (m_frontend)
resource->updateScriptObject(m_frontend.get());
-#else
- m_resourceAgent->didCloseWebSocket(identifier);
-#endif
}
#endif // ENABLE(WEB_SOCKETS)
@@ -1817,7 +1773,9 @@ void InspectorController::didEvaluateForTestInFrontend(long callId, const String
String InspectorController::breakpointsSettingKey()
{
DEFINE_STATIC_LOCAL(String, keyPrefix, ("breakpoints:"));
- return keyPrefix + InspectorDebuggerAgent::md5Base16(m_inspectedPage->mainFrame()->loader()->url().string());
+ if (!m_mainResource)
+ return "";
+ return keyPrefix + InspectorDebuggerAgent::md5Base16(m_mainResource->requestURL());
}
PassRefPtr<InspectorValue> InspectorController::loadBreakpoints()
@@ -2149,18 +2107,55 @@ void InspectorController::setInspectorExtensionAPI(const String& source)
void InspectorController::getResourceContent(unsigned long identifier, bool encode, String* content)
{
-#if LEGACY_RESOURCE_TRACKING_ENABLED
RefPtr<InspectorResource> resource = m_resources.get(identifier);
if (!resource) {
*content = String();
return;
}
*content = encode ? resource->sourceBytes() : resource->sourceString();
-#else
- UNUSED_PARAM(identifier);
- UNUSED_PARAM(encode);
- UNUSED_PARAM(content);
-#endif
+}
+
+bool InspectorController::resourceContentForURL(const KURL& url, Document* frameDocument, String* result)
+{
+ if (!frameDocument)
+ return false;
+
+ String textEncodingName;
+ RefPtr<SharedBuffer> buffer;
+ if (equalIgnoringFragmentIdentifier(url, frameDocument->frame()->loader()->documentLoader()->requestURL())) {
+ textEncodingName = frameDocument->inputEncoding();
+ buffer = frameDocument->frame()->loader()->provisionalDocumentLoader()->mainResourceData();
+ } else {
+ const String& urlString = url.string();
+ CachedResource* cachedResource = frameDocument->cachedResourceLoader()->cachedResource(urlString);
+ if (!cachedResource)
+ cachedResource = cache()->resourceForURL(urlString);
+
+ ASSERT(cachedResource); // FIXME(apavlov): This might be too aggressive.
+
+ bool isUnpurgeable = true;
+ if (cachedResource->isPurgeable()) {
+ // If the resource is purgeable then make it unpurgeable to get
+ // its data. This might fail, in which case we return an
+ // empty String.
+ if (!cachedResource->makePurgeable(false))
+ isUnpurgeable = false;
+ }
+ if (isUnpurgeable) {
+ textEncodingName = cachedResource->encoding();
+ buffer = cachedResource->data();
+ }
+ }
+
+ if (buffer) {
+ TextEncoding encoding(textEncodingName);
+ if (!encoding.isValid())
+ encoding = WindowsLatin1Encoding();
+ *result = encoding.decode(buffer->data(), buffer->size());
+ return true;
+ }
+
+ return false;
}
void InspectorController::reloadPage()
diff --git a/WebCore/inspector/InspectorController.h b/WebCore/inspector/InspectorController.h
index 917968c..18db07f 100644
--- a/WebCore/inspector/InspectorController.h
+++ b/WebCore/inspector/InspectorController.h
@@ -67,6 +67,7 @@ class InspectorFrontend;
class InspectorFrontendClient;
class InspectorObject;
class InspectorProfilerAgent;
+class InspectorResource;
class InspectorResourceAgent;
class InspectorState;
class InspectorStorageAgent;
@@ -86,12 +87,6 @@ class SharedBuffer;
class Storage;
class StorageArea;
-#define LEGACY_RESOURCE_TRACKING_ENABLED 1
-
-#if LEGACY_RESOURCE_TRACKING_ENABLED
-class InspectorResource;
-#endif
-
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
class InspectorApplicationCacheAgent;
#endif
@@ -103,10 +98,8 @@ class WebSocketHandshakeResponse;
class InspectorController : public Noncopyable {
public:
-#if LEGACY_RESOURCE_TRACKING_ENABLED
typedef HashMap<unsigned long, RefPtr<InspectorResource> > ResourcesMap;
typedef HashMap<RefPtr<Frame>, ResourcesMap*> FrameResourcesMap;
-#endif
typedef HashMap<int, RefPtr<InspectorDatabaseResource> > DatabaseResourcesMap;
typedef HashMap<int, RefPtr<InspectorDOMStorageResource> > DOMStorageResourcesMap;
@@ -176,11 +169,9 @@ public:
void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const String& sourceString, const String& url, const String& sendURL, unsigned sendLineNumber);
void scriptImported(unsigned long identifier, const String& sourceString);
- void setResourceTrackingEnabled(bool enabled, bool always, bool* newState);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
void setResourceTrackingEnabled(bool enabled);
+ void setResourceTrackingEnabled(bool enabled, bool always, bool* newState);
bool resourceTrackingEnabled() const;
-#endif
void ensureSettingsLoaded();
@@ -223,10 +214,9 @@ public:
void didCloseWebSocket(unsigned long identifier);
#endif
-#if LEGACY_RESOURCE_TRACKING_ENABLED
const ResourcesMap& resources() const { return m_resources; }
-#endif
-
+ InspectorResource* resourceForURL(const String& url);
+ bool resourceContentForURL(const KURL& url, Document* loaderDocument, String* result);
bool hasFrontend() const { return m_frontend; }
void drawNodeHighlight(GraphicsContext&) const;
@@ -326,14 +316,13 @@ private:
void addConsoleMessage(PassOwnPtr<ConsoleMessage>);
-#if LEGACY_RESOURCE_TRACKING_ENABLED
void addResource(InspectorResource*);
void removeResource(InspectorResource*);
InspectorResource* getTrackedResource(unsigned long identifier);
+ void getResourceContent(unsigned long identifier, bool encode, String* content);
+
void pruneResources(ResourcesMap*, DocumentLoader* loaderToKeep = 0);
void removeAllResources(ResourcesMap* map) { pruneResources(map); }
-#endif
- void getResourceContent(unsigned long identifier, bool encode, String* content);
bool isMainResourceLoader(DocumentLoader* loader, const KURL& requestUrl);
@@ -352,6 +341,7 @@ private:
bool m_openingFrontend;
OwnPtr<InspectorFrontend> m_frontend;
RefPtr<InspectorDOMAgent> m_domAgent;
+ RefPtr<InspectorResourceAgent> m_resourceAgent;
RefPtr<InspectorStorageAgent> m_storageAgent;
OwnPtr<InspectorCSSStore> m_cssStore;
OwnPtr<InspectorTimelineAgent> m_timelineAgent;
@@ -360,15 +350,12 @@ private:
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
OwnPtr<InspectorApplicationCacheAgent> m_applicationCacheAgent;
#endif
+
RefPtr<Node> m_nodeToFocus;
-#if LEGACY_RESOURCE_TRACKING_ENABLED
RefPtr<InspectorResource> m_mainResource;
ResourcesMap m_resources;
HashSet<String> m_knownResources;
FrameResourcesMap m_frameResources;
-#endif
- RefPtr<InspectorResourceAgent> m_resourceAgent;
- unsigned long m_mainResourceIdentifier;
double m_loadEventTime;
double m_domContentEventTime;
Vector<OwnPtr<ConsoleMessage> > m_consoleMessages;
diff --git a/WebCore/inspector/InspectorResource.cpp b/WebCore/inspector/InspectorResource.cpp
index 9b3f95d..05b1bff 100644
--- a/WebCore/inspector/InspectorResource.cpp
+++ b/WebCore/inspector/InspectorResource.cpp
@@ -302,7 +302,6 @@ void InspectorResource::updateScriptObject(InspectorFrontend* frontend)
if (m_changes.hasChange(CompletionChange)) {
jsonObject->setBoolean("failed", m_failed);
- jsonObject->setString("localizedFailDescription", m_localizedFailDescription);
jsonObject->setBoolean("finished", m_finished);
jsonObject->setBoolean("didCompletionChange", true);
}
@@ -437,10 +436,9 @@ void InspectorResource::endTiming(double actualEndTime)
m_changes.set(CompletionChange);
}
-void InspectorResource::markFailed(const String& localizedDescription)
+void InspectorResource::markFailed()
{
m_failed = true;
- m_localizedFailDescription = localizedDescription;
m_changes.set(CompletionChange);
}
diff --git a/WebCore/inspector/InspectorResource.h b/WebCore/inspector/InspectorResource.h
index aa4c3b1..aa6001f 100644
--- a/WebCore/inspector/InspectorResource.h
+++ b/WebCore/inspector/InspectorResource.h
@@ -116,7 +116,7 @@ namespace WebCore {
void startTiming();
void endTiming(double actualEndTime);
- void markFailed(const String& localizedDescription);
+ void markFailed();
void addLength(int lengthReceived);
private:
@@ -175,7 +175,6 @@ namespace WebCore {
bool m_cached;
bool m_finished;
bool m_failed;
- String m_localizedFailDescription;
int m_length;
int m_responseStatusCode;
String m_responseStatusText;
diff --git a/WebCore/inspector/InspectorResourceAgent.cpp b/WebCore/inspector/InspectorResourceAgent.cpp
index 2e965b6..9f8062f 100644
--- a/WebCore/inspector/InspectorResourceAgent.cpp
+++ b/WebCore/inspector/InspectorResourceAgent.cpp
@@ -263,8 +263,10 @@ static void populateObjectWithFrameResources(Frame* frame, PassRefPtr<InspectorO
CachedResourceLoader::DocumentResourceMap::const_iterator end = allResources.end();
for (CachedResourceLoader::DocumentResourceMap::const_iterator it = allResources.begin(); it != end; ++it) {
CachedResource* cachedResource = it->second.get();
- RefPtr<InspectorObject> cachedResourceObject = buildObjectForCachedResource(frame->loader()->documentLoader(), *cachedResource);
- subresources->pushValue(cachedResourceObject);
+ if (cachedResource) {
+ RefPtr<InspectorObject> cachedResourceObject = buildObjectForCachedResource(frame->loader()->documentLoader(), *cachedResource);
+ subresources->pushValue(cachedResourceObject);
+ }
}
}
diff --git a/WebCore/inspector/front-end/CookieItemsView.js b/WebCore/inspector/front-end/CookieItemsView.js
index b2da875..4e250c4 100644
--- a/WebCore/inspector/front-end/CookieItemsView.js
+++ b/WebCore/inspector/front-end/CookieItemsView.js
@@ -208,6 +208,7 @@ WebInspector.CookieItemsView.prototype = {
this._filterCookiesForDomain(allCookies);
else
this._cookies = allCookies;
+
if (!this._cookies.length) {
// Nothing to show.
this._emptyMsgElement.removeStyleClass("hidden");
@@ -254,7 +255,7 @@ WebInspector.CookieItemsView.prototype = {
if (url && url.host == this._cookieDomain)
resourceURLsForDocumentURL.push(resource.url);
}
- WebInspector.forAllResources(populateResourcesForDocuments.bind(this));
+ WebInspector.forAllResources(populateResourcesForDocuments);
for (var i = 0; i < allCookies.length; ++i) {
var pushed = false;
diff --git a/WebCore/inspector/front-end/Resource.js b/WebCore/inspector/front-end/Resource.js
index c2f3bed..2df7b73 100644
--- a/WebCore/inspector/front-end/Resource.js
+++ b/WebCore/inspector/front-end/Resource.js
@@ -565,9 +565,6 @@ WebInspector.Resource.prototype = {
|| this.type === WebInspector.Resource.Type.WebSocket)
return true;
- if (!this.mimeType)
- return true; // Might be not known for cached resources with null responses.
-
if (this.mimeType in WebInspector.MIMETypes)
return this.type in WebInspector.MIMETypes[this.mimeType];
@@ -585,7 +582,7 @@ WebInspector.Resource.prototype = {
var msg;
switch (warning.id) {
case WebInspector.Warnings.IncorrectMIMEType.id:
- if (!this._mimeTypeIsConsistentWithType()) {
+ if (!this._mimeTypeIsConsistentWithType())
msg = new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.Other,
WebInspector.ConsoleMessage.MessageType.Log,
WebInspector.ConsoleMessage.MessageLevel.Warning,
@@ -596,35 +593,6 @@ WebInspector.Resource.prototype = {
String.sprintf(WebInspector.Warnings.IncorrectMIMEType.message, WebInspector.Resource.Type.toUIString(this.type), this.mimeType),
null,
null);
- }
- break;
- case WebInspector.Warnings.FailedToLoad.id:
- if (this.failed) {
- msg = new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.Other,
- WebInspector.ConsoleMessage.MessageType.Log,
- WebInspector.ConsoleMessage.MessageLevel.Error,
- -1,
- this.url,
- null,
- 1,
- String.sprintf(WebInspector.Warnings.FailedToLoad.message, this.localizedFailDescription),
- null,
- null);
- }
- break;
- case WebInspector.Warnings.FailedToLoadWithStatus.id:
- if (this.statusCode >= 400) {
- msg = new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.Other,
- WebInspector.ConsoleMessage.MessageType.Log,
- WebInspector.ConsoleMessage.MessageLevel.Error,
- -1,
- this.url,
- null,
- 1,
- String.sprintf(WebInspector.Warnings.FailedToLoadWithStatus.message, this.statusCode, this.statusText),
- null,
- null);
- }
break;
}
diff --git a/WebCore/inspector/front-end/ResourceManager.js b/WebCore/inspector/front-end/ResourceManager.js
index 43a655e..b181958 100644
--- a/WebCore/inspector/front-end/ResourceManager.js
+++ b/WebCore/inspector/front-end/ResourceManager.js
@@ -154,9 +154,6 @@ WebInspector.ResourceManager.prototype = {
_updateResourceWithResponse: function(resource, response)
{
- if (resource.isNull)
- return;
-
resource.mimeType = response.mimeType;
resource.expectedContentLength = response.expectedContentLength;
resource.textEncodingName = response.textEncodingName;
@@ -213,7 +210,6 @@ WebInspector.ResourceManager.prototype = {
return;
resource.failed = true;
- resource.localizedFailDescription = localizedDescription;
resource.finished = true;
resource.endTime = time;
diff --git a/WebCore/inspector/front-end/inspector.js b/WebCore/inspector/front-end/inspector.js
index f52f74e..85ca3f6 100644
--- a/WebCore/inspector/front-end/inspector.js
+++ b/WebCore/inspector/front-end/inspector.js
@@ -466,8 +466,8 @@ var WebInspector = {
if (Preferences.networkPanelEnabled)
WebInspector.resourceManager.forAllResources(callback);
else {
- for (var id in this.resources) {
- if (callback(this.resources[id]))
+ for (var id in WebInspector.panels.resources.resources) {
+ if (callback(WebInspector.panels.resources.resources[id]))
return;
}
}
@@ -583,9 +583,7 @@ WebInspector.doLoadedDone = function()
};
this.Warnings = {
- IncorrectMIMEType: {id: 0, message: WebInspector.UIString("Resource interpreted as %s but transferred with MIME type %s.")},
- FailedToLoad: {id: 1, message: WebInspector.UIString("Failed to load resource: %s")},
- FailedToLoadWithStatus: {id: 2, message: WebInspector.UIString("Failed to load resource: the server responded with a status of %s (%s)")}
+ IncorrectMIMEType: {id: 0, message: WebInspector.UIString("Resource interpreted as %s but transferred with MIME type %s.")}
};
this.addMainEventListeners(document);
@@ -1320,7 +1318,6 @@ WebInspector.updateResource = function(payload)
if (payload.didCompletionChange) {
resource.failed = payload.failed;
- resource.localizedFailDescription = payload.localizedFailDescription;
resource.finished = payload.finished;
if (this.panels.audits)
this.panels.audits.resourceFinished(resource);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list