Title: [92270] branches/chromium/835
Revision
92270
Author
vse...@chromium.org
Date
2011-08-03 03:50:18 -0700 (Wed, 03 Aug 2011)

Log Message

Merge 91858 - Web Inspector: Disable cache option should only clear memory cache, not disable it.
https://bugs.webkit.org/show_bug.cgi?id=65184

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/InspectorClient.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::enable):
(WebCore::InspectorResourceAgent::disable):
(WebCore::InspectorResourceAgent::setCacheDisabled):
(WebCore::InspectorResourceAgent::mainFrameNavigated):

Source/WebKit/chromium:

* src/InspectorClientImpl.cpp:
* src/InspectorClientImpl.h:
* src/WebDevToolsAgentImpl.cpp:
* src/WebDevToolsAgentImpl.h:

LayoutTests:

* http/tests/inspector/network/network-disable-cache-memory-expected.txt:
* http/tests/inspector/network/network-disable-cache-memory.html:
* http/tests/inspector/network/resources/random-script.php: Added.

TBR=pfeld...@chromium.org
BUG=90757
Review URL: http://codereview.chromium.org/7563005

Modified Paths

Added Paths

Diff

Modified: branches/chromium/835/LayoutTests/http/tests/inspector/network/network-disable-cache-memory-expected.txt (92269 => 92270)


--- branches/chromium/835/LayoutTests/http/tests/inspector/network/network-disable-cache-memory-expected.txt	2011-08-03 10:48:22 UTC (rev 92269)
+++ branches/chromium/835/LayoutTests/http/tests/inspector/network/network-disable-cache-memory-expected.txt	2011-08-03 10:50:18 UTC (rev 92270)
@@ -1,8 +1,8 @@
-CONSOLE MESSAGE: line 26: First two images loaded.
-CONSOLE MESSAGE: line 36: Done.
+CONSOLE MESSAGE: line 1: Done.
+CONSOLE MESSAGE: line 1: Done.
+CONSOLE MESSAGE: line 1: Done.
 Tests disabling cache from inspector.
 
+Page reloaded.
+Page reloaded.
 
-http://127.0.0.1:8000/inspector/network/resources/resource.php?type=image&random=1&cached=1
-http://127.0.0.1:8000/inspector/network/resources/resource.php?type=image&random=1&cached=1
-

Modified: branches/chromium/835/LayoutTests/http/tests/inspector/network/network-disable-cache-memory.html (92269 => 92270)


--- branches/chromium/835/LayoutTests/http/tests/inspector/network/network-disable-cache-memory.html	2011-08-03 10:48:22 UTC (rev 92269)
+++ branches/chromium/835/LayoutTests/http/tests/inspector/network/network-disable-cache-memory.html	2011-08-03 10:50:18 UTC (rev 92270)
@@ -3,83 +3,82 @@
 <script src=""
 <script src=""
 <script>
