[WK2] Send origin & deletion requests to WebProcessess in additon to the DatabaseProcess.
https://bugs.webkit.org/show_bug.cgi?id=138212

Reviewed by Brady Eidson.

Now that the WebProcess has its own WebOriginDataManager, WebOriginDataManagerProxy needs to
send its origin and deletion messages to all the WebProcesses. This necessetates synchronizing
all the various process's callbacks so that the final callback is only triggered once all the
messaged processes reply.

Add a simple class, CallbackSynchronizer, which will keep track of outstanding process callbacks
and which will trigger the final callback once all of them finish.

* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::CallbackSynchronizer::create):
(WebKit::CallbackSynchronizer::~CallbackSynchronizer):
(WebKit::CallbackSynchronizer::taskStarted):
(WebKit::CallbackSynchronizer::taskCompleted):
(WebKit::CallbackSynchronizer::CallbackSynchronizer):
(WebKit::createSynchronizedCallback):
(WebKit::sendMessageToAllProcessesInContext):
(WebKit::WebOriginDataManagerProxy::getOrigins):
(WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
(WebKit::WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManagerProxy::deleteAllEntries):

Drive-by fix: check the correct enum value for WebMedia origin requests.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getOrigins):
(WebKit::WebProcess::deleteEntriesForOrigin):
(WebKit::WebProcess::deleteEntriesModifiedBetweenDates):
(WebKit::WebProcess::deleteAllEntries):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pseudo classes with an escaped parenthesis generate invalid rules
https://bugs.webkit.org/show_bug.cgi?id=138266

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-31
Reviewed by Antti Koivisto.

Source/WebCore:

Since the functional pseudo classes are part of the list of PseudoClassAndCompatibilityElement,
they could be created by the rule
     pseudo:
         ':' IDENT
if the parenthesis is escaped. For example, with ":not\\(", the IDENT would be
"not(", CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector would
find a pseudo class type of PseudoClassNot, and the action would create an invalid
CSSSelector for a :not() without nested selector.

This patch fixes the issue by detecting the function case in
CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector().

An other solution would be to split PseudoClassAndCompatibilityElement into simple pseudo class
and functional pseudo classes. We may do that some day but at the moment it is a lot of work with
a little benefit.

Tests: fast/css/crash-on-incomplete-webkit-any.html
       fast/css/pseudo-escaped-parenthesis.html
       fast/selectors/invalid-functional-pseudo-class.html

* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):

LayoutTests:

* fast/selectors/invalid-functional-pseudo-class-expected.txt: Added.
* fast/selectors/invalid-functional-pseudo-class.html: Added.
New test for all the functional pseudo classes.

* fast/css/crash-on-incomplete-webkit-any-expected.txt: Added.
* fast/css/crash-on-incomplete-webkit-any.html: Added.
* fast/css/pseudo-escaped-parenthesis-expected.txt: Added.
* fast/css/pseudo-escaped-parenthesis.html: Added.
Those tests come from blink. Rune solved the same problem a year ago on blink
in https://chromiumcodereview.appspot.com/23710067
The patch is quite different because blink uses an ancient code base, but the tests
can still be useful so I included them here.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change the ScrollingThread code to use RunLoop::main().dispatch() rather than callOnMainThread(), which has Obj-C overhead
https://bugs.webkit.org/show_bug.cgi?id=138263

Reviewed by Geoffrey Garen.

callOnMainThread() uses -performSelector:onMainThread:withObject:waitUntilDone:, so
it's slightly more efficient to use RunLoop::main().dispatch().

* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::invalidate):
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
(WebCore::ThreadedScrollingTree::handleWheelEventPhase):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Whitespace cleanup in Screen.h
https://bugs.webkit.org/show_bug.cgi?id=138265

Reviewed by Chris Dumez.

No indent for namespaces. Mark 'final'. Fix * placement.

* page/Screen.h:
(WebCore::Screen::create):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix several warnings reported by clang static analyzer in WebCore
https://bugs.webkit.org/show_bug.cgi?id=138258

Reviewed by Joseph Pecoraro.

Fix several warnings reported by clang static analyzer in WebCore
related to variable unnecessary assignments and scope.

No new tests, no behavior change.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* inspector/InspectorStyleTextEditor.cpp:
(WebCore::InspectorStyleTextEditor::replaceProperty):
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
* page/DragController.cpp:
(WebCore::createMouseEvent):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintSelectionBackground):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
llvmForJSC build emits a linker warning that it can't find usr/local/LLVMForJavaScriptCore/lib under the build directory
https://bugs.webkit.org/show_bug.cgi?id=138259

Reviewed by Geoff Garen.

* Scripts/copy-webkitlibraries-to-product-directory: Create this directory even if it’s
going to be empty to silence the warning.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Brace cleanup in StyleResolver::adjustRenderStyle()
https://bugs.webkit.org/show_bug.cgi?id=138267

Reviewed by Chris Dumez.

No braces for single-line clauses.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move -webkit-marquee-increment property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138208

Reviewed by Andreas Kling.

Move -webkit-marquee-increment property from DeprecatedStyleBuilder to
the new StyleBuilder so that it is generated from CSSPropertyNames.in.
Custom code is used to set the value due to the !length.isUndefined()
check before calling setMarqueeIncrement().

Test: fast/css/webkit-marquee-increment-bad-value.html

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyLength::setValue): Deleted.
(WebCore::ApplyPropertyLength::applyValue): Deleted.
(WebCore::ApplyPropertyLength::createHandler): Deleted.
(WebCore::ApplyPropertyMarqueeIncrement::applyValue): Deleted.
(WebCore::ApplyPropertyMarqueeIncrement::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderFunctions::applyValueWebkitMarqueeIncrement):


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

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