Web Inspector: implement testing harness for pure protocol tests.
https://bugs.webkit.org/show_bug.cgi?id=90675

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-09-24
Reviewed by Yury Semikhatsky.

.:

Added export symbols required for Gtk+ to support the Inspector Protocol
testing harness.

* Source/autotools/symbols.filter:

Source/WebCore:

Implementing the testing harness as the APIs of Internals object not
only reduced platform specific patching of DRTs but also minimized the
the effort required to open up the new dummy inspector Frontend.

The openDummyInspectorFrontend method will return the handle to newly
created DOMWindow. This DOMWindow object can be utilized inside the test
case to communicate using postMessage WebAPI.

The newly created DOMWindow will host the protocol-test.html which
will seed the necessary JS libraries to communicate with the
InspectorBackend.

Test: inspector-protocol/css-getSupportedCSSProperties.html

* WebCore.exp.in:
* WebCore.gypi:
* inspector/InspectorClient.h:
(InspectorClient):
* testing/Internals.cpp:
(InspectorFrontendClientDummy):
(WebCore::InspectorFrontendClientDummy::~InspectorFrontendClientDummy):
(WebCore):
(WebCore::InspectorFrontendClientDummy::InspectorFrontendClientDummy):
(InspectorFrontendChannelDummy):
(WebCore::InspectorFrontendChannelDummy::~InspectorFrontendChannelDummy):
(WebCore::InspectorFrontendChannelDummy::InspectorFrontendChannelDummy):
(WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
(WebCore::Internals::consoleMessageArgumentCounts):
(WebCore::Internals::openDummyInspectorFrontend):
(WebCore::Internals::closeDummyInspectorFrontend):
* testing/Internals.h:
(WebCore):
(Internals):
* testing/Internals.idl:

Source/WebKit2:

Adding the export symbol definitions required on Apple Windows and WinCairo
ports to support Inspector Protocol testing harness.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

Adding the resources required for the dummy frontend page to load minimal
frontend. These resources provide the mechanism to talk to the Inspector Backend.

Adding the inspector-protocol folder to host the relevant test cases
utilizing the inspector protocol test harness. Added an example test
case for getting all supported CSS properties using the inspector
protocol and searching for a particular property being supported.

* http/tests/inspector-protocol: Added.
* http/tests/inspector-protocol/resources: Added.
* http/tests/inspector-protocol/resources/InspectorTest.js: Added.
(InspectorTest.sendCommand):
(WebInspector.dispatchMessageFromBackend):
(InspectorTest.log):
(InspectorTest.completeTest):
* http/tests/inspector-protocol/resources/protocol-test.html: Added.
* http/tests/inspector-protocol/resources/protocol-test.js: Added.
(log):
(closeTest):
(runTest):
* inspector-protocol: Added.
* inspector-protocol/css-getSupportedCSSProperties-expected.txt: Added.
* inspector-protocol/css-getSupportedCSSProperties.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Disable persistence of master switches in the "Overrides" settings tab
https://bugs.webkit.org/show_bug.cgi?id=97440

Reviewed by Yury Semikhatsky.

Disables enforcement of device metrics, geolocation, and device orientation overrides on Web Inspector start.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::restore):
* inspector/front-end/SettingsScreen.js:
(WebInspector.UserAgentSettingsTab.prototype._onMetricsCheckboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._onDeviceOrientationOverrideCheckboxClicked):
* inspector/front-end/UserAgentSupport.js:
(WebInspector.UserAgentSupport):
(WebInspector.UserAgentSupport.prototype.toggleDeviceMetricsOverride):
(WebInspector.UserAgentSupport.prototype.toggleGeolocationPositionOverride):
(WebInspector.UserAgentSupport.prototype.toggleDeviceOrientationOverride):
* inspector/front-end/externs.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [REGRESSION] Cmd-Shift-C doesn't enable element inspection mode when inspector hidden
https://bugs.webkit.org/show_bug.cgi?id=97249

Reviewed by Yury Semikhatsky.

Fix regression from r125871.

* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.enterInspectElementMode):
* inspector/front-end/inspector.js:
(WebInspector._createGlobalStatusBarItems):
(WebInspector.documentKeyDown):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unskip proper shadow dom test case
https://bugs.webkit.org/show_bug.cgi?id=97445

Unreviewed EFL gardening.

Skip again fast/dom/shadow/shadowdom-for-object-without-shadow.html
and unskip fast/dom/shadow/shadowdom-for-object-only-shadow.html
instead.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-24

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector:EXC_BAD_ACCESS upon closing page with node highlighted
https://bugs.webkit.org/show_bug.cgi?id=97446

Reviewed by Alexander Pavlov.

Added 0 check on frame view.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::update):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Change the install path for libewk2UnitTestInjectedBundleSample.so.
https://bugs.webkit.org/show_bug.cgi?id=97302

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-24
Reviewed by Gyuyoung Kim.

libewk2UnitTestInjectedBundleSample.so file is created under the
Source directory.
Change install directory for the library to under the build directory.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
(EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample):

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