IndexedDB: convert tests from setVersion to upgradeneeded
https://bugs.webkit.org/show_bug.cgi?id=101676

Reviewed by Tony Chang.

A la bug 92037, add a function to shared.js that sets up the database
for tests where opening and versioning isn't the focus.

* storage/indexeddb/create-object-store-options-expected.txt:
* storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
* storage/indexeddb/createObjectStore-null-name-expected.txt:
  ...many tests and expected files...

* storage/indexeddb/resources/shared.js:
  The new utility function indexedDBTest lives here.

* storage/indexeddb/values-odd-types-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
hitTestResultAtPoint does two hit-tests if called on non main frame
https://bugs.webkit.org/show_bug.cgi?id=101915

Reviewed by Antonio Gomes.

Always redirect hitTestResultAtPoint to the main-frame. This used to being
done on every result that hit anything, which caused running the expensive
hit-tests multiple times in almost all cases.

* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r134225.
http://trac.webkit.org/changeset/134225
https://bugs.webkit.org/show_bug.cgi?id=101948

Appears to have broken the EFL and GTK builds (Requested by
abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-12

* bindings/js/JSHTMLElementCustom.cpp:
(WebCore):
(WebCore::JSHTMLElement::itemValue):
(WebCore::JSHTMLElement::setItemValue):
* bindings/v8/custom/V8HTMLElementCustom.cpp:
(WebCore):
(WebCore::V8HTMLElement::itemValueAccessorGetter):
(WebCore::V8HTMLElement::itemValueAccessorSetter):
* html/HTMLElement.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
GraphicsSurfaceGLX does not handle transparency correctly.
https://bugs.webkit.org/show_bug.cgi?id=101943

GraphicsSurfacGLX must consistently use RGBA texture format.
glXCreateWindow must be called after creating the XWindow
that serves as a temporary offscreen texture storage, in order
to allow for transparency.
When creating the offscreen XWindow we must make sure,
that we use a framebuffer configuration that supports
an alpha mask.

Reviewed by Noam Rosenthal.

* platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
(WebCore):
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::createSurface):
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurface::platformPaintToTextureMapper):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Crash in InRegionScrollerPrivate.
https://bugs.webkit.org/show_bug.cgi?id=101399

Reviewed by Yong Li.

Fix warning caused by the previous patch for this bug (r133679).

* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layer property changes should schedule a remote layer flush
https://bugs.webkit.org/show_bug.cgi?id=101951

Reviewed by Andreas Kling.

* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
New class. For now this just contains the changed layer properties flags but this will be extended
to cover changed layers as well.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
Initialize m_uncommittedLayerChanges.

(WebKit::RemoteGraphicsLayer::setName):
Set the name and call noteLayerPropertiesChanged.

(WebKit::RemoteGraphicsLayer::noteLayerPropertiesChanged):
Notify that a flush is required (if required).

* WebProcess/WebPage/mac/RemoteLayerTreeController.h:
Add a layer flush timer.

* WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
(WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
Initialize the layer flush timer.

(WebKit::RemoteLayerTreeController::scheduleLayerFlush):
Schedule the layer flush timer if needed.

(WebKit::RemoteLayerTreeController::layerFlushTimerFired):
Empty stub for now.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
Call the remote layer tree controller.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium-Android] Restart the device's shell in root before pushing data
https://bugs.webkit.org/show_bug.cgi?id=101944

Reviewed by Adam Barth.

Setting up md5sum and pushing the executable, fonts and test resources was
unintentionally being done prior to executing the "adb root" command,
which restarts the device's shell to be root. Since test data is still
being pushed to /data/local/tmp, writing to which requires root access,
devices not running as root would throw a ScriptError.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver._setup_test):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move resolving blob references to FormData.
https://bugs.webkit.org/show_bug.cgi?id=101754

Reviewed by Simon Hausmann.

Resolving Blob-references to a set of just File and Data is done similar by several platforms.
This patch adds a generic implementation in FormData and uses that from CFNetwork, Qt and
BlackBerry network implementation.

* platform/network/FormData.cpp:
(WebCore::appendBlobResolved):
(WebCore::FormData::resolveBlobReferences):
* platform/network/FormData.h:
* platform/network/blackberry/ResourceRequestBlackBerry.cpp:
(WebCore::ResourceRequest::initializePlatformRequest):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::setHTTPBody):
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::FormDataIODevice::prepareFormElements):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Specified width CSS tables should not include border and padding as part of that width.
https://bugs.webkit.org/show_bug.cgi?id=77028

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-11-12
Reviewed by Julien Chaffraix.

CSS table width should not include border and padding even though HTML
tables size as though their width includes border/padding.

This is applicable for all CSS tables with specified widths.

The change would also make our rendering of CSS tables with specified
width similar to that of Opera, IE and FF.

Test: fast/table/css-table-width-with-border-padding.html

* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
Added check for all (positive) specified widths for CSS tables to
consider border and padding outside of the specified width.

LayoutTests: Specified width CSS tables should not include border and padding as part of that width.
https://bugs.webkit.org/show_bug.cgi?id=77028

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-11-12
Reviewed by Julien Chaffraix.

* fast/table/css-table-width-with-border-padding-expected.html: Added.
* fast/table/css-table-width-with-border-padding.html: Added.
Test added for verifying that for specified width css tables, border
and padding are not considered as part of the specified table width.

The test also verifies the width values for the different box-sizing
properties viz, content-box, border-box and padding-box.

