Bug in atomicIncrement implementation for MIPS GCC
https://bugs.webkit.org/show_bug.cgi?id=110969

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-02-27
Reviewed by Csaba Osztrogonác.

Fix of __sync_[add|sub]_and_fetch_8 for GCC patch.

* wtf/Atomics.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Adapt test expectations to V8 __proto__ changes.
https://bugs.webkit.org/show_bug.cgi?id=110887

Patch by Michael Starzinger <mstarzinger@chromium.org> on 2013-02-27
Reviewed by Stephen Chenney.

ad window-custom-prototype) This is expected bahavior, consistent with
SpiderMonkey. The test expectation is broken. Assigning 'null' to
'__proto__' makes the accessor installed on Object.prototype disappear.

ad JSON-parse) The result of JSON.parse() doesn't match the result we
get when evaluating the same string through eval() as V8 still has
special handling of the __proto__ property for object literals.

ad cyclic-prototypes) Test fully matches the WebKit expectation now and
no longer fails. However the exception message has a slightly different
format and hence causes a text diff.

* platform/chromium/TestExpectations: Temporary mark tests failing.
* platform/chromium/fast/dom/Window/window-custom-prototype-expected.txt:
* platform/chromium/fast/js/JSON-parse-expected.txt:
* platform/chromium/fast/js/cyclic-prototypes-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Bindings test results update after r144126
https://bugs.webkit.org/show_bug.cgi?id=108196

Unreviewed test update.

* bindings/scripts/test/JS/JSTestObj.cpp: Add include of CallbackFunction.h


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium test expectations update.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Region overset property is not properly computed when there is a region break
https://bugs.webkit.org/show_bug.cgi?id=92497

Patch by Mihai Maerean <mmaerean@adobe.com> on 2013-02-27
Reviewed by David Hyatt.

Source/WebCore:

For "paginated" content in regions that has -webkit-region-break-after:always, the bottom margin was being passed
along for the next region in the chain, which shouldn't happen.

The fix is, at layout, to clear the bottom margin for the nodes (inside paginated contexts) that have
-webkit-region-break-after:always.

Tests: fast/multicol/break-after-always-bottom-margin.html
       fast/regions/overset-break-nested.html
       fast/regions/overset-break-with-sibling.html
       fast/regions/overset-break.html

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

LayoutTests:

* fast/multicol/break-after-always-bottom-margin-expected.txt: Added.
* fast/multicol/break-after-always-bottom-margin.html: Added.
* fast/regions/overset-break-expected.txt: Added.
* fast/regions/overset-break-nested-expected.txt: Added.
* fast/regions/overset-break-nested.html: Added.
* fast/regions/overset-break-with-sibling-expected.txt: Added.
* fast/regions/overset-break-with-sibling.html: Added.
* fast/regions/overset-break.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Should not return WebTextInputTypeNone for date input element.
https://bugs.webkit.org/show_bug.cgi?id=110740

Patch by Seigo Nonaka <nona@chromium.org> on 2013-02-27
Reviewed by Kent Tamura.

In the case of Windows 8, text input state including on-screen keyboard is controlled by the
value of WebTextInputType returned from WebViewImpl::textInputType().
In past, it returned WebTextInputTypeDate for date text input but now it returns
WebTextInputTypeNone.
WebTextInputTypeNone is used for non editable node, so on-screen keyboard will be hidden if
the date text input is focused.  So there is no way to input on Windows 8 tablet without
physical keyboard except tapping small up/down arrow.

* public/WebTextInputType.h: Introduces WebTextInputTypeDateTimeField.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::textInputInfo): Fills type filed regardless of editable or not. It is
safe because textInputType returns editable type only for known editable element.
(WebKit::WebViewImpl::textInputType): Returns WebTextInputTypeDateTimeField for the date
time field element.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium test expectations update.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] GIFImageDecoderTest.parseAndDecodeByteByByte failing on Android
https://bugs.webkit.org/show_bug.cgi?id=110922

Unreviewed build fix.

* tests/GIFImageDecoderTest.cpp:
(WebKit):
(WebKit::TEST): Disable the entire test on Android.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Refactor AuditsPanel with AuditController as newly introduced entity
https://bugs.webkit.org/show_bug.cgi?id=110866

Reviewed by Alexander Pavlov.

Source/WebCore:

