Further unreviewed build fix. Add explicit static_casts to avoid implicit precision warnings.

* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Test rebaselines after SK_IGNORE_FAST_BLURRECT has been removed

Unreviewed test expectations update.

* fast/box-shadow/single-pixel-shadow-expected.png: Added.
* platform/chromium-linux-x86/fast/box-shadow: Removed.
* platform/chromium-linux-x86/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
* platform/chromium-linux-x86/fast/repaint/transform-replaced-shadows-expected.png: Added.
* platform/chromium-linux-x86/svg/filters/shadow-on-rect-with-filter-expected.png:
* platform/chromium-linux/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
* platform/chromium-linux/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/chromium-linux/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/chromium-linux/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/chromium-linux/fast/repaint/transform-replaced-shadows-expected.png: Added.
* platform/chromium-mac-lion/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac-lion/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-mac-lion/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/chromium-mac-lion/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/chromium-mac-lion/fast/repaint/box-shadow-h-expected.png:
* platform/chromium-mac-lion/fast/repaint/box-shadow-v-expected.png:
* platform/chromium-mac-lion/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
* platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
* platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
* platform/chromium-mac-lion/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-mac-lion/fast/repaint/transform-replaced-shadows-expected.png: Added.
* platform/chromium-mac-lion/fast/transforms/shadows-expected.png:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac-lion/svg/css/group-with-shadow-expected.png:
* platform/chromium-mac-lion/svg/filters/shadow-on-rect-with-filter-expected.png: Added.
* platform/chromium-mac-snowleopard/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac-snowleopard/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-mac-snowleopard/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/chromium-mac-snowleopard/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/repaint/box-shadow-h-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/box-shadow-v-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/transform-replaced-shadows-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac-snowleopard/svg/filters/shadow-on-rect-with-filter-expected.png:
* platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-mac/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/chromium-mac/fast/box-shadow/box-shadow-radius-expected.png:
* platform/chromium-mac/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/chromium-mac/fast/box-shadow/scaled-box-shadow-expected.png:
* platform/chromium-mac/fast/box-shadow/single-pixel-shadow-expected.png:
* platform/chromium-mac/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/chromium-mac/fast/canvas/canvas-shadow-expected.txt: Removed.
* platform/chromium-mac/fast/repaint/box-shadow-h-expected.png:
* platform/chromium-mac/fast/repaint/box-shadow-v-expected.png:
* platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
* platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
* platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
* platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-mac/fast/repaint/transform-replaced-shadows-expected.png: Added.
* platform/chromium-mac/fast/transforms/shadows-expected.png:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac/svg/css/group-with-shadow-expected.png:
* platform/chromium-mac/svg/filters/shadow-on-rect-with-filter-expected.png:
* platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win-xp/fast/box-shadow: Removed.
* platform/chromium-win-xp/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
* platform/chromium-win-xp/fast/repaint/box-shadow-h-expected.png: Added.
* platform/chromium-win-xp/fast/repaint/box-shadow-v-expected.png: Added.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-vertical-expected.png: Added.
* platform/chromium-win-xp/fast/repaint/transform-replaced-shadows-expected.png: Added.
* platform/chromium-win-xp/fast/transforms/shadows-expected.png: Added.
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows: Added.
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png: Added.
* platform/chromium-win-xp/svg/css/group-with-shadow-expected.png:
* platform/chromium-win-xp/svg/filters/shadow-on-rect-with-filter-expected.png:
* platform/chromium-win/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/chromium-win/fast/box-shadow/box-shadow-transformed-expected.png:
* platform/chromium-win/fast/box-shadow/single-pixel-shadow-expected.png:
* platform/chromium-win/fast/canvas/canvas-incremental-repaint-expected.png:
* platform/chromium-win/fast/canvas/canvas-shadow-expected.txt: Added.
* platform/chromium-win/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/chromium-win/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/chromium-win/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/chromium-win/fast/repaint/transform-replaced-shadows-expected.png:
* platform/chromium/TestExpectations:
* platform/chromium/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
* platform/chromium/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
* platform/chromium/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
* platform/efl-wk1/compositing/shadows: Added.
* platform/efl-wk1/compositing/shadows/shadow-drawing-expected.png: Added.
* platform/efl-wk1/fast/box-shadow: Added.
* platform/efl-wk1/fast/box-shadow/basic-shadows-expected.png: Added.
* platform/efl-wk1/fast/box-shadow/box-shadow-clipped-slices-expected.png: Added.
* platform/efl-wk1/fast/box-shadow/box-shadow-transformed-expected.png: Added.
* platform/efl-wk1/fast/box-shadow/scaled-box-shadow-expected.png: Added.
* platform/efl-wk1/fast/canvas: Added.
* platform/efl-wk1/fast/canvas/canvas-incremental-repaint-expected.png: Added.
* platform/efl-wk1/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
* platform/efl-wk1/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
* platform/efl-wk1/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
* platform/efl-wk1/fast/repaint/shadow-multiple-vertical-expected.png: Added.
* platform/efl-wk1/fast/transforms: Added.
* platform/efl-wk1/fast/transforms/shadows-expected.png: Added.
* platform/efl-wk1/svg/css: Added.
* platform/efl-wk1/svg/css/group-with-shadow-expected.png: Added.
* platform/efl/compositing/shadows/shadow-drawing-expected.png: Removed.
* platform/efl/fast/box-shadow/basic-shadows-expected.png: Removed.
* platform/efl/fast/box-shadow/box-shadow-clipped-slices-expected.png: Removed.
* platform/efl/fast/box-shadow/box-shadow-transformed-expected.png: Removed.
* platform/efl/fast/box-shadow/scaled-box-shadow-expected.png: Removed.
* platform/efl/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
* platform/efl/fast/canvas/canvas-incremental-repaint-expected.png: Removed.
* platform/efl/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
* platform/efl/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
* platform/efl/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
* platform/efl/fast/repaint/shadow-multiple-vertical-expected.png: Removed.
* platform/efl/fast/transforms/shadows-expected.png: Removed.
* platform/efl/svg/css/group-with-shadow-expected.png: Removed.
* platform/gtk/fast/box-shadow/single-pixel-shadow-expected.png: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] WebGL texImage2D fails with deferred image decoding
https://bugs.webkit.org/show_bug.cgi?id=102310

