Fix the USE(3D_GRAPHICS) build with the standard OpenGL on Windows

https://bugs.webkit.org/show_bug.cgi?id=114684
Reviewed by Simon Hausmann.

Source/WebCore:

Currently USE(3D_GRAPHICS) is only supported with OpenGLES through ANGLE
on Windows. Allow building with the stock opengl32.lib on Windows by adding
missing glCompressedTex* entries in OpenGLShims.
Those are used in Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
and will be substituted by the preprocessor.

* platform/graphics/OpenGLShims.cpp:
(WebCore::initializeOpenGLShims):
* platform/graphics/OpenGLShims.h:
(_OpenGLFunctionTable):

Tools:

Remove the ANGLE requirement for USE(3D_GRAPHICS).
This enables WebKit2 in the build when using a "-opengl desktop" configured Qt.

* qmake/mkspecs/features/features.prf:

Change-Id: Ia4a8f37944eb2cc168bc2428179f826167448e5c
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Late-loading stylesheets can cause composited layers to be blank

https://bugs.webkit.org/show_bug.cgi?id=103773

Reviewed by Tim Horton.

Early painting can be short-circuited in RenderBlock::paintContents() if we know a stylesheet
is pending, which is done to avoid a flash of unstyled content (FOUC). When the stylesheet
finally loaded, Document::styleResolverChanged() would try to repaint everything by calling
repaint() on the RenderView(). In a composited world, however, this repaint() doesn't repaint
composited layers.

This was particularly prevalent on this specific URL because it failed to load
a CSS file from typekit.com, so Document::styleResolverChanged()
just did the repaint and returned (rather than doing a recalc style as would
happen for correctly loaded stylesheets).

Fix by making a way to repaint all compositing layers, and calling it
from Document::styleResolverChanged().

No tests because this is timing-dependant.

* dom/Document.cpp:
(WebCore::Document::styleResolverChanged): Call repaintViewAndCompositedLayers().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintContents): Fix the comment.
* rendering/RenderLayerCompositor.cpp: Convert repaintCompositedLayersAbsoluteRect()
and associated recursiveRepaintLayerRect() to allow the rect to be null, which indicates
that we should just repaint the entire layer, and improve their names.
(WebCore::RenderLayerCompositor::repaintCompositedLayers):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
* rendering/RenderLayerCompositor.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): repaintCompositedLayersAbsoluteRect()
was renamed to repaintCompositedLayers().
(WebCore::RenderView::repaintViewAndCompositedLayers):
* rendering/RenderView.h:
(RenderView): repaintViewRectangle() and repaintRectangleInViewAndCompositedLayers() should not
be virtual. Add repaintViewAndCompositedLayers().

Change-Id: I86401d25d06128db33a5e5db099144d6b05850ef
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Animated opacity does not trigger accelerated compositing

https://bugs.webkit.org/show_bug.cgi?id=115107

Reviewed by Simon Fraser.

Source/WebCore:

Add extra option to also trigger compositing on animated opacity.

* page/ChromeClient.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):

Source/WebKit/qt:

We should trigger compositing on animated opacity as it is always faster on Qt.

* WebCoreSupport/ChromeClientQt.cpp:
VideoTrigger removed because we have already disabled AC for video in qwebsettings.

Change-Id: I811a9175d96a57621345d2225d6930669a487aa5
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Assert in JSC::Heap::unprotect when closing facebook.com web site

https://bugs.webkit.org/show_bug.cgi?id=115058

Reviewed by Darin Adler.

Grab a JSLock before calling RootObject::invalidate().

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::~ScriptController):

Change-Id: I7bd89efc0ed069f4843d407716d821f132d424ba
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Merge branch 'stable' into st