[EFL][jhbuild] Fix libsoup build with clang
https://bugs.webkit.org/show_bug.cgi?id=139088

Reviewed by Gyuyoung Kim.

* efl/jhbuild.modules:
* efl/patches/soup-clang-warning-fix1.patch: Added.
* efl/patches/soup-clang-warning-fix2.patch: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Missing API detected in GObject DOM bindings after r176630
https://bugs.webkit.org/show_bug.cgi?id=139201

Reviewed by Gustavo Noronha Silva.

.:

Change GENERATE_BINDINGS macro to receive a list of optional
additional dependencies, so that we can add more dependecies
without having to change the macro.

* Source/cmake/WebKitMacros.cmake:

Source/WebCore:

Bring back WebKitDOMDeprecated and add custom versions of the
removed symbols as deprecated in favor of the new ones. Also add
the new ones as stable API.

* CMakeLists.txt: Pass a list of additional dependencies to GENERATE_BINDINGS.
* PlatformGTK.cmake: Ditto.
* PlatformMac.cmake: Ditto.
* bindings/gobject/WebKitDOMDeprecated.cpp: Added.
(webkit_dom_html_element_get_inner_html):
(webkit_dom_html_element_set_inner_html):
(webkit_dom_html_element_get_outer_html):
(webkit_dom_html_element_set_outer_html):
* bindings/gobject/WebKitDOMDeprecated.h: Added.
* bindings/gobject/WebKitDOMDeprecated.symbols: Added.
* bindings/gobject/webkitdom.symbols:

Tools:

Handle deprecated symbols again when generating the GObject DOM
bindings documentation.

* gtk/webkitdom.py:
(WebKitDOMDocGenerator):
(WebKitDOMDocGenerator.is_deprecated_symbol_file):
(WebKitDOMDocGenerator.generate):
(WebKitDOMDocGeneratorSections.__init__):
(WebKitDOMDocGeneratorSections._find_deprecated_symbols):
(WebKitDOMDocGeneratorSections.write_section):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add Since tags to GObject DOM bindings documentation
https://bugs.webkit.org/show_bug.cgi?id=139356

Reviewed by Gustavo Noronha Silva.

Now that we have a small stable API, and new symbols are added
manually, we can also add the version to the symbols file, that
the code generator can ue to add Since tags to the gtk-doc.

* bindings/gobject/webkitdom.symbols: Add @2.8 to the new symbols
added for 2.8.
* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateConstants): Add Since tag to gtk-doc if there's a version
number for the symbol in the .symbols file.
(GenerateFunction): Ditto.
(ReadStableSymbols):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Use GMainLoopSource in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=138831

Reviewed by Sergio Villar Senin.

* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::waitToDumpWatchdogTimerCallback): Deleted.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::notifyDone):
(WTR::TestController::platformRunUntil):
(WTR::cancelTimeout): Deleted.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Report and mark new failures.
* platform/gtk/svg/animations/animate-marker-orienttype-1-expected.txt: Added. Rebaseline after r175525.
* platform/gtk/svg/animations/animate-marker-orienttype-2-expected.txt: Added. Rebaseline after r175525.
* platform/gtk/svg/animations/animate-marker-orienttype-3-expected.txt: Added. Rebaseline after r175525.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove the option to automatically update the GObject DOM bindings symbols file
https://bugs.webkit.org/show_bug.cgi?id=139366

Reviewed by Martin Robinson.

It's currently broken, because symbols now need to be in a
specific order. Now that the symbols file only contains stable
API, it's not a problem to manually update it every time new API
is added.

* gtk/check-for-webkitdom-api-breaks:
(read_expected_api):
(check_api):
(write_expected_api): Deleted.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Introduce and deploy a function that allocates and returns an instance of a soft-linked class
https://bugs.webkit.org/show_bug.cgi?id=139348

Reviewed by Anders Carlsson.

In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler
picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead
to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo
doesn’t even have the expected initializer. The new allocFooInstance() returns a Foo *, thus
avoiding the ambiguity.

Source/WebCore:

* editing/mac/DataDetection.mm:
(WebCore::DataDetection::detectItemAroundHitTestResult):
* platform/audio/ios/MediaSessionManagerIOS.mm:
(-[WebMediaSessionHelper allocateVolumeView]):
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::createMix):
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
* platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::abort):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::PlatformCALayerMac): Cast the result of +alloc to an instance of the
expected class.

* platform/graphics/mac/FontMac.mm:
(WebCore::showLetterpressedGlyphsWithAdvances):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::createQTMovie):
(WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
* platform/graphics/mac/PDFDocumentImageMac.mm:
(WebCore::PDFDocumentImage::createPDFDocument):
* platform/ios/PlatformSpeechSynthesizerIOS.mm:
(SOFT_LINK_CONSTANT):
(-[WebSpeechSynthesisWrapper speakUtterance:]):
* platform/ios/WebCoreMotionManager.mm:
(-[WebCoreMotionManager initializeOnMainThread]):
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController init]):
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::ContentFilter):

* platform/mac/SoftLinking.h: Added alloc##className##instance().

* platform/mac/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController setVideoElement:]):
* platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::setupCaptureSession):
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType):
* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::setupSession):
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::setupCaptureSession):
* platform/network/ios/QuickLook.mm:
(WebCore::registerQLPreviewConverterIfNeeded):
(WebCore::QuickLookHandle::QuickLookHandle):

Source/WebKit/ios:

* Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider createLocationManager]):

Source/WebKit/mac:

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):

Source/WebKit2:

* UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
(-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]):
(-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]):
(-[WKAirPlayRoutePicker show:fromRect:]):
* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[_WKVideoFileUploadItem displayImage]):
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::clone):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Fix GObject DOM bindings API break tests after r176920
https://bugs.webkit.org/show_bug.cgi?id=139368

Reviewed by Gustavo Noronha Silva.

Remove the @version from the symbol name before comparing.

* gtk/check-for-webkitdom-api-breaks:
(read_expected_api):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove platform/mac-mavericks/TestExpectations file.
        
We don't need it, we should be using modifiers such as [ Mavericks ].

1. platform/mac/editing/input/undo-grouping-on-text-insertion.html was already
skipped on all OS versions in platform/mac, so this skip did nothing.
2. Moved css3/filters/backdrop expectation to platform/mac.
3. css3/viewport-percentage-lengths tests are now fixed by a configuration change
on a bot.

* platform/mac-mavericks/TestExpectations: Removed.
* platform/mac/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/borders/mixed-border-style2.html has missing results on Mac Yosemite.

Looking at the bots, Yosemite results are the same as Mavericks, so moving the file.

* platform/mac-mavericks/fast/borders/mixed-border-style2-expected.txt: Removed.
* platform/mac/fast/borders/mixed-border-style2-expected.txt: Copied from LayoutTests/platform/mac-mavericks/fast/borders/mixed-border-style2-expected.txt.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] WebKit has a new required dependency on GnuTLS
https://bugs.webkit.org/show_bug.cgi?id=136158

Reviewed by Martin Robinson.

Detect if GnuTLS is installed and enable or disable subtle crypto
support accordingly.

* Source/cmake/OptionsGTK.cmake:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update style checker to deal with "const override"
https://bugs.webkit.org/show_bug.cgi?id=139371

Reviewed by Csaba Osztrogonác.

check-webkit-style shouldn't complain about an open brace to start a
line after a function definition with const override.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_braces):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_brace_at_begin_of_line):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
https://bugs.webkit.org/show_bug.cgi?id=128739

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-12-07
Reviewed by Martin Robinson.
Source/WebCore:

Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.

Test: http/tests/xmlhttprequest/response-special-characters.html

* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::headerCallback): Removed header conversion.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::headerCallback): Ditto.
(WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
(WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
(WebCore::ResourceRequest::toSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage):
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
(WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.

LayoutTests:

Tests that non ascii header & reason phrase values are correctly retrieved by the web application.
headers.php script sends a response that includes non ascii header value.
not-ascii-status.php sends a response that includes non ascii reason phrase.
Removed specific gtk/efl expectations as now aligned with regular expectation.

* http/tests/xmlhttprequest/resources/headers.php: Added.
* http/tests/xmlhttprequest/resources/not-ascii-status.php: Added.
* http/tests/xmlhttprequest/response-special-characters-expected.txt: Added.
* http/tests/xmlhttprequest/response-special-characters.html: Added.
* platform/efl/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.
* platform/gtk/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt: Removed.

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