Reviewed by Kenneth Russell.

Source/WebCore:

Skia's implementation of GraphicsContext3D::getImageData() uses ImageSource
to decode an image. When deferred image decoding is enabled this class
generates an ImageFrame marked as incomplete, which WebGL rejects. This results
in failing of texImage2D.

This change uses ImageDecoder directly instead of ImageSource. This skips
the code path of deferred image decoding. This behavior is correct because
GraphicsContext3D wants to decode the image differently with alpha not
premultiplied and color profile applied optionally.

Added a test to prove this change fixed the bug.

Test: fast/images/webgl-teximage2d.html

* platform/graphics/skia/GraphicsContext3DSkia.cpp:
(WebCore::GraphicsContext3D::getImageData):

LayoutTests:

Added a test to exercise texImage2D with an Image object.

* fast/images/webgl-teximage2d-expected.txt: Added.
* fast/images/webgl-teximage2d.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Track subframe count to avoid traversing the tree when there's no subframes
https://bugs.webkit.org/show_bug.cgi?id=101821

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Bug 101619 showed a 9-14% improvement from not walking the children during
removeChild looking for frames when there's known to be no frames. The fix
in that bug only avoids this walk when the whole document has no frames, this
patch extends it to skip traversing subtrees that have no iframes by hooking
the frame assignment to walk up the tree and keep track of the count of frames
in the subtree on contentFrame assignment and then decrement it on disconnect.

No new tests, this is just a perf refactor.

* dom/ContainerNode.cpp:
(WebCore::willRemoveChildren):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildFrameDisconnector::collectFrameOwners):
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectFrameOwners):
  Renamed from collectDescendant() to better reflect what it really does.
(WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):
  Renamed from disconnect() to better reflect what it really does.
