Title: [91858] trunk
Revision
91858
Author
vse...@chromium.org
Date
2011-07-27 11:30:18 -0700 (Wed, 27 Jul 2011)

Log Message

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.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (91857 => 91858)


--- trunk/LayoutTests/ChangeLog	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/LayoutTests/ChangeLog	2011-07-27 18:30:18 UTC (rev 91858)
@@ -1,3 +1,14 @@
+2011-07-27  Vsevolod Vlasov  <vse...@chromium.org>
+
+        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.
+
+        * 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.
+
 2011-07-27  Csaba Osztrogonác  <o...@webkit.org>
 
         [Qt] Unreviewed gardening. Update Qt 4.8 specific expected files.

Modified: trunk/LayoutTests/http/tests/inspector/network/network-disable-cache-memory-expected.txt (91857 => 91858)


--- trunk/LayoutTests/http/tests/inspector/network/network-disable-cache-memory-expected.txt	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/LayoutTests/http/tests/inspector/network/network-disable-cache-memory-expected.txt	2011-07-27 18:30:18 UTC (rev 91858)
@@ -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: trunk/LayoutTests/http/tests/inspector/network/network-disable-cache-memory.html (91857 => 91858)


--- trunk/LayoutTests/http/tests/inspector/network/network-disable-cache-memory.html	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/LayoutTests/http/tests/inspector/network/network-disable-cache-memory.html	2011-07-27 18:30:18 UTC (rev 91858)
@@ -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();
     }

Added: trunk/LayoutTests/http/tests/inspector/network/resources/random-script.php (0 => 91858)


--- trunk/LayoutTests/http/tests/inspector/network/resources/random-script.php	                        (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/random-script.php	2011-07-27 18:30:18 UTC (rev 91858)
@@ -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: trunk/Source/WebCore/ChangeLog (91857 => 91858)


--- trunk/Source/WebCore/ChangeLog	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/Source/WebCore/ChangeLog	2011-07-27 18:30:18 UTC (rev 91858)
@@ -1,3 +1,17 @@
+2011-07-27  Vsevolod Vlasov  <vse...@chromium.org>
+
+        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.
+
+        * inspector/InspectorClient.h:
+        * inspector/InspectorResourceAgent.cpp:
+        (WebCore::InspectorResourceAgent::enable):
+        (WebCore::InspectorResourceAgent::disable):
+        (WebCore::InspectorResourceAgent::setCacheDisabled):
+        (WebCore::InspectorResourceAgent::mainFrameNavigated):
+
 2011-07-27  Rob Buis  <rb...@rim.com>
 
         Implement getIntersectionList(), getEnclosureList(), checkIntersection() and checkEnclosure() in SVGSVGElement

Modified: trunk/Source/WebCore/inspector/InspectorClient.h (91857 => 91858)


--- trunk/Source/WebCore/inspector/InspectorClient.h	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/Source/WebCore/inspector/InspectorClient.h	2011-07-27 18:30:18 UTC (rev 91858)
@@ -54,7 +54,6 @@
 
     virtual void clearBrowserCache() { }
     virtual void clearBrowserCookies() { }
-    virtual void setCacheDisabled(bool) { }
 
     bool doDispatchMessageOnFrontendPage(Page* frontendPage, const String& message);
 };

Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp (91857 => 91858)


--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp	2011-07-27 18:30:18 UTC (rev 91858)
@@ -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: trunk/Source/WebKit/chromium/ChangeLog (91857 => 91858)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-07-27 18:30:18 UTC (rev 91858)
@@ -1,3 +1,15 @@
+2011-07-27  Vsevolod Vlasov  <vse...@chromium.org>
+
+        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.
+
+        * src/InspectorClientImpl.cpp:
+        * src/InspectorClientImpl.h:
+        * src/WebDevToolsAgentImpl.cpp:
+        * src/WebDevToolsAgentImpl.h:
+
 2011-07-27  Sadrul Habib Chowdhury  <sad...@chromium.org>
 
         Pass on the suggested name for download file to the client.

Modified: trunk/Source/WebKit/chromium/src/InspectorClientImpl.cpp (91857 => 91858)


--- trunk/Source/WebKit/chromium/src/InspectorClientImpl.cpp	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/Source/WebKit/chromium/src/InspectorClientImpl.cpp	2011-07-27 18:30:18 UTC (rev 91858)
@@ -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: trunk/Source/WebKit/chromium/src/InspectorClientImpl.h (91857 => 91858)


--- trunk/Source/WebKit/chromium/src/InspectorClientImpl.h	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/Source/WebKit/chromium/src/InspectorClientImpl.h	2011-07-27 18:30:18 UTC (rev 91858)
@@ -59,7 +59,6 @@
 
     virtual void clearBrowserCache();
     virtual void clearBrowserCookies();
-    virtual void setCacheDisabled(bool);
 private:
     WebDevToolsAgentImpl* devToolsAgent();
 

Modified: trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp (91857 => 91858)


--- trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp	2011-07-27 18:30:18 UTC (rev 91858)
@@ -317,11 +317,6 @@
     m_client->clearBrowserCookies();
 }
 
-void WebDevToolsAgentImpl::setCacheDisabled(bool cacheDisabled)
-{
-    memoryCache()->setDisabled(cacheDisabled);
-}
-
 void WebDevToolsAgentImpl::setProcessId(long processId)
 {
     inspectorController()->setProcessId(processId);

Modified: trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h (91857 => 91858)


--- trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h	2011-07-27 17:45:41 UTC (rev 91857)
+++ trunk/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h	2011-07-27 18:30:18 UTC (rev 91858)
@@ -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