<https://webkit.org/b/126499> Move WebKit off the legacy WebKit availability macros

The legacy WebKit availability macros are verbose, confusing, and provide no benefit
over using the system availability macros directly. The original vision was that
they'd serve a cross-platform purpose but that never came to be.

Since WebKit1 is API on OS X but SPI on iOS, some indirection is still needed in the
availability macros to allow the headers to advertise the API as unavailable on OS X
without interfering with the ability to build on iOS. This is achieved by defining
WEBKIT-prefixed versions of the Foundation availability macros that are defined to
their NS-prefixed equivalents. The installed headers are post-processed to map these
macros back to their Foundation equivalents.

Part of <rdar://problem/15512304>.

Source/WebCore:

Reviewed by Sam Weinig.

* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/WebKitAvailability.h: Added. This lives at the WebCore level since it
will be needed by the Objective-C DOM bindings.

Source/WebKit:

Reviewed by Sam Weinig.

* WebKit.xcodeproj/project.pbxproj: Change the Postprocess Headers build phase to
invoke mac/postprocess-headers.sh.

Source/WebKit/mac:

The OS X version used in the new availability macros is based on the mapping in
JavaScriptCore/WebKitAvailability.h.

Reviewed by Sam Weinig.

* Carbon/CarbonUtils.h:
* Carbon/HIWebView.h:
* MigrateHeaders.make: Migrate WebKitAvailability.h from WebCore as an API header.
* Plugins/WebPlugin.h:
* Plugins/WebPluginViewFactory.h:
* WebView/WebFrameLoadDelegate.h:
* WebView/WebResourceLoadDelegatePrivate.h:
* WebView/WebUIDelegate.h:
* postprocess-headers.sh: Added. Extracted from the Xcode project. Extended to map the
WEBKIT-prefixed macros to their NS-prefixed equivalents on OS X and to remove them on iOS.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Use libc++ for C++11 on darwin
https://bugs.webkit.org/show_bug.cgi?id=126325

Reviewed by Martin Robinson.

* Source/autotools/SetupCompilerFlags.m4: Don't default to libstdc++ when compiling with Clang.
Instead, the compiler should determine itself what standard library to use, except on Darwin,
where libc++ should be enforced. The standard library of user's choosing can still be enforced
through the CXXFLAGS environment variable.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<hr> appears gray instead of green because of color attribute is defined followed by noshade attribute
https://bugs.webkit.org/show_bug.cgi?id=17674

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-06
Reviewed by Simon Fraser.

Source/WebCore:

The noshade attribute is a boolean attribute and when set on hr element
it shows a gray color. When there is color attribute the default gray
color should be replaced by the color mentioned by the color attribute.
Firefox and IE show the same behaviour but Webkit is different. Making
the behaviour of Webkit similiar to Firefox and IE's behaviour.

Test: fast/dom/HTMLHrElement/hr-color-noshade-attribute.html

* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
When the color attribute is present that value is applied and the
default gray color is ignored. Incase of no color attribute the default
gray color is applied.

LayoutTests:

* fast/dom/HTMLHrElement: Added.
* fast/dom/HTMLHrElement/hr-color-noshade-attribute-expected.txt: Added.
* fast/dom/HTMLHrElement/hr-color-noshade-attribute.html: Added.
Added new test cases to test the functionality of noshade and color
attribute of hr element when color attribute is present along with
noshade attribute, invalid color attribute and color noshade attributes
added via javascript.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderInline::clone() should return RenderPtr.
<https://webkit.org/b/126514>

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-06
Reviewed by Antti Koivisto.

* rendering/RenderInline.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clone):

    Tweaked to return RenderPtr<RenderInline>.

(WebCore::RenderInline::splitInlines):

    Store cloned RenderInlines in RenderPtrs. Use leakPtr() to sink
    them into ownership-taking APIs that still use raw pointers.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix ChangeLog authors that got mixed up in last commit.

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