Out of these padding-box is currently not supported even though
the test verifies against this property as well.
The expected width values added for padding-box are thus incorrect
and should be lesser by 100px (padding value).

* fast/table/min-width-css-block-table-expected.txt:
* fast/table/min-width-css-inline-table-expected.txt:
* fast/table/script-tests/min-width-helpers.js:
Existing test values changed for CSS tables that have percent width
specified since for both these tests, border and padding has been
specified for all the tables.

As a result of this fix, the specified table width shall no longer
include the border and padding values thereby increasing our table
width size by exactly 30px (the value of border and padding in these
tests).
The new values for percent width css tables now match those for FF
and Opera.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r126157.
http://trac.webkit.org/changeset/126157
https://bugs.webkit.org/show_bug.cgi?id=101954

This patch caused (untestable) regression of the volume
property on Mac, Win, and Blackberry ports. (Requested by
jernoble on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-12

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::setVolume):
(WebCore::MediaPlayer::setMuted):
(WebCore::MediaPlayer::setPreservesPitch):
(WebCore::MediaPlayer::setSize):
(WebCore::MediaPlayer::setVisible):
(WebCore::MediaPlayer::setPreload):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
remove the chromium-mac-mountainlion TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=101789

Reviewed by Ojan Vafai.

Nearly all of the tests have been updated for 10.8 and the remaining
failures have been merged into the main TestExpectations file. We
don't need this hook any more.

Tools:

* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.operating_system):
* Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
(ChromiumMacPortTest.test_path_to_image_diff):

LayoutTests:

* platform/chromium-mac-mountainlion/TestExpectations: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
More work on remote layer flushing
https://bugs.webkit.org/show_bug.cgi?id=101960

Reviewed by Andreas Kling.

* WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
(WebKit::RemoteGraphicsLayer::flushCompositingState):
Call recursiveCommitChanges.

(WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
Add stub function for now.

(WebKit::RemoteGraphicsLayer::recursiveCommitChanges):
Call flushCompositingStateForThisLayerOnly and then call recursiveCommitChanges recursively on all the child layers.

* WebProcess/WebPage/mac/RemoteLayerTreeController.h:
* WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
(WebKit::RemoteLayerTreeController::create):
(WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
This now takes a web page.

(WebKit::RemoteLayerTreeController::setRootLayer):
Add empty function.

(WebKit::RemoteLayerTreeController::layerFlushTimerFired):
Call flushLayers explicitly.

(WebKit::RemoteLayerTreeController::flushLayers):
Force a layout and then sync all the compositing layers.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
RemoteLayerTreeController::create now takes a web page.

(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
Call the remote layer tree controller.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, update chromium-mac-mountainlion baselines.

* platform/chromium-mac/fast/repaint/delete-into-nested-block-expected.png:
* platform/chromium-mac/fast/repaint/inline-outline-repaint-expected.png:
* platform/chromium-mac/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.png:
* platform/chromium-mac/fast/repaint/selection-after-delete-expected.png:
* platform/chromium-mac/svg/custom/foreignObject-crash-on-hover-expected.png:
* platform/chromium-mac/svg/custom/hit-test-unclosed-subpaths-expected.png:
* platform/chromium-mac/svg/custom/hit-test-with-br-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Update to new proxyInfo API
https://bugs.webkit.org/show_bug.cgi?id=101945

Patch by Joe Mason <jmason@rim.com> on 2012-11-12
Reviewed by George Staikos.

Internal PR: 234680
Reviewed internally by: Leo Yang

The proxyAddress, proxyUsername and proxyPassword methods in BlackBerry::Platform::Settings
have been replaced with a single, more efficient proxyInfo method.

No new tests because this is an API update with no behaviour change.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::sendRequestWithCredentials):
(WebCore::NetworkJob::storeCredentials):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix Chromium DEPS version after accidentally checking in HEAD a couple days ago.

Unreviewed, build fix.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix memory leak in createSurfaceForBackingStore()
https://bugs.webkit.org/show_bug.cgi?id=101941

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-11-12
Reviewed by Kenneth Rohde Christiansen.

Fix memory leak in createSurfaceForBackingStore(),
the RefPtr<cairo_surface_t> should be released
when returned since we pass ownership to the
caller.

No new tests, no behavior change for layout tests.

* platform/graphics/efl/CairoUtilitiesEfl.cpp:
(WebCore::createSurfaceForBackingStore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134283 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test compositing/repaint/invalidations-on-composited-layers.html is failing/flaky
https://bugs.webkit.org/show_bug.cgi?id=101219

Reviewed by James Robinson.

Force a style recalc before starting repaint tracking.

* compositing/repaint/invalidations-on-composited-layers-expected.txt:
* compositing/repaint/invalidations-on-composited-layers.html:
* platform/chromium/TestExpectations:
* platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134287 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewd, update chromium-mac-mountainlion expectations for a few tests.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Delete WebCompositor.h
https://bugs.webkit.org/show_bug.cgi?id=101137

Reviewed by James Robinson.

The implementation of this class is getting deleted and all
WebKit-side users are already going via WebCompositorSupport instead.

Source/Platform:

* Platform.gypi:
* chromium/public/WebCompositor.h: Removed.

Source/WebKit/chromium:

* tests/WebCompositorInputHandlerImplTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Update expectations for calendar-picker tests..
https://bugs.webkit.org/show_bug.cgi?id=101561

* platform/chromium/TestExpectations: Updated expectations.

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