-function loadImage(callback)
-{
-    var image = new Image();
-    image._onload_ = callback;
-    image.src = ""
-    document.body.appendChild(image);
+function scheduleScriptLoad() {
+    window.setTimeout(loadScript, 0);
 }
 
-function loadData()
-{
-    loadImage(imageLoaded1);
+function loadScript() {
+    var script = document.createElement("script");
+    script.type = "text/_javascript_";
+    script.src = ""
+    document.head.appendChild(script);
 }
 
-function imageLoaded1()
+function test()
 {
-    loadImage(imageLoaded2);
-}
+    var content1;
+    var content2;
+    var content3;
 
-function imageLoaded2()
-{
-    console.log("First two images loaded.");
-}
+    function loadScriptAndGetContent(callback)
+    {
+        InspectorTest.addSniffer(WebInspector.ConsoleView.prototype, "addMessage", scriptLoaded);
+        InspectorTest.evaluateInPage("scheduleScriptLoad()");
 
-function cacheDisabled()
-{
-    loadImage(allImagesLoaded);
-}
+        function scriptLoaded()
+        {
+            var resourcesCount = WebInspector.panels.network.resources.length;
+            var resource = WebInspector.panels.network.resources[resourcesCount - 1];
+            resource.requestContent(contentLoaded);
+        }
 
-function allImagesLoaded()
-{
-    console.log("Done.");
-}
+        function contentLoaded()
+        {
+            var resourcesCount = WebInspector.panels.network.resources.length;
+            var resource = WebInspector.panels.network.resources[resourcesCount - 1];
+            callback(resource.content);
+        }
+    }
 
-function test()
-{
-    InspectorTest.addSniffer(WebInspector.ConsoleView.prototype, "addMessage", step2);
-    InspectorTest.evaluateInPage("loadData()");
+    loadScriptAndGetContent(step1);
 
+    function step1(content)
+    {
+        content1 = content;
+        InspectorTest.reloadPage(step2);
+    }
+
     function step2(msg)
     {
-        NetworkAgent.setCacheDisabled(true, step3);
+        loadScriptAndGetContent(step3);
     }
 
-    function step3(msg)
+    function step3(content)
     {
-        InspectorTest.addSniffer(WebInspector.ConsoleView.prototype, "addMessage", step4);
-        InspectorTest.evaluateInPage("cacheDisabled()");
+        content2 = content;
+        NetworkAgent.setCacheDisabled(true, step4);
     }
 
     function step4(msg)
     {
-        // inspector-test.js appears in network panel occasionally in Safari on
-        // Mac, so checking two last resources.
-        var resourcesCount = WebInspector.panels.network.resources.length;
-        var resource1 = WebInspector.panels.network.resources[resourcesCount - 2];
-        var resource2 = WebInspector.panels.network.resources[resourcesCount - 1];
-        resource1.requestContent(contentLoaded);
-        resource2.requestContent(contentLoaded);
+        InspectorTest.reloadPage(step5);
     }
 
-    var contentLoadedCount = 0;
-    function contentLoaded()
+    function step5(msg)
     {
-        if (++contentLoadedCount !== 2)
-            return;
+        loadScriptAndGetContent(step6);
+    }
 
-        var resourcesCount = WebInspector.panels.network.resources.length;
-        var resource1 = WebInspector.panels.network.resources[resourcesCount - 2];
-        var resource2 = WebInspector.panels.network.resources[resourcesCount - 1];
+    function step6(content)
+    {
+        content3 = content;
 
-        InspectorTest.addResult(resource1.url);
-        InspectorTest.addResult(resource2.url);
-        InspectorTest.assertTrue(resource1.content !== resource2.content, "Second and third resources differ");
-        NetworkAgent.setCacheDisabled(false, step5);
+        InspectorTest.assertTrue(content1 === content2, "First and second scripts should be equal.");
+        InspectorTest.assertTrue(content2 !== content3, "Second and third scripts should differ.");
+        NetworkAgent.setCacheDisabled(false, step7);
     }
 
-    function step5(msg)
+    function step7(msg)
     {
         InspectorTest.completeTest();
     }

Copied: branches/chromium/835/LayoutTests/http/tests/inspector/network/resources/random-script.php (from rev 91858, trunk/LayoutTests/http/tests/inspector/network/resources/random-script.php) (0 => 92270)


--- branches/chromium/835/LayoutTests/http/tests/inspector/network/resources/random-script.php	                        (rev 0)
+++ branches/chromium/835/LayoutTests/http/tests/inspector/network/resources/random-script.php	2011-08-03 10:50:18 UTC (rev 92270)
@@ -0,0 +1,19 @@
+<?php
+    if ($_SERVER["HTTP_IF_MODIFIED_SINCE"]) {
+        header("HTTP/1.0 304 Not Modified");
+        exit;
+    }
+
+    $max_age = 12 * 31 * 24 * 60 * 60; //one year
+    $expires = gmdate(DATE_RFC1123, time() + $max_age);
+    $last_modified = gmdate(DATE_RFC1123, time() - $max_age);
+
+    header("Cache-Control: public, max-age=" . 5*$max_age);
+    header("Cache-control: max-age=0");
+    header("Expires: " . $expires);
+    header("Content-Type: text/html");
+    header("Last-Modified: " . $last_modified);
+
+    echo("console.log(\"Done.\");");
+    echo("var randomValue = " . rand() . ";");
+?>

Modified: branches/chromium/835/Source/WebCore/inspector/InspectorClient.h (92269 => 92270)


--- branches/chromium/835/Source/WebCore/inspector/InspectorClient.h	2011-08-03 10:48:22 UTC (rev 92269)
+++ branches/chromium/835/Source/WebCore/inspector/InspectorClient.h	2011-08-03 10:50:18 UTC (rev 92270)
@@ -54,7 +54,6 @@
 
     virtual void clearBrowserCache() { }
     virtual void clearBrowserCookies() { }
-    virtual void setCacheDisabled(bool) { }
 
     bool doDispatchMessageOnFrontendPage(Page* frontendPage, const String& message);
 };

Modified: branches/chromium/835/Source/WebCore/inspector/InspectorResourceAgent.cpp (92269 => 92270)


--- branches/chromium/835/Source/WebCore/inspector/InspectorResourceAgent.cpp	2011-08-03 10:48:22 UTC (rev 92269)
+++ branches/chromium/835/Source/WebCore/inspector/InspectorResourceAgent.cpp	2011-08-03 10:50:18 UTC (rev 92270)
@@ -51,6 +51,7 @@
 #include "InspectorValues.h"
 #include "InstrumentingAgents.h"
 #include "KURL.h"
+#include "MemoryCache.h"
 #include "NetworkResourcesData.h"
 #include "Page.h"
 #include "ProgressTracker.h"
@@ -442,15 +443,12 @@
         return;
     m_state->setBoolean(ResourceAgentState::resourceAgentEnabled, true);
     m_instrumentingAgents->setInspectorResourceAgent(this);
-
-    m_client->setCacheDisabled(m_state->getBoolean(ResourceAgentState::cacheDisabled));
 }
 
 void InspectorResourceAgent::disable(ErrorString*)
 {
     m_state->setBoolean(ResourceAgentState::resourceAgentEnabled, false);
     m_instrumentingAgents->setInspectorResourceAgent(0);
-    m_client->setCacheDisabled(false);
 }
 
 void InspectorResourceAgent::setUserAgentOverride(ErrorString*, const String& userAgent)
@@ -511,12 +509,14 @@
 
 void InspectorResourceAgent::setCacheDisabled(ErrorString*, bool cacheDisabled)
 {
-    m_client->setCacheDisabled(cacheDisabled);
     m_state->setBoolean(ResourceAgentState::cacheDisabled, cacheDisabled);
 }
 
 void InspectorResourceAgent::mainFrameNavigated(DocumentLoader* loader)
 {
+    if (m_state->getBoolean(ResourceAgentState::cacheDisabled))
+        memoryCache()->evictResources();
+
     m_resourcesData->clear(m_pageAgent->loaderId(loader));
 }
 

Modified: branches/chromium/835/Source/WebKit/chromium/src/InspectorClientImpl.cpp (92269 => 92270)


--- branches/chromium/835/Source/WebKit/chromium/src/InspectorClientImpl.cpp	2011-08-03 10:48:22 UTC (rev 92269)
+++ branches/chromium/835/Source/WebKit/chromium/src/InspectorClientImpl.cpp	2011-08-03 10:50:18 UTC (rev 92270)
@@ -106,12 +106,6 @@
         agent->clearBrowserCookies();
 }
 