(WebCore::ChildFrameDisconnector::disconnect):
  New method that does the collection of frame owners on either the root
  or only it's descendants.
* dom/Node.cpp:
(WebCore::Node::connectedSubframeCount):
(WebCore::Node::incrementConnectedSubframeCount):
(WebCore::Node::decrementConnectedSubframeCount):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::connectedSubframeCount):
(WebCore::NodeRareData::incrementConnectedSubframeCount):
(WebCore::NodeRareData::decrementConnectedSubframeCount):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Build fix for Windows after r134767.

Update vsprops and vcproj files to reflect changes to file locations in r134767.

* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB test conversions batch 5
https://bugs.webkit.org/show_bug.cgi?id=102308

Reviewed by Tony Chang.

* storage/indexeddb/mozilla/cursor-update-updates-indexes-expected.txt:
* storage/indexeddb/mozilla/event-source-expected.txt:
* storage/indexeddb/mozilla/global-data-expected.txt:
* storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
* storage/indexeddb/mozilla/odd-result-order-expected.txt:
* storage/indexeddb/mozilla/remove-objectstore-expected.txt:
* storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js:
  Calls indexedDBTest a bunch of times, which seems awkward, but is
  really convenient.

* storage/indexeddb/mozilla/resources/event-source.js:
  Now that setVersion is gone, it appears that no request should have
  a database as a source so the dropped test is ok.

* storage/indexeddb/mozilla/resources/global-data.js:
(prepareDatabase):
(open2Success):
* storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:
(prepareDatabase):
* storage/indexeddb/mozilla/resources/odd-result-order.js:
  The tests had to be run in slightly different order but they are all
  preserved.

(prepareDatabase):
(openSuccess):
(deleteSuccess):
* storage/indexeddb/mozilla/resources/remove-objectstore.js:
(prepareDatabase):
(checkObjectStore):
(inSetVersion2.request.onsuccess):
(inSetVersion2):
(setVersion3):
(inSetVersion3):
(deleteThirdObjectStore):
* storage/indexeddb/objectstore-removeobjectstore-expected.txt:
* storage/indexeddb/resources/objectstore-removeobjectstore.js:
(getValue):
(checkResult):
(addIndex):
(deleteObjectStore):
(createObjectStoreAgain):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Consolidate four accelerated compositing WKView methods into a single method
https://bugs.webkit.org/show_bug.cgi?id=102419

Reviewed by Andreas Kling.

Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
the existing PageClientImpl member functions call it. Also, add a new
PageClient member function, setAcceleratedCompositingRootLayer.

* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
* UIProcess/API/mac/WKView.mm:
(-[WKView _processDidCrash]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Refactoring to move logic of creating lazy decoded SkBitmap into DeferredImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=102019

Reviewed by Stephen White.

Goal of this change is to keep ImageDecodingStore clean and only do
image caching. Logic of creating lazily decoded SkBitmaps is moved into
DeferredImageDecoder.

In particular these two methods are moved:
- ImageDecodingStore::createLazyDecodedSkBitmap
- ImageDecodingStore::resizeLazyDecodedSkBitmap

No new tests. There is no new code (really). It is just moved from
ImageDecodingStore to DeferredImageDecoder.

No change in behavior. Code is tested with:
Unit tests: webkit_unit_tests
Layout test: platform/chromium/virtual/deferred

* platform/graphics/chromium/DeferredImageDecoder.cpp:
(WebCore::DeferredImageDecoder::isLazyDecoded):
(WebCore):
(WebCore::DeferredImageDecoder::resizeLazyDecodedSkBitmap):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::setData):
(WebCore::DeferredImageDecoder::createLazyDecodedSkBitmap):
* platform/graphics/chromium/DeferredImageDecoder.h:
(WebCore):
(DeferredImageDecoder):
* platform/graphics/chromium/ImageDecodingStore.cpp:
* platform/graphics/chromium/ImageDecodingStore.h:
(ImageDecodingStore):
* platform/graphics/chromium/ImageFrameGenerator.cpp:
(WebCore::ImageFrameGenerator::ImageFrameGenerator):
* platform/graphics/chromium/ImageFrameGenerator.h:
(WebCore::ImageFrameGenerator::create):
(ImageFrameGenerator):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::resizedBitmap):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make old-run-webkit-tests handle setting the results directory properly.
https://bugs.webkit.org/show_bug.cgi?id=102273
<rdar://problem/11571607>

