[EFL][DRT] http/tests/loading/307-after-303-after-post.html times out
https://bugs.webkit.org/show_bug.cgi?id=93214

Source/WebCore:

Ensured that GET verb is consistently used for any request
coming after a redirection that triggers switching to GET.

Patch by Youenn Fablet <youennf@gmail.com> on 2013-02-19
Reviewed by Martin Robinson.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect):

LayoutTests:

Removed Failure from potential outcome of
http/tests/loading/307-after-303-after-post.html test.

Patch by Youenn Fablet <youennf@gmail.com> on 2013-02-19
Reviewed by Martin Robinson.

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] Cannot load documents with blob urls
        https://bugs.webkit.org/show_bug.cgi?id=110160

        Reviewed by Sam Weinig.

        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
        Added knowledge about blobs.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HeapBlock::destroy should issue warning if result is unused
https://bugs.webkit.org/show_bug.cgi?id=110233

Reviewed by Oliver Hunt.

To enforce the fact that we need to return blocks to the BlockAllocator after calling destroy,
we should add WARN_UNUSED_RETURN to HeapBlock::destroy and any other destroy functions in its subclasses.

* heap/HeapBlock.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Fix races in double-tap zoom minimum scale policy
https://bugs.webkit.org/show_bug.cgi?id=110183

Reviewed by Adam Barth.

Double-tap zoom on Android is supposed to return to minimum scale
if no pinch zoom occurred since the last double-tap. Because both
pinch zoom and the result of double-tap zoom gets passed in from CC
via applyScrollAndScale, this logic was brittle and prone to races
depending on when the animation update was received. This patch
keeps track of what the target double-tap scale is to make it more
robust.

I also fixed double-tap zoom test mocking to exercise the entire
page scale animation flow (our previous way of testing was hiding the
raciness), and added a new test case in DivAutoZoomMultipleParamsTest.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::startPageScaleAnimation):
(WebKit):
(WebKit::WebViewImpl::enableFakeDoubleTapAnimationForTesting):
(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
(WebKit::WebViewImpl::animateZoomAroundPoint):
(WebKit::WebViewImpl::didCommitLoad):
(WebKit::WebViewImpl::applyScrollAndScale):
* src/WebViewImpl.h:
(WebViewImpl):
(WebKit::WebViewImpl::fakeDoubleTapAnimationPendingForTesting):
(WebKit::WebViewImpl::fakeDoubleTapTargetPositionForTesting):
(WebKit::WebViewImpl::fakeDoubleTapPageScaleFactorForTesting):
(WebKit::WebViewImpl::fakeDoubleTapUseAnchorForTesting):
* tests/WebFrameTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Text Autosizing: prevent oscillation of font sizes during autosizing
https://bugs.webkit.org/show_bug.cgi?id=108205

Patch by Tim Volodine <timvolodine@chromium.org> on 2013-02-19
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

On some websites autosized font-sizes oscillate due to layouts caused by
hovering or incremental page loading (and on other sites font sizes do
eventually stabilize, but it takes many layouts before they reach a steady
size). To prevent all these cases, we no longer allow the autosizing
multiplier to change after it has been set (to a value other than 1).

This won't always give exactly the same results, but testing on 2000 top
sites shows that this makes little difference in practice, and it prevents
these very jarring cases. As a happy side-effect, this speeds up layouts
as font sizes change less.

Test: fast/text-autosizing/oscillation-javascript-fontsize-change.html

* page/FrameView.cpp:
(WebCore::FrameView::setFrameRect):
* page/Settings.cpp:
(WebCore::Settings::setTextAutosizingFontScaleFactor):
* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::recalculateMultipliers):
(WebCore):
(WebCore::TextAutosizer::processContainer):
* rendering/TextAutosizer.h:
(TextAutosizer):

LayoutTests:

Added overflow-y:hidden to some existing tests, since previously those tests
would start off with incorrect multipliers (because mainFrame->view()-layoutSize()
is initially 785 instead of 800 as ScrollView wrongly guesses a scrollbar will
be needed), and then the multipliers would get corrected on a subsequent layout.
Now that we don't allow the multiplier to change after being set, it needs to be
right first time.
Also added specific oscillation test triggered by javascript.

* fast/text-autosizing/constrained-height-body-expected.html:
* fast/text-autosizing/constrained-height-body.html:
* fast/text-autosizing/constrained-then-float-ancestors-expected.html:
* fast/text-autosizing/constrained-then-float-ancestors.html:
* fast/text-autosizing/constrained-then-position-fixed-ancestors-expected.html:
* fast/text-autosizing/constrained-then-position-fixed-ancestors.html:
* fast/text-autosizing/nested-em-line-height-expected.html:
* fast/text-autosizing/nested-em-line-height.html:
* fast/text-autosizing/oscillation-javascript-fontsize-change-expected.html: Added.
* fast/text-autosizing/oscillation-javascript-fontsize-change.html: Added.
* fast/text-autosizing/simple-paragraph-expected.html:
* fast/text-autosizing/simple-paragraph.html:
* fast/text-autosizing/span-child-expected.html:
* fast/text-autosizing/span-child.html:
* fast/text-autosizing/unwrappable-blocks-expected.html:
* fast/text-autosizing/unwrappable-blocks.html:
* fast/text-autosizing/unwrappable-inlines-expected.html:
* fast/text-autosizing/unwrappable-inlines.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutUnit::epsilon shouldn't be necessary to place floats
https://bugs.webkit.org/show_bug.cgi?id=94000

Reviewed by Levi Weintraub.

Currently, to get float placement correct, we need to have an
epsilon tolerance in RenderBlock::computeLogicalLocationForFloat
for the width of the line to fit them on. This really shouldn't
be necessary, and probably indicates we're losing precision
elsewhere.

Remove epsilon as it no longer appears to be needed. All layout
tests pass without it.

No new tests, covered by existing tests.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeLogicalLocationForFloat):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] Cannot load documents with blob urls
        https://bugs.webkit.org/show_bug.cgi?id=110160

        Reviewed by Sam Weinig.

        * http/tests/fileapi/blob-url-in-subframe-expected.txt: Added.
        * http/tests/fileapi/blob-url-in-subframe.html: Added.
        * http/tests/fileapi/resources: Added.
        * http/tests/fileapi/resources/blob-url-in-subframe-frame.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Romanian translation for WebKitGtk+ HEAD
https://bugs.webkit.org/show_bug.cgi?id=110009

Patch by Mișu Moldovan <dumol@gnome.org> on 2013-02-19
Reviewed by Gustavo Noronha.

* ro.po: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION: Sheriffbot is failing to process rollout requests
https://bugs.webkit.org/show_bug.cgi?id=106945

Patch by Alan Cutter <alancutter@chromium.org> on 2013-02-19
Reviewed by Adam Barth.

Modified Sheriffbot build script to track the svn repo from git and add bot user details to the git repo config file.
This resolves problems when Sheriffbot attempts to perform a rollout request.

* EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh:
* EWSTools/configure-git-svn.sh: Copied from Tools/EWSTools/create-webkit-git.
* EWSTools/configure-git-user.sh: Renamed from Tools/EWSTools/create-webkit-git.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unnecessary (and problematic) copy-constructor from LayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=110121

This copy constructor does what a default copy constructor would do, so
it's not necessary. Furthermore, this copy constructor is the only
reason why LayoutUnit becomes non-POD, and that triggers a gdb bug,
making it impossible to do things like "print location()" when inside
some RenderBlock, for instance.

Gdb bug http://sourceware.org/bugzilla/show_bug.cgi?id=15154 reported.

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-02-19
Reviewed by Benjamin Poulain.

No tests. Apart from dealing with buggy debuggers, this is just code cleanup.

