Web Inspector: performance tests: fix memory leak in first-open-resources test.
authorloislo@chromium.org <loislo@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Jan 2012 12:06:08 +0000 (12:06 +0000)
committerloislo@chromium.org <loislo@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Jan 2012 12:06:08 +0000 (12:06 +0000)
https://bugs.webkit.org/show_bug.cgi?id=76049

first-open-resources doesn't reset resource panel properly after test run.

Reviewed by Yury Semikhatsky.

* inspector/first-open-resources.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@104809 268f45cc-cd09-0410-ab3c-d52691b4dbfc

PerformanceTests/ChangeLog
PerformanceTests/inspector/first-open-resources.html

index 52edfcd..8124974 100644 (file)
@@ -1,3 +1,14 @@
+2012-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
+
+        Web Inspector: performance tests: fix memory leak in first-open-resources test.
+        https://bugs.webkit.org/show_bug.cgi?id=76049
+
+        first-open-resources doesn't reset resource panel properly after test run.
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/first-open-resources.html:
+
 2012-01-10  Ilya Tikhonovsky  <loislo@chromium.org>
 
         Unreviewed. WebInspector: Remove unnecessary logging from the test.
index fd1633e..cb96af6 100644 (file)
@@ -12,18 +12,26 @@ function test()
     function test(timer)
     {
         WebInspector.showPanel("audits");
+        var resources = WebInspector.panels.resources;
+        resources.reset();
+        var treeModel = WebInspector.resourceTreeModel;
+        treeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameAdded, resources._frameAdded, resources);
+        treeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, resources._frameNavigated, resources);
+        treeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameDetached, resources._frameDetached, resources);
+        treeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, resources._resourceAdded, resources);
+        resources._initialized = false;
 
+        InspectorTest.addBackendResponseSniffer(ApplicationCacheAgent, "getFramesWithManifests", finish);
         var showPanelTimerCookie = timer.start("first-open-resources");
-        InspectorTest.addBackendResponseSniffer(PageAgent, "getResourceTree", function() {
+        treeModel._fetchResourceTree();
+        WebInspector.showPanel("resources");
+
+        function finish()
+        {
             timer.finish(showPanelTimerCookie);
             timer.done("first-open");
-        });
-        WebInspector.panels.resources.reset();
-        WebInspector.panels.resources._initialized = false;
-        WebInspector.resourceTreeModel._fetchResourceTree();
-        WebInspector.showPanel("resources");
+        }
     }
-
     InspectorTest.runPerformanceTest(test, 5000);
 }