Title: [121542] trunk
Revision
121542
Author
[email protected]
Date
2012-06-29 02:54:00 -0700 (Fri, 29 Jun 2012)

Log Message

Web Inspector: Add FileSystemView
https://bugs.webkit.org/show_bug.cgi?id=73301

This patch introduce a split view as FileSystemView. Including directory tree as sidebar tree.

Patch by Taiju Tsuiki <[email protected]> on 2012-06-29
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Test: http/tests/inspector/filesystem/directory-tree.html

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemModel.Entry.compare):
* inspector/front-end/FileSystemView.js: Added.
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.showFileSystem):
(WebInspector.FileSystemTreeElement.prototype.get itemURL):
(WebInspector.FileSystemTreeElement.prototype.onattach):
(WebInspector.FileSystemTreeElement.prototype._handleContextMenuEvent):
(WebInspector.FileSystemTreeElement.prototype._refreshFileSystem):
(WebInspector.FileSystemTreeElement.prototype.onselect):
(WebInspector.FileSystemTreeElement.prototype.clear):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

LayoutTests:

* http/tests/inspector/filesystem/directory-tree-expected.txt: Added.
* http/tests/inspector/filesystem/directory-tree.html: Added.
* http/tests/inspector/filesystem/filesystem-test.js:
(initialize_FileSystemTest.incrementRequestCount):
(initialize_FileSystemTest.decrementRequestCount):
(initialize_FileSystemTest.InspectorTest.callOnRequestCompleted):

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (121541 => 121542)


--- trunk/LayoutTests/ChangeLog	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/LayoutTests/ChangeLog	2012-06-29 09:54:00 UTC (rev 121542)
@@ -1,3 +1,19 @@
+2012-06-29  Taiju Tsuiki  <[email protected]>
+
+        Web Inspector: Add FileSystemView
+        https://bugs.webkit.org/show_bug.cgi?id=73301
+
+        This patch introduce a split view as FileSystemView. Including directory tree as sidebar tree.
+
+        Reviewed by Vsevolod Vlasov.
+
+        * http/tests/inspector/filesystem/directory-tree-expected.txt: Added.
+        * http/tests/inspector/filesystem/directory-tree.html: Added.
+        * http/tests/inspector/filesystem/filesystem-test.js:
+        (initialize_FileSystemTest.incrementRequestCount):
+        (initialize_FileSystemTest.decrementRequestCount):
+        (initialize_FileSystemTest.InspectorTest.callOnRequestCompleted):
+
 2012-06-28  Vsevolod Vlasov  <[email protected]>
 
         Web Inspector: Resource content is not loaded if Resource.requestContent method is called before network request is finished.

Added: trunk/LayoutTests/http/tests/inspector/filesystem/directory-tree-expected.txt (0 => 121542)


--- trunk/LayoutTests/http/tests/inspector/filesystem/directory-tree-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/filesystem/directory-tree-expected.txt	2012-06-29 09:54:00 UTC (rev 121542)
@@ -0,0 +1,32 @@
+Tests directory tree on FileSystemView.
+
+[directory tree node]
+expanded: true
+entry: (null)
+#children: 1
+  [directory tree node]
+  expanded: true
+  entry: filesystem:http://127.0.0.1:8000/temporary/
+  #children: 1
+    [directory tree node]
+    expanded: false
+    entry: filesystem:http://127.0.0.1:8000/temporary/hoge
+    #children: 0
+
+[directory tree node]
+expanded: true
+entry: (null)
+#children: 1
+  [directory tree node]
+  expanded: true
+  entry: filesystem:http://127.0.0.1:8000/temporary/
+  #children: 1
+    [directory tree node]
+    expanded: true
+    entry: filesystem:http://127.0.0.1:8000/temporary/hoge
+    #children: 1
+      [directory tree node]
+      expanded: false
+      entry: filesystem:http://127.0.0.1:8000/temporary/hoge/fuga
+      #children: 0
+

Added: trunk/LayoutTests/http/tests/inspector/filesystem/directory-tree.html (0 => 121542)


