Ensure that TileController tile coverage is updated on scrolling even when we don't have scrollbars
https://bugs.webkit.org/show_bug.cgi?id=121700
<rdar://problem/15030589>

Reviewed by Dean Jackson.

r155660 introduced a bug where we wouldn't make scrollbars on long pages. However,
that revealed a fundamental flaw in the TiledBacking update logic; it relied on the
GraphicsLayer flushes triggered by scrollbars updates in order to update the main
TileController's tile coverage. No scrollbars meant no tile coverage updates.

Fix by explicitly triggering a flush when the FrameView is scrolled (we get
notified about this on the main thread after the scrolling thread has moved
layers around).

No test since this will only be exposed for a short time while scrollbars are
broken.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Scrollbars don't appear on long pages after r155660
https://bugs.webkit.org/show_bug.cgi?id=121714
<rdar://problem/15042478>

Reviewed by Beth Dakin.

After r155660, we don't do any additional layouts when scrollbars are
added or removed. That caused us to not enter the code that creates or
destroys composting layers for scrollbars in RenderLayerCompositor, resulting
in missing scrollbars.

Fix by having ScrollView::updateScrollbars() call addedOrRemovedScrollbar()
when a scrollbar was added or removed, which is overridden in FrameView
to call through to RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars().

Not testable since scrollbar layers aren't contained in layer tree dumps
(to reduce diffs between platforms).

* page/FrameView.cpp:
(WebCore::FrameView::addedOrRemovedScrollbar): New function to tell the compositor
that scrollbars changed.
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar): Change the meaning of the return
value to say if the scrollbar was added or removed. Add an out param that indicates
whether the scrollbar change affects content size (not true for overlay scrollbars).
(WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
(WebCore::ScrollView::updateScrollbars): Keep track of whether scrollbars were
added or removed, and call addedOrRemovedScrollbar() if true.
* platform/ScrollView.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars): Call updateOverflowControlsLayers().
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
* rendering/RenderLayerCompositor.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[ATK] Do not expose aria-help in ATK based platforms
https://bugs.webkit.org/show_bug.cgi?id=121675

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-09-20
Reviewed by Chris Fleizach.

Source/WebCore:

Stop exposing the value for the 'aria-help' attribute as an
AtkObject attribute, based in AccessibilityObject::helpText().

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes): Remove the mapping.

Source/WebKit/efl:

Removed accessibilityHelpText() helper method from
DumpRenderSupportEfl's API, since it's not longer needed.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp: Removed method.
* WebCoreSupport/DumpRenderTreeSupportEfl.h: Ditto.

Source/WebKit/gtk:

Removed accessibilityHelpText() helper method from
DumpRenderSupportGtk's API, since it's not longer needed.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Removed method.
* WebCoreSupport/DumpRenderTreeSupportGtk.h: Ditto.

Tools:

Remove the implementations for AccessibilityUIElement::helpText()
from DRT and WKTR for GTK and EFL, since they are based on the
AccessibilityObject::helpText() method and the 'aria-help'
attributes, which is wrong since they should not depend on that
but in ATK specific API (see also http://webkit.org/b/121684).

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::helpText): Added a new and empty
implementation, now that we are no longer using this in ATK.
* DumpRenderTree/efl/AccessibilityUIElementEfl.cpp: Removed file
as the only function provided here was helpText().
* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: Ditto.
* DumpRenderTree/efl/CMakeLists.txt: AccessibilityUIElementEfl.cpp
removed from the list of sources to compile.
* GNUmakefile.am: Likewise, but for AccessibilityUIElementGtk.cpp.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::helpText): Replaced old implementation
based in DumpRenderTreeSupportGtk with an empty one.

LayoutTests:

Moved test based in helpText() into the Mac directory, and update
expectations for platforms as needed.

* platform/mac/accessibility/aria-help-expected.txt: Renamed from LayoutTests/accessibility/aria-help-expected.txt.
* platform/mac/accessibility/aria-help.html: Renamed from LayoutTests/accessibility/aria-help.html.
* platform/gtk-wk2/TestExpectations: Removed failure expectation
for aria-help, now moved to Mac, and for aria-describedby-on-input,
which is now moved to the generic TestExpectations file for GTK.
* platform/gtk/TestExpectations: Added aria-describedby-on-input,
linking it to the newly filed bug 121684.
* platform/gtk-wk2/TestExpectations: Removed failure expectation.
* platform/win/TestExpectations: Removed failure expectation.
* platform/wincairo/TestExpectations: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add an implementation of std::index_sequence from C++14
https://bugs.webkit.org/show_bug.cgi?id=121718

Reviewed by Ryosuke Niwa.

This will make it easier to do things like pack expansion of tuple elements.

* wtf/StdLibExtras.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Shaders that fail to compile should be marked as such
https://bugs.webkit.org/show_bug.cgi?id=121721

Reviewed by Simon Fraser.

1. Add a new logging channel for WebGL.

2. If a translated shader fails to compile (technically
this should never happen), mark it as invalid.

Test: https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/shader-with-non-reserved-words.html

* platform/Logging.h: New WebGL channel.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::compileShader): Log the raw and translated
input to glCompileShader, but mark the entry as invalid.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/90090> build-webkit should verify that your tools are up-to-date

Tools:

Enforce a minimum OS version of 10.7.5 and Xcode version of 4.6.

Reviewed by David Kilzer.

* Scripts/webkitdirs.pm:
(checkRequiredSystemConfig):

Websites/webkit.org:

Update references on webkit.org to mention Xcode 4.6 as the minimum version.

Reviewed by David Kilzer.

* building/debug-mac-uiprocess.html:
* building/tools.html:


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