ContainerNode::setActive should not sleep for 100ms on platforms that do not implemen...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Mar 2013 19:56:51 +0000 (19:56 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Mar 2013 19:56:51 +0000 (19:56 +0000)
commit8bca1e3699d7fd47cc0f9f1008a453458d1dd93d
treed1f6209a0271b8bf915c19b64f7396a36816fb12
parented02640a18a1fd0a9582cdf84142e9959fc507c2
ContainerNode::setActive should not sleep for 100ms on platforms that do not implement synchronous repaint(true) semantics
https://bugs.webkit.org/show_bug.cgi?id=87054

Patch by James Robinson <jamesr@chromium.org> on 2013-03-05
Reviewed by Darin Adler.

Source/WebCore:

Adds a new ChromeClient function to query if the platform supports the immediate parameter
to the invalidation APIs and guards the synchronous repaint logic in ContainerNode::setActive()
with it.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::setActive):
* page/ChromeClient.h:
(WebCore::ChromeClient::supportsImmediateInvalidation):

Source/WebKit/mac:

The Mac WebKit1 port supports immediate invalidations.

* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::supportsImmediateInvalidation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/dom/ContainerNode.cpp
Source/WebCore/page/ChromeClient.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm