Title: [183907] trunk/Source
Revision
183907
Author
commit-qu...@webkit.org
Date
2015-05-06 20:04:32 -0700 (Wed, 06 May 2015)

Log Message

Web Inspector: Docking Toolbar Buttons do not respect Docking Availability
https://bugs.webkit.org/show_bug.cgi?id=144714

Patch by Joseph Pecoraro <pecor...@apple.com> on 2015-05-06
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.updateDockingAvailability):
(WebInspector._updateDockNavigationItems):
Update the Toolbar UI based on docking availability.
Assume docking is unavailable by default.

* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setDockingUnavailable):
Add back this API as the backend may be calling it when
docking availability changes. This just calls out to
global WebInspector functions to update the Toolbar UI.

* UserInterface/Base/Test.js:
(WebInspector.updateDockedState):
(WebInspector.updateDockingAvailability):
Do nothing in tests.

Source/WebKit2:

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::attachAvailabilityChanged):
* WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::setDockingUnavailable):
* WebProcess/WebPage/WebInspectorUI.h:
* WebProcess/WebPage/WebInspectorUI.messages.in:
When docking availability changes, inform the inspector page
so it can respond by updating its UI.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (183906 => 183907)


--- trunk/Source/WebInspectorUI/ChangeLog	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebInspectorUI/ChangeLog	2015-05-07 03:04:32 UTC (rev 183907)
@@ -1,3 +1,28 @@
+2015-05-06  Joseph Pecoraro  <pecor...@apple.com>
+
+        Web Inspector: Docking Toolbar Buttons do not respect Docking Availability
+        https://bugs.webkit.org/show_bug.cgi?id=144714
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Base/Main.js:
+        (WebInspector.contentLoaded):
+        (WebInspector.updateDockingAvailability):
+        (WebInspector._updateDockNavigationItems):
+        Update the Toolbar UI based on docking availability.
+        Assume docking is unavailable by default.
+
+        * UserInterface/Protocol/InspectorFrontendAPI.js:
+        (InspectorFrontendAPI.setDockingUnavailable):
+        Add back this API as the backend may be calling it when
+        docking availability changes. This just calls out to
+        global WebInspector functions to update the Toolbar UI.
+
+        * UserInterface/Base/Test.js:
+        (WebInspector.updateDockedState):
+        (WebInspector.updateDockingAvailability):
+        Do nothing in tests.
+
 2015-05-06  Matt Baker  <mattba...@apple.com>
 
         Web Inspector: The text in the left pane overlaps the "Filter Time Events" field in the Timeline after the Web Inspector is resized

Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (183906 => 183907)


--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2015-05-07 03:04:32 UTC (rev 183907)
@@ -324,6 +324,8 @@
     this.toolbar.element.addEventListener("mousedown", this._toolbarMouseDown.bind(this));
     document.getElementById("docked-resizer").addEventListener("mousedown", this._dockedResizerMouseDown.bind(this));
 
+    this._dockingAvailable = false;
+
     this._updateDockNavigationItems();
     this._updateToolbarHeight();
 
@@ -549,6 +551,13 @@
     InspectorFrontendHost.inspectedURLChanged(title);
 };
 
+WebInspector.updateDockingAvailability = function(available)
+{
+    this._dockingAvailable = available;
+
+    this._updateDockNavigationItems();
+};
+
 WebInspector.updateDockedState = function(side)
 {
     if (this._dockSide === side)
@@ -1228,10 +1237,17 @@
 
 WebInspector._updateDockNavigationItems = function()
 {
-    this._closeToolbarButton.hidden = !this.docked;
-    this._undockToolbarButton.hidden = this._dockSide === "undocked";
-    this._dockBottomToolbarButton.hidden = this._dockSide === "bottom";
-    this._dockRightToolbarButton.hidden = this._dockSide === "right";
+    if (this._dockingAvailable || this.docked) {
+        this._closeToolbarButton.hidden = !this.docked;
+        this._undockToolbarButton.hidden = this._dockSide === "undocked";
+        this._dockBottomToolbarButton.hidden = this._dockSide === "bottom";
+        this._dockRightToolbarButton.hidden = this._dockSide === "right";
+    } else {
+        this._closeToolbarButton.hidden = true;
+        this._undockToolbarButton.hidden = true;
+        this._dockBottomToolbarButton.hidden = true;
+        this._dockRightToolbarButton.hidden = true;
+    }
 };
 
 WebInspector._tabBrowserSizeDidChange = function()

Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Test.js (183906 => 183907)


--- trunk/Source/WebInspectorUI/UserInterface/Base/Test.js	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Test.js	2015-05-07 03:04:32 UTC (rev 183907)
@@ -91,9 +91,8 @@
 }
 
 // Add stubs that are called by the frontend API.
