Need a way to send and receive messages between the WKWebProcessPlugIn object and the client
https://bugs.webkit.org/show_bug.cgi?id=101282

Reviewed by Anders Carlsson.

API wise, this adds:
    - A connection property on the WKWebProcessPlugInController
    - A method to send messages across a WKConnection (sendMessageWithName:body).

It also implements message sending and receiving for WKConnection. Message bodies are currently
restricted to being object graphs with values that are property list types, but in the future, should
support all types conforming to the NSSecureCoding protocol.

* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
(WebKit::WebConnection::handleMessage):
* Shared/WebConnection.h:
(WebConnection):
* Shared/WebConnection.messages.in:
Switch HandleMessage to be a variadic message to avoid an extra copy and support attachments correctly.

* Shared/mac/ArgumentCodersMac.h:
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::typeFromObject):
(CoreIPC::encode):
(CoreIPC::decode):
Add support for encoding/decoding NSArray, NSDate and NSData.

* UIProcess/API/mac/WKConnection.h:
* UIProcess/API/mac/WKConnection.mm:
(-[WKConnection sendMessageWithName:body:]):
(didReceiveMessage):
Implement message sending and receiving.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
(-[WKWebProcessPlugInController connection]):
Add a wrapper for the WKConnectionRef vended via WKBundleGetApplicationConnection() and expose it as
API on the WKWebProcessPlugInController.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133558 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkit-patch rebaseline*: fix handling of local file urls
https://bugs.webkit.org/show_bug.cgi?id=101296

Reviewed by Ojan Vafai.

When using --results-directory, we need to make sure we're converting
paths to file:/// urls for urllib to work correctly. Also, this
patch reworks the unit tests to get better coverage (of the execute()
command) and reduce copy/pasting of mock options.

* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest._rebaseline_test_and_update_expectations):
(RebaselineTest.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.setUp):
(test_rebaseline_updates_expectations_file):
(test_rebaseline_does_not_include_overrides):
(test_rebaseline_test_with_results_directory):
(test_rebaseline_test_internal_with_move_overwritten_baselines_to):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed morning gardening, skip new failing tests.

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use switch/case statements instead of if/elseif in CSSSelector.cpp
https://bugs.webkit.org/show_bug.cgi?id=100470

Reviewed by Ryosuke Niwa.

Minor clean up. We can get compiler warnings if we use switch/case statements here.

No changes to functionality, so no new tests.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):


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