[GTK][WK2] accessibility/selection-states.html is failing
https://bugs.webkit.org/show_bug.cgi?id=116972

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-09-20
Reviewed by Mario Sanchez Prada.

Tools:

isSelectable() was not exposed in Accessibility.

* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:

LayoutTests:

Unskipping accessibility/selection-states.html test.

* platform/gtk-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Buildfix after r156133 for !ENABLE(WORKERS) platforms
https://bugs.webkit.org/show_bug.cgi?id=121669

Reviewed by Antti Koivisto.

* platform/ThreadGlobalData.cpp:
* platform/ThreadGlobalData.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make RenderObject::parent() return RenderElement
https://bugs.webkit.org/show_bug.cgi?id=121671

Reviewed by Andreas Kling.

Make RenderObject::parent() return RenderElement and adopt everywhere.
Moved addChild/removeChild from RenderObject to RenderElement.
Uninlined a few big RenderObject functions.
Renamed RenderObject::remove() -> RenderObject::removeFromParent()



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156151 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update features.pri
https://bugs.webkit.org/show_bug.cgi?id=121670

Reviewed by Jocelyn Turcotte.

Remove feature flags that no longer exists and new ones added to FeatureList.pm

* qmake/mkspecs/features/features.pri:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix duplicated loop variable names after r155743
https://bugs.webkit.org/show_bug.cgi?id=121667

Reviewed by Andreas Kling.

Do not use the same name for variables in nested loops to fix a compiler warning.

* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove duplicated secondsPerDay variables
https://bugs.webkit.org/show_bug.cgi?id=121601

Reviewed by Andreas Kling.

Source/WebCore:

Use secondsPerDay from DateMath.h instead of defining it again.

* history/HistoryItem.cpp:
(WebCore::timeToDay):

Source/WebKit/win:

Use secondsPerDay from DateMath.h instead of defining it again.

* MarshallingHelpers.cpp:

Source/WTF:

Move secondsPerDay from the source into the header file
to make it accessible by other code too.

* wtf/DateMath.cpp:
* wtf/DateMath.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Optimize fetching the Node for never-anonymous renderers.
<https://webkit.org/b/121627>

Reviewed by Antti Koivisto.

Add a RenderObject::nodeForNonAnonymous() that can be used instead
of node() when a renderer is guaranteed non-anonymous.

Use this to implement reference element getters for the various
renderers that are known at compile-time to correspond to a DOM node.

Also renamed existingElement() => element() since using an alternate
name for a reference overload isn't actually necessary.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156155 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening. Update tests after change to Qt 5.1.1

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-20

* platform/qt/css1/text_properties/letter_spacing-expected.png:
* platform/qt/css1/text_properties/letter_spacing-expected.txt:
* platform/qt/fast/css/first-line-text-decoration-expected.png:
* platform/qt/fast/css/first-line-text-decoration-expected.txt:
* platform/qt/fast/css/first-line-text-decoration-inherited-from-parent-expected.png:
* platform/qt/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
* platform/qt/fast/css/word-space-extra-expected.png:
* platform/qt/fast/css/word-space-extra-expected.txt:
* platform/qt/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
* platform/qt/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:
* platform/qt/fast/text/basic/003-expected.png:
* platform/qt/fast/text/basic/003-expected.txt:
* platform/qt/fast/text/basic/013-expected.png:
* platform/qt/fast/text/basic/013-expected.txt:
* platform/qt/fast/text/text-letter-spacing-expected.png:
* platform/qt/fast/text/text-letter-spacing-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
StrictTypeChecking extended attribute fails for methods with sequence<T> https://bugs.webkit.org/show_bug.cgi?id=121305

Reviewed by Darin Adler.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

The extended attribute StrictTypeChecking can not be set to methods if
one of the parameters is a "sequence".
Basically, since "sequence" is not considered a native type
(see function IsNativeType) the Perl code generator tries to
include its supposedly associated header, in this case "JSsequence.h"
Compilation then fails.

It is a problem for bindings including WebGL, where all methods
are supposed to be set as StrictTypeChecking (see bug 44202 [1]). Due to this restriction,
it relaxed, but I would like to bring it back.

Patch fixes the issue by hardening the way includes are auto-added
for methods where StrictTypeChecking extended attribute is present.
Now, only wrapper types (see IsWrapperType) trigger header inclusion,
excluding arrays, sequences, basic types, etc.

[1] https://bugs.webkit.org/show_bug.cgi?id=44202

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/TestObj.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Make "autoscroll for drag'n drop" a setting
https://bugs.webkit.org/show_bug.cgi?id=121559

