[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:22:28 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 11b03df52f34d6615f58b7042749fa582c4ef523
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 2 09:57:52 2010 +0000

    2010-11-02  Pavel Feldman  <pfeldman at chromium.org>
    
            Reviewed by Joseph Pecoraro.
    
            Web Inspector: highlight frame on hover in resources panel.
            https://bugs.webkit.org/show_bug.cgi?id=48760
    
            * inspector/Inspector.idl:
            * inspector/InspectorController.cpp:
            (WebCore::InspectorController::highlightFrame):
            * inspector/InspectorController.h:
            (WebCore::InspectorController::hideFrameHighlight):
            * inspector/front-end/StoragePanel.js:
            (WebInspector.StoragePanel):
            (WebInspector.StoragePanel.prototype.showView):
            (WebInspector.StoragePanel.prototype._onmousemove):
            (WebInspector.StoragePanel.prototype._onmouseout):
            (WebInspector.FrameTreeElement.prototype.onselect):
            (WebInspector.FrameTreeElement.prototype.ondeselect):
            (WebInspector.FrameTreeElement.prototype.set displayName):
            (WebInspector.FrameTreeElement.prototype.set hovered):
            * inspector/front-end/inspector.css:
            (.storage.panel .sidebar li.selected .selection):
            (.storage.panel .sidebar :focus li.selected .selection):
            (body.inactive .storage.panel .sidebar li.selected .selection):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 3c52de0..2c87671 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2010-11-02  Pavel Feldman  <pfeldman at chromium.org>
+
+        Reviewed by Joseph Pecoraro.
+
+        Web Inspector: highlight frame on hover in resources panel.
+        https://bugs.webkit.org/show_bug.cgi?id=48760
+
+        * inspector/Inspector.idl:
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::highlightFrame):
+        * inspector/InspectorController.h:
+        (WebCore::InspectorController::hideFrameHighlight):
+        * inspector/front-end/StoragePanel.js:
+        (WebInspector.StoragePanel):
+        (WebInspector.StoragePanel.prototype.showView):
+        (WebInspector.StoragePanel.prototype._onmousemove):
+        (WebInspector.StoragePanel.prototype._onmouseout):
+        (WebInspector.FrameTreeElement.prototype.onselect):
+        (WebInspector.FrameTreeElement.prototype.ondeselect):
+        (WebInspector.FrameTreeElement.prototype.set displayName):
+        (WebInspector.FrameTreeElement.prototype.set hovered):
+        * inspector/front-end/inspector.css:
+        (.storage.panel .sidebar li.selected .selection):
+        (.storage.panel .sidebar :focus li.selected .selection):
+        (body.inactive .storage.panel .sidebar li.selected .selection):
+
 2010-11-02  Nikolas Zimmermann  <nzimmermann at rim.com>
 
         Reviewed by Rob Buis.
diff --git a/WebCore/inspector/Inspector.idl b/WebCore/inspector/Inspector.idl
index 7d317b1..1f4c78c 100644
--- a/WebCore/inspector/Inspector.idl
+++ b/WebCore/inspector/Inspector.idl
@@ -192,6 +192,9 @@ module core {
         [handler=Controller] void hideDOMNodeHighlight();
         [handler=Controller] void openInInspectedWindow(in String url);
 
+        [handler=Controller] void highlightFrame(in unsigned long frameId);
+        [handler=Controller] void hideFrameHighlight();
+
         [handler=DOM] void getStyles(in long nodeId, in boolean authOnly, out Value styles);
         [handler=DOM] void getAllStyles(out Array styles);
         [handler=DOM] void getInlineStyle(in long nodeId, out Value style);
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index 0e1a388..e3dbf7e 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -287,6 +287,17 @@ void InspectorController::highlightDOMNode(long nodeId)
         highlight(node);
 }
 