-void InspectorClientImpl::setCacheDisabled(bool cacheDisabled)
-{
-    if (WebDevToolsAgentImpl* agent = devToolsAgent())
-        agent->setCacheDisabled(cacheDisabled);
-}
-
 WebDevToolsAgentImpl* InspectorClientImpl::devToolsAgent()
 {
     return static_cast<WebDevToolsAgentImpl*>(m_inspectedWebView->devToolsAgent());

Modified: branches/chromium/835/Source/WebKit/chromium/src/InspectorClientImpl.h (92269 => 92270)


--- branches/chromium/835/Source/WebKit/chromium/src/InspectorClientImpl.h	2011-08-03 10:48:22 UTC (rev 92269)
+++ branches/chromium/835/Source/WebKit/chromium/src/InspectorClientImpl.h	2011-08-03 10:50:18 UTC (rev 92270)
@@ -59,7 +59,6 @@
 
     virtual void clearBrowserCache();
     virtual void clearBrowserCookies();
-    virtual void setCacheDisabled(bool);
 private:
     WebDevToolsAgentImpl* devToolsAgent();
 

Modified: branches/chromium/835/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp (92269 => 92270)


--- branches/chromium/835/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp	2011-08-03 10:48:22 UTC (rev 92269)
+++ branches/chromium/835/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp	2011-08-03 10:50:18 UTC (rev 92270)
@@ -317,11 +317,6 @@
     m_client->clearBrowserCookies();
 }
 
-void WebDevToolsAgentImpl::setCacheDisabled(bool cacheDisabled)
-{
-    memoryCache()->setDisabled(cacheDisabled);
-}
-
 void WebDevToolsAgentImpl::setProcessId(long processId)
 {
     inspectorController()->setProcessId(processId);

Modified: branches/chromium/835/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h (92269 => 92270)


--- branches/chromium/835/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h	2011-08-03 10:48:22 UTC (rev 92269)
+++ branches/chromium/835/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h	2011-08-03 10:50:18 UTC (rev 92270)
@@ -93,7 +93,6 @@
 
     virtual void clearBrowserCache();
     virtual void clearBrowserCookies();
-    virtual void setCacheDisabled(bool);
 
     int hostId() { return m_hostId; }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to