Reviewed by Ryosuke Niwa.
Patch by Antonio Gomes <a1.gomes@sisa.samsung.com>

Currently, there is a ChromeClient hook to make the
feature opt'ed-in or out. That makes it harder to test the
feature on ports that do not enable it, e.g. Mac/WebKit2 port.
However, Mac/WebKit2 is the port that has the best drag'n drop
WTR implementation.

Patch changes the toggle on/off mechanism to be a setting,
and exposes it through InternalSetting interface for testing.

* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::updateDragAndDrop):
* page/ChromeClient.h:
* page/Settings.in:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setAutoscrollForDragAndDropEnabled):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

LayoutTests: Make "autoscroll" for drag'n drop a setting
https://bugs.webkit.org/show_bug.cgi?id=121559

* fast/events/drag-and-drop-autoscroll.html:

Adapts the test so that is toggles the feature on
via InternalSettings interface.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] Use COMPILE_DEFINITIONS target property for setting BUILDING_* defines
https://bugs.webkit.org/show_bug.cgi?id=121672

Reviewed by Gyuyoung Kim.

Since the scope of add_definitions() is always a whole file, we need to use
target properties instead to set definitions only for specific targets.

Source/JavaScriptCore:

* CMakeLists.txt:

Source/WebCore:

* CMakeLists.txt:

Source/WebKit:

* CMakeLists.txt:

Source/WTF:

* wtf/CMakeLists.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening. Update tests after r156066 and r156083.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-20

* platform/qt-wk1/fast/forms/HTMLOptionElement_label06-expected.png: Added r156083.
* platform/qt-wk1/fast/forms/HTMLOptionElement_label06-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/HTMLOptionElement_label07-expected.png: Added r156083.
* platform/qt-wk1/fast/forms/HTMLOptionElement_label07-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/form-element-geometry-expected.png: Added r156083.
* platform/qt-wk1/fast/forms/form-element-geometry-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/menulist-separator-painting-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/select-baseline-expected.png: Added r156083.
* platform/qt-wk1/fast/forms/select-baseline-expected.txt: Added r156083.
* platform/qt-wk1/fast/forms/selectlist-minsize-expected.txt: Added r156083.
* platform/qt-wk1/fast/replaced/three-selects-break-expected.txt: Added r156083.
* platform/qt-wk1/js/dom/switch-behaviour-expected.txt: Added r156066.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156160 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified img src and srcset encoded URL tests
https://bugs.webkit.org/show_bug.cgi?id=121677

Previous tests have broken the Windows builds, since '?' is not a valid char.
Moved to using '@'

Patch by Yoav Weiss <yoav@yoav.ws> on 2013-09-20
Reviewed by Anders Carlsson.

* fast/hidpi/image-srcset-encoded-expected.txt: Renamed from LayoutTests/fast/hidpi/image-srcset-question-mark-expected.txt.
* fast/hidpi/image-srcset-encoded.html: Renamed from LayoutTests/fast/hidpi/image-srcset-question-mark.html.
* fast/hidpi/resources/image@test.png: Renamed from LayoutTests/fast/hidpi/resources/image?test.png.
* fast/loader/image-src-encoded-expected.txt: Renamed from LayoutTests/fast/loader/image-src-question-mark-expected.txt.
* fast/loader/resources/image@test.png: Renamed from LayoutTests/fast/loader/resources/image?test.png.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening. Rebase after Qt 5.1.1 and skip failing tests.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-09-20

* platform/qt-wk1/TestExpectations:
* platform/qt-wk2/TestExpectations:
* platform/qt-wk2/fast/forms/submit-to-blank-multiple-times-expected.txt: Added.
* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Fix some small style issues in the bindings
https://bugs.webkit.org/show_bug.cgi?id=121613

Reviewed by Carlos Garcia Campos.

* bindings/scripts/CodeGeneratorGObject.pm: When printing the license
header use the more common comment style within the WebKit project.
(GenerateProperty): Indent property definitions according to WebKit style, improve
the nick and blurb properties, and improve the various parameter spec argument layout.
(GenerateFunction): Remove the newline from function signatures to match WebKit style.
* bindings/scripts/test/GObject: Update bindings test results.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[ATK] Missing WTR AccessibilityUIElement::addNotificationListener implementation
https://bugs.webkit.org/show_bug.cgi?id=120421

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-09-20
Reviewed by Mario Sanchez Prada.

