[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