USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
https://bugs.webkit.org/show_bug.cgi?id=135439

Reviewed by Tim Horton.

We now support two different platform content filters, and will soon support a mock content filter (as part of
webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
library. ENABLE() is the correct macro to use for such a feature.

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
* WebCore.exp.in:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::dataReceived):
* loader/DocumentLoader.h:
* loader/FrameLoaderClient.h:
* platform/ContentFilter.h:
* platform/ios/ContentFilterIOS.mm:
* platform/mac/ContentFilterMac.mm:

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* Shared/WebCoreArgumentCoders.h:
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):
* UIProcess/WebFrameProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WTF:
* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (WK2 iOS): Inline editing for Chinese and Japanese keyboards does not work in Safari.
https://bugs.webkit.org/show_bug.cgi?id=135449
<rdar://problem/17824833>

Reviewed by Benjamin Poulain.

The WebProcess sends the notification that the gesture modified the phrase boundary,
but the flag was not being converted properly, therefore we failed to notify
the text input system that a change had occurred.

* UIProcess/ios/WKContentViewInteraction.mm:
(toUIWKSelectionFlags):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove shadowPseudoId() from InputFieldSpeechButtonElement and SearchFieldCancelButtonElement
https://bugs.webkit.org/show_bug.cgi?id=135438

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-30
Reviewed by Andreas Kling.

Use the generic path.

* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::SearchFieldCancelButtonElement::shadowPseudoId): Deleted.
(WebCore::InputFieldSpeechButtonElement::shadowPseudoId): Deleted.
* html/shadow/TextControlInnerElements.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clean up YouTubeEmbedShadowElement
https://bugs.webkit.org/show_bug.cgi?id=135437

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-30
Reviewed by Andreas Kling.

* html/shadow/YouTubeEmbedShadowElement.cpp:
(WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
(WebCore::YouTubeEmbedShadowElement::pluginElement): Deleted.
This is unused in WebCore.

(WebCore::YouTubeEmbedShadowElement::shadowPseudoId): Deleted.
Use the generic pseudo path instead of a custom shadowPseudoId.
* html/shadow/YouTubeEmbedShadowElement.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove SpinButtonElement::shadowPseudoId
https://bugs.webkit.org/show_bug.cgi?id=135436

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-30
Reviewed by Andreas Kling.

Use the generic pseudo.

* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::SpinButtonElement):
(WebCore::SpinButtonElement::shadowPseudoId): Deleted.
* html/shadow/SpinButtonElement.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove UploadButtonElement::shadowPseudoId()
https://bugs.webkit.org/show_bug.cgi?id=135435

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-30
Reviewed by Andreas Kling.

Use the generic pseudo() path instead of a custom shadowPseudoId().

* html/FileInputType.cpp:
(WebCore::UploadButtonElement::create):
(WebCore::UploadButtonElement::createForMultiple):
(WebCore::UploadButtonElement::UploadButtonElement):
Set the type in the common constructor instead of the call sites.
(WebCore::UploadButtonElement::shadowPseudoId): Deleted.
* html/FileInputType.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cleanup DetailsMarkerControl
https://bugs.webkit.org/show_bug.cgi?id=135429

Reviewed by Andreas Kling.

Remove the override of shadowPseudoId(). This is a simple type of shadowId,
it should use the generic pseudo() path.

Move DetailsMarkerControl::create() out-of-line. One could justify inlining the constructor,
inlining the ::create() function has little value.

* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::create):
(WebCore::DetailsMarkerControl::DetailsMarkerControl):
(WebCore::DetailsMarkerControl::rendererIsNeeded):
(WebCore::DetailsMarkerControl::shadowPseudoId): Deleted.
(WebCore::DetailsMarkerControl::summaryElement): Deleted.
* html/shadow/DetailsMarkerControl.h:
(WebCore::DetailsMarkerControl::create): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ElementRuleCollector: group the shadow tree code
https://bugs.webkit.org/show_bug.cgi?id=135410

Reviewed by Andreas Kling.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
Little cleanup: group the shadow tree rule collection in the same block.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a layout test for Geolocation's request queueing for hidden pages
https://bugs.webkit.org/show_bug.cgi?id=135402

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-30
Reviewed by Zalan Bujtas.

Sam added the queueing feature in r171188. This patch adds a layout test
for the simplest case.

* fast/dom/Geolocation/requestQueuingForHiddenPage-expected.txt: Added.
* fast/dom/Geolocation/requestQueuingForHiddenPage.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PropertyName's internal string is always atomic.
<https://webkit.org/b/135451>

Source/JavaScriptCore:
Now that we've merged the JSC::Identifier and WTF::AtomicString tables,
we know that any string that's an Identifier is guaranteed to be atomic.

A PropertyName can be either an Identifier or a PrivateName, and the
private names are also guaranteed to be atomic internally.

Make PropertyName vend AtomicStringImpl* instead of StringImpl*.

Reviewed by Benjamin Poulain.