--- trunk/LayoutTests/http/tests/inspector/filesystem/directory-tree.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/filesystem/directory-tree.html	2012-06-29 09:54:00 UTC (rev 121542)
@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script src=""
+<script src=""
+<script>
+document.addEventListener("DOMContentLoaded", runTest);
+function test()
+{
+    var resourcesPanel = WebInspector.panels.resources;
+    var fileSystemListTreeElement = resourcesPanel.fileSystemListTreeElement;
+    if (!fileSystemListTreeElement) {
+        fileSystemListTreeElement = new WebInspector.FileSystemListTreeElement(resourcesPanel);
+        resourcesPanel.fileSystemListTreeElement = fileSystemListTreeElement;
+        resourcesPanel.sidebarTree.appendChild(fileSystemListTreeElement);
+    }
+
+    var fileSystemItem = null;
+    var fileSystemView = null;
+    var directoryTree = null;
+
+    var testStep = [
+        function()
+        {
+            WebInspector.showPanel("resources");
+            InspectorTest.createDirectory("/hoge", testStep.shift());
+        },
+
+        function()
+        {
+            InspectorTest.createDirectory("/hoge/fuga", testStep.shift());
+        },
+
+        function()
+        {
+            InspectorTest.createFile("/hoge/fuga/piyo", testStep.shift());
+        },
+
+        function()
+        {
+            InspectorTest.addSniffer(WebInspector.FileSystemListTreeElement.prototype, "_fileSystemAdded", testStep.shift(), false);
+            fileSystemListTreeElement._refreshFileSystem();
+        },
+
+        function(event)
+        {
+            if (event.data.name !== "filesystem:http://127.0.0.1:8000/temporary")
+                return;
+
+            fileSystemItem = fileSystemListTreeElement._fileSystemTreeElementByName("filesystem:http://127.0.0.1:8000/temporary");
+
+            fileSystemItem.select();
+            fileSystemView = fileSystemItem._fileSystemView;
+            directoryTree = fileSystemView.directoryTree;
+
+            InspectorTest.callOnRequestCompleted(testStep.shift());
+        },
+
+        function() {
+            dumpDirectoryTree(directoryTree);
+            InspectorTest.addResult("");
+
+            directoryTree.children[0].expandRecursively();
+            InspectorTest.callOnRequestCompleted(testStep.shift());
+        },
+
+        function() {
+            dumpDirectoryTree(directoryTree);
+
+            InspectorTest.clearFileSystem(testStep.shift());
+        },
+
+        function()
+        {
+            InspectorTest.completeTest();
+        }
+    ];
+
+    InspectorTest.clearFileSystem(testStep.shift());
+
+    function dumpDirectoryTree(treeNode, indent)
+    {
+        indent = indent || "";
+        InspectorTest.addResult(indent + "[directory tree node]");
+        InspectorTest.addResult(indent + "expanded: " + treeNode.expanded);
+        if (treeNode._entry)
+            InspectorTest.addResult(indent + "entry: " + treeNode._entry.url)
+        else
+            InspectorTest.addResult(indent + "entry: (null)")
+        InspectorTest.addResult(indent + "#children: " + treeNode.children.length);
+
+        for (var i = 0; i < treeNode.children.length; ++i)
+            dumpDirectoryTree(treeNode.children[i], indent + "  ");
+    }
+}
+</script>
+</head>
+<body>
+<p>Tests directory tree on FileSystemView.</p>
+</body>
+</html>

Modified: trunk/LayoutTests/http/tests/inspector/filesystem/filesystem-test.js (121541 => 121542)


--- trunk/LayoutTests/http/tests/inspector/filesystem/filesystem-test.js	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/LayoutTests/http/tests/inspector/filesystem/filesystem-test.js	2012-06-29 09:54:00 UTC (rev 121542)
@@ -3,6 +3,37 @@
     var nextCallbackId = 0;
     var callbacks = {};
 