Reviewed by Timothy Horton.

A call to chdirWebkit in old-run-webkit-tests set the current working directory to the OpenSource folder.
Thus setting --results-directory to OpenSource/layout-test-results would create OpenSource/layout-test-results inside the main OpenSource folder.
This caused many other problems including failure to upload test results and failed future test runs.
The solution is to save the current working directory before calling chdirWebKit and then reconstructing the full path to the results directory 
using the saved directory when setting $testResultsDirectory.

* Scripts/old-run-webkit-tests:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: setVersion test conversion batch 6
https://bugs.webkit.org/show_bug.cgi?id=102318

Reviewed by Tony Chang.

Salvaged the useful parts of intversion-and-setversion as
intversion-upgrades.

* storage/indexeddb/intversion-and-setversion-expected.txt: Removed.
* storage/indexeddb/intversion-upgrades-expected.txt: Added.
* storage/indexeddb/intversion-upgrades.html: Renamed from LayoutTests/storage/indexeddb/intversion-and-setversion.html.
* storage/indexeddb/resources/intversion-and-setversion.js: Removed.
* storage/indexeddb/resources/intversion-upgrades.js: Added.
(test):
(deleteSuccess):
(initialUpgradeNeeded):
(openSuccess):
(connection1VersionChangeCallback):
(connection2BlockedCallback):
(connection2UpgradeNeeded):
(transactionCompleted):
(connection2Success):
(connection3Success):
(errorWhenTryingLowVersion):
(connection4UpgradeNeeded):
(connection4Success):
(connection5Success):
* storage/indexeddb/resources/shared.js:
(unexpectedVersionChangeCallback):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Generate Settings from a .in file
https://bugs.webkit.org/show_bug.cgi?id=100393

Reviewed by Adam Barth.

.:

Generate SettingsMacros.h for cmake.

* Source/cmake/WebKitMacros.cmake:

Source/WebCore:

Generate most settings from an .in file to reduce human mistakes and
to make it easier to add/remove new settings.

I only moved settings that are easy to move at this point.  There are many more that
have some minor naming inconsistencies that we can also move to Settings.in, but I'll
do that in a follow up patch.

This doesn't generate SettingInternals.* yet-- we can do that in a follow up patch.

No new tests, this is a refactor.

* CMakeLists.txt:
* DerivedSources.make: Run make_settings.pl.
* DerivedSources.pri: Run make_settings.pl.
* GNUmakefile.am: Run make_settings.pl.
* GNUmakefile.list.am:
* WebCore.exp.in: Remove functions that are now inline in the header.
* WebCore.gyp/WebCore.gyp: Run action_makenames.py, which will run make_settings.pl.
* WebCore.gyp/scripts/action_makenames.py:
(main): Allow make_settings.pl.
* WebCore.order: Remove functions that are now inline in the header.
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::setMessageDOMAndStartTimer): Fix a typo in "magnification".
* page/Settings.cpp:
(WebCore::Settings::Settings): Replace generated settings with SETTINGS_INITIALIZER_LIST.
* page/Settings.h:
(Settings): Replace generated settings with SETTINGS_GETTERS_AND_SETTERS and SETTINGS_MEMBER_VARIABLES.
* page/Settings.in: Added.
* page/make_settings.pl: Added.
(defaultItemFactory):
(generateCode):
(generateHeader): Use a similar model as make_names.pl.
(printConditionalMacros):
(printGettersAndSetters):
(printMemberVariables):
(printGetterAndSetter):
(printInitializerList):
(printInitializer):

Tools:

Add the generated WebCore files to the include dir.

* TestWebKitAPI/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MutationObserver wrapper should not be collected while still observing
https://bugs.webkit.org/show_bug.cgi?id=102328

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Source/WebCore:

Make MutationObserver an ActiveDOMObject so that the wrapper is not
collected while it is still observing the DOM. This is needed because
the wrapper is passed into the callback and expandos on the wrapper
should be preserved.

Test: fast/mutation/observer-wrapper-dropoff.html

* bindings/js/JSMutationObserverCustom.cpp:
(WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
* bindings/v8/custom/V8MutationObserverCustom.cpp:
(WebCore::V8MutationObserver::constructorCallback):
* dom/MutationObserver.cpp:
(WebCore::MutationObserver::create):
(WebCore::MutationObserver::MutationObserver):
(WebCore::MutationObserver::observationStarted):
(WebCore::MutationObserver::observationEnded):
* dom/MutationObserver.h:
(WebCore):
* dom/MutationObserver.idl:

LayoutTests:

Test that a MutationObserver wrapper is not collected while the observer
is still observing since the wrapper must be passed into the callback
later.

* fast/mutation/observer-wrapper-dropoff-expected.txt: Added.
* fast/mutation/observer-wrapper-dropoff.html: Added.

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

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Remove unused debug border setters from the WebLayer API
https://bugs.webkit.org/show_bug.cgi?id=102274

Reviewed by James Robinson.

* chromium/public/WebLayer.h:
(WebLayer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. WebGL not supported on Windows. Skipping fast/images/webgl-teximage2d.html.

* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. HiDPI is not enabled on Windows (as indicated by test result). Adding failing expected result.

* platform/win/fast/canvas/canvas-resize-reset-pixelRatio-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Create default directory so that cq can apply patch
https://bugs.webkit.org/show_bug.cgi?id=102421

Patch by Scott Violet <sky@chromium.org> on 2012-11-15
Reviewed by Tony Chang.

Done in hopes of patch that copies files to this directory working.

Source/Platform:

* chromium/public/default: Added.

Source/WebKit/chromium:

* public/platform/default: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Indexing tests are flaky-crashing
https://bugs.webkit.org/show_bug.cgi?id=102283

Reviewed by Tony Chang.

Source/WebCore:

Processing the final task can cause IDBTransactionBackendImpl references to be released
by all holders. Prior to looping over the tasks (or, in an even earlier implementation,
swapping queues) control would fall off the end of the function. The loop termination
check introduced in http://wkrev.com/134529 requires that |this| be kept alive until
the method completes.

Test: storage/indexeddb/transaction-crash-in-tasks.html

* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort): Rename self => protect.
(WebCore::IDBTransactionBackendImpl::commit): Rename self => protect.
(WebCore::IDBTransactionBackendImpl::taskTimerFired): New self-ref.

LayoutTests:

Reduced repro case, although the behavior is still flaky.

* storage/indexeddb/transaction-crash-in-tasks-expected.txt: Added.
* storage/indexeddb/transaction-crash-in-tasks.html: Added.


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

Rebaselining pixel tests after r102427

* platform/chromium-mac-lion/svg/custom/baseval-animval-equality-expected.png:
* platform/chromium-mac-lion/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
* platform/chromium-mac-lion/svg/dom/SVGLengthList-basics-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/baseval-animval-equality-expected.png:
* platform/chromium-mac-snowleopard/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
* platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-basics-expected.png:
* platform/chromium-mac/svg/dom/SVGLengthList-basics-expected.png:
* platform/chromium-win-xp/svg/custom/baseval-animval-equality-expected.png: Added.
* platform/chromium-win-xp/svg/dom/SVGLengthList-basics-expected.png: Added.
* platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-basics-expected.png.
* platform/gtk/svg/custom/baseval-animval-equality-expected.txt:
* platform/mac-lion/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
* platform/mac-wk2/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
* platform/qt/svg/custom/baseval-animval-equality-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update DOMException name: DOMStringSizeError
https://bugs.webkit.org/show_bug.cgi?id=102089

Reviewed by Ojan Vafai.

Patch 2 of 25 to update DOMException name to match the spec and Firefox.

DOMSTRING_SIZE_ERR is historical and not used in any spec or in our code.

* dom/DOMCoreException.cpp:
* dom/ExceptionCode.h:


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