[BlackBerry] Use the unconverted attribute instead of composing when deciding to how to handle key input.
https://bugs.webkit.org/show_bug.cgi?id=94132

Reviewed by Rob Buis.

PR 139838.

Switch direct key input handling to be based on the unconverted
attribute being present.  Converted keys, even during composition
are now input directly.

Reviewed Internally by Nima Ghanavatian.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::setText):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Must account for empty transformation lists when checking for big rotations.
https://bugs.webkit.org/show_bug.cgi?id=93975

Reviewed by James Robinson.

Source/WebCore:

AnimationTranslationUtil.cpp is supposed to reject large rotations
(>= 180 degrees between keyframes). The current code assumes that if
the lists of transforms at two consecutive keyframes do not match
(i.e., are different types), then do not need to reject. The rationale
is that we will revert to matrix blending -- we will collapse the lists
of transform operations to matrices at each keyframe and blend those.
Unfortunately, this is not true if a list is empty. It can be the case
that we transition from no transform to a rotation about the z axis of
360 degrees. In this case, the first list of transform operations will
be empty and the second will have a single rotation of 360 degrees. An
empty list should be treated as a rotation of zero degrees.

Unit tested in: GraphicsLayerChromiumTest.createTransformAnimationWithBigRotationAndEmptyTransformOperationList

* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::causesRotationOfAtLeast180Degrees):

Source/WebKit/chromium:

Adds a test to check that creating an animation with a big (> 180
degree) rotation, where the transform operations list in the 1st
keyframe is empty fails as expected.

* tests/AnimationTranslationUtilTest.cpp:
(WebKit::TEST):
(WebKit):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mark Skia and Compositor Contexts
https://bugs.webkit.org/show_bug.cgi?id=94129

Patch by Gregg Tavares <gman@google.com> on 2012-08-15
Reviewed by James Robinson.

Marks the Skia and Compositor contexts to aid in debugging.

No new tests as no new functionality.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::createAcceleratedCanvas):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Buildfix after r125541
https://bugs.webkit.org/show_bug.cgi?id=94097

Patch by Gabor Ballabas <gaborb@inf.u-szeged.hu> on 2012-08-15
Reviewed by Filip Pizlo.

r125541 has broken the traditional ARM port build of JSC.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::neg32):
(JSC::MacroAssemblerARM::xor32):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Should not keep recreating GeoTracker in setEnableHighAccuracy()
https://bugs.webkit.org/show_bug.cgi?id=94136

Patch by Yong Li <yoli@rim.com> on 2012-08-15
Reviewed by Rob Buis.
Internally reviewed by Lyon Chen.

PR# 192401.
1. The prototype of GeoTracker::create() has changed.
2. Fix the issue that it could recreate tracker unnecessarily when
   setEnableHighAccuracy() is called but accuracy requirment hasn't
   changed.
3. Fix the issue setEnableHighAccuracy() could start tracking when
   tracker was suspended.

* WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
(GeolocationControllerClientBlackBerry::startUpdating):
(GeolocationControllerClientBlackBerry::setEnableHighAccuracy):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125705 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Updating test expectations after r125694.

* fast/table/rowindex-expected.txt: Added.
* fast/text/international/bidi-layout-across-linebreak-expected.txt: Added.
* fast/text/international/bidi-override-expected.txt: Added.
* fast/transforms/bounding-rect-zoom-expected.txt: Replaced.
* platform/chromium-linux-x86/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Removed.
* platform/chromium-linux/fast/text/international/bidi-layout-across-linebreak-expected.png:
* platform/chromium-linux/fast/text/international/bidi-layout-across-linebreak-expected.txt: Added.
* platform/chromium-linux/fast/transforms/bounding-rect-zoom-expected.txt: Added.
* platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Added.
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Added.
* platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug89315-expected.png:
* platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug89315-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/forms/001-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/form-element-geometry-expected.png:
* platform/chromium-mac-snowleopard/fast/replaced/width100percent-button-expected.png:
* platform/chromium-mac-snowleopard/fast/replaced/width100percent-checkbox-expected.png:
* platform/chromium-mac-snowleopard/fast/replaced/width100percent-radio-expected.png:
* platform/chromium-mac-snowleopard/fast/table/rowindex-expected.png:
* platform/chromium-mac-snowleopard/fast/table/rowindex-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/text/international/bidi-LDB-2-CSS-expected.png:
* platform/chromium-mac-snowleopard/fast/text/international/bidi-LDB-2-HTML-expected.png:
* platform/chromium-mac-snowleopard/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
* platform/chromium-mac-snowleopard/fast/text/international/bidi-layout-across-linebreak-expected.png:
* platform/chromium-mac-snowleopard/fast/text/international/bidi-layout-across-linebreak-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/text/international/bidi-override-expected.png:
* platform/chromium-mac-snowleopard/fast/text/international/bidi-override-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/text/textIteratorNilRenderer-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug1318-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug33855-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug39209-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug4527-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug55527-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla_expected_failures/bugs/bug89315-expected.png:
* platform/chromium-mac/fast/table/rowindex-expected.txt: Removed.
* platform/chromium-mac/fast/text/international/bidi-override-expected.txt: Removed.
* platform/chromium-win-xp/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png: Removed.
* platform/chromium-win-xp/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt: Removed.
* platform/chromium-win/fast/text/international/bidi-layout-across-linebreak-expected.txt:
* platform/chromium/TestExpectations:
* platform/efl/fast/table/rowindex-expected.txt: Removed.
* platform/efl/fast/text/international/bidi-layout-across-linebreak-expected.txt: Removed.
* platform/efl/fast/text/international/bidi-override-expected.txt: Removed.
* platform/efl/fast/transforms/bounding-rect-zoom-expected.txt: Removed.
* platform/gtk/fast/table/rowindex-expected.txt: Removed.
* platform/gtk/fast/text/international/bidi-layout-across-linebreak-expected.txt: Removed.
* platform/gtk/fast/text/international/bidi-override-expected.txt: Removed.
* platform/gtk/fast/transforms/bounding-rect-zoom-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] unskip passing fast/text tests.
https://bugs.webkit.org/show_bug.cgi?id=94127