* platform/LayoutUnit.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, changing primary email.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update FeatureObserver on top level navigation in addition to page destruction.
https://bugs.webkit.org/show_bug.cgi?id=109874

Patch by Kassy Coan <kassycoan@chromium.org> on 2013-02-19
Reviewed by Adam Barth.

No new tests. Only effect is to histogram more frequently.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidCommitLoad):
* page/FeatureObserver.cpp:
(WebCore::FeatureObserver::~FeatureObserver):
(WebCore):
(WebCore::FeatureObserver::updateMeasurements):
(WebCore::FeatureObserver::didCommitLoad):
* page/FeatureObserver.h:
(FeatureObserver):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaselining, again, calendar tests
https://bugs.webkit.org/show_bug.cgi?id=110240

Unreviewed expectations update.

* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-linux-x86/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Removed.
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Removed.
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Removed.
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Removed.
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r143348.
http://trac.webkit.org/changeset/143348
https://bugs.webkit.org/show_bug.cgi?id=110242

"Caused a deleted value sentinel crash on the layout tests"
(Requested by ggaren on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-19

* runtime/CodeCache.cpp:
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
* runtime/CodeCache.h:
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::isHashTableDeletedValue):
(JSC::SourceCodeKey::hash):
(JSC::SourceCodeKey::length):
(JSC::SourceCodeKey::isNull):
(JSC::SourceCodeKey::operator==):
(SourceCodeKey):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Mark fast/workers/storage/interrupt-database.html as flaky crasher
https://bugs.webkit.org/show_bug.cgi?id=110247

Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][AC] Implement matrix transform animation with clutter ac backend
https://bugs.webkit.org/show_bug.cgi?id=109848

Patch by ChangSeok Oh <changseok.oh@collabora.com> on 2013-02-19
Reviewed by Gustavo Noronha Silva.

Clutter 1.12 doesn't support additive transform animations yet, so the combination
of two or more transformations(such as rotation after translation) runs unexpectedly.
So we use a matrix transformation instead for the case.

Covered by existing animation tests.

* platform/graphics/clutter/GraphicsLayerClutter.cpp:
(WebCore::getValueFunctionNameForTransformOperation):
(WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
* platform/graphics/clutter/PlatformClutterAnimation.cpp:
(WebCore::toClutterActorPropertyString): Add actor property "transform"
(WebCore::clutterMatrixProgress): Handle interpolation between two matrices instead of default clutter_matrix_progress.
(WebCore):
(WebCore::PlatformClutterAnimation::supportsAdditiveValueFunction):
(WebCore::PlatformClutterAnimation::setFromValue): for TransformationMatrix.
(WebCore::PlatformClutterAnimation::setToValue): ditto.
(WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
(WebCore::PlatformClutterAnimation::addTransformTransition):
* platform/graphics/clutter/PlatformClutterAnimation.h:
(PlatformClutterAnimation):
* platform/graphics/clutter/TransformationMatrixClutter.cpp: Add copy constructor for CoglMatrix.
(WebCore::TransformationMatrix::TransformationMatrix):
(WebCore):
* platform/graphics/transforms/TransformationMatrix.h:
(TransformationMatrix):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebAudio API: Change the Platform::createAudioDevice function to take a DeviceId parameter
https://bugs.webkit.org/show_bug.cgi?id=110192

Reviewed by Adam Barth.

* chromium/public/Platform.h:
(WebKit::Platform::createAudioDevice):
(Platform):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143372 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WebGL] Fix oes-element-index-uint.html test.
https://bugs.webkit.org/show_bug.cgi?id=110045

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-02-19
Reviewed by Kenneth Russell.

This patch fixes the test case to use updated WebGLTestUtils functions
and adds shaders used during resized buffer tests. This patch
also enables the test for EFL port.

* fast/canvas/webgl/oes-element-index-uint-expected.txt:
* fast/canvas/webgl/oes-element-index-uint.html:
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Rebaselined run-bindings-tests.

* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.
Remove two now-passing tests.

* platform/chromium/TestExpectations:

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