Implemented the notification listener for AccessibilityUIElement for
WebKitTestRunner. The signal is generated by
AXObjectCache::postPlatformNotification() and received by
axObjectEventListener(). axObjectEventListener() will then invoke
JSObjectCallAsFunction() with the respective callback function. The
notification handlers are stored in HashMap in
AccessibilityNotificationHandlerAtk.cpp.

Moved ATK signal handling (printAccessibilityEvent and
axObjectEventListener) to AccessibilityNotificationHandlerAtk.cpp.

* WebKitTestRunner/CMakeLists.txt: Added InjectedBundle/atk to the
include path.
* WebKitTestRunner/GNUmakefile.am:
Added AccessibilityNotificationHandlerAtk.cpp/h.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Moved
listener IDs to AccessibilityNotificationHandlerAtk.cpp.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h: Moved
listener IDs to AccessibilityNotificationHandlerAtk.cpp.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Added a
notification handler for GTK+ and EFL.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
Moved printAccessibilityEvent and axObjectEventListener to
AccessibilityNotificationHandlerAtk.cpp.
(WTR::AccessibilityController::logAccessibilityEvents): Moved listener
IDs to AccessibilityNotificationHandlerAtk.cpp.
(WTR::AccessibilityController::resetToConsistentState): Moved listener
IDs to AccessibilityNotificationHandlerAtk.cpp.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: Added.
(WTR::printAccessibilityEvent): Prints accessibility events. This
function was moved from AccessibilityControllerAtk.cpp.
(WTR::axObjectEventListener): Callback for signals. This function was
moved from AccessibilityControllerAtk.cpp.
(WTR::AccessibilityNotificationHandler::AccessibilityNotificationHandler):
Initialize element and function callback.
(WTR::AccessibilityNotificationHandler::~AccessibilityNotificationHandler):
Removes handler from HashMap and disconnects callbacks if necessary.
(WTR::AccessibilityNotificationHandler::logAccessibilityEvents): Sets
logging mode and connects callbacks.
(WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
Sets the notification callback and connects callback to signals.
(WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
Removes the notification callback from HashMap.
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
Connects axObjectEventListener to ATK signals.
(WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
Disconnects callback.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.h: Added.
(WTR::AccessibilityNotificationHandler::create): Creates a new instance
of AccessibilityNotificationHandler.
(WTR::AccessibilityNotificationHandler::setPlatformElement): Sets the
element.
(WTR::AccessibilityNotificationHandler::platformElement): Gets the
element.
(WTR::AccessibilityNotificationHandler::notificationFunctionCallback):
Gets the notification callback.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::addNotificationListener): Creates
notification handler, set the platform element and the notification
callback.
(WTR::AccessibilityUIElement::removeNotificationListener): Deletes the
notification handler.
* WebKitTestRunner/PlatformEfl.cmake:
Added AccessibilityNotificationHandlerAtk.cpp.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[ATK][WTR] accessibility/aria-invalid.html times out
https://bugs.webkit.org/show_bug.cgi?id=121668

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-09-20
Reviewed by Mario Sanchez Prada.

Tools:

Fixed WTR::AccessibilityUIElement::stringAttributeValue() to return
false in case of aria-invalid event with empty value.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::stringAttributeValue): Returns false in
case of aria-invalid event with empty value.

LayoutTests:

Updated the expectation of aria-invalid.html test, which was timing out
before bug 120421 and this fix.

* platform/gtk-wk2/TestExpectations: Removed aria-invalid.html because
it now passes with this fix and the patch from bug 120421.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add valueForLength/minimumValueForLength wrappers to RenderElement.
<https://webkit.org/b/121676>

Reviewed by Antti Koivisto.

Add two inline wrappers for these functions so we don't have to pass
the RenderView everywhere.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] socket_embed_hook hitting NULL-check assertion running TestWebKit2
https://bugs.webkit.org/show_bug.cgi?id=121294

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

Provide a new patch to deal with the issue in the GTK+ module from
the internal jhbuild environment. This issue has been reported
upstream (see https://bugzilla.gnome.org/show_bug.cgi?id=708024).

* gtk/jhbuild.modules: Apply the new patch to the GTK+ module.
* gtk/patches/gtk-3.6-do-not-shutdown-accessibility.patch: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: WebArea claims to have a subrole, but always returns nil.
https://bugs.webkit.org/show_bug.cgi?id=121658

Patch by Sam White <samuel_white@apple.com> on 2013-09-20
Reviewed by Chris Fleizach.

Source/WebCore:

No new tests, updated existing AXWebArea related test to reflect unused attribute removal.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

Updated test output to reflect removal of unused NSAccessibilitySubroleAttribute in AXWebArea.

* platform/mac/accessibility/document-attributes-expected.txt:

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