-WebInspector.updateDockedState = function()
-{
-}
+WebInspector.updateDockedState = function() {};
+WebInspector.updateDockingAvailability = function() {};
 
 // InspectorTest contains extra methods that are only available to test code running
 // in the Web Inspector page. They rely on equivalents in the actual test page

Modified: trunk/Source/WebInspectorUI/UserInterface/Protocol/InspectorFrontendAPI.js (183906 => 183907)


--- trunk/Source/WebInspectorUI/UserInterface/Protocol/InspectorFrontendAPI.js	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebInspectorUI/UserInterface/Protocol/InspectorFrontendAPI.js	2015-05-07 03:04:32 UTC (rev 183907)
@@ -55,6 +55,11 @@
         }
     },
 
+    setDockingUnavailable: function(unavailable)
+    {
+        WebInspector.updateDockingAvailability(!unavailable);
+    },
+
     setDockSide: function(side)
     {
         WebInspector.updateDockedState(side);

Modified: trunk/Source/WebKit2/ChangeLog (183906 => 183907)


--- trunk/Source/WebKit2/ChangeLog	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebKit2/ChangeLog	2015-05-07 03:04:32 UTC (rev 183907)
@@ -1,3 +1,20 @@
+2015-05-06  Joseph Pecoraro  <pecor...@apple.com>
+
+        Web Inspector: Docking Toolbar Buttons do not respect Docking Availability
+        https://bugs.webkit.org/show_bug.cgi?id=144714
+
+        Reviewed by Timothy Hatcher.
+
+        * UIProcess/WebInspectorProxy.cpp:
+        (WebKit::WebInspectorProxy::createInspectorPage):
+        (WebKit::WebInspectorProxy::attachAvailabilityChanged):
+        * WebProcess/WebPage/WebInspectorUI.cpp:
+        (WebKit::WebInspectorUI::setDockingUnavailable):
+        * WebProcess/WebPage/WebInspectorUI.h:
+        * WebProcess/WebPage/WebInspectorUI.messages.in:
+        When docking availability changes, inform the inspector page
+        so it can respond by updating its UI.
+
 2015-05-06  Joonghun Park  <jh718.p...@samsung.com>
 
         [WK2] Simplify AsyncRequestImpl::ArgumentType parameters

Modified: trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp (183906 => 183907)


--- trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp	2015-05-07 03:04:32 UTC (rev 183907)
@@ -509,6 +509,8 @@
             }
         } else
             m_inspectorPage->process().send(Messages::WebInspectorUI::Detached(), m_inspectorPage->pageID());
+
+        m_inspectorPage->process().send(Messages::WebInspectorUI::SetDockingUnavailable(!m_canAttach), m_inspectorPage->pageID());
     }
 
     m_inspectorPage->loadRequest(URL(URL(), m_underTest ? inspectorTestPageURL() : inspectorPageURL()));
@@ -572,6 +574,9 @@
     if (previousCanAttach == m_canAttach)
         return;
 
+    if (!m_underTest)
+        m_inspectorPage->process().send(Messages::WebInspectorUI::SetDockingUnavailable(!m_canAttach), m_inspectorPage->pageID());
+
     platformAttachAvailabilityChanged(m_canAttach);
 }
 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.cpp (183906 => 183907)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.cpp	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.cpp	2015-05-07 03:04:32 UTC (rev 183907)
@@ -164,6 +164,11 @@
     evaluateCommandOnLoad(ASCIILiteral("setDockSide"), ASCIILiteral(sideString));
 }
 
+void WebInspectorUI::setDockingUnavailable(bool unavailable)
+{
+    evaluateCommandOnLoad(ASCIILiteral("setDockingUnavailable"), unavailable);
+}
+
 void WebInspectorUI::changeAttachedWindowHeight(unsigned height)
 {
     WebProcess::singleton().parentProcessConnection()->send(Messages::WebInspectorProxy::SetAttachedWindowHeight(height), m_inspectedPageIdentifier);

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.h (183906 => 183907)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.h	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.h	2015-05-07 03:04:32 UTC (rev 183907)
@@ -67,6 +67,7 @@
     void detached() { setDockSide(DockSide::Undocked); }
 
     void setDockSide(DockSide);
+    void setDockingUnavailable(bool);
 
     void didSave(const String& url);
     void didAppend(const String& url);

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.messages.in (183906 => 183907)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.messages.in	2015-05-07 02:53:00 UTC (rev 183906)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebInspectorUI.messages.in	2015-05-07 03:04:32 UTC (rev 183907)
@@ -26,6 +26,7 @@
     AttachedBottom()
     AttachedRight()
     Detached()
+    SetDockingUnavailable(bool unavailable)
 
     ShowConsole()
     ShowResources()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to