Fix scrollRectToVisible in the presence of transforms
https://bugs.webkit.org/show_bug.cgi?id=105574

Patch by Chris Hopman <cjhopman@google.com> on 2013-01-18
Reviewed by Simon Fraser.

Source/WebCore:

When scrolling to reveal an overflow layer, the required scroll was
being calculated in absolute coordinates. To properly account for
transforms, this calculation should be done in the local coordinates
of the renderBox.

Tests: editing/input/reveal-selection-transformed-overflow-parent.html
       editing/input/reveal-selection-transformed-textarea.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
When scrolling to reveal an overflow layer, calculate the required
scroll in the local coordinates of the RenderBox.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteToLocalQuad):
(WebCore):
* rendering/RenderObject.h:
(RenderObject):
Add function to convert an absolute quad to a local quad.

LayoutTests:

* editing/input/reveal-caret-of-transformed-input-scrollable-parent.html: Added.
* editing/input/reveal-caret-of-transformed-input-scrollable-parent-expected.txt: Added.
Test that when scrolling an overflow layer to reveal a rect, the rect
passed to the parent to scroll is calculated properly.
* editing/input/reveal-caret-of-transformed-multiline-input.html: Added.
* editing/input/reveal-caret-of-transformed-multiline-input-expected.txt: Added.
Test that scrolling to reveal a rect works properly on a transformed
overflow layer.

* platform/chromium/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Harden ArithDiv of integers fix-up by inserting Int32ToDouble node directly
https://bugs.webkit.org/show_bug.cgi?id=107321

Reviewed by  Filip Pizlo.

Split out the Int32ToDouble node insertion from fixDoubleEdge() and used it directly when we're fixing up
an ArithDiv node with integer inputs and output for platforms that don't have integer division.
Since we are checking that our inputs should be ints, we can just insert the Int32ToDouble node
without any further checks.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixDoubleEdge):
(FixupPhase):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
VCSUtils.pm: Stop calling git repo-config.
https://bugs.webkit.org/show_bug.cgi?id=107294

Reviewed by Dirk Pranke.

The `repo-config' git command has been deprecated since early
2008, and recent versions have started warning it is deprecated.

Basically revert r27870 and use the `config' command all the time.

* Scripts/VCSUtils.pm:
(gitConfig):

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