<rdar://problem/14051357> Web processes sometimes remain in a suppressed
state after their window is unoccluded.

The code in WKView that responds to occlusion notifications was incorrectly
treating the window's occlusion state as being an enum rather than the set of
flags that it is.

Reviewed by Oliver Hunt.

* UIProcess/API/mac/WKView.mm:
(-[WKView _windowDidChangeOcclusionState:]): Test only the visibility state.
(-[WKView setWindowOcclusionDetectionEnabled:]): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/13145014> Allow CoreIPC messages to transmit importance boosts

Transmitting the importance boost from the UI process to the web process is particularly
important when disabling process suppression on a web process, as it will minimize the
delays that can occur before the message instructing process suppression to be disabled
is processed by the web process.

We keep the importance boost alive for the duration of the CoreIPC message handler. We
achieve this by having an ImportanceAssertion object that owns the assertion, and whose
lifetime is tied to that of the MessageDecoder.

Reviewed by Anders Carlsson.

* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::setImportanceAssertion): Associate an importance assertion
with this message.
* Platform/CoreIPC/MessageDecoder.h:
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open): Mark our receive port as allowing importance boosts to be received.
(CoreIPC::Connection::receiveSourceEventHandler):
* Platform/CoreIPC/mac/ImportanceAssertion.h:
(CoreIPC::ImportanceAssertion::create):
(CoreIPC::ImportanceAssertion::~ImportanceAssertion): Release the assertion.
(CoreIPC::ImportanceAssertion::ImportanceAssertion): Take an assertion if a boost was present in
the Mach message.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] ::before and ::after pseudo-elements are not displayed for regions
https://bugs.webkit.org/show_bug.cgi?id=80163

Source/WebCore:

When the implementation of the before/after was moved to the DOM, before/after generated
content stoppped to work with css regions. The problem happens when:
1. RenderRegion can not have children and when the PseudoElement::attach tries to create a renderer for the
generated content, it fails.
2. RenderRegion::canHaveGeneratedChildren should not be false because regions can have generated content.

Reviewed by David Hyatt.

Tests: fast/regions/region-dynamic-after-before.html
       fast/regions/region-generated-content-before-after.html

* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* rendering/RenderRegion.h:

LayoutTests:

Add two simple tests verifying if region works with before/after generated content.

Reviewed by David Hyatt.

* fast/regions/region-dynamic-after-before.html: Added.
* fast/regions/region-generated-content-before-after.html: Added.
* platform/mac/fast/regions/region-dynamic-after-before-expected.png: Added.
* platform/mac/fast/regions/region-dynamic-after-before-expected.txt: Added.
* platform/mac/fast/regions/region-generated-content-before-after-expected.png: Added.
* platform/mac/fast/regions/region-generated-content-before-after-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cache FatFinger Text Result.
https://bugs.webkit.org/show_bug.cgi?id=107403.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-06-17
Reviewed by Rob Buis.

Internally Reviewed by Genevieve Mak.
Cache the FatFinger text result for later use in TouchEventHandler.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::contextNode):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):
* WebKitSupport/TouchEventHandler.h:
(BlackBerry::WebKit::TouchEventHandler::cacheTextResult):
(TouchEventHandler):

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