Source/WebCore: WebCore part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
https://bugs.webkit.org/show_bug.cgi?id=98601

Reviewed by Darin Adler.

* WebCore.exp.in: Exported Font::setDefaultTypesettingFeatures().
* platform/graphics/Font.cpp:
(WebCore::Font::s_defaultTypesettingFeatures): Defined this static.
(WebCore::Font::setDefaultTypesettingFeatures): Added this setter.
(WebCore::Font::defaultTypesettingFeatures): Added this getter.
* platform/graphics/Font.h:
(WebCore::Font::typesettingFeatures): Changed to use the value of the new static member
s_defaultTypesettingFeatures, rather than 0, if text-redering is set to auto.

Source/WebKit/mac: WebKit/mac part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
https://bugs.webkit.org/show_bug.cgi?id=98601

Reviewed by Darin Adler.

* WebView/WebView.mm:
(+[WebView initialize]): Added a call to Font::setDefaultTypesettingFeatures() to enable
kerning and ligatures if the WebKitKerningAndLigaturesEnabledByDefault user default key has
the value YES.

Source/WebKit2: WebKit2 part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto
https://bugs.webkit.org/show_bug.cgi?id=98601

Reviewed by Darin Adler.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added initializer for
to shouldEnableKerningAndLigaturesByDefault. The initial value is false.
(WebKit::WebProcessCreationParameters::encode): Added encoding of
shouldEnableKerningAndLigaturesByDefault.
(WebKit::WebProcessCreationParameters::decode): Added decoding of
shouldEnableKerningAndLigaturesByDefault.
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters): Added shouldEnableKerningAndLigaturesByDefault boolean
member variable.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess): Changed to set
shouldEnableKerningAndLigaturesByDefault in the process creation parameters according to
the value of the WebKitKerningAndLigaturesEnabledByDefault user defaults key.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Added a call to
Font::setDefaultTypesettingFeatures() to enable kerning and ligatures if requested in the
process creation parameters.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix weird use of KURL's protocolIs
https://bugs.webkit.org/show_bug.cgi?id=98584

Reviewed by Adam Barth.

Converting a KURL to string is a bad idea.

Invalid URLs can return a string that pass the tests, while an
invalid URL will fail protocolIs().

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load):
* platform/network/DataURL.cpp:
(WebCore::handleDataURL):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive
https://bugs.webkit.org/show_bug.cgi?id=88834

Reviewed by Gavin Barraclough.

Follow-up patch to address some comments by Darin Adler.

* bindings/js/JSNodeCustom.h:
(WebCore::willCreatePossiblyOrphanedTreeByRemoval): Save some space by
collapsing comment lines. Use Node::hasChildNodes() for brevity.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clipboard::types() should return an ordered collection.
<http://webkit.org/b/98547>

Reviewed by Darin Adler.

Let Clipboard::types() return a ListHashSet<String> instead of a HashSet<String> to make sure
it retains the order in which type strings are added.

No test, this fixes an issue that was uncovered when lowering the default table size of WTF
hash tables, causing the HashSet<String> to rehash and reorder itself.

* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::types):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::V8Clipboard::typesAccessorGetter):
* dom/Clipboard.h:
(Clipboard):
* platform/blackberry/ClipboardBlackBerry.cpp:
(WebCore::ClipboardBlackBerry::types):
* platform/blackberry/ClipboardBlackBerry.h:
(ClipboardBlackBerry):
* platform/chromium/ChromiumDataObject.cpp:
(WebCore::ChromiumDataObject::types):
* platform/chromium/ChromiumDataObject.h:
(ChromiumDataObject):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::types):
* platform/chromium/ClipboardChromium.h:
(ClipboardChromium):
* platform/efl/ClipboardEfl.cpp:
(WebCore::ClipboardEfl::types):
* platform/efl/ClipboardEfl.h:
(ClipboardEfl):
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::types):
* platform/gtk/ClipboardGtk.h:
(ClipboardGtk):
* platform/mac/ClipboardMac.h:
(ClipboardMac):
* platform/mac/ClipboardMac.mm:
(WebCore::addHTMLClipboardTypesForCocoaType):
(WebCore::ClipboardMac::types):
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::types):
* platform/qt/ClipboardQt.h:
(ClipboardQt):
* platform/win/ClipboardWin.cpp:
(WebCore::addMimeTypesForFormat):
(WebCore::ClipboardWin::types):
* platform/win/ClipboardWin.h:
(ClipboardWin):
* platform/wx/ClipboardWx.cpp:
(WebCore::ClipboardWx::types):
* platform/wx/ClipboardWx.h:
(ClipboardWx):


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