AuditController is being introduced in order to follow MVC pattern with the Audits.
This is the first step about the refactoring. Moving the methods from the AuditsPanel
into AuditController would ease the event driven approach to de-couple the AuditsPanel
and the AuditLauncherView.

No new tests as code refactoring.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/AuditController.js: Added.
(WebInspector.AuditController):
(WebInspector.AuditController.prototype.ruleResultReadyCallback):
(WebInspector.AuditController.prototype.categoryDoneCallback):
(WebInspector.AuditController.prototype._executeAudit):
(WebInspector.AuditController.prototype._auditFinishedCallback):
(WebInspector.AuditController.prototype.startAuditWhenResourcesReady):
(WebInspector.AuditController.prototype.initiateAudit):
(WebInspector.AuditController.prototype._reloadResources):
(WebInspector.AuditController.prototype._didMainResourceLoad):
* inspector/front-end/AuditLauncherView.js:
(WebInspector.AuditLauncherView):
(WebInspector.AuditLauncherView.prototype._startAudit):
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
(WebInspector.AuditsPanel.prototype.auditFinishedCallback):
* inspector/front-end/WebKit.qrc:

LayoutTests:

* inspector/extensions/extensions-audits-tests.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[TexMap] Flickering after transitions on Apple HTML5 demo
https://bugs.webkit.org/show_bug.cgi?id=102501

Reviewed by Noam Rosenthal.

Notify about animation start after the new animation is actually commited.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::addAnimation):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
https://bugs.webkit.org/show_bug.cgi?id=110974

Reviewed by Kentaro Hara.

Source/WebCore:

Input elements with the multiple fields UI require flexible box
layout. We should use RenderFlexibleBox regardless of display
property values.

Tests: Update fast/forms/date/date-apparance-basic.html

* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::createRenderer):
Always use RenderFlexibleBox.
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType): Declare createRenderer.

LayoutTests:

* fast/forms/date/date-appearance-basic-expected.txt:
* fast/forms/date/date-appearance-basic.html:
* platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r144179.
http://trac.webkit.org/changeset/144179
https://bugs.webkit.org/show_bug.cgi?id=110980

Breaks compilation (Requested by vsevik on #webkit).

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

* public/WebTextInputType.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::textInputInfo):
(WebKit::WebViewImpl::textInputType):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [REGRESSION] [Audits] Disabled "Run" button styling is the same as the enabled one
https://bugs.webkit.org/show_bug.cgi?id=110971

Reviewed by Yury Semikhatsky.

Split out PanelEnablerView-related rules into panelEnabledView.css and restored the missing rules
in inspector.css.

* inspector/front-end/inspector.css:
* inspector/front-end/panelEnablerView.css:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add plugins test expectations for content_shell

Unreviewed gardening.

* platform/chromium/ContentShellTestExpectations:

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

Rebaselining after r144096.

* platform/gtk/TestExpectations:
* platform/gtk/css2.1/20110323/replaced-elements-001-expected.txt:
* platform/gtk/css2.1/replaced-elements-001-expected.png: Added.
* platform/gtk/css3/flexbox/button-expected.png: Added.
* platform/gtk/css3/flexbox/button-expected.txt: Added.
* platform/gtk/svg/custom/foreign-object-skew-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug92647-2-expected.txt:


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

* platform/gtk/TestExpectations: Template element support is already enabled in
development builds. Removing skip entries for related tests as they all pass.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Texmap] TextureMapper is too eager to use intermediate surfaces
https://bugs.webkit.org/show_bug.cgi?id=110762

Patch by No'am Rosenthal <noam@webkit.org> on 2013-02-27
Reviewed by Allan Sandfeld Jensen.

Source/WebCore:

Refactor the way intermediate surfaces are handled in TextureMapperLayer.
Beforehand, we would create an intermediate surface whenever there is a chance of overlap, and
the intermediate surface would be the largest possible. The result would then be drawn to the
target surface with the layer's opacity and mask.

This would make it so that (1) surfaces are created even when they're not needed, i.e. when there
is no actual overlap, and (2) mask wouldn't be applied correctly.

In this patch the behavior is changed so that the area to be painted is divided to "overlapping"
and "non overlapping" regions. The non-overlapping regions are painted directly, while the overlapping
regions are tiled to smaller rectangles painted using an intermediate surface.
Masks are applied to those intermediate surfaces based on the transform of the actual mask, not drawn
together with the content texture like before.