Patch by Lauro Neto <lauro.neto@openbossa.org> on 2012-08-15
Reviewed by Csaba Osztrogonác.

Three fast/text tests are working for Qt5 (WK1 and WK2).

* platform/qt-5.0/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125707 268f45cc-cd09-0410-ab3c-d52691b4dbfc
NinePieceImage: Avoid unnecessary duplication of default data in assignment operator.
<http://webkit.org/b/94046>

Reviewed by Geoffrey Garen.

If copying a NinePieceImage with a null m_data, don't create a copy of it's data()
as that will point to the default NinePieceImageData. ~200kB progression on Membuster.

* rendering/style/NinePieceImage.h:
(WebCore::NinePieceImage::operator=):


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

Updating baselines for <meter> tests after r125659.

Marking fullscreen/full-screen-iframe-legacy.html and
storage/websql/database-lock-after-reload.html as flaky.

* platform/gtk/TestExpectations:
* platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
* platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
* platform/gtk/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
* platform/gtk/fast/dom/HTMLMeterElement/meter-element-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-optimums-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-styles-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125709 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Calls to AXObjectCache should prefer Node over Renderer
https://bugs.webkit.org/show_bug.cgi?id=91794

Reviewed by Chris Fleizach.

Source/WebCore:

Now that it's possible for nodes inside a canvas subtree to be focused and
represent accessible content, accessibility notifications should be triggered
with a Node* rather than with a RenderObject* whenever possible.

Every public API in AXObjectCache that took a RenderObject* before now either
takes a Node* instead, or has a parallel method that takes a Node*.

Tests: accessibility/accessibility-node-memory-management.html
       accessibility/accessibility-node-reparent.html
       accessibility/canvas-fallback-content.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedImageMapUIElement):
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::get):
(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::contentChanged):
(WebCore):
(WebCore::AXObjectCache::updateCacheAfterNodeIsAttached):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::postNotification):
(WebCore::AXObjectCache::checkedStateChanged):
(WebCore::AXObjectCache::selectedChildrenChanged):
(WebCore::AXObjectCache::nodeTextChangeNotification):
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleActiveDescendantChanged):
(WebCore::AXObjectCache::handleAriaRoleChanged):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
(WebCore::AXObjectCache::rootAXEditableElement):
(WebCore::AXObjectCache::nodeIsTextControl):
* accessibility/AXObjectCache.h:
(AXObjectCache):
(WebCore::AXObjectCache::setNodeInUse):
(WebCore::AXObjectCache::removeNodeForUse):
(WebCore::AXObjectCache::isNodeInUse):
(WebCore::AXObjectCache::checkedStateChanged):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::contentChanged):
(WebCore::AXObjectCache::updateCacheAfterNodeIsAttached):
(WebCore::AXObjectCache::handleActiveDescendantChanged):
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleAriaRoleChanged):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::nodeTextChangeNotification):
(WebCore::AXObjectCache::postNotification):
(WebCore::AXObjectCache::selectedChildrenChanged):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::parentObject):
* accessibility/AccessibilityObject.cpp:
(WebCore::appendAccessibilityObject):
(WebCore::replacedNodeNeedsCharacter):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::menuForMenuButton):
(WebCore::AccessibilityRenderObject::menuButtonForMenu):
(WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::isTabItemSelected):
(WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
(WebCore::AccessibilityRenderObject::nodeIsTextControl):
(WebCore::AccessibilityRenderObject::activeDescendant):
(WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
(WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::webAreaObject):
(WebCore::AccessibilityScrollView::parentObject):
(WebCore::AccessibilityScrollView::parentObjectIfExists):
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* bindings/cpp/WebDOMCustomVoidCallback.cpp:
(toWebCore):
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::attach):
* editing/AppendNodeCommand.cpp:
(WebCore::sendAXTextChangedIgnoringLineBreaks):
* editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedContents):
(WebCore::Editor::markAndReplaceFor):
* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
* editing/chromium/FrameSelectionChromium.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childrenChanged):
(WebCore::HTMLSelectElement::optionElementChildrenChanged):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
* html/InputType.cpp:
(WebCore::InputType::applyStep):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
* page/FocusController.cpp:
(WebCore::FocusController::setInitialFocus):

LayoutTests:

New tests:
- canvas-fallback-content tests that objects in a canvas subtree can be
  focused and then you can retrieve the role of the accessible object.
- accessibility-node-memory-management ensures that an AccessibilityNodeObject
  is detached when its node is destroyed.
- accessibility-node-reparent ensures that if an AccessibilityNodeObject is
  created for a node without a renderer, but the node later gets a renderer,
  the AccessibilityNodeObject is detached and an AccessibilityRenderObject is
  created instead.

* accessibility/accessibility-node-memory-management-expected.txt: Added.
* accessibility/accessibility-node-memory-management.html: Added.
* accessibility/accessibility-node-reparent-expected.txt: Added.
* accessibility/accessibility-node-reparent.html: Added.
* accessibility/canvas-fallback-content-expected.txt: Added.
* accessibility/canvas-fallback-content.html: Added.
* platform/gtk/TestExpectations:


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