* runtime/PropertyName.h:
(JSC::PropertyName::PropertyName):
(JSC::PropertyName::uid):
(JSC::PropertyName::publicName):

Source/WebCore:
Use PropertyName::publicName() directly instead of taking the slow route
through AtomicString::findStringWithHash().

These strings are always atomic, and findStringWithHash() would trudge
through a full hash lookup just to discover that indeed, they are!

Reviewed by Benjamin Poulain.

* bindings/js/JSDOMBinding.cpp:
(WebCore::findAtomicString): Deleted.
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::canGetItemsForName):
(WebCore::JSHTMLDocument::nameGetter):

Source/WTF:
Remove AtomicString::findStringWithHash() since nobody uses it anymore.

Reviewed by Benjamin Poulain.

* wtf/text/AtomicString.cpp:
(WTF::findString): Deleted.
(WTF::AtomicString::findStringWithHash): Deleted.
* wtf/text/AtomicString.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Speculative Windows build fix.

Try to dllimport the dllexported global object HashTable.

* jsc.cpp:
* testRegExp.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Speculative Windows build fixery, part II.

This seems to indicate that adding the globalObjectTable to the exports file
was the wrong idea:

1>WebKit.exp : error LNK2001: unresolved external symbol "struct JSC::HashTable const JSC::globalObjectTable" (?globalObjectTable@JSC@@3UHashTable@1@B)

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Do not include files that are not in git in the tarball
https://bugs.webkit.org/show_bug.cgi?id=134804

Reviewed by Philippe Normand.

Skip all files in the source tree that are not under version control
except for files added from the build dir like the documentation.

* gtk/make-dist.py:
(Directory.__init__): Initialize the list of files under control version.
(Directory.list_cms_files): Helper function to list all files
under the control version for the current source root.
(Directory.should_skip_file): Return True for files that are not
under control version only when the source root is also under
control version.
(Directory.get_files): Filter the files also using should_skip_file().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Bump binary version for 2.6
https://bugs.webkit.org/show_bug.cgi?id=133724

Reviewed by Philippe Normand.

.:
* Source/cmake/OptionsGTK.cmake: Bump binary version to 4.0 and
update library version numbers.

Source/WebKit2:
* PlatformGTK.cmake: Fix JavaScriptCore dependency on
instrospection commands and make them depend on GTK+-3.0.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] make distcheck is building from sources dir instead of dist dir
https://bugs.webkit.org/show_bug.cgi?id=135457

Reviewed by Philippe Normand.

* gtk/make-dist.py:
(Distcheck.configure): Use dist_dir as source dir.
(Distcheck.check): Pass dist_dir to configure().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Fix GTK+ make distcheck.

Source/WebKit2:
* Shared/InteractionInformationAtPosition.h: Only include
WebCore/SelectionRect.h for IOS.

Tools:
* gtk/make-dist.py:
(ensure_version_if_possible): Use 4.0 instead of 3.0 as binary
version to find the pkg-config file.
* gtk/manifest.txt: Add missing resource to the tarball.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-07-31  Andrei Bucur  <abucur@adobe.com>

[CSS Multicolumn] Clear the lines when switching to multi-column layout
https://bugs.webkit.org/show_bug.cgi?id=135127

Reviewed by Alexandru Chiculita.

Source/WebCore:

When switching an element to multi-column layout it becomes a container of block
children. When this happens the existing line boxes must be deleted in addition
to clearing the hasInlineChildren flag.

Tests: fast/multicol/inline-container-to-multicol.html
       fast/multicol/inline-container-to-multicol-float.html
       fast/multicol/inline-container-to-multicol-positioned.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::createMultiColumnFlowThread):

LayoutTests:

Tests that verifies lines are correctly cleared when an element is switched to
multi-column layout.

* fast/multicol/inline-container-to-multicol-expected.txt: Added.
* fast/multicol/inline-container-to-multicol.html: Added.
* fast/multicol/inline-container-to-multicol-float-expected.txt: Added.
* fast/multicol/inline-container-to-multicol-float.html: Added.
* fast/multicol/inline-container-to-multicol-positioned-expected.txt: Added.
* fast/multicol/inline-container-to-multicol-positioned.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.1 release.

.:
* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:
* gtk/NEWS: Add release notes for 2.5.1.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(??): [iOS] Disabling MediaPlaybackRequiresUserGesture does not remove user gesture requirement for entering full screen.
https://bugs.webkit.org/show_bug.cgi?id=135443

Reviewed by Dean Jackson.

Allow full screen mode to be entered without a user gesture if the gesture requirement for media playback
has been unset.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@171851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
NewFunctionExpression and NewFunctionNoCheck should setHaveStructures(true)
https://bugs.webkit.org/show_bug.cgi?id=135430

Reviewed by Mark Hahnenberg.

We already handled this correctly after the ftlopt merge, but it's useful to have the test.

* tests/stress/new-function-expression-has-structures.js: Added.
(foo.f):
(foo.f.prototype.f):
(foo):



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