+void InspectorController::highlightFrame(unsigned long frameId)
+{
+    Frame* mainFrame = m_inspectedPage->mainFrame();
+    for (Frame* frame = mainFrame; frame; frame = frame->tree()->traverseNext(mainFrame)) {
+        if (reinterpret_cast<uintptr_t>(frame) == frameId && frame->ownerElement()) {
+            highlight(frame->ownerElement());
+            return;
+        }
+    }
+}
+
 void InspectorController::hideHighlight()
 {
     if (!enabled())
diff --git a/WebCore/inspector/InspectorController.h b/WebCore/inspector/InspectorController.h
index f1fc381..465cd02 100644
--- a/WebCore/inspector/InspectorController.h
+++ b/WebCore/inspector/InspectorController.h
@@ -132,6 +132,9 @@ public:
     void highlightDOMNode(long nodeId);
     void hideDOMNodeHighlight() { hideHighlight(); }
 
+    void highlightFrame(unsigned long frameId);
+    void hideFrameHighlight() { hideHighlight(); }
+
     void show();
     void showPanel(const String&);
     void close();
diff --git a/WebCore/inspector/front-end/StoragePanel.js b/WebCore/inspector/front-end/StoragePanel.js
index 6f712e5..944fecb 100644
--- a/WebCore/inspector/front-end/StoragePanel.js
+++ b/WebCore/inspector/front-end/StoragePanel.js
@@ -74,6 +74,9 @@ WebInspector.StoragePanel = function(database)
     this._cookieViews = {};
     this._origins = {};
     this._domains = {};
+
+    this.sidebarElement.addEventListener("mousemove", this._onmousemove.bind(this), false);
+    this.sidebarElement.addEventListener("mouseout", this._onmouseout.bind(this), false);
 }
 
 WebInspector.StoragePanel.prototype = {
@@ -708,6 +711,39 @@ WebInspector.StoragePanel.prototype = {
     {
         if (view)
             this.showResource(view.resource);
+    },
+
+    _onmousemove: function(event)
+    {
+        var nodeUnderMouse = document.elementFromPoint(event.pageX, event.pageY);
+        if (!nodeUnderMouse)
+            return;
+
+        var listNode = nodeUnderMouse.enclosingNodeOrSelfWithNodeName("li");
+        if (!listNode)
+            return;
+
+        var element = listNode.treeElement;
+        if (this._previousHoveredElement === element)
+            return;
+
+        if (this._previousHoveredElement) {
+            this._previousHoveredElement.hovered = false;
+            delete this._previousHoveredElement;
+        }
+
+        if (element instanceof WebInspector.FrameTreeElement) {
+            this._previousHoveredElement = element;
+            element.hovered = true;
+        }
+    },
+
+    _onmouseout: function(event)
+    {
+        if (this._previousHoveredElement) {
+            this._previousHoveredElement.hovered = false;
+            delete this._previousHoveredElement;
+        }
     }
 }
 
@@ -829,6 +865,9 @@ WebInspector.FrameTreeElement.prototype = {
     {
         WebInspector.BaseStorageTreeElement.prototype.onselect.call(this);
         this._storagePanel.showCategoryView(this._displayName);
+
+        this.listItemElement.removeStyleClass("hovered");
+        InspectorBackend.hideFrameHighlight();
     },
 
     get displayName()
@@ -840,6 +879,17 @@ WebInspector.FrameTreeElement.prototype = {
     {
         this._displayName = displayName;
         this.titleText = displayName;
+    },
+
+    set hovered(hovered)
+    {
+        if (hovered) {
+            this.listItemElement.addStyleClass("hovered");
+            InspectorBackend.highlightFrame(this._frameId);
+        } else {
+            this.listItemElement.removeStyleClass("hovered");
+            InspectorBackend.hideFrameHighlight();
+        }
     }
 }
 WebInspector.FrameTreeElement.prototype.__proto__ = WebInspector.BaseStorageTreeElement.prototype;
diff --git a/WebCore/inspector/front-end/inspector.css b/WebCore/inspector/front-end/inspector.css
index d901fb7..3153842 100644
--- a/WebCore/inspector/front-end/inspector.css
+++ b/WebCore/inspector/front-end/inspector.css
@@ -1968,18 +1968,18 @@ body.inactive .sidebar {
     font-weight: bold;
 }
 
-.storage.panel .sidebar li .selection {
+.storage.panel .sidebar li.selected .selection {
     background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(162, 177, 207)), to(rgb(120, 138, 177)));
     border-top: 1px solid #979797;
     height: 17px;
 }
 
-.storage.panel .sidebar :focus li .selection {
+.storage.panel .sidebar :focus li.selected .selection {
     background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(92, 147, 213)), to(rgb(21, 83, 170)));
     border-top: 1px solid rgb(68, 128, 200);
 }
 
-body.inactive .storage.panel .sidebar li .selection {
+body.inactive .storage.panel .sidebar li.selected .selection {
     background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(180, 180, 180)), to(rgb(138, 138, 138)));
     border-top: 1px solid rgb(151, 151, 151);
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list