+    InspectorTest.addSniffer(WebInspector.FileSystemRequestManager.prototype, "requestFileSystemRoot", incrementRequestCount, true);
+    InspectorTest.addSniffer(WebInspector.FileSystemRequestManager.prototype, "requestDirectoryContent", incrementRequestCount, true);
+    InspectorTest.addSniffer(WebInspector.FileSystemRequestManager.prototype, "requestMetadata", incrementRequestCount, true);
+
+    InspectorTest.addSniffer(WebInspector.FileSystemRequestManager.prototype, "_fileSystemRootReceived", decrementRequestCount, true);
+    InspectorTest.addSniffer(WebInspector.FileSystemRequestManager.prototype, "_directoryContentReceived", decrementRequestCount, true);
+    InspectorTest.addSniffer(WebInspector.FileSystemRequestManager.prototype, "_metadataReceived", decrementRequestCount, true);
+
+    var idleCallbacks = [];
+    var requestCount = 0;
+    function incrementRequestCount()
+    {
+        ++requestCount;
+    }
+
+    function decrementRequestCount()
+    {
+        if (--requestCount !== 0)
+            return;
+
+        var callbacks = idleCallbacks;
+        idleCallbacks = [];
+        for (var i = 0; i < callbacks.length; ++i)
+            callbacks[i]();
+    }
+
+    InspectorTest.callOnRequestCompleted = function(callback)
+    {
+        idleCallbacks.push(callback);
+    };
+
     InspectorTest.registerCallback = function(callback)
     {
         var callbackId = ++nextCallbackId;

Modified: trunk/Source/WebCore/ChangeLog (121541 => 121542)


--- trunk/Source/WebCore/ChangeLog	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/Source/WebCore/ChangeLog	2012-06-29 09:54:00 UTC (rev 121542)
@@ -1,3 +1,31 @@
+2012-06-29  Taiju Tsuiki  <[email protected]>
+
+        Web Inspector: Add FileSystemView
+        https://bugs.webkit.org/show_bug.cgi?id=73301
+
+        This patch introduce a split view as FileSystemView. Including directory tree as sidebar tree.
+
+        Reviewed by Vsevolod Vlasov.
+
+        Test: http/tests/inspector/filesystem/directory-tree.html
+
+        * WebCore.gypi:
+        * WebCore.vcproj/WebCore.vcproj:
+        * inspector/compile-front-end.py:
+        * inspector/front-end/FileSystemModel.js:
+        (WebInspector.FileSystemModel.Entry.compare):
+        * inspector/front-end/FileSystemView.js: Added.
+        * inspector/front-end/ResourcesPanel.js:
+        (WebInspector.ResourcesPanel.prototype.showFileSystem):
+        (WebInspector.FileSystemTreeElement.prototype.get itemURL):
+        (WebInspector.FileSystemTreeElement.prototype.onattach):
+        (WebInspector.FileSystemTreeElement.prototype._handleContextMenuEvent):
+        (WebInspector.FileSystemTreeElement.prototype._refreshFileSystem):
+        (WebInspector.FileSystemTreeElement.prototype.onselect):
+        (WebInspector.FileSystemTreeElement.prototype.clear):
+        * inspector/front-end/WebKit.qrc:
+        * inspector/front-end/inspector.html:
+
 2012-06-29  Kentaro Hara  <[email protected]>
 
         [V8] Replace v8::Integer::New() with v8Integer() in custom bindings

Modified: trunk/Source/WebCore/WebCore.gypi (121541 => 121542)


--- trunk/Source/WebCore/WebCore.gypi	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/Source/WebCore/WebCore.gypi	2012-06-29 09:54:00 UTC (rev 121542)
@@ -6277,6 +6277,7 @@
             'inspector/front-end/ExtensionServer.js',
             'inspector/front-end/FileManager.js',
             'inspector/front-end/FileSystemModel.js',
+            'inspector/front-end/FileSystemView.js',
             'inspector/front-end/FilteredItemSelectionDialog.js',
             'inspector/front-end/FontView.js',
             'inspector/front-end/GoToLineDialog.js',

Modified: trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj (121541 => 121542)


--- trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj	2012-06-29 09:54:00 UTC (rev 121542)
@@ -74930,6 +74930,10 @@
 					>
 				</File>
 				<File
+					RelativePath="..\inspector\front-end\FileSystemView.js"
+					>
+				</File>
+				<File
 					RelativePath="..\inspector\front-end\filteredItemSelectionDialog.css"
 					>
 				</File>

Modified: trunk/Source/WebCore/inspector/compile-front-end.py (121541 => 121542)


--- trunk/Source/WebCore/inspector/compile-front-end.py	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/Source/WebCore/inspector/compile-front-end.py	2012-06-29 09:54:00 UTC (rev 121542)
@@ -211,6 +211,7 @@
             "DatabaseQueryView.js",
             "DatabaseTableView.js",
             "DOMStorageItemsView.js",
+            "FileSystemView.js",
             "IndexedDBViews.js",
             "ResourcesPanel.js",
         ]

Modified: trunk/Source/WebCore/inspector/front-end/FileSystemModel.js (121541 => 121542)


--- trunk/Source/WebCore/inspector/front-end/FileSystemModel.js	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/Source/WebCore/inspector/front-end/FileSystemModel.js	2012-06-29 09:54:00 UTC (rev 121542)
@@ -291,6 +291,18 @@
     this._isDirectory = backendEntry.isDirectory;
 }
 
+/**
+ * @param {WebInspector.FileSystemModel.Entry} x
+ * @param {WebInspector.FileSystemModel.Entry} y
+ * @return {number}
+ */
+WebInspector.FileSystemModel.Entry.compare = function(x, y)
+{
+    if (x.isDirectory != y.isDirectory)
+        return y.isDirectory ? 1 : -1;
+    return x.name.localeCompare(y.name);
+}
+
 WebInspector.FileSystemModel.Entry.prototype = {
     /**
      * @type {WebInspector.FileSystemModel}

Added: trunk/Source/WebCore/inspector/front-end/FileSystemView.js (0 => 121542)


--- trunk/Source/WebCore/inspector/front-end/FileSystemView.js	                        (rev 0)
+++ trunk/Source/WebCore/inspector/front-end/FileSystemView.js	2012-06-29 09:54:00 UTC (rev 121542)
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2012 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * @constructor
+ * @extends {WebInspector.SplitView}
+ * @param {WebInspector.FileSystemModel.FileSystem} fileSystem
+ */
+WebInspector.FileSystemView = function(fileSystem)
+{
+    WebInspector.SplitView.call(this, WebInspector.SplitView.SidebarPosition.Left, "FileSystemViewSidebarWidth");
+    this.element.addStyleClass("file-system-view");
+
+    var directoryTreeElement = this.element.createChild("ol", "filesystem-directory-tree");
+    this.directoryTree = new TreeOutline(directoryTreeElement);
+    this.sidebarElement.appendChild(directoryTreeElement);
+    this.sidebarElement.addStyleClass("outline-disclosure");
+    this.sidebarElement.addStyleClass("sidebar");
+
+    var rootItem = new WebInspector.FileSystemView.EntryTreeElement(this, fileSystem.root);
+    rootItem.expanded = true;
+    this.directoryTree.appendChild(rootItem);
+    this._visibleView = null;
+}
+
+WebInspector.FileSystemView.prototype = {
+    /**
+     * @param {WebInspector.View} view
+     */
+    showView: function(view)
+    {
+        if (this._visibleView === view)
+            return;
+        if (this._visibleView)
+            this._visibleView.detach();
+        this._visibleView = view;
+        view.show(this.mainElement);
+    }
+}
+
+WebInspector.FileSystemView.prototype.__proto__ = WebInspector.SplitView.prototype;
+
+/**
+ * @constructor
+ * @extends {TreeElement}
+ * @param {WebInspector.FileSystemView} fileSystemView
+ * @param {WebInspector.FileSystemModel.Entry} entry
+ */
+WebInspector.FileSystemView.EntryTreeElement = function(fileSystemView, entry)
+{
+    TreeElement.call(this, entry.name, null, entry.isDirectory);
+
+    this._entry = entry;
+    this._fileSystemView = fileSystemView;
+}
+
+WebInspector.FileSystemView.EntryTreeElement.prototype = {
+    onattach: function()
+    {
+        var selection = this.listItemElement.createChild("div", "selection");
+        this.listItemElement.insertBefore(selection, this.listItemElement.firstChild);
+
+        this.listItemElement.addEventListener("contextmenu", this._handleContextMenuEvent.bind(this), true);
+    },
+
+    onpopulate: function()
+    {
+        this.refresh();
+    },
+
+    _handleContextMenuEvent: function(event)
+    {
+        if (!this._entry.isDirectory)
+            return;
+
+        var contextMenu = new WebInspector.ContextMenu();
+        contextMenu.appendItem(WebInspector.UIString("Refresh"), this.refresh.bind(this));
+        contextMenu.show(event);
+    },
+
+    /**
+     * @param {number} errorCode
+     * @param {Array.<WebInspector.FileSystemModel.Entry>=} entries
+     */
+    _directoryContentReceived: function(errorCode, entries)
+    {
+        if (errorCode === FileError.NOT_FOUND_ERR) {
+            if (this.parent !== this.treeOutline)
+                this.parent.refresh();
+            return;
+        }
+
+        if (errorCode !== 0 || !entries) {
+            console.error("Failed to read directory: " + errorCode);
+            return;
+        }
+
+        entries.sort(WebInspector.FileSystemModel.Entry.compare);
+        var oldChildren = this.children.slice(0);
+
+        var newEntryIndex = 0;
+        var oldChildIndex = 0;
+        var currentTreeItem = 0;
+        while (newEntryIndex < entries.length && oldChildIndex < oldChildren.length) {
+            var newEntry = entries[newEntryIndex];
+            var oldChild = oldChildren[oldChildIndex];
+            var order = newEntry.name.localeCompare(oldChild._entry.name);
+
+            if (order === 0) {
+                if (oldChild._entry.isDirectory && oldChild.expanded)
+                    oldChild.refresh();
+                ++newEntryIndex;
+                ++oldChildIndex;
+                ++currentTreeItem;
+                continue;
+            }
+            if (order < 0) {
+                this.insertChild(new WebInspector.FileSystemView.EntryTreeElement(this._fileSystemView, newEntry), currentTreeItem);
+                ++newEntryIndex;
+                ++currentTreeItem;
+                continue;
+            }
+
+            this.removeChildAtIndex(currentTreeItem);
+            ++oldChildIndex;
+        }
+        for (; newEntryIndex < entries.length; ++newEntryIndex)
+            this.appendChild(new WebInspector.FileSystemView.EntryTreeElement(this._fileSystemView, entries[newEntryIndex]));
+
+        for (; oldChildIndex < oldChildren.length; ++oldChildIndex)
+            this.removeChild(oldChildren[oldChildIndex]);
+    },
+
+    refresh: function()
+    {
+        if (!this._entry.isDirectory)
+            return;
+        this._entry.requestDirectoryContent(this._directoryContentReceived.bind(this));
+    }
+}
+
+WebInspector.FileSystemView.EntryTreeElement.prototype.__proto__ = TreeElement.prototype;

Modified: trunk/Source/WebCore/inspector/front-end/ResourcesPanel.js (121541 => 121542)


--- trunk/Source/WebCore/inspector/front-end/ResourcesPanel.js	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/Source/WebCore/inspector/front-end/ResourcesPanel.js	2012-06-29 09:54:00 UTC (rev 121542)
@@ -462,6 +462,14 @@
         this._innerShowView(this._applicationCacheViews[frameId]);
     },
 
+    /**
+     *  @param {WebInspector.View} view
+     */
+    showFileSystem: function(view)
+    {
+        this._innerShowView(view);
+    },
+
     showCategoryView: function(categoryName)
     {
         if (!this._categoryView)
@@ -1525,6 +1533,7 @@
         var fileSystemTreeElement = this._fileSystemTreeElementByName(fileSystem.name);
         if (!fileSystemTreeElement)
             return;
+        fileSystemTreeElement.clear();
         this.removeChild(fileSystemTreeElement);
     },
 
@@ -1981,6 +1990,19 @@
     get itemURL()
     {
         return "filesystem://" + this._fileSystem.name;
+    },
+
+    onselect: function()
+    {
+        WebInspector.BaseStorageTreeElement.prototype.onselect.call(this);
+        this._fileSystemView = new WebInspector.FileSystemView(this._fileSystem);
+        this._storagePanel.showFileSystem(this._fileSystemView);
+    },
+
+    clear: function()
+    {
+        if (this.fileSystemView && this._storagePanel.visibleView == this.fileSystemView)
+            this._storagePanel.closeVisibleView();
     }
 }
 

Modified: trunk/Source/WebCore/inspector/front-end/WebKit.qrc (121541 => 121542)


--- trunk/Source/WebCore/inspector/front-end/WebKit.qrc	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/Source/WebCore/inspector/front-end/WebKit.qrc	2012-06-29 09:54:00 UTC (rev 121542)
@@ -59,6 +59,7 @@
     <file>ExtensionServer.js</file>
     <file>FileManager.js</file>
     <file>FileSystemModel.js</file>
+    <file>FileSystemView.js</file>
     <file>FilteredItemSelectionDialog.js</file>
     <file>FontView.js</file>
     <file>GoToLineDialog.js</file>

Modified: trunk/Source/WebCore/inspector/front-end/inspector.html (121541 => 121542)


--- trunk/Source/WebCore/inspector/front-end/inspector.html	2012-06-29 09:50:26 UTC (rev 121541)
+++ trunk/Source/WebCore/inspector/front-end/inspector.html	2012-06-29 09:54:00 UTC (rev 121542)
@@ -162,6 +162,7 @@
     <script type="text/_javascript_" src=""
     <script type="text/_javascript_" src=""
     <script type="text/_javascript_" src=""
+    <script type="text/_javascript_" src=""
     <script type="text/_javascript_" src=""
     <script type="text/_javascript_" src=""
     <script type="text/_javascript_" src=""
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to