This optimizes for the more common case of opacity animations on a large tree, while making the quite
rare case of composited masks slightly less optimized but always correct.

Tests: compositing/overlap-blending/children-opacity-huge.html
       compositing/overlap-blending/reflection-opacity-huge.html
       compositing/overlap-blending/children-opacity-no-overlap.html

* platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/cairo/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):
* platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/efl/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
* platform/graphics/qt/MediaPlayerPrivateQt.h:
(MediaPlayerPrivateQt):
* platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::paintToTextureMapper):
* platform/graphics/surfaces/GraphicsSurface.h:
(GraphicsSurface):
* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
* platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
* platform/graphics/texmap/TextureMapperBackingStore.h:
(TextureMapperBackingStore):
* platform/graphics/texmap/TextureMapperPlatformLayer.h:
(TextureMapperPlatformLayer):
* platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
(WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
* platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
(TextureMapperSurfaceBackingStore):
* platform/graphics/texmap/TextureMapperTile.cpp:
(WebCore::TextureMapperTile::paint):
* platform/graphics/texmap/TextureMapperTile.h:
(TextureMapperTile):
* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
* platform/graphics/texmap/TextureMapperTiledBackingStore.h:
(TextureMapperTiledBackingStore):
* platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
(WebCore::CoordinatedBackingStore::paintTilesToTextureMapper):
(WebCore::CoordinatedBackingStore::paintToTextureMapper):
* platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
        Removed the "mask" parameter from TextureMapperPlatformLayer and overrides, since
        we no longer paint the contents and the mask in the same pass.

* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::TextureMapper):
* platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::setMaskMode):
(TextureMapper):
(WebCore::TextureMapper::isInMaskMode):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawNumber):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::draw):
(WebCore):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::drawFiltered):
* platform/graphics/texmap/TextureMapperGL.h:
(TextureMapperGL):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::TextureMapperImageBuffer::drawTexture):
(WebCore::TextureMapperImageBuffer::drawSolidColor):
* platform/graphics/texmap/TextureMapperImageBuffer.h:
(TextureMapperImageBuffer):
        Instead of painting the mask together with the texture/color, paint the mask
        by drawing with DestinationIn to an existing surface.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(TextureMapperPaintOptions):
(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::shouldBlend):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::replicaTransform):
(WebCore):
(WebCore::applyFilters):
(WebCore::resolveOverlaps):
(WebCore::TextureMapperLayer::computeOverlapRegions):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
(WebCore::TextureMapperLayer::applyMask):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::commitSurface):
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
(WebCore::TextureMapperLayer::paintRecursive):
* platform/graphics/texmap/TextureMapperLayer.h:
(WebCore):
(TextureMapperLayer):
(WebCore::TextureMapperLayer::hasFilters):
* platform/graphics/texmap/TextureMapperShaderProgram.cpp:
(WebCore):
(WebCore::TextureMapperShaderProgram::create):
* platform/graphics/texmap/TextureMapperShaderProgram.h:

LayoutTests:

Added a few ref-tests for correct overlap blending in accelearated compositing mode.
Skipping the new reflection test on Mac/Chromium since it's not rendered
properly on those platforms.

* compositing/overlap-blending/children-opacity-huge-expected.html: Added.
* compositing/overlap-blending/children-opacity-huge.html: Added.
* compositing/overlap-blending/children-opacity-no-overlap-expected.html: Added.
* compositing/overlap-blending/children-opacity-no-overlap.html: Added.
* compositing/overlap-blending/reflection-opacity-huge-expected.html: Added.
* compositing/overlap-blending/reflection-opacity-huge.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Flash objects won't load until scrolling page
https://bugs.webkit.org/show_bug.cgi?id=110149

Reviewed by Simon Hausmann.

Revert r134222. The issue from bug 101836 is no longer reproducable,
and the fix was causing flash objects to not load properly.

* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Added myself to committers.py

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Accept key events even when composing region is active.
https://bugs.webkit.org/show_bug.cgi?id=110617

Reviewed by Rob Buis.

PR 293598.

Fix a regression in the previous patch caused
by an unhandled Alt key down being sent through
by IMF.

Reviewed Internally by Nima Ghanavatian.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::updateFormState):
* WebKitSupport/InputHandler.h:
(InputHandler):


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