ap@apple.com [Tue, 13 Mar 2012 22:51:44 +0000 (22:51 +0000)]
Adding missing results.
* platform/mac/media/audio-repaint-expected.txt: Added.
* platform/mac/media/controls-strict-expected.txt: Added.
* platform/mac/media/video-controls-rendering-expected.txt: Added.
* platform/mac/media/video-no-audio-expected.txt: Added.
* platform/mac/media/video-display-toggle-expected.txt: Added.
These already had PNG results, but no text results for platform/mac.
* platform/mac/media/controls-layout-direction-expected.png: Added.
* platform/mac/media/video-playing-and-pause-expected.png: Added.
These had text results, but no pixel ones.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110628
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nduca@chromium.org [Tue, 13 Mar 2012 22:50:18 +0000 (22:50 +0000)]
[chromium] vsync ticks are needed in invisible tabs when we are still updating resources
https://bugs.webkit.org/show_bug.cgi?id=80910
Reviewed by James Robinson.
Source/WebCore:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
Source/WebKit/chromium:
* tests/CCSchedulerStateMachineTest.cpp:
(WebCore::TEST):
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110627
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 22:40:16 +0000 (22:40 +0000)]
Alternate stylesheets (without title attribute) are loaded on refresh
https://bugs.webkit.org/show_bug.cgi?id=24354
Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-03-13
Reviewed by David Hyatt.
Source/WebCore:
Alternate stylesheets are now ignored in <link> tags if
they have no title attribute (per spec).
Tests: fast/css/link-alternate-stylesheet-1.html
fast/css/link-alternate-stylesheet-2.html
fast/css/link-alternate-stylesheet-3.html
fast/css/link-alternate-stylesheet-4.html
fast/css/link-alternate-stylesheet-5.html
* dom/Document.cpp:
(WebCore::Document::collectActiveStylesheets):
LayoutTests:
Addapted alternate stylesheet tests from http://robballou.com/switcher/sandbox/alternate1.php
* fast/css/link-alternate-stylesheet-1-expected.txt: Added.
* fast/css/link-alternate-stylesheet-1.html: Added.
* fast/css/link-alternate-stylesheet-2-expected.txt: Added.
* fast/css/link-alternate-stylesheet-2.html: Added.
* fast/css/link-alternate-stylesheet-3-expected.txt: Added.
* fast/css/link-alternate-stylesheet-3.html: Added.
* fast/css/link-alternate-stylesheet-4-expected.txt: Added.
* fast/css/link-alternate-stylesheet-4.html: Added.
* fast/css/link-alternate-stylesheet-5-expected.txt: Added.
* fast/css/link-alternate-stylesheet-5.html: Added.
* fast/css/resources/basic.css: Added.
(body):
(code):
(#source):
* fast/css/resources/high.css: Added.
(body):
(h1):
* fast/css/resources/normal.css: Added.
(body):
(h1):
* fast/css/resources/small.css: Added.
(body):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110626
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jberlin@webkit.org [Tue, 13 Mar 2012 22:36:05 +0000 (22:36 +0000)]
WKTR needs an implementation of setAsynchronousSpellCheckingEnabled.
https://bugs.webkit.org/show_bug.cgi?id=81042
Skip some tests on Mac WK2 that use setAsynchronousSpellCheckingEnabled.
* platform/mac-wk2/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110625
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 22:35:16 +0000 (22:35 +0000)]
Region::contains(IntPoint) is slow
https://bugs.webkit.org/show_bug.cgi?id=81008
Patch by Dana Jansens <danakj@chromium.org> on 2012-03-13
Reviewed by Anders Carlsson.
Source/WebCore:
Speed up Region::contains(IntPoint) by directly testing if the point
is inside the Region's shape, rather than using a temporary 1x1 Region
for the test.
Unit test: RegionTest.containsPoint
* platform/graphics/Region.cpp:
(WebCore::Region::contains):
Source/WebKit/chromium:
* WebKit.gypi:
* tests/RegionTest.cpp: Added.
(WebCore):
(WebCore::TEST):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110624
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 13 Mar 2012 22:32:49 +0000 (22:32 +0000)]
Copy the platform-independent result for this test to chromium-mac to
hide the failing result added to apple-mac in
http://trac.webkit.org/changeset/110614.
* platform/chromium/fast/forms/label: Added.
* platform/chromium/fast/forms/label/labelable-elements-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110623
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 13 Mar 2012 22:21:52 +0000 (22:21 +0000)]
For some reason chromium-win and chromium-linux have a different number
of spaces in the expected results file.
* platform/chromium-win/media/sources-fallback-codecs-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110622
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 13 Mar 2012 22:13:30 +0000 (22:13 +0000)]
Merge expectations for
svg/as-background-image/svg-as-background-6.html. Previously, Snow
Leopard had different expectations than every other platform, but the
behavior seems to match the expectations for other platforms.
Really what's going on is that this is a bad test for the reasons
explained in the test_expectations.txt file. I'm not entirely sure how
to fix the test to have repeatable results.
This patch also notes some more compositing reflection tests as flaky,
similar to the failures in
https://bugs.webkit.org/show_bug.cgi?id=79823. These tests have been
flaky for a while, but they seem to be failing more frequently now. I
couldn't find any recent changes to explain why that might be.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110621
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Tue, 13 Mar 2012 22:06:24 +0000 (22:06 +0000)]
[chromium] Mark root layer scrollbars as always opaque to disable blending
https://bugs.webkit.org/show_bug.cgi?id=79951
Reviewed by James Robinson.
Source/WebCore:
Now that scrollbar layers exist, mark non-overlay root scrollbars as
opaque. This disables blending for correctness and performance.
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::scrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTileQuad):
LayoutTests:
Mark canvas-text-alignment.html as failing on Linux in general, not
just in debug. I believe that with this change, the same image will
pass on both release and debug, but will land that change separately.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110620
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 21:59:21 +0000 (21:59 +0000)]
[EFL][DRT] Expose window.internals object
https://bugs.webkit.org/show_bug.cgi?id=79900
Exposes window.internals for EFL's DRT. Makes possible to
remove some tests from the skip list.
Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-03-13
Reviewed by Antonio Gomes.
Tools:
* DumpRenderTree/efl/CMakeLists.txt:
* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::onWindowObjectCleared):
LayoutTests:
* platform/efl/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110619
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gavinp@chromium.org [Tue, 13 Mar 2012 21:59:06 +0000 (21:59 +0000)]
Remove vestigal abortEvent from image attribute.
https://bugs.webkit.org/show_bug.cgi?id=80795
Reviewed by Adam Barth.
It seems we installed a listener for the abort event on images,
but never ever raised them. So this patch removes it. This could
cause different behaviour if the user sends abort events directly
at an image element, although addEventListener will still work.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110618
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos@webkit.org [Tue, 13 Mar 2012 21:52:27 +0000 (21:52 +0000)]
The callback is only used if SA_RESTART is defined. Compile it out
otherwise to avoid a warning.
https://bugs.webkit.org/show_bug.cgi?id=80926
Reviewed by Alexey Proskuryakov.
* heap/MachineStackMarker.cpp:
(JSC):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110617
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 13 Mar 2012 21:51:59 +0000 (21:51 +0000)]
Add a mac-specific baseline for this new test introduced in
http://trac.webkit.org/changeset/110593. This test is interested in
whether it crashes, not in a 1px difference in text metrics.
* platform/chromium-mac-snowleopard/svg/custom/delete-text-crash-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110616
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 13 Mar 2012 21:48:14 +0000 (21:48 +0000)]
Remove bogus expectation.
* platform/chromium-mac/fast/dom/nodesFromRect-basic-expected.txt: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110615
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jberlin@webkit.org [Tue, 13 Mar 2012 21:43:01 +0000 (21:43 +0000)]
r110542: New fast/forms/label/labelable-elements.html fails.
https://bugs.webkit.org/show_bug.cgi?id=80985
Add failing expected results for Mac to get the bots green.
* platform/mac/fast/forms/label/labelable-elements-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110614
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 13 Mar 2012 21:42:22 +0000 (21:42 +0000)]
Add image baselines after trac.webkit.org/changeset/110598.
These tests show the platform-specific file chooser UI.
* platform/chromium-linux-x86/fast/forms/file: Removed.
* platform/chromium-linux/fast/forms/file/file-input-pressed-state-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/file/file-input-pressed-state-expected.png: Added.
* platform/chromium-win-vista/fast/forms/file/file-input-pressed-state-expected.png: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110613
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 13 Mar 2012 21:37:15 +0000 (21:37 +0000)]
css3/filters/custom/custom-filter-property-computed-style.html passes in browser, fails in DRT
https://bugs.webkit.org/show_bug.cgi?id=81029
<rdar://problem/
11040673>
Add unreviewed expected failing result for mac.
* platform/mac/css3/filters/custom/custom-filter-property-computed-style-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110612
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 13 Mar 2012 21:36:22 +0000 (21:36 +0000)]
Chromium-Lion rebaselines.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110611
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Tue, 13 Mar 2012 21:30:18 +0000 (21:30 +0000)]
Attempt to fix QtMinimal bot after r110595
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-03-13
* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110610
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Tue, 13 Mar 2012 21:22:04 +0000 (21:22 +0000)]
Another attempt at fixing QtMinimal bot after r110595
Blind fix, unreviewed.
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-03-13
* WebCoreSupport/GeolocationClientQt.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110609
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
japhet@chromium.org [Tue, 13 Mar 2012 21:18:25 +0000 (21:18 +0000)]
Source/WebCore: Rework how a CachedRawResource decides if it can be reused
for a given ResourceRequest. Ensure method, body, cookie policy,
and all headers match.
http://bugs.webkit.org/show_bug.cgi?id=79325
Reviewed by Oliver Hunt.
Test: http/tests/cache/xhr-body.html
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::canReuse):
* loader/cache/CachedRawResource.h: Take a ResourceRequest in canReuse().
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Remove Range header
check, since it is now redundant.
LayoutTests: Test for http://bugs.webkit.org/show_bug.cgi?id=79325.
Reviewed by Oliver Hunt.
* http/tests/cache/resources/body.php: Added.
* http/tests/cache/xhr-body-expected.txt: Added.
* http/tests/cache/xhr-body.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110608
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 13 Mar 2012 21:15:00 +0000 (21:15 +0000)]
Updating some Mac results in media directory.
* platform/chromium-mac/media/sources-fallback-codecs-expected.txt: Removed.
* media/sources-fallback-codecs-expected.txt:
Chromium result just matched what actually happened on Mac, so merging it into cross-platform.
* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/media-controls-clone-expected.txt:
* platform/mac/media/video-playing-and-pause-expected.txt:
Updated for render tree changes. I'm getting the same results locally as buildbot does.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110607
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 13 Mar 2012 21:12:30 +0000 (21:12 +0000)]
Unreviewed rebaseline of fast/css/getComputedStyle/computed-style(without-renderer).html for mac, adding -webkit-grid-*
* platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Added.
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110606
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 21:10:47 +0000 (21:10 +0000)]
Dump the generated code for ARM_TRADITIONAL
https://bugs.webkit.org/show_bug.cgi?id=80975
Patch by Hojong Han <hojong.han@samsung.com> on 2012-03-13
Reviewed by Gavin Barraclough.
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::dumpCode):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110605
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Tue, 13 Mar 2012 21:06:44 +0000 (21:06 +0000)]
Attempt to fix QtMinimal bot after r110595
Blind fix, unreviewed.
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-03-13
* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::resetGeolocationMock):
(DumpRenderTreeSupportQt::setMockGeolocationPermission):
(DumpRenderTreeSupportQt::setMockGeolocationPosition):
(DumpRenderTreeSupportQt::setMockGeolocationError):
(DumpRenderTreeSupportQt::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationPermissionClientQt.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110604
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 13 Mar 2012 21:03:09 +0000 (21:03 +0000)]
Unreviewed, GTK rebaseline after r110587.
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/gtk/fast/dom/call-a-constructor-as-a-function-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110603
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis@webkit.org [Tue, 13 Mar 2012 21:02:30 +0000 (21:02 +0000)]
Fix cast-align GCC warning
https://bugs.webkit.org/show_bug.cgi?id=80790
Reviewed by Dan Bates.
This touches unpackOneRowOfBGRA8ToRGBA8.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110602
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 13 Mar 2012 20:59:59 +0000 (20:59 +0000)]
Refactor some code that is used to check whether a layer needs backing store
https://bugs.webkit.org/show_bug.cgi?id=80917
Reviewed by Dean Jackson.
Move some code out of isSimpleContainerCompositingLayer() in two new
methods to make the code more self-descriptive.
No behavior change, so no tests.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintsBoxDecorations):
(WebCore::RenderLayerBacking::paintsChildren):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110601
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gavinp@chromium.org [Tue, 13 Mar 2012 20:47:58 +0000 (20:47 +0000)]
Implement ApplicationCacheHost::canCacheInPageCache() for chromium.
https://bugs.webkit.org/show_bug.cgi?id=80905
Reviewed by Eric Seidel.
This won't cause chrome to use the PageCache, but it will cause our histogram statistics
describing PageCache use to be more accurate.
* src/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::canCacheInPageCache):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110600
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jchaffraix@webkit.org [Tue, 13 Mar 2012 20:30:24 +0000 (20:30 +0000)]
Too many tests (200+ on SL, 80+ on Lion) tests are failing on Mac port
https://bugs.webkit.org/show_bug.cgi?id=80447
Unreviewed test rebaseline after r110072.
* platform/mac/test_expectations.txt:
* platform/mac/Skipped:
Moved an entry from test_expectations.txt to Skipped as it was failing differently
that expected (same image, different text baseline).
* platform/mac/fast/block/lineboxcontain/block-glyphs-replaced-expected.txt:
* platform/mac/fast/block/lineboxcontain/glyphs-expected.txt:
* platform/mac/fast/clip/008-expected.txt:
* platform/mac/fast/forms/input-text-double-click-expected.txt:
* platform/mac/fast/repaint/overflow-delete-line-expected.txt:
Rebaselined those tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110599
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 13 Mar 2012 20:15:53 +0000 (20:15 +0000)]
REGRESSION(r99369): File input button doesn't highlight when pressed
https://bugs.webkit.org/show_bug.cgi?id=79385
Reviewed by Kent Tamura.
Source/WebCore:
Fixes an issue where the file input button doesn't highlight on mouse press.
Currently we always override the active state of the button with whether
a dragged file is being hovered over the file input control (i.e. can the control
receive a dropped file; HTMLInputElement::canReceiveDroppedFiles()).
Instead, we should only override the active state of the button when the state
changes for whether we can receive dropped files (e.g. during a drag) so that
we honor the active state of the button when it is pressed.
Test: fast/forms/file/file-input-pressed-state.html
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::RenderFileUploadControl):
(WebCore::RenderFileUploadControl::updateFromElement):
* rendering/RenderFileUploadControl.h:
(RenderFileUploadControl):
LayoutTests:
Add test to ensure that the file input button visually changes when pressed.
* fast/forms/file/file-input-pressed-state-expected.txt: Added.
* fast/forms/file/file-input-pressed-state.html: Added.
* platform/mac/fast/forms/file/file-input-pressed-state-expected.png: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110598
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 20:14:39 +0000 (20:14 +0000)]
[chromium] Use CCOcclusionTracker for draw culling
https://bugs.webkit.org/show_bug.cgi?id=80743
Patch by Dana Jansens <danakj@chromium.org> on 2012-03-13
Reviewed by Adrienne Walker.
Source/WebCore:
In this CL we enable the use of CCOcclusionTracker for draw-side
culling. This means moving from a per-quad culling model to a
per-layer model.
When calculating RenderPasses, we construct the set of passes,
then iterate over layers in front-to-back order. We make
CCQuadCuller instantiable, and pass it to the layer
appendQuads() methods instead of the bare list, where it can
filter quads before the end up in the list.
Covered by existing tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawRenderPass):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
(WebCore::CCCanvasLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
(CCCanvasLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::appendQuads):
(WebCore::CCLayerImpl::appendGutterQuads):
(WebCore::CCLayerImpl::appendDebugBorderQuad):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore):
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
(WebCore::CCPluginLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCPluginLayerImpl.h:
(CCPluginLayerImpl):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::CCQuadCuller):
(WebCore::CCQuadCuller::append):
* platform/graphics/chromium/cc/CCQuadCuller.h:
(WebCore):
(CCQuadCuller):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsForLayer):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore):
(CCQuadList):
(WebCore::CCQuadList::backToFrontBegin):
(WebCore::CCQuadList::backToFrontEnd):
(CCRenderPass):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(CCScrollbarLayerImpl):
* platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
(WebCore::CCSolidColorLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
(CCSolidColorLayerImpl):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCTiledLayerImpl.h:
(CCTiledLayerImpl):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(CCVideoLayerImpl):
Source/WebKit/chromium:
* WebKit.gypi:
* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::BlendStateCheckLayer::appendQuads):
* tests/CCQuadCullerTest.cpp:
(TestCCOcclusionTrackerImpl):
(WebCore::TestCCOcclusionTrackerImpl::TestCCOcclusionTrackerImpl):
(WebCore::TestCCOcclusionTrackerImpl::layerScissorRectInTargetSurface):
(WebCore::makeLayer):
(WebCore::appendQuads):
(WebCore):
(WebCore::TEST):
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
* tests/CCTiledLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
(CCLayerTestCommon::getQuads):
* tests/MockCCQuadCuller.h: Added.
(WebCore):
(MockCCQuadCuller):
(WebCore::MockCCQuadCuller::MockCCQuadCuller):
(WebCore::MockCCQuadCuller::append):
(WebCore::MockCCQuadCuller::quadList):
LayoutTests:
* platform/chromium-linux/compositing/direct-image-compositing-expected.png:
* platform/chromium-linux/compositing/geometry/vertical-scroll-composited-expected.png:
* platform/chromium-linux/platform/chromium/compositing/huge-layer-rotated-expected.png:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110596
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Tue, 13 Mar 2012 20:10:27 +0000 (20:10 +0000)]
Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
https://bugs.webkit.org/show_bug.cgi?id=78853
Patch by Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com> on 2012-03-13
Reviewed by Adam Barth.
.:
* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsWinCE.cmake:
* Source/cmakeconfig.h.cmake:
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
* wtf/Platform.h:
Source/WebCore:
* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/geolocation/Geolocation.cpp:
(WebCore):
(WebCore::createPositionError):
(WebCore::Geolocation::Geolocation):
(WebCore::Geolocation::stop):
(WebCore::Geolocation::lastPosition):
(WebCore::Geolocation::requestPermission):
(WebCore::Geolocation::startUpdating):
(WebCore::Geolocation::stopUpdating):
* Modules/geolocation/Geolocation.h:
(WebCore):
(Geolocation):
* Modules/geolocation/GeolocationController.cpp:
* Modules/geolocation/GeolocationController.h:
* Modules/geolocation/GeolocationError.h:
* Modules/geolocation/GeolocationPosition.h:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* bindings/js/JSGeolocationCustom.cpp:
* loader/EmptyClients.h:
(EmptyChromeClient):
* page/ChromeClient.h:
(ChromeClient):
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(Page):
* platform/GeolocationService.cpp: Removed.
* platform/GeolocationService.h: Removed.
* platform/mock/GeolocationClientMock.cpp:
* platform/mock/GeolocationClientMock.h:
* platform/mock/GeolocationServiceMock.cpp: Removed.
* platform/mock/GeolocationServiceMock.h: Removed.
Source/WebKit/blackberry:
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):
* WebCoreSupport/AboutDataEnableFeatures.in:
* WebCoreSupport/ChromeClientBlackBerry.cpp:
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):
* WebKitSupport/DumpRenderTreeSupport.cpp:
(toGeolocationClientMock):
(DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
(DumpRenderTreeSupport::resetGeolocationMock):
(DumpRenderTreeSupport::setMockGeolocationError):
(DumpRenderTreeSupport::setMockGeolocationPermission):
(DumpRenderTreeSupport::setMockGeolocationPosition):
Source/WebKit/chromium:
* features.gypi:
* src/ChromeClientImpl.cpp:
* src/ChromeClientImpl.h:
(ChromeClientImpl):
Source/WebKit/efl:
* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore):
* WebCoreSupport/ChromeClientEfl.h:
(ChromeClientEfl):
Source/WebKit/gtk:
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit):
* WebCoreSupport/ChromeClientGtk.h:
(WebKit::ChromeClient::scrollRectIntoView):
* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::resetGeolocationClientMock):
(DumpRenderTreeSupportGtk::setMockGeolocationPermission):
(DumpRenderTreeSupportGtk::setMockGeolocationPosition):
(DumpRenderTreeSupportGtk::setMockGeolocationError):
(DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationClientGtk.cpp:
(WebKit::GeolocationClient::requestPermission):
(WebKit::GeolocationClient::cancelPermissionRequest):
* WebCoreSupport/GeolocationClientGtk.h:
(WebKit):
* webkit/webkitwebview.cpp:
(webkit_web_view_init):
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::lastPosition):
* WebView/WebGeolocationPosition.mm:
(-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
(core):
(-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
* WebView/WebGeolocationPositionInternal.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _geolocationDidChangePosition:]):
(-[WebView _geolocationDidFailWithError:]):
Source/WebKit/qt:
* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/ChromeClientQt.h:
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(toGeolocationClientMock):
(DumpRenderTreeSupportQt::resetGeolocationMock):
(DumpRenderTreeSupportQt::setMockGeolocationPermission):
(DumpRenderTreeSupportQt::setMockGeolocationPosition):
(DumpRenderTreeSupportQt::setMockGeolocationError):
(DumpRenderTreeSupportQt::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationClientQt.h:
(WebCore):
Source/WebKit/win:
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebCoreSupport/WebGeolocationClient.cpp:
(WebGeolocationClient::lastPosition):
* WebGeolocationPosition.cpp:
(WebGeolocationPosition::initWithTimestamp):
(core):
* WebGeolocationPosition.h:
(WebGeolocationPosition):
(WebGeolocationPosition::impl):
* WebView.cpp:
(WebView::initWithFrame):
(WebView::geolocationDidChangePosition):
(WebView::geolocationDidFailWithError):
Source/WebKit/wince:
* WebCoreSupport/ChromeClientWinCE.cpp:
* WebCoreSupport/ChromeClientWinCE.h:
(ChromeClientWinCE):
Source/WebKit/wx:
* WebKitSupport/ChromeClientWx.cpp:
* WebKitSupport/ChromeClientWx.h:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::registerWebPage):
(WebKit::WebGeolocationManager::unregisterWebPage):
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setGeoLocationPermission):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):
* WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
* WebProcess/WebCoreSupport/WebGeolocationClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* mac/WebKit2.order:
Tools:
* Scripts/build-webkit:
* qmake/mkspecs/features/features.prf:
WebKitLibraries:
* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110595
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonikitoo@webkit.org [Tue, 13 Mar 2012 20:05:01 +0000 (20:05 +0000)]
Convert nodesFromRect tests to use Internals interface
https://bugs.webkit.org/show_bug.cgi?id=80886
Reviewed by Ryosuke Niwa.
Patch by Antonio Gomes <agomes@rim.com>
Source/WebCore:
Add Internals::nodesFromRect implementation to unify
the codepath for testing Document::nodesFromRect in a
cross port way.
No new tests, since we are improving here the infra-structure
for testing a specific method.
* testing/Internals.cpp:
(WebCore::Internals::nodesFromRect):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:
Source/WebKit/gtk:
Removed DRTSupportGtk::nodesFromRect support, since
it can work in the cross-port way through the
Internals interface.
* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
Source/WebKit/mac:
Removed mac specific support for nodesFromRect for testing purposes only,
since it can work in a cross-port way through the Internals interface.
* WebKit.order:
* WebView/WebView.mm:
* WebView/WebViewPrivate.h:
Source/WebKit/qt:
Removed DRTSupportQt::nodesFromRect support, since
it can work in the cross-port way through the
Internals interface.
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:
Tools:
This clean up allows to remove port specific bits of each
DRT implementation that supports testing Document::nodesFromRect,
in favor of making use of the 'Internals' interface to test it.
This makes its code conveniently more expansible and cleaner.
Also removed stubs from Win and EFL, Wn and BlackBerry DRTs.
* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
* DumpRenderTree/qt/LayoutTestControllerQt.h:
(LayoutTestController):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
LayoutTests:
Adjust nodesFromRect tests to use Internals
instead of LayoutTestController interface.
* fast/dom/resources/nodesFromRect.js:
(check):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
schenney@chromium.org [Tue, 13 Mar 2012 19:48:20 +0000 (19:48 +0000)]
Fix the use of stale text fragments
https://bugs.webkit.org/show_bug.cgi?id=80729
Patch by Philip Rogers <pdr@google.com> on 2012-03-13
Reviewed by Nikolas Zimmermann.
Source/WebCore:
Previously, we were allowing SVGTextFragments to get out of sync with the
actual text in RenderSVGInlineTextBox. This patch reuses the dirty line
box code in RenderText::setTextWithOffset to force
clearTextFragments() when setTextWithOffset is called, preventing the use
of stale SVGTextFragments.
Test: svg/custom/delete-text-crash.html
* rendering/InlineBox.h:
(InlineBox):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::dirtyLineBoxes):
(WebCore):
* rendering/svg/SVGInlineTextBox.h:
(SVGInlineTextBox):
LayoutTests:
* svg/custom/delete-text-crash-expected.png: Added.
* svg/custom/delete-text-crash-expected.txt: Added.
* svg/custom/delete-text-crash.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110593
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 13 Mar 2012 19:33:22 +0000 (19:33 +0000)]
Fix some broken layout test rebaselines from the various chromium-lion
rebaselining patches. The bugs in the rebaseline tool that caused the breakages
are now fixed.
* platform/chromium-mac-leopard/css2.1/t1202-counter-04-b-expected.txt: Added.
* platform/chromium-mac-leopard/css2.1/t1202-counters-04-b-expected.txt: Added.
* platform/chromium-mac-leopard/editing/pasteboard/paste-table-cells-expected.png: Added.
* platform/chromium-mac-leopard/fast/block/basic/014-expected.png: Added.
* platform/chromium-mac-leopard/fast/block/basic/020-expected.png: Added.
* platform/chromium-mac-leopard/fast/block/float/dynamic-unfloat-pref-width-expected.png: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/forms/number/input-appearance-spinbutton-layer-expected.png.
* platform/chromium-mac-leopard/fast/block/margin-collapse/044-expected.png: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/forms/number/input-appearance-spinbutton-layer-expected.png.
* platform/chromium-mac-leopard/fast/block/margin-collapse/045-expected.png: Added.
* platform/chromium-mac-leopard/fast/block/positioning/054-expected.png: Added.
* platform/chromium-mac-leopard/fast/css/pseudo-element-line-break-expected.png: Added.
* platform/chromium-mac-leopard/fast/events/onload-re-entry-expected.png: Added.
* platform/chromium-mac-leopard/fast/forms/disabled-select-change-index-expected.txt:
* platform/chromium-mac-leopard/fast/forms/select-writing-direction-natural-expected.png: Added.
* platform/chromium-mac-leopard/fast/forms/select-writing-direction-natural-expected.txt: Added.
* platform/chromium-mac-leopard/fast/inline/002-expected.png: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/forms/number/input-appearance-spinbutton-layer-expected.png.
* platform/chromium-mac-leopard/fast/inline/vertical-align-text-bottom-expected.png: Added.
* platform/chromium-mac-leopard/fast/invalid/002-expected.png: Added.
* platform/chromium-mac-leopard/fast/invalid/005-expected.png: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/forms/number/input-appearance-spinbutton-layer-expected.png.
* platform/chromium-mac-leopard/fast/invalid/007-expected.png: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/forms/number/input-appearance-spinbutton-layer-expected.png.
* platform/chromium-mac-leopard/fast/invalid/020-expected.png: Added.
* platform/chromium-mac-leopard/fast/invalid/missing-end-tag-expected.png: Added.
* platform/chromium-mac-leopard/fast/lists/006-expected.png: Added.
* platform/chromium-mac-leopard/fast/loader/text-document-wrapping-expected.png: Added.
* platform/chromium-mac-leopard/fast/parser/tabs-in-scripts-expected.png: Added.
* platform/chromium-mac-leopard/fast/parser/xhtml-alternate-entities-expected.png: Added.
* platform/chromium-mac-leopard/fast/replaced/three-selects-break-expected.png: Added.
* platform/chromium-mac-leopard/fast/selectors/002-expected.png: Added.
* platform/chromium-mac-leopard/fast/table/001-expected.png: Added.
* platform/chromium-mac-leopard/fast/table/010-expected.png: Added.
* platform/chromium-mac-leopard/fast/table/013-expected.png: Added.
* platform/chromium-mac-leopard/fast/table/015-expected.png: Copied from LayoutTests/platform/chromium-mac-snowleopard/fast/forms/number/input-appearance-spinbutton-layer-expected.png.
* platform/chromium-mac-leopard/fast/table/022-expected.png: Added.
* platform/chromium-mac-leopard/scrollbars/basic-scrollbar-expected.png: Added.
* platform/chromium-mac-leopard/scrollbars/disabled-scrollbar-expected.png: Added.
* platform/chromium-mac-leopard/scrollbars/scrollbar-buttons-expected.png: Added.
* platform/chromium-mac-leopard/scrollbars/scrollbar-orientation-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/number/input-appearance-spinbutton-layer-expected.png:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110592
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 13 Mar 2012 19:27:51 +0000 (19:27 +0000)]
SVG Animations update baseVal instead of animVal
https://bugs.webkit.org/show_bug.cgi?id=12437
Reviewed by Dirk Schulze.
Blind fix for some GC related assertions firing on v8.
Assure that animationStarted/animationEnded calls are happening
on the same SVGAnimatedProperty. Always call animationEnded(),
even if we shouldn't do anything for the target element, as its
destructed, as we still have to reset m_isAnimating.
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::SVGAnimateElement):
(WebCore::SVGAnimateElement::resetToBaseValue):
(WebCore::SVGAnimateElement::targetElementWillChange):
* svg/SVGAnimateElement.h:
(SVGAnimateElement):
* svg/properties/SVGAnimatedPropertyTearOff.h:
(WebCore::SVGAnimatedPropertyTearOff::animationEnded):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110591
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 13 Mar 2012 19:19:53 +0000 (19:19 +0000)]
Chromium-Lion rebaselines.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110590
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 19:12:03 +0000 (19:12 +0000)]
Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
https://bugs.webkit.org/show_bug.cgi?id=80625
Patch by Mark Pilgrim <pilgrim@chromium.org> on 2012-03-13
Reviewed by Adam Barth.
No new tests, all existing tests pass.
* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Modules/filesystem: Added.
* Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
* Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
* Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
* Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
* Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
* Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
* Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
* Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
* Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
* Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
* Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
* Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
* Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* fileapi/DirectoryEntry.cpp: Removed.
* fileapi/DirectoryEntry.h: Removed.
* fileapi/DirectoryEntry.idl: Removed.
* fileapi/DirectoryEntrySync.cpp: Removed.
* fileapi/DirectoryEntrySync.h: Removed.
* fileapi/DirectoryEntrySync.idl: Removed.
* fileapi/DirectoryReader.cpp: Removed.
* fileapi/DirectoryReader.h: Removed.
* fileapi/DirectoryReader.idl: Removed.
* fileapi/DirectoryReaderBase.h: Removed.
* fileapi/DirectoryReaderSync.cpp: Removed.
* fileapi/DirectoryReaderSync.h: Removed.
* fileapi/DirectoryReaderSync.idl: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110589
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
igor.o@sisa.samsung.com [Tue, 13 Mar 2012 19:06:56 +0000 (19:06 +0000)]
animation-iteration-count does not handle floating point values correctly.
https://bugs.webkit.org/show_bug.cgi?id=69531
Source/WebCore:
Implements support for non-integers animation-iteration-count numbers.
Non-integer numbers will cause the animation to end part-way through a cycle.
Reviewed by Dean Jackson.
Tests: animations/fill-mode-iteration-count-non-integer.html
animations/keyframes-iteration-count-non-integer.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseAnimationIterationCount):
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::fractionalTime):
(WebCore::AnimationBase::progress):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::pauseAnimationAtTime):
* platform/animation/Animation.h:
(WebCore::Animation::iterationCount):
(WebCore::Animation::setIterationCount):
(Animation):
(WebCore::Animation::initialAnimationIterationCount):
LayoutTests:
Reviewed by Dean Jackson.
* animations/fill-mode-iteration-count-non-integer-expected.txt: Added.
* animations/fill-mode-iteration-count-non-integer.html: Added.
* animations/keyframes-iteration-count-non-integer-expected.txt: Added.
* animations/keyframes-iteration-count-non-integer.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110588
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tommyw@google.com [Tue, 13 Mar 2012 18:51:58 +0000 (18:51 +0000)]
MediaStream API: Rename PeerConnection to DeprecatedPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=80692
Reviewed by Adam Barth.
First patch in a series of patches to change the PeerConnection from ROAP to JSEP,
see bug 80589 for more information.
Source/WebCore:
Patch covered by modified existing tests.
* GNUmakefile.list.am:
* Modules/mediastream/DOMWindowMediaStream.idl:
* Modules/mediastream/DeprecatedPeerConnection.cpp: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.cpp.
(WebCore):
(WebCore::DeprecatedPeerConnection::create):
(WebCore::DeprecatedPeerConnection::DeprecatedPeerConnection):
(WebCore::DeprecatedPeerConnection::~DeprecatedPeerConnection):
(WebCore::DeprecatedPeerConnection::processSignalingMessage):
(WebCore::DeprecatedPeerConnection::readyState):
(WebCore::DeprecatedPeerConnection::send):
(WebCore::DeprecatedPeerConnection::addStream):
(WebCore::DeprecatedPeerConnection::removeStream):
(WebCore::DeprecatedPeerConnection::localStreams):
(WebCore::DeprecatedPeerConnection::remoteStreams):
(WebCore::DeprecatedPeerConnection::close):
(WebCore::DeprecatedPeerConnection::didCompleteICEProcessing):
(WebCore::DeprecatedPeerConnection::didGenerateSDP):
(WebCore::DeprecatedPeerConnection::didReceiveDataStreamMessage):
(WebCore::DeprecatedPeerConnection::didAddRemoteStream):
(WebCore::DeprecatedPeerConnection::didRemoveRemoteStream):
(WebCore::DeprecatedPeerConnection::interfaceName):
(WebCore::DeprecatedPeerConnection::scriptExecutionContext):
(WebCore::DeprecatedPeerConnection::stop):
(WebCore::DeprecatedPeerConnection::eventTargetData):
(WebCore::DeprecatedPeerConnection::ensureEventTargetData):
(WebCore::DeprecatedPeerConnection::scheduleInitialNegotiation):
(WebCore::DeprecatedPeerConnection::initialNegotiationTimerFired):
(WebCore::DeprecatedPeerConnection::ensureStreamChangeScheduled):
(WebCore::DeprecatedPeerConnection::streamChangeTimerFired):
(WebCore::DeprecatedPeerConnection::scheduleReadyStateChange):
(WebCore::DeprecatedPeerConnection::readyStateChangeTimerFired):
(WebCore::DeprecatedPeerConnection::changeReadyState):
* Modules/mediastream/DeprecatedPeerConnection.h: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.h.
(WebCore):
(DeprecatedPeerConnection):
(WebCore::DeprecatedPeerConnection::didChangeState):
(WebCore::DeprecatedPeerConnection::refEventTarget):
(WebCore::DeprecatedPeerConnection::derefEventTarget):
* Modules/mediastream/DeprecatedPeerConnection.idl: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.idl.
* Modules/mediastream/SignalingCallback.h:
(WebCore):
(SignalingCallback):
* Modules/mediastream/SignalingCallback.idl:
* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
* bindings/js/JSDeprecatedPeerConnectionCustom.cpp: Renamed from Source/WebCore/bindings/js/JSPeerConnectionCustom.cpp.
(WebCore):
(WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
* dom/EventTarget.h:
(WebCore):
* dom/EventTargetFactory.in:
* platform/mediastream/DeprecatedPeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandler.h.
(WebCore):
(DeprecatedPeerConnectionHandler):
* platform/mediastream/DeprecatedPeerConnectionHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h.
(WebCore):
(DeprecatedPeerConnectionHandlerClient):
(WebCore::DeprecatedPeerConnectionHandlerClient::~DeprecatedPeerConnectionHandlerClient):
* platform/mediastream/gstreamer/DeprecatedPeerConnectionHandler.cpp: Renamed from Source/WebCore/platform/mediastream/gstreamer/PeerConnectionHandler.cpp.
(WebCore):
(WebCore::DeprecatedPeerConnectionHandler::create):
(WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
(WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
(WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
(WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
(WebCore::DeprecatedPeerConnectionHandler::processSDP):
(WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
(WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
(WebCore::DeprecatedPeerConnectionHandler::stop):
Source/WebKit/chromium:
* WebKit.gyp:
* bridge/DeprecatedPeerConnectionHandler.cpp: Renamed from Source/WebKit/chromium/bridge/PeerConnectionHandler.cpp.
(WebCore):
(WebCore::DeprecatedPeerConnectionHandler::create):
(WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
(WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
(WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
(WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
(WebCore::DeprecatedPeerConnectionHandler::processSDP):
(WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
(WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
(WebCore::DeprecatedPeerConnectionHandler::stop):
* bridge/DeprecatedPeerConnectionHandlerInternal.cpp: Renamed from Source/WebKit/chromium/bridge/PeerConnectionHandlerInternal.cpp.
(WebCore):
(WebCore::DeprecatedPeerConnectionHandlerInternal::DeprecatedPeerConnectionHandlerInternal):
(WebCore::DeprecatedPeerConnectionHandlerInternal::~DeprecatedPeerConnectionHandlerInternal):
(WebCore::DeprecatedPeerConnectionHandlerInternal::produceInitialOffer):
(WebCore::DeprecatedPeerConnectionHandlerInternal::handleInitialOffer):
(WebCore::DeprecatedPeerConnectionHandlerInternal::processSDP):
(WebCore::DeprecatedPeerConnectionHandlerInternal::processPendingStreams):
(WebCore::DeprecatedPeerConnectionHandlerInternal::sendDataStreamMessage):
(WebCore::DeprecatedPeerConnectionHandlerInternal::stop):
(WebCore::DeprecatedPeerConnectionHandlerInternal::didCompleteICEProcessing):
(WebCore::DeprecatedPeerConnectionHandlerInternal::didGenerateSDP):
(WebCore::DeprecatedPeerConnectionHandlerInternal::didReceiveDataStreamMessage):
(WebCore::DeprecatedPeerConnectionHandlerInternal::didAddRemoteStream):
(WebCore::DeprecatedPeerConnectionHandlerInternal::didRemoveRemoteStream):
* bridge/DeprecatedPeerConnectionHandlerInternal.h: Renamed from Source/WebKit/chromium/bridge/PeerConnectionHandlerInternal.h.
(WebKit):
(WebCore):
(DeprecatedPeerConnectionHandlerInternal):
LayoutTests:
* fast/dom/call-a-constructor-as-a-function.html:
* fast/mediastream/peerconnection-Attributes-expected.txt:
* fast/mediastream/peerconnection-addstream-expected.txt:
* fast/mediastream/peerconnection-argument-types-expected.txt:
* fast/mediastream/peerconnection-eventlistener-optional-argument.html:
* fast/mediastream/peerconnection-mediastreamlist.html:
* fast/mediastream/peerconnection-removestream-expected.txt:
* fast/mediastream/script-tests/Attributes.js:
* fast/mediastream/script-tests/argument-types.js:
* fast/mediastream/script-tests/peerconnection-addstream.js:
* fast/mediastream/script-tests/peerconnection-removestream.js:
* platform/chromium/fast/dom/call-a-constructor-as-a-function-expected.txt:
* platform/gtk/fast/dom/call-a-constructor-as-a-function-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110587
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 13 Mar 2012 18:49:40 +0000 (18:49 +0000)]
Remove a nonexistent WebUIDelegate method from WebUIDelegatePrivate.h
https://bugs.webkit.org/show_bug.cgi?id=81014
Reviewed by Sam Weinig.
Remove a plug-in halter related WebUIDelegate method.
* WebView/WebUIDelegatePrivate.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110586
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 13 Mar 2012 18:34:06 +0000 (18:34 +0000)]
Rebaselining for a new port doesn't work right with multiple fallback ports
https://bugs.webkit.org/show_bug.cgi?id=80932
Reviewed by Adam Barth.
Since chromium-leopard also falls back to mac-leopard, we need to
copy the existing result for both chromium-leopard and chromium-snowleopard
before doing lion rebaselines.
* Scripts/webkitpy/layout_tests/port/builders.py:
(fallback_port_names_for_new_port):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest):
(RebaselineTest._copy_existing_baseline):
(RebaselineTest._rebaseline_test):
(RebaselineTest.execute):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPRequestHandler.rebaseline):
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(GardeningServerTest.test_rebaseline_new_port):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110585
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 13 Mar 2012 18:21:14 +0000 (18:21 +0000)]
Web Inspector: front-end compilation was broken while supporting large arrays.
https://bugs.webkit.org/show_bug.cgi?id=81013
Reviewed by Vsevolod Vlasov.
* inspector/front-end/ExtensionPanel.js:
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
* inspector/front-end/RemoteObject.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110584
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Tue, 13 Mar 2012 18:17:00 +0000 (18:17 +0000)]
flexbox's computePreferredLogicalWidth needs to take multiline into account
https://bugs.webkit.org/show_bug.cgi?id=80931
Reviewed by Ojan Vafai.
Source/WebCore:
Tests: css3/flexbox/multiline-shrink-to-fit-expected.html
css3/flexbox/multiline-shrink-to-fit.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computePreferredLogicalWidths): Set min/max preferredLogicalWidth based on always breaking or never breaking.
(WebCore::RenderFlexibleBox::computeNextFlexLine): Add a FIXME.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Don't change the width after computePreferredWidth has been called.
LayoutTests:
* css3/flexbox/cross-axis-scrollbar.html:
* css3/flexbox/multiline-align.html:
* css3/flexbox/multiline-pack.html:
* css3/flexbox/multiline-shrink-to-fit-expected.html: Added.
* css3/flexbox/multiline-shrink-to-fit.html: Added.
* css3/flexbox/multiline.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110583
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 18:10:40 +0000 (18:10 +0000)]
Remove SlotVisitor::copy() method.
https://bugs.webkit.org/show_bug.cgi?id=80973
Patch by Kwonjin Jeong <gram@company100.net> on 2012-03-13
Reviewed by Geoffrey Garen.
SlotVisitor::copy() method isn't called anywhere.
* heap/MarkStack.cpp: Remove definition of SlotVisitor::copy() method.
* heap/SlotVisitor.h: Remove declaration of SlotVisitor::copy() method.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110582
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 18:05:47 +0000 (18:05 +0000)]
Unreviewed, rolling out r110469.
http://trac.webkit.org/changeset/110469
https://bugs.webkit.org/show_bug.cgi?id=81010
This patch still appears to crash (Requested by abarth on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-13
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::repaintContentRectangle):
(WebCore):
(WebCore::FrameView::endDeferredRepaints):
(WebCore::FrameView::doDeferredRepaints):
(WebCore::FrameView::deferredRepaintTimerFired):
* page/FrameView.h:
(FrameView):
* rendering/RenderView.cpp:
(WebCore::RenderView::shouldRepaint):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawSVGToImageBuffer):
(WebCore::SVGImage::draw):
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageContentChanged):
(WebCore::SVGImageCache::redrawTimerFired):
* svg/graphics/SVGImageCache.h:
(SVGImageCache):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110581
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 18:02:45 +0000 (18:02 +0000)]
Add a method to window.internals to enable testing of inspector highlight rects
https://bugs.webkit.org/show_bug.cgi?id=80338
Patch by Max Vujovic <mvujovic@adobe.com> on 2012-03-13
Reviewed by Pavel Feldman.
.:
* Source/autotools/symbols.filter: Export symbols for GTK.
Source/WebCore:
Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
positions and sizes of inspector highlight rects.
Test: inspector/elements/highlight-node.html
* WebCore.exp.in: Export symbols.
* testing/Internals.cpp:
(WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
return the highlight's quads as a ClientRectList.
(WebCore):
* testing/Internals.h:
(WebCore):
(Internals):
* testing/Internals.idl:
Add inspectorHighlightRects to the window.internals interface.
Source/WebKit2:
* win/WebKit2.def: Export symbols for win.
* win/WebKit2CFLite.def: Same as above.
LayoutTests:
* inspector/elements/highlight-node-expected.txt: Added.
* inspector/elements/highlight-node.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110580
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 13 Mar 2012 17:57:12 +0000 (17:57 +0000)]
Working With Code > Installing Developer Tools needs to be updated with OS X Lion & App Store details
https://bugs.webkit.org/show_bug.cgi?id=80429
Patch by Rebecca Hauck <rhauck@adobe.com> on 2012-03-13
Reviewed by Dan Bernstein.
* building/tools.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110579
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 17:30:05 +0000 (17:30 +0000)]
[BlackBerry] Remove sublayers before clamping just in case the layer already exists
https://bugs.webkit.org/show_bug.cgi?id=80989
Patch by Konrad Piascik <kpiascik@rim.com> on 2012-03-13
Reviewed by Antonio Gomes.
Discovered when trying to add a highlight sublayer for web inspector. Since that layer
may already exist in the tree we need to see if it will be pruned before we clamp on the
size.
This was manually tested during the writing of another patch to add web inspector highlights
to accelrated compositing.
* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::insertSublayer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110578
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 13 Mar 2012 17:25:53 +0000 (17:25 +0000)]
Note that fast/loader/window-properties-restored-from-page-cache.html
depends on the page cache.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110577
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 13 Mar 2012 16:37:36 +0000 (16:37 +0000)]
Web Inspector: Add snippets model.
https://bugs.webkit.org/show_bug.cgi?id=80863
Reviewed by Yury Semikhatsky.
Source/WebCore:
Test: inspector/debugger/snippets-model.html
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SnippetsModel.js: Added.
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
LayoutTests:
* inspector/debugger/snippets-model-expected.txt: Added.
* inspector/debugger/snippets-model.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110576
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vestbo@webkit.org [Tue, 13 Mar 2012 16:33:37 +0000 (16:33 +0000)]
[Qt] Tweak minibrowser UI
Add some margins to the scroll indicators, and set a dark background
color so you see the page dimensions.
Reviewed by Antonio Gomes.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110575
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 13 Mar 2012 16:11:17 +0000 (16:11 +0000)]
[Qt] svg/animations tests are very flaky
https://bugs.webkit.org/show_bug.cgi?id=80703
Reviewed by Rob Buis.
Overhaul the svg/animation frameworks, to be more stable.
Especially discrete animations were flaky on Qt, because some tests still sampled
at integral times like 2.0s, instead of 1.999s (before change), and 2.001s (after change).
Always use shouldBeCloseEnough() when comparing font-sizes/color values/, as there's
always an uncertainity about the actual sampling time (low but may lead to 40.01px values, instead of 40px).
This makes these tests also stable in Firefox/Opera, which was the ultimate goal!
* platform/qt/Skipped: Unskip svg/animation tests.
* svg/animations/additive-values-width-animation-expected.txt:
* svg/animations/animate-color-calcMode-discrete-expected.txt:
* svg/animations/animate-color-fill-currentColor-expected.txt:
* svg/animations/animate-color-fill-from-by-expected.txt:
* svg/animations/animate-color-rgba-calcMode-discrete-expected.txt:
* svg/animations/animate-color-transparent-expected.txt:
* svg/animations/animate-currentColor-expected.txt:
* svg/animations/animate-dynamic-update-attributeName-expected.txt:
* svg/animations/animate-elem-03-t-drt-expected.txt:
* svg/animations/animate-end-attribute-expected.txt:
* svg/animations/animate-from-to-keyTimes-expected.txt:
* svg/animations/animate-inherit-css-property-expected.txt:
* svg/animations/animate-keySplines-expected.txt:
* svg/animations/animate-number-calcMode-discrete-expected.txt:
* svg/animations/animate-number-calcMode-discrete-keyTimes-expected.txt:
* svg/animations/attributeTypes-expected.txt:
* svg/animations/resources/SVGAnimationTestCase.js:
(expectColor):
(expectFillColor):
(moveAnimationTimelineAndSample):
* svg/animations/script-tests/additive-values-width-animation.js:
(executeTest):
* svg/animations/script-tests/animVal-basics.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/animate-calcMode-spline-by.js:
(sample1):
(executeTest):
* svg/animations/script-tests/animate-calcMode-spline-from-by.js:
(sample1):
(executeTest):
* svg/animations/script-tests/animate-calcMode-spline-from-to.js:
(sample1):
(executeTest):
* svg/animations/script-tests/animate-calcMode-spline-to.js:
(sample1):
(executeTest):
* svg/animations/script-tests/animate-calcMode-spline-values.js:
(sample1):
(executeTest):
* svg/animations/script-tests/animate-color-calcMode-discrete.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animate-color-fill-currentColor.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-color-fill-from-by.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-color-rgba-calcMode-discrete.js:
(parseAlphaFromColor):
(red):
* svg/animations/script-tests/animate-color-transparent.js:
(expectTransparent):
(expectOtherColor):
* svg/animations/script-tests/animate-currentColor.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-dynamic-update-attributeName.js:
(sample1):
(sample2):
(sample3):
(sample4):
(executeTest):
* svg/animations/script-tests/animate-elem-03-t-drt.js:
(parseFontSizeFromString):
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-end-attribute.js:
(sample1):
(sample2):
* svg/animations/script-tests/animate-endElement-beginElement.js:
(sample1):
* svg/animations/script-tests/animate-from-to-keyTimes.js:
* svg/animations/script-tests/animate-gradient-transform.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-inherit-css-property.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-insert-begin.js:
(sample1):
(sample2):
* svg/animations/script-tests/animate-insert-no-begin.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/animate-keySplines.js:
(sample3):
(sample4):
(executeTest):
* svg/animations/script-tests/animate-number-calcMode-discrete-keyTimes.js:
(executeTest):
* svg/animations/script-tests/animate-number-calcMode-discrete.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/animate-path-animation-Cc-Ss.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animate-path-animation-Ll-Vv-Hh.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animate-path-animation-Qq-Tt.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animate-path-animation-cC-sS-inverse.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animate-path-animation-lL-vV-hH-inverse.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animate-path-animation-qQ-tT-inverse.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animate-path-to-animation.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/animateTransform-pattern-transform.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/attributeTypes.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/multiple-animations-fill-freeze.js:
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(sample7):
(sample8):
* svg/animations/script-tests/svgPreserveAspectRatio-animation-1.js:
(executeTest):
* svg/animations/script-tests/svgangle-animation-deg-to-grad.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgangle-animation-deg-to-rad.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgangle-animation-grad-to-deg.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgangle-animation-grad-to-rad.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgangle-animation-rad-to-deg.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgangle-animation-rad-to-grad.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgboolean-animation-1.js:
(executeTest):
* svg/animations/script-tests/svginteger-animation-1.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-LengthModeHeight.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-LengthModeOther.js:
(sample1):
(executeTest):
* svg/animations/script-tests/svglength-animation-LengthModeWidth.js:
(sample1):
(executeTest):
* svg/animations/script-tests/svglength-animation-invalid-value-1.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-invalid-value-2.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-invalid-value-3.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-number-to-number.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-cm.js:
(sample1):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-ems.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-exs.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-in.js:
(sample1):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-number.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-pc.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-percentage.js:
(sample1):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-pt.js:
(sample1):
(executeTest):
* svg/animations/script-tests/svglength-animation-px-to-px.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglength-animation-unitType.js:
(executeTest):
* svg/animations/script-tests/svglength-animation-values.js:
(sample1):
(sample2):
(sample4):
(executeTest):
* svg/animations/script-tests/svglengthlist-animation-1.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglengthlist-animation-2.js:
(sample1):
(executeTest):
* svg/animations/script-tests/svglengthlist-animation-3.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglengthlist-animation-4.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svglengthlist-animation-5.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgnumber-animation-1.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/svgnumber-animation-2.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/svgnumber-animation-3.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/svgnumberlist-animation-1.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgnumberlist-animation-2.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgnumberoptionalnumber-animation-1.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgnumberoptionalnumber-animation-2.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgnumberoptionalnumber-animation-3.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgnumberoptionalnumber-animation-4.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgpath-animation-1.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgpointlist-animation-1.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/svgpointlist-animation-2.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/svgrect-animation-1.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgrect-animation-2.js:
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgstring-animation-fallback-to-discrete.js:
(executeTest):
* svg/animations/script-tests/svgtransform-animation-1.js:
(sample1):
(sample2):
* svg/animations/script-tests/svgtransform-animation-discrete.js:
(sample1):
(executeTest):
* svg/animations/svglength-animation-invalid-value-1-expected.txt:
* svg/animations/svglength-animation-invalid-value-2-expected.txt:
* svg/animations/svglength-animation-invalid-value-3-expected.txt:
* svg/animations/svglength-animation-unitType-expected.txt:
* svg/animations/svgnumber-animation-1-expected.txt:
* svg/animations/svgnumber-animation-2-expected.txt:
* svg/animations/svgnumber-animation-3-expected.txt:
* svg/animations/svgtransform-animation-discrete-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110574
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pfeldman@chromium.org [Tue, 13 Mar 2012 16:08:50 +0000 (16:08 +0000)]
Not reviewed: chromium build fix.
* history/CachedFrame.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 16:03:46 +0000 (16:03 +0000)]
Web Inspector: CodeGeneratorInspector.py: refactor copy-paste getter methods
https://bugs.webkit.org/show_bug.cgi?id=80923
Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-03-13
Reviewed by Yury Semikhatsky.
Several methods are combined in one using C++ templates.
* inspector/CodeGeneratorInspector.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis@webkit.org [Tue, 13 Mar 2012 16:00:24 +0000 (16:00 +0000)]
[BlackBerry] Fix cast-align warning in QuotesData.cpp
https://bugs.webkit.org/show_bug.cgi?id=80601
Reviewed by Nikolas Zimmermann.
Fix warning by adding variable of correct return type.
* rendering/style/QuotesData.cpp:
(WebCore::QuotesData::create):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110571
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Tue, 13 Mar 2012 15:57:37 +0000 (15:57 +0000)]
<rdar://problem/7908830> and https://bugs.webkit.org/show_bug.cgi?id=34679 Location and other objects are dysfunctional after a document gets restored from page cache
Reviewed by Adam Barth.
Source/WebCore:
Test: fast/loader/window-properties-restored-from-page-cache.html
Give DOMWindowProperties the ability to reconnect to their Frame:
* page/DOMWindowProperty.cpp:
(WebCore::DOMWindowProperty::reconnectFrame):
* page/DOMWindowProperty.h:
(DOMWindowProperty):
Let ApplicationCache do some extra work when reconnecting:
* loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::reconnectFrame):
(WebCore):
* loader/appcache/DOMApplicationCache.h:
(DOMApplicationCache):
Let IndexDB do some extra work when reconnecting:
* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::disconnectFrame):
(WebCore::DOMWindowIndexedDatabase::reconnectFrame):
(WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
* Modules/indexeddb/DOMWindowIndexedDatabase.h:
(DOMWindowIndexedDatabase):
Tell the DOMWindow to suspend to the page cache:
* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
Tell the DOMWindow to resume from the page cache:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::open):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::DOMWindow):
(WebCore::DOMWindow::~DOMWindow): Call clearDOMWindowProperties directly instead of clear()
(WebCore::DOMWindow::frameDestroyed): Ditto.
(WebCore::DOMWindow::clear): Only clear if the DOMWindow is not suspended for the page cache.
(WebCore::DOMWindow::suspendForPageCache): Disconnect properties and set the page cache flag.
(WebCore::DOMWindow::resumeFromPageCache): Reconnect properties and revert the page cache flag.
(WebCore::DOMWindow::disconnectDOMWindowProperties): Only disconnect the registered properties.
(WebCore::DOMWindow::reconnectDOMWindowProperties):
(WebCore::DOMWindow::clearDOMWindowProperties): Disconnect the registered properties then clear them out.
For all of the following, if the DOMWindow is not displayed in a frame (i.e., it is suspended), do nothing:
(WebCore::DOMWindow::screen):
(WebCore::DOMWindow::history):
(WebCore::DOMWindow::crypto):
(WebCore::DOMWindow::locationbar):
(WebCore::DOMWindow::menubar):
(WebCore::DOMWindow::personalbar):
(WebCore::DOMWindow::scrollbars):
(WebCore::DOMWindow::statusbar):
(WebCore::DOMWindow::toolbar):
(WebCore::DOMWindow::console):
(WebCore::DOMWindow::applicationCache):
(WebCore::DOMWindow::navigator):
(WebCore::DOMWindow::performance):
(WebCore::DOMWindow::location):
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):
(WebCore::DOMWindow::webkitNotifications):
(WebCore::DOMWindow::postMessageTimerFired):
(WebCore::DOMWindow::getSelection):
(WebCore::DOMWindow::styleMedia):
(WebCore::DOMWindow::webkitStorageInfo):
* page/DOMWindow.h:
LayoutTests:
* fast/loader/window-properties-restored-from-page-cache-expected.txt: Added.
* fast/loader/window-properties-restored-from-page-cache.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110570
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 15:43:45 +0000 (15:43 +0000)]
[chromium] Use projectQuad to apply inverse mapRect
https://bugs.webkit.org/show_bug.cgi?id=80741
Patch by Dana Jansens <danakj@chromium.org> on 2012-03-13
Reviewed by Adrienne Walker.
Source/WebCore:
Unit test: CCOcclusionTrackerTest3dTransform
CCOcclusionTrackerTestPerspectiveTransform
CCOcclusionTrackerTestPerspectiveTransformBehindCamera
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::projectQuad):
(WebCore):
(WebCore::computeUnoccludedContentRect):
Source/WebKit/chromium:
* tests/CCOcclusionTrackerTest.cpp:
(WebCore):
(CCOcclusionTrackerTest3dTransform):
(WebCore::CCOcclusionTrackerTest3dTransform::runMyTest):
(CCOcclusionTrackerTestPerspectiveTransform):
(WebCore::CCOcclusionTrackerTestPerspectiveTransform::runMyTest):
(CCOcclusionTrackerTestPerspectiveTransformBehindCamera):
(WebCore::CCOcclusionTrackerTestPerspectiveTransformBehindCamera::runMyTest):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110569
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 15:40:49 +0000 (15:40 +0000)]
[EFL] [DRT] Implement scheduleAsynchronousKeyDown.
https://bugs.webkit.org/show_bug.cgi?id=79601
Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-03-13
Reviewed by Gustavo Noronha Silva.
Source/WebKit/efl:
Added a new API to deliver all mutations explicitly.
* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::deliverAllMutationsIfNecessary):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:
Tools:
Extracted shareable code from keyDownCallback and then added createKeyEventInfo.
createKeyEventInfo creates a new structure KeyEventInfo that has keyName and modifiers
and is taken over to sendKeyDown.
Added sendKeyDown and sendAsynchronousKeyDown to evaluate keyDown event directly
and asynchronously. Eventually, sendAsynchronousKeyDown calls sendKeyDown.
* DumpRenderTree/efl/EventSender.cpp:
(KeyEventInfo::KeyEventInfo):
(KeyEventInfo):
(createKeyEventInfo):
(sendKeyDown):
(keyDownCallback):
(sendAsynchronousKeyDown):
(scheduleAsynchronousKeyDownCallback):
LayoutTests:
Removed following two skipped tests.
fast/mutation/end-of-task-delivery.html
fast/mutation/inline-event-listener.html
* platform/efl/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110568
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gavinp@chromium.org [Tue, 13 Mar 2012 15:28:56 +0000 (15:28 +0000)]
New PageCache histogram which counts failures ignoring Settings.
https://bugs.webkit.org/show_bug.cgi?id=80864
Reviewed by Brady Eidson.
Chrome has a command line switch to turn on the page cache.
Currently it doesn't work, but it can cause the PageCache reasons
for failure count to read lower than it should. Add a new
histogram to report the corrected value.
* history/PageCache.cpp:
(WebCore::logCanCachePageDecision):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110567
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos@webkit.org [Tue, 13 Mar 2012 15:24:02 +0000 (15:24 +0000)]
Fix signed/unsigned mismatch compiler warnings.
https://bugs.webkit.org/show_bug.cgi?id=80790
Reviewed by Alexey Proskuryakov.
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
* platform/network/MIMESniffing.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110566
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 15:21:53 +0000 (15:21 +0000)]
Unreviewed, rolling out r110510.
http://trac.webkit.org/changeset/110510
https://bugs.webkit.org/show_bug.cgi?id=80987
depends on chromium r 125700, which isn't rolled into webkit
yet :-/ (Requested by thakis_ on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-13
* WebCore.gyp/mac/adjust_visibility.sh:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110565
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gavinp@chromium.org [Tue, 13 Mar 2012 15:18:42 +0000 (15:18 +0000)]
Make ApplicationCacheHost::canCacheInPageCache() non-const.
https://bugs.webkit.org/show_bug.cgi?id=80904
Reviewed by Alexey Proskuryakov.
A const pointer to a large object like ApplicationCacheHost is not our standard
practice; so remove this (implicit) one. See also https://bugs.webkit.org/show_bug.cgi?id=80898
Source/WebCore:
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::canCacheInPageCache):
* loader/appcache/ApplicationCacheHost.h:
(ApplicationCacheHost):
Source/WebKit/chromium:
* src/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::canCacheInPageCache):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110564
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
schenney@chromium.org [Tue, 13 Mar 2012 15:14:57 +0000 (15:14 +0000)]
Crash in WebCore::GraphicsContext::paintingDisabled
https://bugs.webkit.org/show_bug.cgi?id=80669
Reviewed by Nikolas Zimmermann.
Source/WebCore:
The SVGImageBufferTools::clipToImageBuffer method deletes the clip
image when it thinks it is not needed. However, there are cases when
it is in fact still needed, particularly when the clip buffer is
coming from higher up in the stack where it may be needed again.
So this patch adds a flag to only allow deletion of the image buffer
if it was created at the most recent call site.
Tests: svg/custom/circular-clip-path-references-crash-expected.svg
svg/custom/circular-clip-path-references-crash.svg
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::clipToTextMask):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
* rendering/svg/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::clipToImageBuffer):
* rendering/svg/SVGImageBufferTools.h:
(SVGImageBufferTools):
LayoutTests:
* svg/custom/circular-clip-path-references-crash-expected.svg: Added.
* svg/custom/circular-clip-path-references-crash.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110563
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 15:02:49 +0000 (15:02 +0000)]
Remove ActiveNodeContext in favour of BlackBerry::Platform::WebContext
https://bugs.webkit.org/show_bug.cgi?id=80984
Remove ActiveNodeContext, and switch the implementation to
provide a BlackBerry::Platform::WebContext. The new object
adds an explicit IsImage flag, as well as IsAudio and IsVideo
for the HTML5 elements.
Note that for many videos both IsVideo and IsAudio will be true,
as videos typically have audio streams as well.
Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-03-13
Reviewed by George Staikos.
* Api/ActiveNodeContext.h: Removed.
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::webContext):
(BlackBerry::WebKit::WebPage::webContext):
* Api/WebPage.h:
* Api/WebPage_p.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110562
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gavinp@chromium.org [Tue, 13 Mar 2012 14:57:53 +0000 (14:57 +0000)]
Fix an enumeration name in ReasonsFrameCannotBeInPageCache.
https://bugs.webkit.org/show_bug.cgi?id=80849
Reviewed by Brady Eidson.
It seems that somebody goofed, and named one of the
ReasonsFrameCannotBeInPageCache antonymically.
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110561
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kinuko@chromium.org [Tue, 13 Mar 2012 14:38:27 +0000 (14:38 +0000)]
File upload control should use File.name() rather than File.path() to show chosen filenames
https://bugs.webkit.org/show_bug.cgi?id=80970
In some rare cases (e.g. files from FileSystem API or files created
using the newly added WebKit API) File.name has different displayName
from the basename of file.path, and in the file uploader controller we
should use File.name rather than File.path.
Reviewed by Kent Tamura.
No new tests: existing tests should pass as this should not change
behavior in regular use cases. (New behavior where File.name differs
from File.path can be only tested in chromeos environment, therefore
not adding new tests for that)
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::fileListNameForWidth): Updated to handle FileList.
* platform/gtk/RenderThemeGtk.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::fileListNameForWidth): Updated to handle FileList.
* platform/qt/RenderThemeQt.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::fileTextValue): Changed to pass FileList rather than FileList->paths().
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::fileListNameForWidth): Updated to handle FileList and use File.name for displaying the file name.
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::fileListNameForWidth): Updated to handle FileList.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110560
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 13 Mar 2012 14:09:46 +0000 (14:09 +0000)]
Dromaeo perf-tests results are wrong
https://bugs.webkit.org/show_bug.cgi?id=80974
Reviewed by Hajime Morita.
Dromaeo perf-tests had reported the sum of runs/seconds as "ms".
This patch fixes them to report the execution time per run.
At present, they report "0.0ms" for "stdev". This is because
dromaeorunner.js can just know stdev of "runs/seconds"
and cannot calculate stdev of "ms" from that. We can fix it later.
* Dromaeo/resources/dromaeorunner.js:
(.):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110559
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Tue, 13 Mar 2012 14:09:18 +0000 (14:09 +0000)]
[Qt] Skip some tests until fix.
Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-03-13
Reviewed by Csaba Osztrogonác.
* platform/qt/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110558
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kinuko@chromium.org [Tue, 13 Mar 2012 14:06:48 +0000 (14:06 +0000)]
Allow WebFileChooser to return extra file info (like displayName) in addition to mere file paths
https://bugs.webkit.org/show_bug.cgi?id=80719
Reviewed by Kent Tamura.
Source/WebCore:
No new tests: this change itself shouldn't change existing behavior.
* fileapi/File.cpp:
(WebCore::createBlobDataForFileWithName): Renamed from createBlobDataForFileSystemFile.
* fileapi/File.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::saveFormControlState): Updated to handle File.name.
(WebCore::FileInputType::restoreFormControlState): Ditto.
(WebCore::FileInputType::setFileList): Changed the signature to take
FileChooserFileInfo.
(WebCore::FileInputType::filesChosen): Ditto.
(WebCore::FileInputType::receiveDroppedFiles):
* html/FileInputType.h:
(FileInputType):
* platform/FileChooser.cpp:
(WebCore::FileChooser::chooseFiles): Added an overloaded method that
takes FileChooserFileInfo.
(WebCore):
* platform/FileChooser.h:
(WebCore::FileChooserFileInfo::FileChooserFileInfo): Added.
* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Removed surrouonding ifdefs as this function is now used even if FILE_SYSTEM is not enabled.
* platform/MIMETypeRegistry.h:
(MIMETypeRegistry):
Source/WebKit/chromium:
* public/WebFileChooserCompletion.h:
(SelectedFileInfo): Added.
(WebFileChooserCompletion):
(WebKit::WebFileChooserCompletion::didChooseFile): Added an overloaded
method that takes SelectedFileInfo.
* src/WebFileChooserCompletionImpl.cpp:
(WebKit::WebFileChooserCompletionImpl::didChooseFile): Ditto.
(WebKit):
* src/WebFileChooserCompletionImpl.h:
(WebFileChooserCompletionImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110557
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 12:38:37 +0000 (12:38 +0000)]
[EFL] Remove a duplicate allocation of matrix entry.
https://bugs.webkit.org/show_bug.cgi?id=79362
Patch by JungJik Lee <jungjik.lee@samsung.com> on 2012-03-13
Reviewed by Zoltan Herczeg.
A matrix entry is created when calling ewk_matrix_new.
Another matrix is created inside ewk_tile_matrix_zoom_level_set.
This patch is for getting rid of a duplicated creation of the matrix.
* ewk/ewk_tiled_backing_store.cpp:
(_Ewk_Tiled_Backing_Store_Item):
(_ewk_tiled_backing_store_zoom_set_internal):
* ewk/ewk_tiled_matrix.cpp:
(ewk_tile_matrix_new):
(ewk_tile_matrix_zoom_level_set):
(ewk_tile_matrix_entry_new):
(ewk_tile_matrix_size_get):
* ewk/ewk_tiled_matrix.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110556
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Tue, 13 Mar 2012 12:28:18 +0000 (12:28 +0000)]
Unreviewed, skipping some more failing tests.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110555
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 13 Mar 2012 12:25:02 +0000 (12:25 +0000)]
Unreviewed inspector compilation module name fix after r110550.
* inspector/compile-front-end.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110554
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 12:24:56 +0000 (12:24 +0000)]
[Qt] Set correct device width and height.
https://bugs.webkit.org/show_bug.cgi?id=80980
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-03-13
Reviewed by Tor Arne Vestbø.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::computeViewportConstraints):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110553
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 13 Mar 2012 10:00:50 +0000 (10:00 +0000)]
Unreviewed, skip new failing test on GTK.
* platform/gtk/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110552
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Tue, 13 Mar 2012 09:57:52 +0000 (09:57 +0000)]
Unreviewed, marking a test as fail which needs reaseline.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110551
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 13 Mar 2012 09:47:46 +0000 (09:47 +0000)]
Web Inspector: Changes to the list of scripts for front-end compilation should not require update of number of scripts in module.
https://bugs.webkit.org/show_bug.cgi?id=80872
Reviewed by Pavel Feldman.
* inspector/compile-front-end.py: Added.
* inspector/compile-front-end.sh:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110550
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
podivilov@chromium.org [Tue, 13 Mar 2012 09:10:42 +0000 (09:10 +0000)]
Web Inspector: move ResourceScriptMapping to a separate file.
https://bugs.webkit.org/show_bug.cgi?id=80859
Reviewed by Vsevolod Vlasov.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/ResourceScriptMapping.js: Copied from Source/WebCore/inspector/front-end/ScriptMapping.js.
(WebInspector.ResourceScriptMapping):
(WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
(WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeListChanged):
(WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
(WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
(WebInspector.ResourceScriptMapping.prototype.setFormatSource):
(WebInspector.ResourceScriptMapping.prototype.forceUpdateSourceMapping):
(WebInspector.ResourceScriptMapping.prototype.reset):
* inspector/front-end/ScriptMapping.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110549
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Tue, 13 Mar 2012 08:56:17 +0000 (08:56 +0000)]
Unreviewed, skipping some failing tests.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110548
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 13 Mar 2012 08:48:36 +0000 (08:48 +0000)]
Rename OptionsObject to Dictionary
https://bugs.webkit.org/show_bug.cgi?id=80802
Reviewed by Adam Barth.
For clarification, rename OptionsObject.{h,cpp} to Dictionary.{h,cpp}.
This patch just renames and sorts alphabetically.
No tests. No change in behavior.
* GNUmakefile.list.am:
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
* Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::createObjectStore):
(IDBDatabase):
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBKeyRange.h:
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
* Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::createIndex):
(IDBObjectStore):
* Modules/indexeddb/IDBObjectStore.idl:
* Target.pri:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* bindings/js/Dictionary.h: Renamed from Source/WebCore/bindings/js/OptionsObject.h.
(WebCore):
(Dictionary):
(WebCore::Dictionary::Dictionary):
(WebCore::Dictionary::isObject):
(WebCore::Dictionary::isUndefinedOrNull):
(WebCore::Dictionary::get):
(WebCore::Dictionary::getWithUndefinedOrNullCheck):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createDictionaryFromValue):
* bindings/js/IDBBindingUtilities.h:
(WebCore):
* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateParametersCheck):
(GenerateEventConstructorCallback):
(GetNativeType):
(JSValueToNative):
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::optionsObject):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_options_object):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj optionsObject:ooo:]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::constructorCallback):
(WebCore::fillTestEventConstructorInit):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::optionsObjectCallback):
* bindings/v8/Dictionary.cpp: Renamed from Source/WebCore/bindings/v8/OptionsObject.cpp.
(WebCore):
(WebCore::Dictionary::Dictionary):
(WebCore::Dictionary::~Dictionary):
(WebCore::Dictionary::operator=):
(WebCore::Dictionary::isObject):
(WebCore::Dictionary::isUndefinedOrNull):
(WebCore::Dictionary::getKey):
(WebCore::Dictionary::get):
(WebCore::Dictionary::getWithUndefinedOrNullCheck):
* bindings/v8/Dictionary.h: Renamed from Source/WebCore/bindings/v8/OptionsObject.h.
(WebCore):
(Dictionary):
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::observeCallback):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110547
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Tue, 13 Mar 2012 08:38:38 +0000 (08:38 +0000)]
REGRESSION: Spellcheck tests hit assertions on Mac.
https://bugs.webkit.org/show_bug.cgi?id=80883
Reviewed by Ryosuke Niwa.
Source/WebKit/mac:
The bug was caused by the closure object created in requestCheckingOfString accessing
request's member variables even though the request object is not an NSObject or allocated
in stack. This resulted in the closure not being able to access those variables when invoked.
Fixed the bug by making local copies of those member variables.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):
LayoutTests:
Some words used in spellcheck-paste.js are considered as correct spellings in Mac's spellchecker.
This patch changes them into 'zz' so that Mac's spellchecker can make them as misspelling.
* editing/spelling/script-tests/spellcheck-paste.js:
(pasteAndVerify.trial):
(pasteAndVerify):
(tests):
* editing/spelling/spellcheck-paste-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110546
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Tue, 13 Mar 2012 08:27:14 +0000 (08:27 +0000)]
SVG Animations update baseVal instead of animVal
https://bugs.webkit.org/show_bug.cgi?id=12437
Reviewed by Dirk Schulze.
Source/WebCore:
Begin implementing the last missing core piece of the SVG DOM: proper animVal support.
Most SVG DOM interfaces exposing eg. lengths use SVGAnimatedLength. eg. from SVGRectElement:
"readonly attribute SVGAnimatedLength x;" SVGAnimatedXXX contains following methods:
"readonly attribute SVGLength baseVal; readonly attribute SVGLength animVal;"
From SVG DOM perspective, animVal and baseVal are two distinctive objects, animVal != baseVal.
Its underlying value is the same though, if no animation is running on that attribute.
As soon as a SMIL animation starts animating an SVGAnimated* target attribute, its
baseVal and animVal may begin to differ. The animVal always reflect the current animated
value (including all effects of additive/accumulated animations) which is shown on screen
when eg animating the width of a <rect>. The baseVal is is equal to the underlying XML
property value / SVG DOM value, but may be influenced through dynamic changes.
(Consider changing rect1.width.baseVal.value while 'width' is animated)
During the last year we prepared our animation code to turn on animVal support.
This patch adds the last missing pieces to turn on animVal support for the SVGLength.
SVGLengthList and all other types will follow, one after the other.
I've decided to write an exhaustive ChangeLog, as this as the base for any future
work in this area - hopefully making this more reviewable.
Tests: svg/animations/additive-from-to-width-animation.html
svg/animations/additive-values-width-animation.html
svg/animations/change-baseVal-while-animating-fill-freeze-2.html
svg/animations/change-baseVal-while-animating-fill-freeze.html
svg/animations/change-baseVal-while-animating-fill-remove-2.html
svg/animations/change-baseVal-while-animating-fill-remove.html
svg/animations/change-target-while-animating-SVG-property.html
svg/animations/multiple-animations-fill-freeze.html
svg/animations/remove-animation-element-while-animation-is-running.html
svg/repaint/repainting-after-animation-element-removal.svg
* svg/SVGAnimateElement.cpp: Remove unnecessary std namespace inclusion.
(WebCore::SVGAnimateElement::SVGAnimateElement): Remove now-obsolete m_aboutToStopAnimation.
(WebCore::SVGAnimateElement::calculateAnimatedValue): Swap assertion order, to test hasTagName() _before_ casting.
(WebCore::SVGAnimateElement::resetToBaseValue):
Stop relying on the cached baseValue (breaking additive="sum"+values animation) for SVG DOM primitive animations.
Avoid any string roundtrips previously needed to reset the SVGAnimatedType to the base value. Just grab the
currentBaseValue() from the associated SVGAnimatedProperty, which includes all dynamic changes to the baseVal
either by SVG DOM or setAttribute() calls - this way we don't need to utilize the buggy cache in SMILTimeContainer,
which can be removed once all SVG DOM primitive types switched to the new animVal concept.
NOTE: When multiple animations of the same attribute are applied to a target element, resetToBaseValue() will be called
for the highest priority SVGSMILElement, on every animation step! Consider two <animate> elements, applied to a target
<rect> which both animate the 'x' attribute, one from 0s to 2s, the other from 4s to 6s. The last <animate> element
will reuse the SVGAnimatedType m_animatedType from the first <animate> element, and never create an own m_animatedType.
When the animation starts the first time at 0s, we update the rect.x.animVals SVGLength* pointer, to point to the
SVGAnimatedType of the first <animate> element, owning the m_animatedType. From that point on each call to rect.x.animVal
will always return the same value as the SVGAnimatedType of the first <animate> element holds. Now after 2s the first
<animate> element becomes inactive, but its m_animatedType remains alive. The bindings don't notice this change at all.
Now at 4s, the second animation element gets active. It reuses the SVGAnimatedType of the first <animate> element, and
applies its animation changes to that SVGAnimatedType, which is immediately reflected in the bindings w/o any additional
work. It's very important for the understanding when animationStarted/animationEnded need to be called.
(WebCore::SVGAnimateElement::applyResultsToTarget): Remove now-obsolete m_aboutToStopAnimation logic. No need to know it at this point.
(WebCore::SVGAnimateElement::targetElementWillChange):
Renamed from targetElementDidChange(). This method is called from SVGSMILElement for following conditions:
- animation element is destructed
- animation element is removed from document
- target element of animation is destructed
- target element of animation is removed from document
- target element of animation changes id
Whenever any of this happens, we need to reset the animVal. Resetting the animVal involves resetting the PropertyType* pointer,
eg. SVGLength*, from the animVal property tear off, belonging to a certain SVGAnimatedProperty (eg. rect.x) to the initial
value again, which is the 'm_x' of the SVGRectElement. This is needed as the SVGAnimatedType the animVal currently points to,
if an animation is/was running, is destructed in targetElementWillChange(), to reset the SVGAnimateElement to the initial
state before it received a target. This is the only place which destructed the m_animatedType, and thus the only place that
needs to take care of resetting the animVal pointers.
* svg/SVGAnimatedLength.cpp:
(WebCore::SVGAnimatedLengthAnimator::constructFromCopy):
Add a new constructFromCopy(SVGGenericAnimatedType) function to SVGAnimatedLengthAnimator.
It takes a type-unsafe SVGGenericAnimatedType - the caller has to guarantee the type matches.
This is strictly enforced for the single caller of constructFromCopy, and guaranteed to be safe.
* svg/SVGAnimatedLength.h: Add new constructFromCopy method, which is used to avoid string-roundtrips when resetting to base values.
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::supportsAnimVal): Only returns true for AnimatedLength, for now.
(WebCore::SVGAnimatedType::setVariantValue): Takes a SVGGenericAnimatedType, assuming the type matches. Callers have to guarantee type-safety!
* svg/SVGAnimatedType.h:
(SVGAnimatedType): Add new static supportsAnimVal(AnimatedPropertyType) function.
(WebCore::SVGAnimatedType::variantValue): Add a generic accessor for all animated types, called variant(). Only one place uses this.
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::constructFromCopy):
New method to construct an eg. SVGAnimatedLengthAnimator right from a SVGLength, instead of a String.
In that case the SVGAnimatedType just stores a pointer to the underlying SVGLength, no copying and or other roundtrips involved.
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::svgAttributeChanged):
Implement this instead of attributeChanged. The previous implementation reset the animation state to Inactive, causing a full
rebuild, whenever any attribute changes, even though it might not be related for the animation element, eg.
animate.setAttribute("stdDeviationX", "foobar"). Fix that by checking if we support the attribute (keyTimes/keySplines/etc..)
, if not pass it on to SVGSMILElement (which supports begin/end/etc..) to check if it can handle that.
(WebCore::SVGAnimationElement::animationAttributeChanged):
Called from our svgAttributeChanged, and/or from SVGSMILElement::svgAttributeChanged, whenever a _known_ attribute has changed.
This sledgehammer should be used with care, instead of each time attributeChanged() is called :-)
(WebCore::setTargetAttributeAnimatedCSSValue):
Remove support for removing properties from the override style sheet. I've added this optimization too early, we should reevaluate
this once more types support animVal. It currently complexifies the logic too much, requiring setAttributeAnimatedValue to know
if the animation ends (and that's not easy to figure out, at least not using started/endedActiveInterval, as I anticipated).
(WebCore::findMatchingAnimatedProperty):
Add helper functions which retrieves a SVGAnimatedProperty* for a given SVGElement* targetElement, an attributeName, and an attribute
type. eg. findMatchingAnimatedProperty(myRectElement, SVGNames::xAttr, AnimatedLength) returns the SVGAnimatedProperty which is
exposed to JS, that holds: SVGProperty* baseVal, and SVGProperty* animVal. (Lazily created if they got accessed from JS.). This is
used to update the animVal pointing to a new eg. SVGLength* value, once animation has started, to make rect->x() return that new
SVGLength* value (internally), and to reflect the current animated value in rect.x.animVal.value from JS.
(WebCore::SVGAnimationElement::applyAnimatedValue): Refactored from setTargetAttributeAnimatedValue, to simplify the code.
(WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
Helper function to share code betweeen animationStarted/animationEnded.
It takes a SVGAnimatedProperty* and a SVGAnimatedType* which may be zero, indicating that the animation ended.
It calls animationStarted/animationEnded on the given SVGAnimatedProperty, to update the animVal state.
It also figures out all instances of the target element, and their SVGAnimatedProperties that may need updating.
(WebCore::SVGAnimationElement::animationStarted): Uses the helper above, passing on the given animatedType.
(WebCore::SVGAnimationElement::animationEnded): Uses the helper above, passing 0 as animatedType.
(WebCore::InstanceUpdateBlocker::InstanceUpdateBlocker):
Added new helper struct, doing element->setInstancesUpdatedBlock(true) on construction and setInstancesUpdatesBlocked(false) on
destruction, making it impossible to forget one. If we ever rewrite svgAttributeChanged & co to auto-update the cloned instances,
this can go away.
(WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
Now takes an SVGAnimatedType* instead of a String parameter. In order to avoid string-roundtrips for animVal support, let us
decide if we need to construct a String out of it, or not. For animations supporting animVal (only SVGLength) we don't need
to update any attribute or animVal pointer here, that happens automatically! We only need to notify the targetElement eg,
that its xAttr changed! Previously we had to call targetElement->setAttribute("x", "...") on every animation step for
SVGLength animations - that's gone now! The SVGAnimatedType pointers remains the same during the whole animation, so there's
no need to call animationStarted() at each animated step!
(WebCore::SVGAnimationElement::animatedPropertyForType):
Helper function returning a SVGAnimatedProperty* for the current target element & current target attribute, if the
current animation is running on a type supporting animVal (SVGLength), or returning 0. This is needed for SVGAnimateElement.
Reuses the existing findMatchingAnimatedProperty code.
* svg/SVGAnimationElement.h:
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
Add comment to clarify why caching baseValues is just wrong. For SVGLength animations the problem is now gone.
This is exercised using the new additive-from-to-width-animation.html & additive-values-width-animation.html tests.
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::removedFromDocument):
Since animVal requires that the SVGAnimatedProperties are correctly reset if an animation element is removed from the document,
we have to call targetElementWillChange(0) from here. That requires to move the "m_attributeName = anyQName()" line down,
otherwise targetElementWillChange() would early exit, as no valid attributeName was specified.
This is verified using the new svg/animations/remove-animation-element-while-animation-is-running.html
and svg/repaint/repainting-after-animation-element-removal.svg tests.
(WebCore::SVGSMILElement::isSupportedAttribute): Add function like all SVG*Elements have identifying their supported attributes.
(WebCore::SVGSMILElement::svgAttributeChanged):
Implement svgAttributeChanged instead of attributeChanged. Only take action if the attribute is actually supported.
If one of the common attributes like begin/end/etc. changed, be sure to call animationAttributeChanged() so that our
ancestor-classes get notified about this and can take action as well. NOTE: This is not about animating begin/end attributes,
but about pure DOM changes. begin/end/et.. are not exposed to the SVG DOM, we still reuse the svgAttributeChanged logic
for consistency. (This does NOT make those attributes animatable, nothing this here as it came up while reviewing).
(WebCore::SVGSMILElement::targetElement): Adapt logic to targetElementDidChange -> targetElementWillChange change.
(WebCore::SVGSMILElement::targetElementWillChange):
Renamed from targetElementDidChange. Added "oldTarget" as parameter as well. Our ancestor-classes like SVGAnimateElement
use this to properly deregister the animVal in the old target, before resetting the SVGAnimatedType, otherwise we'd leave
dangling pointers around (verified manually by guard malloc runs, that none of this happens).
Also add a default implementation here in targetElementWillChange, that ancestor classes have to call.
Now we properly call endedActiveInterval() if the m_activeState is currently Active, so that animations are shut-down
just like if the animation properly ends (use the same cleanup routines, etc.). Not doing that now leads to assertions.
(WebCore::SVGSMILElement::resetTargetElement):
Instead of forcing m_activeState to be inactive, use the standard methods to end the animation.
targetElementWillChange(m_targetElement, 0) and animationAttributeChanged().
resetTargetElement() is only called by SVGDocumentExtensions::removeAllAnimationElementsFromTarget() for following conditions:
- targetElement gets destructed
- targetElement gets removed from the document
- targetElement id changes
If the targetElement gets destructed or removed, no actions need to be taken, as the SVGAnimatedPropertys are teared down
as well. But if only the id changes, we still have to properly disconnect the animVals - this is all handled through
targetElementWillChange now - that's why this has to be called from here as well.
That explains why targetElementWillChange() now needs to check if the targetElement is destructing or not.
* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
Pass the AnimatedPropertyType from the SVGPropertyInfo to the SVGAnimatedProperties.
Requires mechanic changes in all SVGAnimated* classes. We need acccess to the AnimatedPropertyType
to verify the SVGAnimatedType objects, passed to animationStarted, match our type. This is to enforce
strict type-checking, whenever SVGGenericAnimatedTypes are passed around.
(WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
(WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
* svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
(WebCore::SVGAnimatedListPropertyTearOff::create):
(WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
(WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
* svg/properties/SVGAnimatedProperty.h: Store AnimatedPropertyType, add accessors.
(WebCore::SVGAnimatedProperty::animatedPropertyType): Add accessor.
(WebCore::SVGAnimatedProperty::animationValueChanged): New animVal related functions to be implemented in the animated tear offs.
(WebCore::SVGAnimatedProperty::animationStarted): Ditto.
(WebCore::SVGAnimatedProperty::animationEnded): Ditto.
(WebCore::SVGAnimatedProperty::currentBaseValue):
Generic accessor for the baseVal: returns a SVGGenericAnimatedType.
It takes an AnimatedPropertyType as input, that's only needed to verify that the type we're returning matches
the expectation of the caller. If not, return 0 to avoid any potential casting mistakes, which would lead to crashes.
(WebCore::SVGAnimatedProperty::SVGAnimatedProperty): Store m_animatedPropertyType.
* svg/properties/SVGAnimatedPropertyTearOff.h:
(WebCore::SVGAnimatedPropertyTearOff::create): Same changes as in the other tear offs: pass around AnimatedPropertyType.
(WebCore::SVGAnimatedPropertyTearOff::currentBaseValue): Returns &m_property, if the type matches (see above).
(SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
(WebCore::SVGAnimatedPropertyTearOff::animationValueChanged): No-op for non list types, don't need to do anything here.
(WebCore::SVGAnimatedPropertyTearOff::animationStarted):
(WebCore::SVGAnimatedPropertyTearOff::animationEnded):
Store the currently animated value in the animVal() property tear off, that's also re-used as-is for the JS bindings.
As this is important, here's an example of how this affects methods like rect->x() used in the renderers.
Setting m_isAnimating to true, redirects any rect->x() calls that previously returned rect->m_x, to
rect->xAnimated()->animVal()->propertyReference() (which returns the same SVGLength& that the SVGAnimatedElement
m_animatedType contains). Calling rect->setXBaseValue() still modifies rect->m_x, and is used by all parseAttribute()
methods in svg/ as setAttribute() calls only ever modify the "baseValue", never the current animated value.
rect.x.baseVal will return a SVGLength object corresponding to rect->m_x.
rect.x.animVal will return a SVGLength object corresponding to rect->xAnimated()->animVal()->propertyReference().
These implementation details are all hidden in the SVGAnimatedPropertyMacros. Here's an example from SVGRectElement:
DECLARE_ANIMATED_LENGTH(X, x) -> Replace PropertyType with 'SVGLength', LowerProperty with 'x', and UpperProperty with 'X'.
PropertyType& LowerProperty() const
{
if (TearOffType* wrapper = SVGAnimatedProperty::lookupWrapper<UseOwnerType, TearOffType, IsDerivedFromSVGElement<UseOwnerType>::value>(this, LowerProperty##PropertyInfo())) {
if (wrapper->isAnimating())
return wrapper->currentAnimatedValue();
}
return m_##LowerProperty.value;
}
PropertyType& LowerProperty##BaseValue() const
{
return m_##LowerProperty.value;
}
void set##UpperProperty##BaseValue(const PropertyType& type)
{
m_##LowerProperty.value = type;
}
Any code outside of svg/, eg. in rendering/svg, does not need to care about any baseVal/animVal differences.
During layout eg. RenderSVGRect calls rect->x().value(someLengthContext) to get the current 'x' as float. If an animation
is running on that rect element it will automatically retrieve the last set animated value here - all under the hood.
I hope that sheds some light in those myserious functions, they were designed with animVal in mind, but we never had that until now :-)
(WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
(WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): Add destructor to debug builds veryifing that m_isAnimating is false.
* svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
(WebCore::SVGAnimatedStaticPropertyTearOff::create):
(WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
* svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
(WebCore::SVGAnimatedTransformListPropertyTearOff::create):
(WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
* svg/properties/SVGPropertyInfo.h: Add SVGGenericAnimatedType definition.
* svg/properties/SVGPropertyTearOff.h: Remove obsolete updateAnimVal method - switched to using setValue directly.
LayoutTests:
Update test expectations after turning on animVal support for SVGLength, the first primitive now support animVal.
Added several new tests, checking additive behaviour with SVGLength objects, removing animation elements
while animations are running (+ test repainting of those cases), etc.
* platform/mac/svg/repaint/repainting-after-animation-element-removal-expected.png: Added.
* platform/mac/svg/repaint/repainting-after-animation-element-removal-expected.txt: Added.
* svg/animations/additive-from-to-width-animation-expected.txt: Added.
* svg/animations/additive-from-to-width-animation.html: Added.
* svg/animations/additive-values-width-animation-expected.txt: Added.
* svg/animations/additive-values-width-animation.html: Added.
* svg/animations/animVal-basics-expected.txt:
* svg/animations/animate-calcMode-spline-by-expected.txt:
* svg/animations/animate-calcMode-spline-from-by-expected.txt:
* svg/animations/animate-calcMode-spline-from-to-expected.txt:
* svg/animations/animate-calcMode-spline-to-expected.txt:
* svg/animations/animate-calcMode-spline-values-expected.txt:
* svg/animations/animate-elem-02-t-drt-expected.txt:
* svg/animations/animate-elem-09-t-drt-expected.txt:
* svg/animations/animate-elem-10-t-drt-expected.txt:
* svg/animations/animate-elem-11-t-drt-expected.txt:
* svg/animations/animate-elem-12-t-drt-expected.txt:
* svg/animations/animate-elem-13-t-drt-expected.txt:
* svg/animations/animate-elem-14-t-drt-expected.txt:
* svg/animations/animate-elem-15-t-drt-expected.txt:
* svg/animations/animate-elem-16-t-drt-expected.txt:
* svg/animations/animate-elem-17-t-drt-expected.txt:
* svg/animations/animate-elem-18-t-drt-expected.txt:
* svg/animations/animate-elem-19-t-drt-expected.txt:
* svg/animations/animate-end-attribute-expected.txt:
* svg/animations/animate-endElement-beginElement-expected.txt:
* svg/animations/animate-from-to-keyTimes-expected.txt:
* svg/animations/animate-insert-begin-expected.txt:
* svg/animations/animate-insert-no-begin-expected.txt:
* svg/animations/animate-keySplines-expected.txt:
* svg/animations/animate-number-calcMode-discrete-keyTimes-expected.txt:
* svg/animations/attributeTypes-expected.txt:
* svg/animations/change-baseVal-while-animating-fill-freeze-2-expected.txt: Added.
* svg/animations/change-baseVal-while-animating-fill-freeze-2.html: Added.
* svg/animations/change-baseVal-while-animating-fill-freeze-expected.txt: Added.
* svg/animations/change-baseVal-while-animating-fill-freeze.html: Added.
* svg/animations/change-baseVal-while-animating-fill-remove-2-expected.txt: Added.
* svg/animations/change-baseVal-while-animating-fill-remove-2.html: Added.
* svg/animations/change-baseVal-while-animating-fill-remove-expected.txt: Added.
* svg/animations/change-baseVal-while-animating-fill-remove.html: Added.
* svg/animations/change-target-while-animating-SVG-property-expected.txt: Added.
* svg/animations/change-target-while-animating-SVG-property.html: Added.
* svg/animations/multiple-animations-fill-freeze-expected.txt: Added.
* svg/animations/multiple-animations-fill-freeze.html: Added.
* svg/animations/remove-animation-element-while-animation-is-running-expected.txt: Added.
* svg/animations/remove-animation-element-while-animation-is-running.html: Added.
* svg/animations/resources/additive-from-to-width-animation.svg: Added.
* svg/animations/resources/additive-values-width-animation.svg: Added.
* svg/animations/resources/change-baseVal-while-animating-fill-freeze.svg: Added.
* svg/animations/resources/change-baseVal-while-animating-fill-remove.svg: Added.
* svg/animations/resources/change-target-while-animating-SVG-property.svg: Added.
* svg/animations/resources/multiple-animations-fill-freeze.svg: Added.
* svg/animations/resources/remove-animation-element-while-animation-is-running.svg: Added.
* svg/animations/script-tests/additive-from-to-width-animation.js: Added.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/additive-values-width-animation.js: Added.
(sample1):
(sample2):
(sample3):
(changeBaseVal):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/animVal-basics.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-by.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-from-by.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-from-to.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-to.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-calcMode-spline-values.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-elem-02-t-drt.js:
(sampleAfterBegin):
(sampleAfterMid):
(sampleAfterBeginOfFirstRepetition):
(sampleAfterMidOfFirstRepetition):
* svg/animations/script-tests/animate-elem-09-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-10-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-11-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-12-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-13-t-drt.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-elem-14-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-15-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-16-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-17-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-18-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-elem-19-t-drt.js:
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-end-attribute.js:
(sample2):
(sample3):
* svg/animations/script-tests/animate-endElement-beginElement.js:
(sample1):
* svg/animations/script-tests/animate-from-to-keyTimes.js:
(sample1):
(sample2):
* svg/animations/script-tests/animate-insert-begin.js:
(sample1):
(sample2):
* svg/animations/script-tests/animate-insert-no-begin.js:
(sample1):
(sample2):
* svg/animations/script-tests/animate-keySplines.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/animate-number-calcMode-discrete-keyTimes.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/attributeTypes.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/change-baseVal-while-animating-fill-freeze-2.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-baseVal-while-animating-fill-freeze.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-baseVal-while-animating-fill-remove-2.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-baseVal-while-animating-fill-remove.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-target-while-animating-SVG-property.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/multiple-animations-fill-freeze.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(sample7):
(sample8):
(executeTest):
* svg/animations/script-tests/remove-animation-element-while-animation-is-running.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(executeTest):
* svg/animations/script-tests/svglength-animation-LengthModeHeight.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-LengthModeOther.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-LengthModeWidth.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-invalid-value-1.js:
(sample2):
* svg/animations/script-tests/svglength-animation-invalid-value-2.js:
(sample2):
* svg/animations/script-tests/svglength-animation-invalid-value-3.js:
(sample2):
* svg/animations/script-tests/svglength-animation-number-to-number.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-cm.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-ems.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-exs.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-in.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-number.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-pc.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-percentage.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-pt.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-px-to-px.js:
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-unitType.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svglength-animation-values.js:
(sample2):
(sample3):
(sample4):
(sample5):
* svg/animations/svglength-animation-LengthModeHeight-expected.txt:
* svg/animations/svglength-animation-LengthModeOther-expected.txt:
* svg/animations/svglength-animation-LengthModeWidth-expected.txt:
* svg/animations/svglength-animation-invalid-value-1-expected.txt:
* svg/animations/svglength-animation-invalid-value-2-expected.txt:
* svg/animations/svglength-animation-invalid-value-3-expected.txt:
* svg/animations/svglength-animation-number-to-number-expected.txt:
* svg/animations/svglength-animation-px-to-cm-expected.txt:
* svg/animations/svglength-animation-px-to-ems-expected.txt:
* svg/animations/svglength-animation-px-to-exs-expected.txt:
* svg/animations/svglength-animation-px-to-in-expected.txt:
* svg/animations/svglength-animation-px-to-number-expected.txt:
* svg/animations/svglength-animation-px-to-pc-expected.txt:
* svg/animations/svglength-animation-px-to-percentage-expected.txt:
* svg/animations/svglength-animation-px-to-pt-expected.txt:
* svg/animations/svglength-animation-px-to-px-expected.txt:
* svg/animations/svglength-animation-unitType-expected.txt:
* svg/animations/svglength-animation-values-expected.txt:
* svg/repaint/repainting-after-animation-element-removal.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
macpherson@chromium.org [Tue, 13 Mar 2012 08:12:12 +0000 (08:12 +0000)]
Implement CSSPropertyTextOverflow in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=80934
Reviewed by Andreas Kling.
No new tests / refactoring only.
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110544
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Tue, 13 Mar 2012 07:28:46 +0000 (07:28 +0000)]
Unreviewed, inspector test rebaseline after r110532.
* inspector/styles/svg-style-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110543
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 07:24:42 +0000 (07:24 +0000)]
[Forms] Re-factor label.for tests for extending test coverage
https://bugs.webkit.org/show_bug.cgi?id=80574
Patch by Yosifumi Inoue <yosin@chromium.org> on 2012-03-13
Reviewed by Kent Tamura.
This patch changes label.labels attribute testing with using shared
utility functions, createFormControlDataSet for representing form
related information of HTML5 specification and setupLabelsTeset for
populating test sample dom tree and data set.
This patch extends coverage of existing label.labels test to cover
defined in the specification, labelable-elements.html, and adds
multiple label entries tests, labels-multiple-*.html.
Note: test failure of hidden input type will be fixed by
https://bugs.webkit.org/show_bug.cgi?id=80403
Note: test failure of output element will be fixed by
https://bugs.webkit.org/show_bug.cgi?id=80466
* fast/forms/label/labelable-elements-expected.txt: Added.
* fast/forms/label/labelable-elements.html: Added.
* fast/forms/label/labels-add-htmlFor-label-expected.txt:
* fast/forms/label/labels-add-htmlFor-label.html:
* fast/forms/label/labels-add-parent-label-expected.txt:
* fast/forms/label/labels-add-parent-label.html:
* fast/forms/label/labels-change-htmlFor-attribute-expected.txt:
* fast/forms/label/labels-change-htmlFor-attribute.html:
* fast/forms/label/labels-multiple-sibling-labels-expected.txt: Added.
* fast/forms/label/labels-multiple-sibling-labels.html: Added.
* fast/forms/label/labels-parent-and-sibling-labels-expected.txt: Added.
* fast/forms/label/labels-parent-and-sibling-labels.html: Added.
* fast/forms/label/labels-remove-htmlFor-attribute-expected.txt:
* fast/forms/label/labels-remove-htmlFor-attribute.html:
* fast/forms/label/labels-remove-htmlFor-label-expected.txt:
* fast/forms/label/labels-remove-htmlFor-label.html:
* fast/forms/label/labels-remove-parent-label-expected.txt:
* fast/forms/label/labels-remove-parent-label.html:
* fast/forms/label/labels-set-htmlFor-attribute-expected.txt:
* fast/forms/label/labels-set-htmlFor-attribute.html:
* fast/forms/resources/common.js:
(createFormControlDataSet): Returns form control data set for providing
labelable elements and supported elements information.
* fast/forms/resources/label-test-util.js: Added.
(setupLabelsTest.return.dataSet.dataSet.getLabelableElementData):
(setupLabelsTest): Populate dom tree for unit tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 06:42:41 +0000 (06:42 +0000)]
Switch Chromium from LocaleToScriptMappingICU.cpp to LocaleToScriptMappingDefault.cpp
https://bugs.webkit.org/show_bug.cgi?id=80935
Patch by Matt Falkenhagen <falken@chromium.org> on 2012-03-12
Reviewed by Kent Tamura.
ICU seems to have issues with non-well-formed locale strings.
Currently, the only port that uses LocaleToScriptMappingICU.cpp is
Chromium.
No new tests. LocaleToScriptMappingDefault.cpp is already used by
other ports and covered by existing tests.
* WebCore.gyp/WebCore.gyp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 06:15:58 +0000 (06:15 +0000)]
Fix test cases for RegExp multiline
https://bugs.webkit.org/show_bug.cgi?id=80822
Patch by Hojong Han <hojong.han@samsung.com> on 2012-03-12
Reviewed by Gavin Barraclough.
* tests/mozilla/js1_2/regexp/RegExp_multiline.js:
* tests/mozilla/js1_2/regexp/RegExp_multiline_as_array.js:
* tests/mozilla/js1_2/regexp/beginLine.js:
* tests/mozilla/js1_2/regexp/endLine.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 05:38:59 +0000 (05:38 +0000)]
Fix IndexedDB build with JSC
https://bugs.webkit.org/show_bug.cgi?id=80207
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-03-12
Reviewed by Adam Barth.
This fixes the build of WebKit when IndexedDB is enabled. Most functions were added
empty implementation, it compiles but IndexedDB is not working.
* DerivedSources.make: Added missing IDL files.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Fix warnings and build errors.
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: ditto.
(WebCore::IDBDatabaseCallbacksImpl::unregisterDatabase): ditto.
* Modules/indexeddb/IDBFactoryBackendImpl.cpp: ditto.
(WebCore::IDBFactoryBackendImpl::openBackingStore):
* Modules/indexeddb/IDBIndexBackendImpl.cpp: ditto.
(WebCore::IDBIndexBackendImpl::countInternal):
* Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Fix the method signature and add
an empty implementation.
(WebCore):
(WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
(WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Fix warnings.
(WebCore::IDBObjectStoreBackendImpl::countInternal):
* Modules/indexeddb/IDBPendingTransactionMonitor.cpp: ditto.
(WebCore::transactions):
* Modules/indexeddb/IDBRequest.cpp: ditto.
(WebCore::IDBRequest::resetReadyState):
* Modules/indexeddb/IDBRequest.h: ditto.
(WebCore::IDBRequest::onSuccessWithPrefetch):
(WebCore):
(WebCore::JSIDBVersionChangeRequest::visitChildren):
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue): Fix the creation of IDBKeys.
(WebCore::createOptionsObjectFromValue): Add an empty implementation of
the handling of database options (IDBObjectStoreParameters).
(WebCore):
* bindings/js/IDBBindingUtilities.h:
(WebCore):
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS): Add the missing IDBAny's types.
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS): Add the missing IDBKey's types.
* bindings/js/JSIDBVersionChangeRequestCustom.cpp: Added.
IDBVersionChangeRequest has the attribute EventTarget so it requires
the visitChildren() function. An empty implementation was added.
* bindings/js/OptionsObject.h: Add an empty implementation.
(WebCore):
(OptionsObject):
(WebCore::OptionsObject::OptionsObject):
(WebCore::OptionsObject::isObject):
(WebCore::OptionsObject::isUndefinedOrNull):
(WebCore::OptionsObject::get):
(WebCore::OptionsObject::getWithUndefinedOrNullCheck):
* bindings/js/SerializedScriptValue.cpp: Add the missing functions needed by IndexedDB.
(WebCore):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::toWireString):
(WebCore::SerializedScriptValue::createFromWire):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::deserialize):
* bindings/js/SerializedScriptValue.h:
(SerializedScriptValue):
* bindings/scripts/CodeGeneratorJS.pm: Modify the code generator to:
-Support the IDBKey type correctly.
-Support the OptionsObject type.
-Generate valid function call for static functions.
(GenerateImplementationFunctionCall):
(JSValueToNative):
(NativeToJSValue):
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Tue, 13 Mar 2012 05:36:39 +0000 (05:36 +0000)]
Unreviewed, rolling out r110529.
http://trac.webkit.org/changeset/110529
https://bugs.webkit.org/show_bug.cgi?id=80969
breaks mac build (Requested by morrita on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-12
Source/WebCore:
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::computeUnoccludedContentRect):
Source/WebKit/chromium:
* tests/CCOcclusionTrackerTest.cpp:
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Tue, 13 Mar 2012 05:03:08 +0000 (05:03 +0000)]
Unreviewed, rolling out r110524.
http://trac.webkit.org/changeset/110524
https://bugs.webkit.org/show_bug.cgi?id=80936
breaks chromium win build. (Requested by morrita on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-03-12
Source/WebCore:
* Target.pri:
* UseV8.cmake:
* WebCore.gypi:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
* bindings/v8/NPV8Object.cpp:
(WebCore::npObjectTypeInfo):
* bindings/v8/V8GCController.cpp:
(WebCore::GrouperVisitor::visitDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore):
(WrapperTypeInfo):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
(WebCore):
* bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::toV8):
(WebCore):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* css/CSSStyleSheet.idl:
* css/StyleSheet.idl:
* dom/DOMStringMap.idl:
* dom/NamedNodeMap.idl:
* html/DOMTokenList.idl:
* html/track/TextTrackList.idl:
LayoutTests:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 13 Mar 2012 04:20:00 +0000 (04:20 +0000)]
[V8][Refactoring] Remove getCachedWrapperSlow() from V8Bindings.cpp
https://bugs.webkit.org/show_bug.cgi?id=80924
Reviewed by Adam Barth.
getCachedWrapperSlow() is called by getCachedWrapper() only,
and getCachedWrapperSlow() just calls getCachedWrapperInline().
Thus, this patch expands getCachedWrapperInline() into getCachedWrapper(),
and removes getCachedWrapperSlow().
No tests. No change in behavior.
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Tue, 13 Mar 2012 04:03:27 +0000 (04:03 +0000)]
[V8][Refactoring] Remove existingWrapper() from generated code
https://bugs.webkit.org/show_bug.cgi?id=80927
Reviewed by Adam Barth.
Currently wrap() calls existingWrapper(), and existingWrapper()
just calls getCachedWrapper(). We can remove existingWrapper() from the generated code.
Test: bindings/scripts/test/*
* bindings/scripts/CodeGeneratorV8.pm: Removed existingWrapper().
(GenerateHeader):
(GenerateNormalAttrGetter):
* bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.
(V8Float64Array):
(WebCore::V8Float64Array::wrap):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
(WebCore::V8TestActiveDOMObject::wrap):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
(WebCore::V8TestCustomNamedGetter::wrap):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
(WebCore::V8TestEventConstructor::wrap):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
(WebCore::V8TestEventTarget::wrap):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
(WebCore::V8TestInterface::wrap):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
(WebCore::V8TestMediaQueryListListener::wrap):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
(WebCore::V8TestNamedConstructor::wrap):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
(WebCore::TestObjInternal::cachedAttribute1AttrGetter):
(WebCore::TestObjInternal::cachedAttribute2AttrGetter):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
(WebCore::V8TestObj::wrap):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
(WebCore::V8TestSerializedScriptValueInterface::wrap):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 03:33:31 +0000 (03:33 +0000)]
[chromium] Use tileRect instead of pointer derefs
https://bugs.webkit.org/show_bug.cgi?id=80919
Patch by Dana Jansens <danakj@chromium.org> on 2012-03-12
Reviewed by Adrienne Walker.
Covered by existing tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTileQuad):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Tue, 13 Mar 2012 03:14:20 +0000 (03:14 +0000)]
webkit-patch optimize-baselines sometimes creates a mac-future result
https://bugs.webkit.org/show_bug.cgi?id=80717
Reviewed by Adam Barth.
* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
(_baseline_search_hypergraph):
(BaselineOptimizer._find_optimal_result_placement):
(BaselineOptimizer._filter_virtual_ports):
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(BaselineOptimizerTest.test_no_add_mac_future):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 02:45:38 +0000 (02:45 +0000)]
SVG should support transform-origin and relative values
https://bugs.webkit.org/show_bug.cgi?id=79068
Patch by Hans Muller <hmuller@adobe.com> on 2012-03-12
Reviewed by Dirk Schulze.
Source/WebCore:
Added SVG support for the CSS 'transform-origin' property and for percentage
values in the transform translate function. The changes conform to
http://dev.w3.org/csswg/css3-transforms/.
Tests: svg/transforms/percent-transform-values.xhtml
svg/transforms/transform-origin-css-property.xhtml
* css/svg.css:
(*):
(html|* > svg):
Default transform-origin for SVG elements is 0 0.
* platform/Length.h:
(WebCore::Length::calcFloatValue):
Added a calcFloatValue overload whose max parameter (for percent lengths) is a float.
The original version will be obsolete when the sub-pixel layout support is completed.
* rendering/style/RenderStyle.cpp:
* rendering/style/RenderStyle.h:
(WebCore):
(WebCore::requireTransformOrigin):
Transforms that only include translations don't depend on the transform-origin.
(WebCore::RenderStyle::applyTransform):
SVG elements interpret non-percentage/keyword transform-origin values relative to their viewport,
unlike HTML which interprets all transform-origin values relative to the element's origin.
The new FloatRect applyTransform() function handles SVG semantics. Similarly, SVG elements interpret
percentage/keyword transform-origin values relative to the origin of their objectBoundingBox(), HTML
uses the borderBox. All this per http://dev.w3.org/csswg/css3-transforms/.
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::animatedLocalTransform):
LayoutTests:
Added tests for SVG CSS transform-origin property support and for
CSS translations specified with percentages and applied to an SVG element.
* svg/transforms/change-transform-origin-css-expected.xhtml: Added.
* svg/transforms/change-transform-origin-css.xhtml: Added.
* svg/transforms/change-transform-origin-presentation-attribute-expected.xhtml: Added.
* svg/transforms/change-transform-origin-presentation-attribute.xhtml: Added.
* svg/transforms/percent-transform-values-expected.txt: Added.
* svg/transforms/percent-transform-values.xhtml: Added.
* svg/transforms/transform-origin-css-property-expected.xhtml: Added.
* svg/transforms/transform-origin-css-property.xhtml: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Tue, 13 Mar 2012 02:42:47 +0000 (02:42 +0000)]
Unreviewed Windows build fix.
* src/WebViewImpl.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 13 Mar 2012 02:29:12 +0000 (02:29 +0000)]
Fix assert seen in DRT due to not calling EventSender.mouseUp in a previous test
https://bugs.webkit.org/show_bug.cgi?id=80925
Reviewed by Maciej Stachowiak.
* fast/events/input-element-display-none-in-dragleave-crash.html:
Add call to eventSender.mouseUp().
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 13 Mar 2012 02:27:21 +0000 (02:27 +0000)]
[chromium] Use projectQuad to apply inverse mapRect
https://bugs.webkit.org/show_bug.cgi?id=80741
Patch by Dana Jansens <danakj@chromium.org> on 2012-03-12
Reviewed by Adrienne Walker.
Source/WebCore:
Unit test: CCOcclusionTrackerTest3dTransform
CCOcclusionTrackerTestPerspectiveTransform
CCOcclusionTrackerTestPerspectiveTransformBehindCamera
* platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
(WebCore::projectQuad):
(WebCore):
(WebCore::computeUnoccludedContentRect):
Source/WebKit/chromium:
* tests/CCOcclusionTrackerTest.cpp:
(WebCore):
(CCOcclusionTrackerTest3dTransform):
(WebCore::CCOcclusionTrackerTest3dTransform::runMyTest):
(CCOcclusionTrackerTestPerspectiveTransform):
(WebCore::CCOcclusionTrackerTestPerspectiveTransform::runMyTest):
(CCOcclusionTrackerTestPerspectiveTransformBehindCamera):
(WebCore::CCOcclusionTrackerTestPerspectiveTransformBehindCamera::runMyTest):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leo.yang@torchmobile.com.cn [Tue, 13 Mar 2012 02:17:32 +0000 (02:17 +0000)]
[BlackBerry] Upstream the BlackBerry change to platform/graphics/FontPlatformData.h
https://bugs.webkit.org/show_bug.cgi?id=80820
Reviewed by Rob Buis.
The BlackBerry is using the FontPlatformData from Chromium porting.
* platform/graphics/FontPlatformData.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@110528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc