REGRESSION (r149184): Build errors in RefPtr.h when building with Clang, C++98 standard
https://bugs.webkit.org/show_bug.cgi?id=116352

Reviewed by Anders Carlsson.

Use the __has_feature macro instead of the __has_extension one when detecting what features the Clang compiler
that's being used is capable to provide. With the project moving onto using C++11 throughout its components,
there currently exist cases where C++11-specific functionality (for instance std::move) is used despite being
guarded by compiler-specific feature guards that still get enabled even when compiling in C++98 with Clang.
The problematic features are enabled because they're available as C++98 language extensions by Clang.

Using __has_feature instead enables the feature guard only if the tested feature is actually standardized in
the currently used language standard.

* wtf/Compiler.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
A static_assert() in RetainPtr.h sometimes causes the build to fail.

Wrap the first argument to a static_assert() in parentheses since it
contains a comma, which sometimes tricks the preprocessor into thinking
the macro is being passed three arguments rather than two.

Reviewed by Brian Weinstein.

* wtf/RetainPtr.h:
(WTF::RetainPtr::RetainPtr):

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

* platform/gtk/TestExpectations: Mark two tests that are flakily timing out as slow.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] [texmap] upload a video buffer into the video texture
https://bugs.webkit.org/show_bug.cgi?id=116042

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2013-06-18
Reviewed by Philippe Normand.

This patch prepares more quickly the texture when the video frame is
already in the GPU memory.

It is done using a new buffer's metadata available in GStreamer 1.2,
and its purpose is to upload buffers into a OpenGL texture.

If the decoder provides buffers with this metadata, the buffer will be
uploaded into the texture used for the video display and it will be
rendered, avoiding a expensive mem copies. This is particularly useful
for Full HD videos, where all the processing and display will be done
in the GPU.

No new tests, covered by existing tests.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkProposeAllocation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151673 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][GStreamer] Fullscreen option in video element context menu not working
https://bugs.webkit.org/show_bug.cgi?id=105191

.:

Fullscreen with native controls is outdated and even broken in
[GTK][WK2], so they are deactivated for now.

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-06-18
Reviewed by Philippe Normand.

* Source/autotools/SetupAutoconfHeader.m4: Removed the use of
fullscreen native media controls.

LayoutTests:

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-06-18
Reviewed by Philippe Normand.

* platform/gtk-wk1/TestExpectations:
fullscreen/video-controls-drag.html does not time out anymore.
* platform/gtk-wk2/TestExpectations:
media/video-display-aspect-ratio.html crashes sometimes.
* platform/gtk/TestExpectations:
media/video-playing-and-pause.html was already flaky.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
touching any idl rebuilds all derived sources
https://bugs.webkit.org/show_bug.cgi?id=117708

Reviewed by Kentaro Hara.

Fix preprocess-idls.pl script to update the following files only
if they have changed:
DerivedSources/WebCore/supplemental_dependency.tmp
DerivedSources/WebCore/DOMWindowConstructors.idl
DerivedSources/WebCore/WorkerContextConstructors.idl

This avoids triggering uselessly bindings generation for all IDL
files whenever an IDL file is touched.

No new tests, no behavior change.

* bindings/scripts/preprocess-idls.pl:
(WriteFileIfChanged):
(GeneratePartialInterface):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151675 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Shader compiler not properly configured for GLES on cairo based ports
https://bugs.webkit.org/show_bug.cgi?id=117705

Reviewed by Martin Robinson.

Configure the shader compiler with SH_ESSL_OUTPUT for GLESv2
compliant platforms, and with SH_GLSL_OUTPUT otherwise.

* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):

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