WebKit-https.git
7 years ago<option><span><option> doesn't parse correctly
abarth@webkit.org [Sat, 17 Dec 2011 01:19:36 +0000 (01:19 +0000)]
<option><span><option> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74760

Reviewed by Eric Seidel.

Source/WebCore:

The <option> start tag shouldn't be quite as aggressive in closing open
<option> tags.  I'm not sure whether this was a change in the spec or a
mistranscription, but this patch causes us to match the spec.  I've
checked the other optionTag checks, and they all seem to be correct.

* html/parser/HTMLTreeBuilder.cpp:

LayoutTests:

Show test progression.

* html5lib/runner-expected.txt:

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

7 years agoConvert more WorkItems over to WTF::Functions
andersca@apple.com [Sat, 17 Dec 2011 01:03:36 +0000 (01:03 +0000)]
Convert more WorkItems over to WTF::Functions
https://bugs.webkit.org/show_bug.cgi?id=74770

Reviewed by Andreas Kling.

* Platform/WorkQueue.cpp:
(WorkQueue::dispatchAfterDelay):
* Platform/WorkQueue.h:
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
* UIProcess/Launcher/ThreadLauncher.cpp:
(WebKit::ThreadLauncher::launchThread):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::pluginThreadAsyncCall):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::derefPluginView):
(WebKit::PluginView::unprotectPluginFromDestruction):

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

7 years ago[MutationObservers] Remove platform-dependent code in Document.cpp resulting from...
commit-queue@webkit.org [Sat, 17 Dec 2011 00:58:33 +0000 (00:58 +0000)]
[MutationObservers] Remove platform-dependent code in Document.cpp resulting from Mutation Event histogram collection
https://bugs.webkit.org/show_bug.cgi?id=73026

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2011-12-16
Reviewed by Ryosuke Niwa.

This patch adds platform/HistogramSupport which has an empty implementation for all ports
except Chromium.

No tests need. This patch is just a refactor.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::histogramMutationEventUsage):
(WebCore::Document::~Document):
* platform/HistogramSupport.h: Added.
(WebCore::HistogramSupport::histogramEnumeration):
* platform/chromium/HistogramSupportChromium.cpp: Added.
(WebCore::HistogramSupport::histogramEnumeration):

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

7 years ago<rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
beidson@apple.com [Sat, 17 Dec 2011 00:32:40 +0000 (00:32 +0000)]
<rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element

Reviewed by Darin Adler.

Source/WebCore:

Test: media/crash-closing-page-with-media-as-plugin-fallback.html

At some point documentWillBecomeInactive() was overloaded to not only notify elements they were going in to the page
cache but also do some other work that was necessary during Document teardown.

This crash occurs because we're notifying elements they're going in to the page cache at document teardown, so this
patch breaks that work back out in to a separate function.

* dom/Document.cpp:
(WebCore::Document::detach): Remove obsolete comment.
(WebCore::Document::documentWillBecomeInactive): Handle only accelerated compositing cleanup.
(WebCore::Document::documentWillSuspendForPageCache): Call documentWillBecomeInactive before notifying elements of suspension.
(WebCore::Document::documentDidResumeFromPageCache):
(WebCore::Document::registerForPageCacheSuspensionCallbacks):
(WebCore::Document::unregisterForPageCacheSuspensionCallbacks):
* dom/Document.h:

* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore): Call the renamed documentDidResumeFromPageCache.
(WebCore::CachedFrame::CachedFrame): Call documentWillSuspendForPageCache instead of documentDidBecomeInactive.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad): Call the renamed documentDidResumeFromPageCache.

* dom/Element.h:
(WebCore::Element::documentWillSuspendForPageCache): Renamed from documentWillBecomeInactive()
(WebCore::Element::documentDidResumeFromPageCache): Renamed from documentDidBecomeActive()

Change to the renamed registration and callbacks functions in the handful of classes that use them:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::parseMappedAttribute):
(WebCore::HTMLFormElement::documentDidResumeFromPageCache):
(WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
(WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
* html/HTMLFormElement.h:

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::needsSuspensionCallback):
(WebCore::HTMLInputElement::registerForSuspensionCallbackIfNeeded):
(WebCore::HTMLInputElement::unregisterForSuspensionCallbackIfNeeded):
(WebCore::HTMLInputElement::documentDidResumeFromPageCache):
(WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
(WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
* html/HTMLInputElement.h:

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::createRenderer):
(WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
(WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
* html/HTMLPlugInImageElement.h:

* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::willMoveToNewOwnerDocument):
(WebCore::SVGSVGElement::didMoveToNewOwnerDocument):
(WebCore::SVGSVGElement::documentWillSuspendForPageCache):
(WebCore::SVGSVGElement::documentDidResumeFromPageCache):
* svg/SVGSVGElement.h:

LayoutTests:

* media/crash-closing-page-with-media-as-plugin-fallback-expected.txt: Added.
* media/crash-closing-page-with-media-as-plugin-fallback.html: Added.
* media/resources/video-with-poster-as-object-fallback.html: Added.

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

7 years ago[chromium] Need to prepaint tiles in TiledLayerChromium
commit-queue@webkit.org [Sat, 17 Dec 2011 00:27:33 +0000 (00:27 +0000)]
[chromium] Need to prepaint tiles in TiledLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=72686

Patch by Eric Penner <epenner@google.com> on 2011-12-16
Reviewed by James Robinson.

Source/WebCore:

Tests: TiledLayerChromiumTest (idlePaintOutOfMemory, pushIdlePaintTiles)

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::idlePaintContentsIfDirty): added idle paint function
* platform/graphics/chromium/ContentLayerChromium.h: ditto
* platform/graphics/chromium/LayerChromium.h: ditto
(WebCore::LayerChromium::idlePaintContentsIfDirty): ditto
* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::protectTexture): removed assert for protecting a texture twice
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::cleanupResources):
(WebCore::TiledLayerChromium::updateCompositorResources): refactoring to use tile indices
(WebCore::TiledLayerChromium::prepareToUpdateTiles): refactored common code and made idle/visible versions
(WebCore::TiledLayerChromium::prepareToUpdate): ditto
(WebCore::TiledLayerChromium::prepareToUpdateIdle): ditto
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::compositeAndReadback): set flag to avoid idle paint durring composite and readback
(WebCore::CCLayerTreeHost::updateLayers): added idle flag parameter
(WebCore::CCLayerTreeHost::paintContentsIfDirty): ditto
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface): ditto
(WebCore::CCLayerTreeHost::paintLayerContents): chooses idle or visible paint
* platform/graphics/chromium/cc/CCLayerTreeHost.h:

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(WTF::ContentLayerChromiumWithUpdateTracking::idlePaintContentsCount):
(WTF::ContentLayerChromiumWithUpdateTracking::resetPaintContentsCount):
(WTF::ContentLayerChromiumWithUpdateTracking::idlePaintContentsIfDirty):
(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
(WTF::CCLayerTreeHostTestOpacityChange::afterTest):
* tests/TiledLayerChromiumTest.cpp:
(WTF::FakeTiledLayerChromium::prepareToUpdateIdle):
(WTF::FakeTiledLayerChromium::needsIdlePaint):
(WTF::TEST):

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

7 years ago[Qt] Add platform-specific test results after r103073
mnaganov@chromium.org [Sat, 17 Dec 2011 00:18:52 +0000 (00:18 +0000)]
[Qt] Add platform-specific test results after r103073
[Chromium] Add test results for Mac 10.5

* platform/chromium-cg-mac-leopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-cg-mac-leopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-cg-mac-leopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-cg-mac-leopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-cg-mac-leopard/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-cg-mac-snowleopard/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
* platform/mac/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Renamed from LayoutTests/editing/input/caret-at-the-edge-of-contenteditable-expected.txt.
* platform/mac/editing/input/caret-at-the-edge-of-input-expected.txt: Renamed from LayoutTests/editing/input/caret-at-the-edge-of-input-expected.txt.
* platform/mac/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Renamed from LayoutTests/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt.
* platform/mac/editing/input/reveal-caret-of-multiline-input-expected.txt: Renamed from LayoutTests/editing/input/reveal-caret-of-multiline-input-expected.txt.
* platform/qt/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* platform/qt/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* platform/qt/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* platform/qt/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.

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

7 years agoDFG OSR exit may get confused about where in the scratch buffer it stored a value
fpizlo@apple.com [Sat, 17 Dec 2011 00:09:30 +0000 (00:09 +0000)]
DFG OSR exit may get confused about where in the scratch buffer it stored a value
https://bugs.webkit.org/show_bug.cgi?id=74695

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

The code that reads from the scratch buffer now explicitly knows which locations to
read from. No new tests, since this patch covers a case so uncommon that I don't know
how to make a test for it.

* dfg/DFGOSRExitCompiler.h:
(JSC::DFG::OSRExitCompiler::badIndex):
(JSC::DFG::OSRExitCompiler::initializePoisoned):
(JSC::DFG::OSRExitCompiler::poisonIndex):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):

LayoutTests:

Rubber stamped by Gavin Barraclough.

Wrote a custom fuzzer that does 2048 different combinations of integer and float
temporaries and induces a failure whilst all of them are live. If poisoning doesn't
work correctly, a large number (>hundred) of the fuzzing cases fail.

* fast/js/dfg-poison-fuzz-expected.txt: Added.
* fast/js/dfg-poison-fuzz.html: Added.
* fast/js/script-tests/dfg-poison-fuzz.js: Added.

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

7 years agoMove webkit-bug-importer to Contributor. It won't
dino@apple.com [Sat, 17 Dec 2011 00:07:23 +0000 (00:07 +0000)]
Move webkit-bug-importer to Contributor. It won't
autocomplete as an Account.
See https://bugs.webkit.org/show_bug.cgi?id=74739
for some discussion.

Unreviewed.

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

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

7 years agoMiscellaneous Filter updates to align with spec
dino@apple.com [Sat, 17 Dec 2011 00:01:22 +0000 (00:01 +0000)]
Miscellaneous Filter updates to align with spec
https://bugs.webkit.org/show_bug.cgi?id=74736

Reviewed by Simon Fraser.

Source/WebCore:

Combine a bunch of small updates to filters where
we were not compliant with the specification.

- blur() only takes one value, not two
- blur() does not accept percentages. This allowed us
  to stop passing the borderBoxSize around while building
  the filter chain or calculating visual overflow.
- gamma() and sharpen() removed
- brightness() and contrast() added

Tests: css3/filters/effect-brightness.html
       css3/filters/effect-contrast.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::valueForFilter): Create new
variations on component transfer functions for brightness() and
contrast() effects. Also remove sharpen() and gamma().
* css/CSSParser.cpp:
(WebCore::filterInfoForName):
(WebCore::CSSParser::parseBuiltinFilterArguments): Ditto, and blur
only takes one argument.
* css/CSSStyleSelector.cpp:
(WebCore::filterOperationForType):
(WebCore::CSSStyleSelector::createFilterOperations): Ditto, and
use ->isPercentage() to test rather than getting the type.
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::customCssText):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSFilterValue.idl: Remove sharpen and gamma, add
brightness and contrast.
* platform/graphics/filters/FilterOperation.cpp:
(WebCore::BlurFilterOperation::blend): Blurs only need to blend
between one standard deviation parameter.
* platform/graphics/filters/FilterOperation.h: Remove sharpen and
gamma, add brightness and contrast.
(WebCore::BlurFilterOperation::create):
(WebCore::BlurFilterOperation::stdDeviation):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::BlurFilterOperation): Blur only takes
one standard deviation / radius parameter.
* platform/graphics/filters/FilterOperations.cpp:
(WebCore::outsetSizeForBlur):
(WebCore::FilterOperations::getOutsets): No need for borderBox now.
* platform/graphics/filters/FilterOperations.h:
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build): Build new effect types.
* rendering/FilterEffectRenderer.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addVisualEffectOverflow): No need to pass
borderBox size when calculating overflow on filter.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffect):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::getFilterOutsets): Ditto.

LayoutTests:

Test changes for small updates to filters where
we were not compliant with the specification.

- blur() only takes one value, not two
- blur() does not accept percentages.
- gamma() and sharpen() removed
- brightness() and contrast() added

Added bonus: New tests for percentage values in appropriate functions!

* css3/filters/crash-filter-change.html:
* css3/filters/effect-blur.html:
* css3/filters/effect-brightness-expected.png: Added.
* css3/filters/effect-brightness-expected.txt: Copied from LayoutTests/css3/filters/effect-gamma-expected.txt.
* css3/filters/effect-brightness.html: Added.
* css3/filters/effect-combined-expected.png:
* css3/filters/effect-combined-expected.txt:
* css3/filters/effect-combined.html:
* css3/filters/effect-contrast-expected.png: Added.
* css3/filters/effect-contrast-expected.txt: Renamed from LayoutTests/css3/filters/effect-gamma-expected.txt.
* css3/filters/effect-contrast.html: Added.
* css3/filters/effect-gamma-expected.png: Removed.
* css3/filters/effect-gamma.html: Removed.
* css3/filters/filter-animation-expected.txt: Added.
* css3/filters/filter-animation.html:
* css3/filters/filter-property-computed-style-expected.txt:
* css3/filters/filter-property-parsing-expected.txt:
* css3/filters/filter-property-parsing-invalid-expected.txt:
* css3/filters/script-tests/filter-property-computed-style.js:
* css3/filters/script-tests/filter-property-parsing-invalid.js:
* css3/filters/script-tests/filter-property-parsing.js:

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

7 years ago[chromium] Remove WebCString's dependency on WebCore
jamesr@google.com [Sat, 17 Dec 2011 00:01:15 +0000 (00:01 +0000)]
[chromium] Remove WebCString's dependency on WebCore
https://bugs.webkit.org/show_bug.cgi?id=74761

Reviewed by Darin Fisher.

Remove WebCString::fromUTF16(), which are never called, and implement WebCString::utf16() using WTF instead of
WebCore/platform/text/TextEncoding.

* public/platform/WebCString.h:
* src/WebCString.cpp:
(WebKit::WebCString::utf16):

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

7 years ago[chromium] Mark CG failures for editing tests from r103073
enne@google.com [Fri, 16 Dec 2011 23:59:01 +0000 (23:59 +0000)]
[chromium] Mark CG failures for editing tests from r103073
https://bugs.webkit.org/show_bug.cgi?id=74726

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoUnreviewed debug build fix after r103115.
kling@webkit.org [Fri, 16 Dec 2011 23:45:29 +0000 (23:45 +0000)]
Unreviewed debug build fix after r103115.

* dom/Document.cpp:
(WebCore::Document::cachedCollection):

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

7 years agoWindows test fix
mhahnenberg@apple.com [Fri, 16 Dec 2011 23:43:40 +0000 (23:43 +0000)]
Windows test fix

Source/WebCore:

No new tests.

Unreviewed test fix. All Windows tests were crashing when objects who were pointing to
static data members across DLL boundaries were getting garbage in their pointers.

* WebCore.exp.in:
* bindings/js/JSDOMWrapper.cpp:
* bindings/js/JSDOMWrapper.h:

Source/WebKit2:

Unreviewed test fix. All Windows tests were crashing when objects who were pointing to
static data members across DLL boundaries were getting garbage in their pointers.

* win/WebKit2.def:

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

7 years agoPutByVal[Alias] unnecessarily reloads the storage buffer
oliver@apple.com [Fri, 16 Dec 2011 23:36:10 +0000 (23:36 +0000)]
PutByVal[Alias] unnecessarily reloads the storage buffer
https://bugs.webkit.org/show_bug.cgi?id=74747

Reviewed by Gavin Barraclough.

Make PutByVal use GetIndexedStorage to load the storage buffer.
This required switching PutByVal to a vararg node (which is
responsible for most of the noise in this patch).  This fixes the
remaining portion of the kraken regression caused by the GetByVal
storage load elimination, and a 1-5% win on some of the sub tests of
the typed array benchmark at:
http://stepheneb.github.com/webgl-matrix-benchmarks/matrix_benchmark.html

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGNode.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateArithNodeFlags):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::byValIndexIsPure):
(JSC::DFG::Propagator::clobbersWorld):
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

7 years agoRename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
rniwa@webkit.org [Fri, 16 Dec 2011 23:34:39 +0000 (23:34 +0000)]
Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
https://bugs.webkit.org/show_bug.cgi?id=74748

Reviewed by Eric Seidel.

Source/WebCore:

Renamed registerCommandForUndo and registerCommandForRedo to
registerUndoStep and registerRedoStep respectively.

* editing/Editor.cpp:
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::registerUndoStep):
(WebCore::EmptyEditorClient::registerRedoStep):
* page/EditorClient.h:

Source/WebKit/chromium:

* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::registerUndoStep):
(WebKit::EditorClientImpl::registerRedoStep):
* src/EditorClientImpl.h:

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::registerUndoStep):
(WebCore::EditorClientEfl::registerRedoStep):
* WebCoreSupport/EditorClientEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::registerUndoStep):
(WebKit::EditorClient::registerRedoStep):
* WebCoreSupport/EditorClientGtk.h:

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::registerUndoOrRedoStep):
(WebEditorClient::registerUndoStep):
(WebEditorClient::registerRedoStep):

Source/WebKit/qt:

* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::registerUndoStep):
(WebCore::EditorClientQt::registerRedoStep):
* WebCoreSupport/EditorClientQt.h:

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::registerUndoStep):
(WebEditorClient::registerRedoStep):
* WebCoreSupport/WebEditorClient.h:

Source/WebKit/wince:

* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::registerUndoStep):
(WebKit::EditorClientWinCE::registerRedoStep):
* WebCoreSupport/EditorClientWinCE.h:

Source/WebKit/wx:

* WebKitSupport/EditorClientWx.cpp:
(WebCore::EditorClientWx::registerUndoStep):
(WebCore::EditorClientWx::registerRedoStep):
* WebKitSupport/EditorClientWx.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerUndoStep):
(WebKit::WebEditorClient::registerRedoStep):
* WebProcess/WebCoreSupport/WebEditorClient.h:

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

7 years agoCanvas should respect backing store scale ratio when used as drawImage() source
timothy_horton@apple.com [Fri, 16 Dec 2011 23:29:12 +0000 (23:29 +0000)]
Canvas should respect backing store scale ratio when used as drawImage() source
https://bugs.webkit.org/show_bug.cgi?id=74758
<rdar://problem/10350194>

Reviewed by Simon Fraser.

Interpret the source rectangle passed into drawImage() when using a Canvas source in the source Canvas coordinate space,
instead of in the backing store coordinate space, without changing the behavior of drawImage(canvas, x, y).

No new tests.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::convertDeviceToLogical):
* html/HTMLCanvasElement.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):

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

7 years agoSubpixel antialiasing not working in tiled mode
andersca@apple.com [Fri, 16 Dec 2011 23:26:31 +0000 (23:26 +0000)]
Subpixel antialiasing not working in tiled mode
https://bugs.webkit.org/show_bug.cgi?id=74759

Reviewed by Simon Fraser.

Call setContentsOpaque(true) on the main frame render view layer so subpixel aa will be used
when drawing text into that layer.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

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

7 years agoinvalidateNodeListsCacheAfterAttributeChanged has too many callers
rniwa@webkit.org [Fri, 16 Dec 2011 23:15:10 +0000 (23:15 +0000)]
invalidateNodeListsCacheAfterAttributeChanged has too many callers
https://bugs.webkit.org/show_bug.cgi?id=74692

Reviewed by Sam Weinig.

Source/WebCore:

Call invalidateNodeListsCacheAfterAttributeChanged in Element::updateAfterAttributeChanged instead of
parsedMappedAttribute of various elements. Also make invalidateNodeListsCacheAfterAttributeChanged take
the qualified name of the changed attribute so that we can exit early when the changed attribute isn't
one of attributes we care.

In addition, added a missing call to invalidateNodeListsCacheAfterAttributeChanged in Attr::setValue.

Test: fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html

* dom/Attr.cpp:
(WebCore::Attr::childrenChanged):
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::addAttribute):
(WebCore::NamedNodeMap::removeAttribute):
* dom/Node.cpp:
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
* dom/Node.h:
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseMappedAttribute):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::parseMappedAttribute):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::parseMappedAttribute):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseMappedAttribute):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute):
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::parseMappedAttribute):
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::parseMappedAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseMappedAttribute):
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::parseMappedAttribute):

LayoutTests:

Add a regression test for setting Attr's value. WebKit should invalidate the cache as needed.

* fast/dom/Attr/invalidate-nodelist-after-attr-setvalue-expected.txt: Added.
* fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html: Added.

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

7 years agoCache and reuse HTMLCollections exposed by Document.
kling@webkit.org [Fri, 16 Dec 2011 23:11:11 +0000 (23:11 +0000)]
Cache and reuse HTMLCollections exposed by Document.
<http://webkit.org/b/71956>

Reviewed by Antti Koivisto.

Source/WebCore:

Let Document cache the various HTMLCollection objects it exposes.
This is a behavior change in two ways:

1) The lifetime of returned collections is now tied to the lifetime
   of the Document. This matches the behavior of Firefox and Opera.

2) The cached collections returned by document are now exactly equal
   to those returned by subsequent calls to the same getters.

This reduces memory consumption by ~800 kB (on 64-bit) when loading
the full HTML5 spec. document.links was called 34001 times, yielding
34001 separate HTMLCollections, and now we only need 1.

The document.all collection retains the old behavior, as caching it
will be a bit more complicated.

To avoid a reference cycle between Document and HTMLCollection,
collections that are cached on Document do not retained their base
node pointer (controlled by a m_baseIsRetained flag.)

Tests: fast/dom/document-collection-idempotence.html
       fast/dom/gc-9.html

* dom/Document.cpp:
(WebCore::Document::detach):
(WebCore::Document::cachedCollection):
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::objects):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
* dom/Document.h:
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::createForCachingOnDocument):
(WebCore::HTMLCollection::~HTMLCollection):
(WebCore::HTMLCollection::itemAfter):
* html/HTMLCollection.h:
(WebCore::HTMLCollection::base):

LayoutTests:

Added a test to verify that collections returned by document (excluding .all)
are equal to the collections returned by subsequent calls to the same getters.

Also update fast/dom/gc-9.html to cover the new lifetime behavior of
HTMLCollection objects returned by document.

* fast/dom/document-collection-idempotence-expected.txt: Added.
* fast/dom/document-collection-idempotence.html: Added.
* fast/dom/gc-9-expected.txt:
* fast/dom/gc-9.html:

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

7 years agoAdd a pretty dumb tile cache to WebTileCacheLayer
andersca@apple.com [Fri, 16 Dec 2011 23:05:23 +0000 (23:05 +0000)]
Add a pretty dumb tile cache to WebTileCacheLayer
https://bugs.webkit.org/show_bug.cgi?id=74753

Reviewed by Simon Fraser.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::requiresTiledLayer):
If a layer is a tile cache layer, we never want to swap it out for a tiled layer.

(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
Assert that we don't have a tile cache layer.

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
If we have a tile cache layer, add its tile container to the list of custom sublayers.

* platform/graphics/ca/mac/TileCache.h: Added.
(WebCore::TileCache::tileContainerLayer):
Return the tile container layer.

* platform/graphics/ca/mac/TileCache.mm: Added.
(WebCore::TileCache::tileCacheLayerBoundsChanged):
Resize the tile grid if necessary.

(WebCore::TileCache::setNeedsDisplayInRect):
Invalidate the necessary tiles.

(WebCore::TileCache::drawLayer):
Set up the transform and draw the layer.

(WebCore::TileCache::getTileRangeForRect):
Given a rect, return the range of tiles that it covers.

(WebCore::TileCache::numTilesForGridSize):
Given a size, return how many tiles are needed to completely cover it.

(WebCore::TileCache::resizeTileGrid):
Create new tile layers if needed, or reuse already existing ones.

(WebCore::TileCache::tileLayerAtPosition):
Given a position in the grid, return the tile layer.

(WebCore::TileCache::createTileLayer):
Create a WebTileLayer and set it up.

* platform/graphics/ca/mac/WebTileCacheLayer.h:
* platform/graphics/ca/mac/WebTileCacheLayer.mm:
(-[WebTileCacheLayer setBounds:]):
(-[WebTileCacheLayer setNeedsDisplayInRect:]):
(-[WebTileCacheLayer tileContainerLayer]):
Call down to the tile cache object.

* platform/graphics/ca/mac/WebTileLayer.h: Added.
* platform/graphics/ca/mac/WebTileLayer.mm: Added.

(-[WebTileLayer drawInContext:]):
Ask the tile cache to draw the given layer.

(-[WebTileLayer setTileCache:WebCore::]):

Source/WebKit2:

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting.

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

7 years ago[chromium] Mark more worker regressions from r103095
enne@google.com [Fri, 16 Dec 2011 22:54:29 +0000 (22:54 +0000)]
[chromium] Mark more worker regressions from r103095
https://bugs.webkit.org/show_bug.cgi?id=74746

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoGive PlatformEvents a base class
weinig@apple.com [Fri, 16 Dec 2011 22:46:17 +0000 (22:46 +0000)]
Give PlatformEvents a base class
https://bugs.webkit.org/show_bug.cgi?id=74685

Reviewed by Anders Carlsson.

Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
and PlatformGestureEvent and move Type enumeration and modifiers down to it.

../WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Add new files.

* platform/PlatformEvent.cpp: Added.
* platform/PlatformEvent.h: Added.
(WebCore::PlatformEvent::type):
(WebCore::PlatformEvent::shiftKey):
(WebCore::PlatformEvent::ctrlKey):
(WebCore::PlatformEvent::altKey):
(WebCore::PlatformEvent::metaKey):
(WebCore::PlatformEvent::modifiers):
(WebCore::PlatformEvent::PlatformEvent):
Add new class.

* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
* dom/KeyboardEvent.cpp:
(WebCore::eventTypeForKeyboardEventType):
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
* page/DragController.cpp:
(WebCore::createMouseEvent):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
(WebCore::EventHandler::handleAccessKey):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleDrag):
* page/blackberry/EventHandlerBlackBerry.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::accessKeyModifiers):
* page/qt/EventHandlerQt.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* page/wx/EventHandlerWx.cpp:
(WebCore::EventHandler::accessKeyModifiers):
* platform/PlatformGestureEvent.h:
(WebCore::PlatformGestureEvent::PlatformGestureEvent):
* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::isKeypad):
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::button):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/ScrollAnimatorNone.cpp:
(WebCore::ScrollAnimatorNone::zoom):
(WebCore::ScrollAnimatorNone::handleGestureEvent):
* platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
(WebCore::toWebCorePlatformKeyboardEventType):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/chromium/GestureRecognizerChromium.cpp:
(WebCore::GestureRecognizerChromium::appendTapDownGestureEvent):
(WebCore::GestureRecognizerChromium::appendClickGestureEvent):
(WebCore::GestureRecognizerChromium::appendDoubleClickGestureEvent):
(WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
(WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
(WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):
* platform/chromium/PlatformKeyboardEventChromium.cpp:
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::handleGestureEvent):
* platform/chromium/PopupListBox.cpp:
(WebCore::isCharacterTypeEvent):
(WebCore::PopupListBox::handleKeyEvent):
* platform/chromium/ScrollAnimatorChromiumMac.mm:
(WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
* platform/efl/PlatformKeyboardEventEfl.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/efl/PlatformMouseEventEfl.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/efl/PlatformWheelEventEfl.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/ios/KeyEventIOS.mm:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/mac/KeyEventMac.mm:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/mac/PlatformMouseEventMac.mm:
(WebCore::mouseEventForNSEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleGestureEvent):
* platform/mac/WheelEventMac.mm:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/qt/PlatformMouseEventQt.cpp:
(WebCore::mouseEventTypeAndMouseButtonFromQEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/qt/WheelEventQt.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/win/KeyEventWin.cpp:
(WebCore::isKeypadEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/win/PlatformMouseEventWin.cpp:
(WebCore::messageToEventType):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/win/WheelEventWin.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/wx/KeyboardEventWx.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
* platform/wx/MouseEventWx.cpp:
(WebCore::typeFromMouseEvent):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/wx/MouseWheelEventWx.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* plugins/mac/PluginViewMac.mm:
(WebCore::PluginView::handleKeyboardEvent):
* testing/Internals.cpp:
(WebCore::Internals::setZoomAnimatorTransform):
Switch to using new names/class modifier as necessary.

../WebKit/chromium:

* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::interpretKeyEvent):
(WebKit::EditorClientImpl::handleEditingKeyboardEvent):
* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::keyboardShortcut):
* src/WebInputEventConversion.cpp:
(WebKit::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebKit::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
(WebKit::toPlatformKeyboardEventType):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::dragSourceEndedAt):
* tests/InnerGestureRecognizerTest.cpp:
(SimulateAndTestFirstClick):
(TEST_F):
* tests/KeyboardTest.cpp:
(WebKit::KeyboardTest::interpretKeyEvent):
(WebKit::KeyboardTest::interpretOSModifierKeyPress):
(WebKit::KeyboardTest::interpretCtrlKeyPress):
(WebKit::KeyboardTest::interpretTab):
(WebKit::KeyboardTest::interpretNewLine):
(WebKit::TEST_F):
* tests/PopupMenuTest.cpp:
(WebKit::SelectPopupMenuTest::simulateLeftMouseDownEvent):
(WebKit::SelectPopupMenuTest::simulateLeftMouseUpEvent):
(WebKit::TEST_F):

../WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::handleEditingKeyboardEvent):

../WebKit/gtk:

* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::handleKeyboardEvent):
* webkit/webkitwebview.cpp:
(webkit_web_view_popup_menu_handler):

../WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _dragSourceEndedAt:operation:]):
* WebView/WebHTMLView.mm:
(currentKeyboardEvent):
(-[WebHTMLView _interpretKeyEvent:savingCommands:]):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

../WebKit/qt:

* WebCoreSupport/DragClientQt.cpp:
(WebCore::DragClientQt::startDrag):
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::handleKeyboardEvent):

../WebKit/win:

* AccessibleBase.cpp:
(AccessibleBase::get_accKeyboardShortcut):
* WebDropSource.cpp:
(generateMouseEvent):
* WebView.cpp:
(WebView::keyUp):
(WebView::handleEditingKeyboardEvent):
(WebView::keyDown):
(WebView::keyPress):

../WebKit/wince:

* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::handleEditingKeyboardEvent):
* WebView.cpp:
(WebView::handleKeyDown):
(WebView::handleKeyPress):
(WebView::handleKeyUp):

../WebKit/wx:

* WebKitSupport/EditorClientWx.cpp:
(WebCore::EditorClientWx::handleEditingKeyboardEvent):
(WebCore::EditorClientWx::interpretKeyEvent):

../WebKit2:

* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::handleKeyboardEvent):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::handleMouseEvent):
(WebKit::WebPage::setInitialFocus):
(WebKit::WebPage::handleEditingKeyboardEvent):
(WebKit::WebPage::dragEnded):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::executeKeypressCommandsInternal):
(WebKit::WebPage::handleEditingKeyboardEvent):

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

7 years ago[chromium] Mark many SVG tests on Mac failing after r103091
enne@google.com [Fri, 16 Dec 2011 22:38:01 +0000 (22:38 +0000)]
[chromium] Mark many SVG tests on Mac failing after r103091
https://bugs.webkit.org/show_bug.cgi?id=53378

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoFix a #elsif fumble in my earlier commit.
simon.fraser@apple.com [Fri, 16 Dec 2011 22:30:49 +0000 (22:30 +0000)]
Fix a #elsif fumble in my earlier commit.

* WebView/WebHTMLView.mm:
(-[WebHTMLView attachRootLayer:]):

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

7 years ago<!doctype html><div><body><frameset> doesn't parse correctly
abarth@webkit.org [Fri, 16 Dec 2011 22:29:02 +0000 (22:29 +0000)]
<!doctype html><div><body><frameset> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74745

Reviewed by Eric Seidel.

Source/WebCore:

We were missing one place the spec tells us to set this bool.

Tests: html5lib/runner.html

* html/parser/HTMLTreeBuilder.cpp:

LayoutTests:

Show test progression.

* html5lib/runner-expected.txt:

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

7 years agoInclude BlackBerryPlatformLog.h instead of BlackBerryPlatformMisc.h
dbates@webkit.org [Fri, 16 Dec 2011 22:28:38 +0000 (22:28 +0000)]
Include BlackBerryPlatformLog.h instead of BlackBerryPlatformMisc.h

Rubber-stamped by Antonio Gomes.

BlackBerry::Platform::logV() is declared in BlackBerryPlatformLog.h. That is, it isn't
declared in BlackBerryPlatformMisc.h. Hence, we should include BlackBerryPlatformLog.h
instead of BlackBerryPlatformMisc.h.

* wtf/Assertions.cpp:

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

7 years agoUnreviewed, updating chromium expectations.
tony@chromium.org [Fri, 16 Dec 2011 22:24:33 +0000 (22:24 +0000)]
Unreviewed, updating chromium expectations.

* platform/chromium/test_expectations.txt: fast/replaced/embed-display-none.html has been
passing and fast/replaced/width100percent-textarea.html is flaky.

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

7 years agoSupport HTML documents in XHR.responseXML
jarred@sencha.com [Fri, 16 Dec 2011 22:16:41 +0000 (22:16 +0000)]
Support HTML documents in XHR.responseXML
https://bugs.webkit.org/show_bug.cgi?id=74626

Latest W3C XHR spec details for the responseXML attribute:
http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-responsexml-attribute
http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#document-response-entity-body

XHR.responseXML was not compliant per the latest editor's draft of the XHR spec.
The following compliance issue have been corrected:
  - A responseType of "text" should disallow access to responseXML by throwing an InvalidState exception.
  - When the error flag is toggled, responseXML should return "null" immediately and not attempt to create a new Document.
  - responseXML should return a valid HTML document when the MIME type is "text/html", but only when the caller has
    explicitly set responseType to "document".

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks.html
       fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict.html
       fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype.html
       fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml.html
       fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype.html
       fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::clearResponseBuffers):
* xml/XMLHttpRequest.h: Rename m_responseXML to m_responseDocument
(WebCore::XMLHttpRequest::optionalResponseXML):

LayoutTests:

* fast/frames/iframe-reparenting.html:
* fast/xmlhttprequest/resources/xmlhttprequest-get-invalid-data.xml: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype.html: Added.

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

7 years ago[chromium] Mark file-from-file-entry-sync as crash after r103095
enne@google.com [Fri, 16 Dec 2011 22:09:38 +0000 (22:09 +0000)]
[chromium] Mark file-from-file-entry-sync as crash after r103095
https://bugs.webkit.org/show_bug.cgi?id=74746

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoOnly EditCommandComposition should implement unapply and reapply
rniwa@webkit.org [Fri, 16 Dec 2011 22:04:58 +0000 (22:04 +0000)]
Only EditCommandComposition should implement unapply and reapply
https://bugs.webkit.org/show_bug.cgi?id=74490

Reviewed by Eric Seidel.

Source/WebCore:

Introduce new abstract class UndoStep to replace EditCommand for EditorClient, and make EditCommand
private to WebCore.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::create): Takes EditAction instead of boolean for CreateLinkCommand.
(WebCore::EditCommandComposition::EditCommandComposition): Ditto.
(WebCore::EditCommandComposition::unapply): Moved from EditCommand; we don't have to call isTopLevelCommand
anymore because EditCommandComposition is always top-level. In fact, the only thing unapply/reapply do
in addition to what doUnapply/doReapply do for sub-level commands is disabling and enabling delete button
and defining an event queue scope. However, these can be done at top-level command anyway, so we now only call
doApply for sub-level commands.
(WebCore::EditCommandComposition::reapply): Ditto.
(WebCore::EditCommandComposition::setStartingSelection): Added.
(WebCore::EditCommandComposition::setEndingSelection): Added.
(WebCore::applyCommand): Moved from EditCommand.
(WebCore::CompositeEditCommand::apply): Moved from EditCommand; doesn't call isTopLevelCommand for the same reason.
(WebCore::CompositeEditCommand::ensureComposition):
(WebCore::CompositeEditCommand::applyCommandToComposite): Call doApply instead of apply for the same reason.
* editing/CompositeEditCommand.h:
(WebCore::EditCommandComposition::wasCreateLinkCommand):
(WebCore::EditCommandComposition::startingSelection): Added.
(WebCore::EditCommandComposition::endingSelection): Added.
* editing/EditCommand.cpp:
(WebCore::EditCommand::setStartingSelection):
(WebCore::EditCommand::setEndingSelection):
(WebCore::SimpleEditCommand::doReapply): Moved from EditCommand.
* editing/EditCommand.h:
* editing/UndoStep.h: Added.
(WebCore::UndoStep::~UndoStep):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::shouldInsertNode):
(WebCore::EmptyEditorClient::didSetSelectionTypesForPasteboard):
(WebCore::EmptyEditorClient::registerCommandForUndo): Takes UndoStep instead of EditCommand.
(WebCore::EmptyEditorClient::registerCommandForRedo): Ditto.
* page/EditorClient.h:

Source/WebKit/chromium:

* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::registerCommandForUndo):
(WebKit::EditorClientImpl::registerCommandForRedo):
(WebKit::EditorClientImpl::undo):
(WebKit::EditorClientImpl::redo):
* src/EditorClientImpl.h:

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::registerCommandForUndo):
(WebCore::EditorClientEfl::registerCommandForRedo):
(WebCore::EditorClientEfl::undo):
(WebCore::EditorClientEfl::redo):
* WebCoreSupport/EditorClientEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::registerCommandForUndo):
(WebKit::EditorClient::registerCommandForRedo):
(WebKit::EditorClient::undo):
(WebKit::EditorClient::redo):
* WebCoreSupport/EditorClientGtk.h:

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(-[WebUndoStep initWithUndoStep:]):
(-[WebUndoStep dealloc]):
(+[WebUndoStep stepWithUndoStep:]):
(-[WebUndoStep step]):
(-[WebEditorUndoTarget undoEditing:]):
(-[WebEditorUndoTarget redoEditing:]):
(WebEditorClient::registerCommandForUndoOrRedo):
(WebEditorClient::registerCommandForUndo):
(WebEditorClient::registerCommandForRedo):

Source/WebKit/qt:

EditCommandQt is to be renamed to UndoStepQt in a follow up patch.

* WebCoreSupport/EditCommandQt.cpp:
(EditCommandQt::EditCommandQt):
* WebCoreSupport/EditCommandQt.h:
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::registerCommandForUndo):
(WebCore::EditorClientQt::registerCommandForRedo):

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.cpp:
(WebEditorUndoCommand::WebEditorUndoCommand):
(WebEditorUndoCommand::execute):
(WebEditorClient::registerCommandForUndo):
(WebEditorClient::registerCommandForRedo):
* WebCoreSupport/WebEditorClient.h:

Source/WebKit/wince:

* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::registerCommandForUndo):
(WebKit::EditorClientWinCE::registerCommandForRedo):
* WebCoreSupport/EditorClientWinCE.h:

Source/WebKit2:

Renamed WebEditCommand to WebUndoStep and made necessary changes.
Everything on WebProcess side should have the correct name now.

Names in the proxy and UIProcess are to be updated in a follow up.

* CMakeLists.txt:
* GNUmakefile.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerCommandForUndo):
(WebKit::WebEditorClient::registerCommandForRedo):
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebPage/WebEditCommand.cpp: Removed.
* WebProcess/WebPage/WebEditCommand.h: Removed.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::webUndoStep):
(WebKit::WebPage::addWebUndoStep):
(WebKit::WebPage::removeWebEditCommand):
(WebKit::WebPage::unapplyEditCommand):
(WebKit::WebPage::reapplyEditCommand):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebUndoStep.cpp: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.cpp.
(WebKit::generateUndoStep):
(WebKit::WebUndoStep::create):
* WebProcess/WebPage/WebUndoStep.h: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.h.
(WebKit::WebUndoStep::entry):
(WebKit::WebUndoStep::entryID):
(WebKit::WebUndoStep::WebUndoStep):
* win/WebKit2.vcproj:

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

7 years agoAllow a PlatformCALayer to own its own sublayers
simon.fraser@apple.com [Fri, 16 Dec 2011 21:49:33 +0000 (21:49 +0000)]
Allow a PlatformCALayer to own its own sublayers
https://bugs.webkit.org/show_bug.cgi?id=74744

Reviewed by Anders Carlsson.

GraphicsLayerCA rebuilds the sublayer list of CALayers, which would
blow away any custom layers that a PlatformCALayer wants to maintain
as children.

Make it possible for a PlatformLayerCA to indicate that it wants
a specific list of sublayers to be maintained as the first layers
in the child list.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateSublayerList):
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::customSublayers):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):

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

7 years ago<!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
abarth@webkit.org [Fri, 16 Dec 2011 21:44:45 +0000 (21:44 +0000)]
<!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74658

Reviewed by Darin Adler.

Source/WebCore:

Previously, we handled skipping newlines after <pre> in the tokenizer,
which isn't how the spec handles them.  Instead, the spec skips them in
the tree builder.  This isn't usually observable, except in the case of
an HTML entity.  In that case, the tokenzier sees '&' (because the
entity hasn't been decoded yet), but the tree builder sees '\n' (the
decoded entity).  This patch fixes the bug by more closely aligning our
implementation with the spec.

Test: html5lib/runner.html

* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::nextToken):
* html/parser/HTMLTokenizer.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
* html/parser/HTMLTreeBuilder.h:
* xml/parser/MarkupTokenizerBase.h:

LayoutTests:

Shows test progression.

* html5lib/runner-expected.txt:

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

7 years ago[chromium] Further suppress media/video-transformed.html failures
enne@google.com [Fri, 16 Dec 2011 21:33:59 +0000 (21:33 +0000)]
[chromium] Further suppress media/video-transformed.html failures
https://bugs.webkit.org/show_bug.cgi?id=73905

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoIndexedDB: Implement IDBObjectStore.count() and IDBIndex.count()
commit-queue@webkit.org [Fri, 16 Dec 2011 21:27:06 +0000 (21:27 +0000)]
IndexedDB: Implement IDBObjectStore.count() and IDBIndex.count()
https://bugs.webkit.org/show_bug.cgi?id=73686

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-16
Reviewed by Tony Chang.

Source/WebCore:

These new methods open an internal cursor and iterate through the
results, returning the number of items found. Note that only
passing an IDBKeyRange is supported, not an IDBKey. Supporting
that will require some IDL/binding monkeying; several other
methods also need the same Key-or-KeyRange behavior.

Tests: storage/indexeddb/index-count.html
       storage/indexeddb/objectstore-count.html

* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::numberValue):
* bindings/v8/SerializedScriptValue.h:
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
* storage/IDBIndex.h:
(WebCore::IDBIndex::count):
* storage/IDBIndex.idl:
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::countInternal):
(WebCore::IDBIndexBackendImpl::count):
* storage/IDBIndexBackendImpl.h:
* storage/IDBIndexBackendInterface.h:
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::count):
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::count):
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::countInternal):
* storage/IDBObjectStoreBackendImpl.h:
* storage/IDBObjectStoreBackendInterface.h:

Source/WebKit/chromium:

Plumbing to support the new methods in Chromium.

* src/IDBIndexBackendProxy.cpp:
(WebKit::IDBIndexBackendProxy::count):
* src/IDBIndexBackendProxy.h:
* src/IDBObjectStoreBackendProxy.cpp:
(WebKit::IDBObjectStoreBackendProxy::count):
* src/IDBObjectStoreBackendProxy.h:
* src/WebIDBIndexImpl.cpp:
(WebKit::WebIDBIndexImpl::count):
* src/WebIDBIndexImpl.h:
* src/WebIDBObjectStoreImpl.cpp:
(WebKit::WebIDBObjectStoreImpl::count):
* src/WebIDBObjectStoreImpl.h:

LayoutTests:

* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics.html:
* storage/indexeddb/index-count-expected.txt: Added.
* storage/indexeddb/index-count.html: Added.
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics.html:
* storage/indexeddb/objectstore-count-expected.txt: Added.
* storage/indexeddb/objectstore-count.html: Added.

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

7 years ago[chromium] Fix duplicate layout test expectation
enne@google.com [Fri, 16 Dec 2011 21:18:00 +0000 (21:18 +0000)]
[chromium] Fix duplicate layout test expectation
https://bugs.webkit.org/show_bug.cgi?id=53378

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoAudio file in video element has a size of 0x0 .
yael.aharon@nokia.com [Fri, 16 Dec 2011 21:03:05 +0000 (21:03 +0000)]
Audio file in video element has a size of 0x0 .
https://bugs.webkit.org/show_bug.cgi?id=74738

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

When the source of a video element has audio only, the intrinsic size of the video should
not be 0x0. Instead, it should be the same as as no media was loaded.

No new tests. An existing test is covering this case and was modified to reflect this change.

* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::calculateIntrinsicSize):

LayoutTests:

Changed the expected result to reflect this change.

* media/audio-only-video-intrinsic-size-expected.txt:
* media/audio-only-video-intrinsic-size.html:

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

7 years ago[Qt] Eliminate dependency to QUndoStack
commit-queue@webkit.org [Fri, 16 Dec 2011 20:55:10 +0000 (20:55 +0000)]
[Qt] Eliminate dependency to QUndoStack
https://bugs.webkit.org/show_bug.cgi?id=74691

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2011-12-16
Reviewed by Kenneth Rohde Christiansen.

Replaced the QUndoStack with two vectors. When calling unapply()
on the edit command proxy, it will automatically re-register itself
in the redo stack.

* UIProcess/qt/QtWebUndoController.cpp:
(QtWebUndoController::registerEditCommand):
(QtWebUndoController::clearAllEditCommands):
(QtWebUndoController::canUndoRedo):
(QtWebUndoController::executeUndoRedo):
* UIProcess/qt/QtWebUndoController.h:

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

7 years agogetComputedStyle for border-width is not implemented.
alexis.menard@openbossa.org [Fri, 16 Dec 2011 20:50:31 +0000 (20:50 +0000)]
getComputedStyle for border-width is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=74635

Reviewed by Tony Chang.

Source/WebCore:

Implement getComputedStyle for border-width.

Test: fast/css/getComputedStyle/getComputedStyle-border-width.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

Implement a test to cover getComputedStyle for border-width.

* fast/css/getComputedStyle/getComputedStyle-border-width-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-border-width.html: Added.

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=74657
dslomov@google.com [Fri, 16 Dec 2011 20:41:51 +0000 (20:41 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74657
[Chromium] Re-enable all layout tests for dedicated workers.

Reviewed by David Levin.

* fast/filesystem/workers/file-writer-gc-blob-expected.txt: Renamed from LayoutTests/fast/filesystem/workers/file-writer-gc-blob-expected.html.
* fast/filesystem/workers/file-writer-write-overlapped-expected.txt: Renamed from LayoutTests/fast/filesystem/workers/file-writer-write-overlapped-expected.html.
* http/tests/filesystem/resources/fs-worker-common.js:
* platform/chromium/http/tests/filesystem/workers/resolve-url-expected.txt: webkitRequestFileSystem is available in chromium DRT.
* platform/chromium/http/tests/filesystem/workers/resolve-url-sync-expected.txt: webkitRequestFileSystem is available in chromium DRT.
* platform/chromium/http/tests/workers/worker-importScripts-expected.txt: Exception message texts differ.
* platform/chromium/http/tests/workers/worker-importScriptsOnError-expected.txt: Exception message texts differ.
* platform/chromium/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Minor message text differences.
* platform/chromium/http/tests/xmlhttprequest/workers/methods-expected.txt: Minor message text differnces.
* platform/chromium/test_expectations.txt:

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

7 years ago<rdar://problem/10589427> Avoid calling -setGeometryFlipped ourselves on the layer...
simon.fraser@apple.com [Fri, 16 Dec 2011 20:41:15 +0000 (20:41 +0000)]
<rdar://problem/10589427> Avoid calling -setGeometryFlipped ourselves on the layer hosting view's layer

Reviewed by Sam Weinig.

Now that we're using a flipped view to host the compositing layers,
we should not set geometryFlipped on the root layer ourselves.

* WebView/WebHTMLView.mm:
(-[WebHTMLView attachRootLayer:]):

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

7 years ago[Qt][WK2] Move webView.page into experimental
commit-queue@webkit.org [Fri, 16 Dec 2011 20:41:09 +0000 (20:41 +0000)]
[Qt][WK2] Move webView.page into experimental
https://bugs.webkit.org/show_bug.cgi?id=74406

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-16
Reviewed by Simon Hausmann.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::page):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::accessPage):

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

7 years ago[chromium] media/event-attributes.html is flaky on all platforms
enne@google.com [Fri, 16 Dec 2011 20:24:02 +0000 (20:24 +0000)]
[chromium] media/event-attributes.html is flaky on all platforms
https://bugs.webkit.org/show_bug.cgi?id=73692

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years ago[chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux
commit-queue@webkit.org [Fri, 16 Dec 2011 20:20:34 +0000 (20:20 +0000)]
[chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux
https://bugs.webkit.org/show_bug.cgi?id=53378

Patch by Branimir Lambov <blambov@google.com> on 2011-12-16
Reviewed by Tony Chang.

Source/WebCore:

Fixes a problem in Skia's clipping layer code's handling of coordinate
transformations that was causing all complex clipping (including text
and/or masks) to fail.

The method beginLayerClippedToImage was taking rectangle coordinates
in one local coordinate space, but it was applying them in a different
one because of the delay between the time it is called and the actual
application occurs in applyClipFromImage. The fix translates the
coordinates passed to beginLayerClippedToImage to absolute ones, so
that they are not affected by any change in the transform matrix, and
makes sure that applyClipFromImage clears the matrix before drawing
the clip layer to correctly apply the absolute coordinates.

* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::beginLayerClippedToImage):
(WebCore::PlatformContextSkia::applyClipFromImage):
* platform/graphics/skia/PlatformContextSkia.h:

LayoutTests:

Fixes a problem in Skia's clipping layer code's handling of coordinate
transformations that was causing all complex clipping (including text
and/or masks) to fail.

The method beginLayerClippedToImage was taking rectangle coordinates
in one local coordinate space, but it was applying them in a different
one because of the delay between the time it is called and the actual
application occurs in applyClipFromImage. The fix translates the
coordinates passed to beginLayerClippedToImage to absolute ones, so
that they are not affected by any change in the transform matrix, and
makes sure that applyClipFromImage clears the matrix before drawing
the clip layer to correctly apply the absolute coordinates.

* platform/chromium/test_expectations.txt:

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

7 years agoAdd webkit-bug-importer@group.apple.com to accounts
dino@apple.com [Fri, 16 Dec 2011 20:17:54 +0000 (20:17 +0000)]
Add webkit-bug-importer@group.apple.com to accounts
so that it autocompletes in bugzilla.

Unreviewed.

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

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

7 years ago[chromium] Disable compositor CCLayerTreeHostTestsetNeedsCommit1 test
enne@google.com [Fri, 16 Dec 2011 20:04:01 +0000 (20:04 +0000)]
[chromium] Disable compositor CCLayerTreeHostTestsetNeedsCommit1 test
https://bugs.webkit.org/show_bug.cgi?id=74623

Unreviewed gardening.

This has been failing (timeout) intermittently on Mac.

* tests/CCLayerTreeHostTest.cpp:
(WTF::TEST_F):

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

7 years ago[chromium] Expand flakiness suppression for 2d.text.draw.fontface.notinpage
enne@google.com [Fri, 16 Dec 2011 19:39:15 +0000 (19:39 +0000)]
[chromium] Expand flakiness suppression for 2d.text.draw.fontface.notinpage
https://bugs.webkit.org/show_bug.cgi?id=66908

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years ago[chromium] Mark compositing/reflections/reflection-positioning2.html as flaky
enne@google.com [Fri, 16 Dec 2011 19:30:31 +0000 (19:30 +0000)]
[chromium] Mark compositing/reflections/reflection-positioning2.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=74731

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years ago[chromium] Add setOpaque to WebMediaPlayerClient interface, don't set VideoLayer...
commit-queue@webkit.org [Fri, 16 Dec 2011 19:24:28 +0000 (19:24 +0000)]
[chromium] Add setOpaque to WebMediaPlayerClient interface, don't set VideoLayer's opaque when grabbing current frame.
https://bugs.webkit.org/show_bug.cgi?id=74722

Patch by Dana Jansens <danakj@chromium.org> on 2011-12-16
Reviewed by Darin Fisher.

* public/WebMediaPlayerClient.h:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::WebMediaPlayerClientImpl):
* src/WebMediaPlayerClientImpl.h:

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

7 years ago[Gtk] Add platform-specific test results after r103073
mnaganov@chromium.org [Fri, 16 Dec 2011 19:09:35 +0000 (19:09 +0000)]
[Gtk] Add platform-specific test results after r103073

* platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* platform/gtk/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.

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

7 years ago[chromium] Mark several http tests as failing, due to DRT weirdness.
enne@google.com [Fri, 16 Dec 2011 19:08:09 +0000 (19:08 +0000)]
[chromium] Mark several http tests as failing, due to DRT weirdness.
https://bugs.webkit.org/show_bug.cgi?id=74694

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoDe-virtualize destructors
mhahnenberg@apple.com [Fri, 16 Dec 2011 19:06:44 +0000 (19:06 +0000)]
De-virtualize destructors
https://bugs.webkit.org/show_bug.cgi?id=74331

Reviewed by Geoffrey Garen.

.:

* Source/autotools/symbols.filter: Removed symbol no longer present.

Source/JavaScriptCore:

This is a megapatch which frees us from the chains of virtual destructors.

In order to remove the virtual destructors, which are the last of the virtual
functions, from the JSCell hierarchy, we need to add the ClassInfo pointer to
the cell rather than to the structure because in order to be able to lazily call
the static destroy() functions that will replace the virtual destructors, we
need to be able to access the ClassInfo without the danger of the object's
Structure being collected before the object itself.

After adding the ClassInfo to the cell, we can then begin to remove our use
of vptrs for optimizations within the JIT and the GC.  When we have removed
all of the stored vptrs from JSGlobalData, we can then also remove all of
the related VPtrStealingHack code.

The replacement for virtual destructors will be to add a static destroy function
pointer to the MethodTable stored in ClassInfo.  Any subclass of JSCell that has
a non-trivial destructor will require its own static destroy function to static
call its corresponding destructor, which will now be non-virtual.  In future
patches we will slowly move away from destructors altogether as we make more and
more objects backed by GC memory rather than malloc-ed memory.  The GC will now
call the static destroy method rather than the virtual destructor.

As we go through the hierarchy and add static destroy functions to classes,
we will also add a new assert, ASSERT_HAS_TRIVIAL_DESTRUCTOR, to those classes
to which it applies.  The future goal is to eventually have every class have that assert.

* API/JSCallbackConstructor.cpp:
(JSC::JSCallbackConstructor::destroy): Add a destroy function to statically call
~JSCallbackConstructor because it has some extra destruction logic.
* API/JSCallbackConstructor.h:
* API/JSCallbackFunction.cpp: Add trivial destructor assert for JSCallbackFunction.
* API/JSCallbackObject.cpp: Add a destroy function to statically call ~JSCallbackObject
because it has a member OwnPtr that needs destruction.
(JSC::::destroy):
* API/JSCallbackObject.h:
* JavaScriptCore.exp: Add/remove necessary symbols for JSC.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Same for Windows symbols.
* debugger/DebuggerActivation.cpp: DebuggerActivation, for some strange reason, didn't
have its own ClassInfo despite the fact that it overrides a number of MethodTable
methods.  Added the ClassInfo, along with an assertion that its destructor is trivial.
* debugger/DebuggerActivation.h:
* dfg/DFGOperations.cpp: Remove global data first argument to isJSArray, isJSByteArray,
isJSString, as it is no longer necessary.
(JSC::DFG::putByVal):
* dfg/DFGRepatch.cpp:  Ditto.  Also remove uses of jsArrayVPtr in favor of using the
JSArray ClassInfo pointer.
(JSC::DFG::tryCacheGetByID):
* dfg/DFGSpeculativeJIT.cpp:  Replace uses of the old vptrs with new ClassInfo
comparisons since we don't have vptrs anymore.
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLength):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
* dfg/DFGSpeculativeJIT.h: Ditto.
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):
* dfg/DFGSpeculativeJIT32_64.cpp: Ditto.
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp: Ditto.
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* heap/Heap.cpp: Remove all uses of vptrs in GC optimizations and replace them with
ClassInfo comparisons.
(JSC::Heap::Heap):
* heap/MarkStack.cpp: Ditto.
(JSC::MarkStackThreadSharedData::markingThreadMain):
(JSC::visitChildren):
(JSC::SlotVisitor::drain):
* heap/MarkStack.h: Ditto.
(JSC::MarkStack::MarkStack):
* heap/MarkedBlock.cpp: Ditto.
(JSC::MarkedBlock::callDestructor):
(JSC::MarkedBlock::specializedSweep):
* heap/MarkedBlock.h: Ditto.
* heap/SlotVisitor.h: Ditto.
(JSC::SlotVisitor::SlotVisitor):
* heap/VTableSpectrum.cpp: Now that we don't have vptrs, we can't count them.
We'll have to rename this class and make it use ClassInfo ptrs in a future patch.
(JSC::VTableSpectrum::count):
* interpreter/Interpreter.cpp: Remove all global data arguments from isJSArray,
etc. functions.
(JSC::loadVarargs):
(JSC::Interpreter::tryCacheGetByID):
(JSC::Interpreter::privateExecute):
* jit/JIT.h: Remove vptr argument from emitAllocateBasicJSObject
* jit/JITInlineMethods.h: Remove vptr planting, and add ClassInfo planting,
remove all vtable related code.
(JSC::JIT::emitLoadCharacterString):
(JSC::JIT::emitAllocateBasicJSObject):
(JSC::JIT::emitAllocateJSFinalObject):
(JSC::JIT::emitAllocateJSFunction):
* jit/JITOpcodes.cpp: Replace vptr related branch code with corresponding ClassInfo.
(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_convert_this):
* jit/JITOpcodes32_64.cpp: Ditto.
(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_convert_this):
* jit/JITPropertyAccess.cpp: Ditto.
(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
* jit/JITPropertyAccess32_64.cpp: Ditto.
(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* jit/JITStubs.cpp: Remove global data argument from isJSString, etc.
(JSC::JITThunks::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
* jit/SpecializedThunkJIT.h: Replace vptr related stuff with ClassInfo stuff.
(JSC::SpecializedThunkJIT::loadJSStringArgument):
* runtime/ArrayConstructor.cpp: Add trivial destructor assert.
* runtime/ArrayPrototype.cpp: Remove global data argument from isJSArray.
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncForEach):
(JSC::arrayProtoFuncSome):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):
* runtime/BooleanConstructor.cpp: Add trivial destructor assert.
* runtime/BooleanObject.cpp: Ditto.
* runtime/BooleanPrototype.cpp: Ditto.
* runtime/ClassInfo.h: Add destroy function pointer to MethodTable.
* runtime/DateConstructor.cpp: Add trivial destructor assert.
* runtime/DateInstance.cpp: Add destroy function for DateInstance because it has a RefPtr
that needs destruction.
(JSC::DateInstance::destroy):
* runtime/DateInstance.h:
* runtime/Error.cpp: Ditto (because of UString member).
(JSC::StrictModeTypeErrorFunction::destroy):
* runtime/Error.h:
* runtime/ErrorConstructor.cpp: Add trivial destructor assert.
* runtime/ErrorInstance.cpp: Ditto.
* runtime/ExceptionHelpers.cpp: Ditto.
* runtime/Executable.cpp: Add destroy functions for ExecutableBase and subclasses.
(JSC::ExecutableBase::destroy):
(JSC::NativeExecutable::destroy):
(JSC::ScriptExecutable::destroy):
(JSC::EvalExecutable::destroy):
(JSC::ProgramExecutable::destroy):
(JSC::FunctionExecutable::destroy):
* runtime/Executable.h:
* runtime/FunctionConstructor.cpp: Add trivial destructor assert.
* runtime/FunctionPrototype.cpp: Ditto. Also remove global data first arg from isJSArray.
(JSC::functionProtoFuncApply):
* runtime/GetterSetter.cpp: Ditto.
* runtime/InitializeThreading.cpp: Remove call to JSGlobalData::storeVPtrs since it no
longer exists.
(JSC::initializeThreadingOnce):
* runtime/InternalFunction.cpp: Remove vtableAnchor function, add trivial destructor assert,
remove first arg from isJSString.
(JSC::InternalFunction::displayName):
* runtime/InternalFunction.h: Remove VPtrStealingHack.
* runtime/JSAPIValueWrapper.cpp: Add trivial destructor assert.
* runtime/JSArray.cpp: Add static destroy to call ~JSArray.  Replace vptr checks in
destructor with ClassInfo checks.
(JSC::JSArray::~JSArray):
(JSC::JSArray::destroy):
* runtime/JSArray.h: Remove VPtrStealingHack.  Remove globalData argument from isJSArray
and change them to check the ClassInfo rather than the vptrs.
(JSC::isJSArray):
* runtime/JSBoundFunction.cpp: Add trival destructor assert. Remove first arg from isJSArray.
(JSC::boundFunctionCall):
(JSC::boundFunctionConstruct):
* runtime/JSByteArray.cpp: Add static destroy function, replace vptr checks with ClassInfo checks.
(JSC::JSByteArray::~JSByteArray):
(JSC::JSByteArray::destroy):
* runtime/JSByteArray.h: Remove VPtrStealingHack code.
(JSC::isJSByteArray):
* runtime/JSCell.cpp: Add trivial destructor assert.  Add static destroy function.
(JSC::JSCell::destroy):
* runtime/JSCell.h: Remove VPtrStealingHack code.  Add function for returning the offset
of the ClassInfo pointer in the object for use by the JIT.  Add the ClassInfo pointer to
the JSCell itself, and grab it from the Structure.  Remove the vptr and setVPtr functions,
as they are no longer used.  Add a validatedClassInfo function to JSCell for any clients
that want to verify, while in Debug mode, that the ClassInfo contained in the cell is the
same one as that contained in the Structure.  This isn't used too often, because most of
the places where we compare the ClassInfo to things can be called during destruction.
Since the Structure is unreliable during the phase when destructors are being called,
we can't call validatedClassInfo.
(JSC::JSCell::classInfoOffset):
(JSC::JSCell::structure):
(JSC::JSCell::classInfo):
* runtime/JSFunction.cpp: Remove VPtrStealingHack code.  Add static destroy, remove vtableAnchor,
remove first arg from call to isJSString.
(JSC::JSFunction::destroy):
(JSC::JSFunction::displayName):
* runtime/JSFunction.h:
* runtime/JSGlobalData.cpp: Remove all VPtr stealing code and storage, including storeVPtrs,
as these vptrs are no longer needed in the codebase.
* runtime/JSGlobalData.h:
(JSC::TypedArrayDescriptor::TypedArrayDescriptor): Changed the TypedArrayDescriptor to use
ClassInfo rather than the vptr.
* runtime/JSGlobalObject.cpp: Add static destroy function.
(JSC::JSGlobalObject::destroy):
* runtime/JSGlobalObject.h:
* runtime/JSGlobalThis.cpp: Add trivial destructor assert.
* runtime/JSNotAnObject.cpp: Ditto.
* runtime/JSONObject.cpp: Ditto. Remove first arg from isJSArray calls.
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSFinalObject::destroy):
(JSC::JSNonFinalObject::destroy):
(JSC::JSObject::destroy):
* runtime/JSObject.h: Add trivial destructor assert for JSObject, remove vtableAnchor
from JSNonFinalObject and JSFinalObject, add static destroy for JSFinalObject and
JSNonFinalObject, add isJSFinalObject utility function similar to isJSArray, remove all VPtrStealingHack code.
(JSC::JSObject::finishCreation):
(JSC::JSNonFinalObject::finishCreation):
(JSC::JSFinalObject::finishCreation):
(JSC::isJSFinalObject):
* runtime/JSPropertyNameIterator.cpp: Add static destroy.
(JSC::JSPropertyNameIterator::destroy):
* runtime/JSPropertyNameIterator.h:
* runtime/JSStaticScopeObject.cpp: Ditto.
(JSC::JSStaticScopeObject::destroy):
* runtime/JSStaticScopeObject.h: Ditto.
* runtime/JSString.cpp:
(JSC::JSString::destroy):
* runtime/JSString.h: Ditto. Remove VPtrStealingHack code. Also remove fixupVPtr code,
since we no longer need to fixup vptrs.
(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsNontrivialString):
(JSC::jsString):
(JSC::jsSubstring8):
(JSC::jsSubstring):
(JSC::jsOwnedString):
(JSC::jsStringBuilder):
(JSC::isJSString):
* runtime/JSVariableObject.cpp:
(JSC::JSVariableObject::destroy):
* runtime/JSVariableObject.h: Ditto.
* runtime/JSWrapperObject.cpp:
* runtime/JSWrapperObject.h: Add trivial destructor assert.
* runtime/MathObject.cpp: Ditto.
* runtime/NativeErrorConstructor.cpp: Ditto.
* runtime/NumberConstructor.cpp: Ditto.
* runtime/NumberObject.cpp: Ditto.
* runtime/NumberPrototype.cpp: Ditto.
* runtime/ObjectConstructor.cpp: Ditto.
* runtime/ObjectPrototype.cpp: Ditto.
* runtime/Operations.h: Remove calls to fixupVPtr, remove first arg to isJSString.
(JSC::jsString):
(JSC::jsLess):
(JSC::jsLessEq):
* runtime/RegExp.cpp: Add static destroy.
(JSC::RegExp::destroy):
* runtime/RegExp.h:
* runtime/RegExpConstructor.cpp: Add static destroy for RegExpConstructor and RegExpMatchesArray.
(JSC::RegExpConstructor::destroy):
(JSC::RegExpMatchesArray::destroy):
* runtime/RegExpConstructor.h:
* runtime/RegExpMatchesArray.h:
* runtime/RegExpObject.cpp: Add static destroy.
(JSC::RegExpObject::destroy):
* runtime/RegExpObject.h:
* runtime/ScopeChain.cpp: Add trivial destructor assert.
* runtime/ScopeChain.h:
* runtime/StrictEvalActivation.cpp: Ditto.
* runtime/StringConstructor.cpp:
* runtime/StringObject.cpp: Ditto. Remove vtableAnchor.
* runtime/StringObject.h:
* runtime/StringPrototype.cpp: Ditto.
* runtime/Structure.cpp: Add static destroy.
(JSC::Structure::destroy):
* runtime/Structure.h: Move JSCell::finishCreation and JSCell constructor into Structure.h
because they need to have the full Structure type to access the ClassInfo to store in the JSCell.
(JSC::JSCell::setStructure):
(JSC::JSCell::validatedClassInfo):
(JSC::JSCell::JSCell):
(JSC::JSCell::finishCreation):
* runtime/StructureChain.cpp: Add static destroy.
(JSC::StructureChain::destroy):
* runtime/StructureChain.h:
* wtf/Assertions.h: Add new assertion ASSERT_HAS_TRIVIAL_DESTRUCTOR, which uses clangs
ability to tell us when a class has a trivial destructor. We will use this assert
more in future patches as we move toward having all JSC objects backed by GC memory,
which means moving away from using destructors/finalizers.

Source/JavaScriptGlue:

* UserObjectImp.cpp: Add static destroy function.
(UserObjectImp::destroy):
* UserObjectImp.h:

Source/WebCore:

No new tests.

Doing everything here that was done to the JSCell hierarchy in JavaScriptCore.
See the ChangeLog for this commit for a more in-depth description.

* WebCore.exp.in: Add/remove symbols.
* bindings/js/JSCanvasRenderingContext2DCustom.cpp: Remove first arg from isJSArray call.
(WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
* bindings/js/JSDOMBinding.cpp: Add trival destructor assert for DOMConstructorObject
and DOMConstructorWithDocument.
* bindings/js/JSDOMGlobalObject.cpp: Add static destroy.  Add implementation for
scriptExecutionContext that dispatches to different functions in subclasses
depending on our current ClassInfo.  We do this so that we can get rid of the
virtual-ness of scriptExecutionContext, because any virtual functions will throw
off the layout of the object and we'll crash at runtime.
(WebCore::JSDOMGlobalObject::destroy):
(WebCore::JSDOMGlobalObject::scriptExecutionContext):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowBase.cpp: Add static destroy.
(WebCore::JSDOMWindowBase::destroy):
* bindings/js/JSDOMWindowBase.h: De-virtualize scriptExecutionContext.
* bindings/js/JSDOMWindowShell.cpp: Add static destroy.
(WebCore::JSDOMWindowShell::destroy):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSDOMWrapper.cpp: Add trivial destructor assert.
* bindings/js/JSDOMWrapper.h: Add a ClassInfo to JSDOMWrapper since it now overrides
a MethodTable function. Remove vtableAnchor virtual function.
* bindings/js/JSImageConstructor.cpp: Add trivial destructor assert.
* bindings/js/JSNodeCustom.cpp: Change implementation of pushEventHandlerScope so that
it dispatches to the correct function depending on the
identity of the class as specified by the ClassInfo.
See JSDOMGlobalObject::scriptExecutionContext for explanation.
(WebCore::JSNode::pushEventHandlerScope):
* bindings/js/JSWebSocketCustom.cpp: Remove first arg to isJSArray call.
(WebCore::JSWebSocketConstructor::constructJSWebSocket):
* bindings/js/JSWorkerContextBase.cpp: Add static destroy.
(WebCore::JSWorkerContextBase::destroy):
* bindings/js/JSWorkerContextBase.h:
* bindings/js/ScriptValue.cpp: Remove first arg to isJSArray call.
(WebCore::jsToInspectorValue):
* bindings/js/SerializedScriptValue.cpp: Ditto.
(WebCore::CloneSerializer::isArray):
(WebCore::CloneSerializer::getSparseIndex):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Remove virtual-ness of any custom pushEventHandlerScope (see
JSNodeCustom::pushEventHandlerScope for explanation).  Remove virtual toBoolean
for anybody who masquerades as undefined, since our JSObject implementation handles
this based on the TypeInfo in the Structure. Add trivial destructor assert for any
class other than DOMWindow or WorkerContexts.
(GenerateImplementation): Change ClassInfo definitions to use Base::s_info, since
typing the parent class more than once is duplication of information and increases
the likelihood of mistakes.  Pass ClassInfo to TypeArrayDescriptors instead of vptr.
(GenerateConstructorDefinition): Add trivial destructor assert for all generated constructors.
* bridge/c/CRuntimeObject.cpp: Remove empty virtual destructor.
* bridge/c/CRuntimeObject.h:
* bridge/jni/jsc/JavaRuntimeObject.cpp: Ditto.
* bridge/jni/jsc/JavaRuntimeObject.h:
* bridge/objc/ObjCRuntimeObject.h: Ditto.
* bridge/objc/ObjCRuntimeObject.mm:
* bridge/objc/objc_runtime.h: Add static destroy for ObjcFallbackObjectImp. De-virtualize
toBoolean in the short term.  Need longer term fix.
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::destroy):
* bridge/qt/qt_runtime.cpp: Add static destroy to QtRuntimeMethod.
(JSC::Bindings::QtRuntimeMethod::destroy):
* bridge/qt/qt_runtime.h: De-virtualize ~QtRuntimeMethod.
* bridge/runtime_array.cpp: De-virtualize destructor. Add static destroy.
(JSC::RuntimeArray::destroy):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp: Remove vtableAnchor. Add static destroy.
(JSC::RuntimeMethod::destroy):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp: Add static destroy.
(JSC::Bindings::RuntimeObject::destroy):
* bridge/runtime_object.h:

Source/WebKit/mac:

* Plugins/Hosted/ProxyRuntimeObject.h: Remove empty virtual destructor.
* Plugins/Hosted/ProxyRuntimeObject.mm:

Source/WebKit2:

* WebProcess/Plugins/Netscape/JSNPMethod.cpp: Add trivial destructor assert.
* WebProcess/Plugins/Netscape/JSNPObject.cpp: Add static destroy.
(WebKit::JSNPObject::destroy):
* WebProcess/Plugins/Netscape/JSNPObject.h:
* win/WebKit2.def: Add/remove necessary symbols.
* win/WebKit2CFLite.def: Ditto.

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

7 years ago Poor XPath performance when evaluating an expression that returns a lot of...
ap@apple.com [Fri, 16 Dec 2011 18:59:40 +0000 (18:59 +0000)]
    Poor XPath performance when evaluating an expression that returns a lot of nodes
        https://bugs.webkit.org/show_bug.cgi?id=74665
        <rdar://problem/10517146>

        Reviewed by Darin Adler.

        No change in funcitonality. Well covered by existing tests (ran them with zero cutoff to
        execute the new code path).

        Our sorting function is optimized for small node sets in large documents, and this is the
        opposite of it. Added another one that traverses the whole document, adding nodes from the
        node set to sorted list. That doesn't grow with the number of nodes nearly as fast.

        Cutoff amount chosen for the document referenced in bug - this is roughly where the algorithms
        have the same performance on it.

        * xml/XPathNodeSet.cpp:
        (WebCore::XPath::NodeSet::sort):
        (WebCore::XPath::findRootNode):
        (WebCore::XPath::NodeSet::traversalSort):
        * xml/XPathNodeSet.h:

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

7 years agoRebaseline and add expectations after r103073
mnaganov@chromium.org [Fri, 16 Dec 2011 18:43:57 +0000 (18:43 +0000)]
Rebaseline and add expectations after r103073
[chromium] https://bugs.webkit.org/show_bug.cgi?id=74726

* platform/chromium-linux/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-linux/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-linux/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-linux/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-mac-leopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-mac-leopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-mac-leopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-mac-leopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-mac-leopard/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-mac-snowleopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-mac-snowleopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-mac-snowleopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-mac-snowleopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
* platform/chromium-mac/fast/forms/input-text-scroll-left-on-blur-expected.png: Removed.
* platform/chromium-win/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-win/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* platform/chromium-win/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-win/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* platform/chromium-win/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-win/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* platform/chromium-win/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-win/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
* platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/chromium/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/qt/test_expectations.txt:
* platform/win/test_expectations.txt:

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=74677
antti@apple.com [Fri, 16 Dec 2011 18:39:47 +0000 (18:39 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74677
Count ResourceLoadScheduler suspends/resumes

Reviewed by Andreas Kling.

Using boolean is not robust when there are multiple clients calling suspendPendingRequests/resumePendingRequests.

Increment and decrement suspend count instead of just setting/unsetting a boolean.

* loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
(WebCore::ResourceLoadScheduler::servePendingRequests):
(WebCore::ResourceLoadScheduler::suspendPendingRequests):
(WebCore::ResourceLoadScheduler::resumePendingRequests):
* loader/ResourceLoadScheduler.h:
(WebCore::ResourceLoadScheduler::isSuspendingPendingRequests):

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

7 years agoImprove performance of ChildListMutationScope when no MutationObservers are present
adamk@chromium.org [Fri, 16 Dec 2011 18:27:13 +0000 (18:27 +0000)]
Improve performance of ChildListMutationScope when no MutationObservers are present
https://bugs.webkit.org/show_bug.cgi?id=74671

Reviewed by Ojan Vafai.

Inline ChildListMutationScope's methods (including constructor and
destructor), and provide a fast-fail case when no mutation observers
are present.

The code reorganization necessary for the above also removed the
anonymous namespace in ChildListMutationScope.cpp, making both helper
classes private inner classes of ChildListMutationScope.

No new tests, refactoring only.

* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationScope::MutationAccumulator::MutationAccumulator):
(WebCore::ChildListMutationScope::MutationAccumulator::~MutationAccumulator):
(WebCore::ChildListMutationScope::MutationAccumulator::isAddedNodeInOrder):
(WebCore::ChildListMutationScope::MutationAccumulator::childAdded):
(WebCore::ChildListMutationScope::MutationAccumulator::isRemovedNodeInOrder):
(WebCore::ChildListMutationScope::MutationAccumulator::willRemoveChild):
(WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):
(WebCore::ChildListMutationScope::MutationAccumulator::clear):
(WebCore::ChildListMutationScope::MutationAccumulator::isEmpty):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::MutationAccumulationRouter):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::~MutationAccumulationRouter):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::initialize):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::instance):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):
* dom/ChildListMutationScope.h:
(WebCore::ChildListMutationScope::ChildListMutationScope):
(WebCore::ChildListMutationScope::~ChildListMutationScope):
(WebCore::ChildListMutationScope::childAdded):
(WebCore::ChildListMutationScope::willRemoveChild):

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

7 years ago[chromium] Mark fast/forms/input-text-scroll-left-on-blur.html as failing
enne@google.com [Fri, 16 Dec 2011 18:07:29 +0000 (18:07 +0000)]
[chromium] Mark fast/forms/input-text-scroll-left-on-blur.html as failing
https://bugs.webkit.org/show_bug.cgi?id=74726

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoUnreviewed, GTK rebaseline of 2 fat/forms tests.
philn@webkit.org [Fri, 16 Dec 2011 18:04:15 +0000 (18:04 +0000)]
Unreviewed, GTK rebaseline of 2 fat/forms tests.

* platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/gtk/fast/forms/plaintext-mode-2-expected.txt:

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

7 years agoFilters need to affect visual overflow
dino@apple.com [Fri, 16 Dec 2011 18:01:09 +0000 (18:01 +0000)]
Filters need to affect visual overflow
https://bugs.webkit.org/show_bug.cgi?id=71930

Source/WebCore:

Reviewed by Simon Fraser.

Make sure filters are included in visual overflow.
Add a new method to calculate the expansion of overflow
region given a list of FilterOperations. This is a slight
duplication of code from the rendering path, but is needed
because overflow is calculated before the FilterEffect
chain is built.

Also, filters were always rendered into their
input rectangle which was wrong for any effect
that produced a different sized result - drop-shadow
and blur. This required two changes. First, FilterEffect
needed a flag to decide whether or not to clip
output to primitive regions (as required by SVG but not
what we want here). Second, the rendering operation
draws into the rectangle the filter claims is its painting
rectangle.

Test: css3/filters/regions-expanding.html

* platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::calculateUnscaledKernelSize): CSS filters
ask for the kernel size before the Filter object is created, so
add a new method to return an unscaled kernel.
(WebCore::FEGaussianBlur::calculateKernelSize):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::FilterEffect): Initialize clipToBounds
as false so SVG remains unchanged.
(WebCore::FilterEffect::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::clipsToBounds):
(WebCore::FilterEffect::setClipsToBounds):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build): Make sure we set our
filters here to NOT clip to bounds.
* rendering/FilterEffectRenderer.h:
(WebCore::FilterEffectRenderer::outputRect): Asks the filter
operation for the size of the result image.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addVisualEffectOverflow): Change the name
from addBoxShadowAndBorderOverflow().
* rendering/RenderBox.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::layout):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::hasBoxDecorations): Change name from
hasBorderOutlineOrShadow().
(WebCore::hasBoxDecorationsOrBackground):
(WebCore::hasBoxDecorationsOrBackgroundImage):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
* rendering/style/FilterOperations.cpp:
(WebCore::outsetSizeForBlur): Return an IntSize that is the amount
of offset.
(WebCore::FilterOperations::hasOutsets):
(WebCore::FilterOperations::getOutsets):
* rendering/style/FilterOperations.h:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::getFilterOutsets):
(WebCore::InheritedFlags::hasFilterOutsets):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::determineAbsolutePaintRect): Only
clipToBounds if necessary.

LayoutTests:

Previously, filters that expanded their input
region (drop-shadow and blur) were being squished
when rendered back into the document. This is now
fixed, so the expected.png images from tests including
such filters needed updating. I also turned off
dumpAsText() in order to enable pixel tests, and added
some margin between the elements in effects which have
overflow (so that blurs don't overlap, for example).

There is one new test which exercises the case
of expanding filters at various stages in a list
of operations.

Reviewed by Simon Fraser.

* css3/filters/crash-filter-change-expected.png:
* css3/filters/effect-blur-expected.png:
* css3/filters/effect-blur-expected.txt:
* css3/filters/effect-blur.html:
* css3/filters/effect-combined-expected.png:
* css3/filters/effect-combined-expected.txt:
* css3/filters/effect-combined.html:
* css3/filters/effect-drop-shadow-expected.png:
* css3/filters/effect-drop-shadow-expected.txt:
* css3/filters/effect-drop-shadow.html:
* css3/filters/effect-gamma-expected.txt:
* css3/filters/effect-gamma.html:
* css3/filters/effect-grayscale-expected.txt:
* css3/filters/effect-grayscale.html:
* css3/filters/effect-hue-rotate-expected.txt:
* css3/filters/effect-hue-rotate.html:
* css3/filters/effect-invert-expected.png:
* css3/filters/effect-invert-expected.txt:
* css3/filters/effect-invert.html:
* css3/filters/effect-opacity-expected.txt:
* css3/filters/effect-opacity.html:
* css3/filters/effect-saturate-expected.txt:
* css3/filters/effect-saturate.html:
* css3/filters/effect-sepia-expected.txt:
* css3/filters/effect-sepia.html:
* css3/filters/regions-expanding-expected.png: Added.
* css3/filters/regions-expanding-expected.txt: Added.
* css3/filters/regions-expanding.html: Added.

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

7 years agoUnreviewed, skipping some svg tests still failing on GTK 64-bit after r103071.
philn@webkit.org [Fri, 16 Dec 2011 17:52:04 +0000 (17:52 +0000)]
Unreviewed, skipping some svg tests still failing on GTK 64-bit after r103071.

* platform/gtk/Skipped:

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

7 years agoAdd support for <ol reversed>.
jwieczorek@webkit.org [Fri, 16 Dec 2011 17:28:27 +0000 (17:28 +0000)]
Add support for <ol reversed>.
https://bugs.webkit.org/show_bug.cgi?id=36724

The reversed attribute makes an ordered list appear with marker values
decreasing from n, where n is the number of items.
See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/lists/ol-reversed-dynamic-simple.html
       fast/lists/ol-reversed-dynamic.html
       fast/lists/ol-reversed-nested-items.html
       fast/lists/ol-reversed-nested-list.html
       fast/lists/ol-reversed-simple.html

* html/HTMLAttributeNames.in:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
(WebCore::HTMLOListElement::updateItemValues):
(WebCore::HTMLOListElement::recalculateItemCount):
* html/HTMLOListElement.h:
(WebCore::HTMLOListElement::start):
(WebCore::HTMLOListElement::isReversed):
(WebCore::HTMLOListElement::itemCountChanged):
(WebCore::HTMLOListElement::itemCount):
* html/HTMLOListElement.idl:
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::nextListItem):
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::previousOrNextItem):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderListItem.h:

LayoutTests:

* fast/lists/ol-reversed-dynamic-expected.txt: Added.
* fast/lists/ol-reversed-dynamic-simple-expected.txt: Added.
* fast/lists/ol-reversed-dynamic-simple.html: Added.
* fast/lists/ol-reversed-dynamic.html: Added.
* fast/lists/ol-reversed-nested-items-expected.txt: Added.
* fast/lists/ol-reversed-nested-items.html: Added.
* fast/lists/ol-reversed-nested-list-expected.txt: Added.
* fast/lists/ol-reversed-nested-list.html: Added.
* fast/lists/ol-reversed-simple-expected.txt: Added.
* fast/lists/ol-reversed-simple.html: Added.

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

7 years agoScroll non-visible edit controls and caret into the center of the view when starting...
mnaganov@chromium.org [Fri, 16 Dec 2011 16:57:31 +0000 (16:57 +0000)]
Scroll non-visible edit controls and caret into the center of the view when starting typing.
https://bugs.webkit.org/show_bug.cgi?id=65027

Reviewed by Ryosuke Niwa.

Tests: editing/input/caret-at-the-edge-of-contenteditable.html
       editing/input/caret-at-the-edge-of-input.html
       editing/input/reveal-caret-of-multiline-contenteditable.html
       editing/input/reveal-caret-of-multiline-input.html
       editing/input/reveal-contenteditable-on-input-vertically.html
       editing/input/reveal-contenteditable-on-paste-vertically.html
       editing/input/reveal-edit-on-input-vertically.html
       editing/input/reveal-edit-on-paste-vertically.html

* editing/Editor.cpp:
(WebCore::Editor::insertTextWithoutSendingTextEvent):
(WebCore::Editor::revealSelectionAfterEditingOperation):

* editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* editing/input/caret-at-the-edge-of-contenteditable.html: Added.
* editing/input/caret-at-the-edge-of-input-expected.png: Added.
* editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* editing/input/caret-at-the-edge-of-input.html: Added.
* editing/input/resources/reveal-utilities.js: Added.
* editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* editing/input/reveal-caret-of-multiline-contenteditable.html: Added.
* editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
* editing/input/reveal-caret-of-multiline-input.html: Added.
* editing/input/reveal-contenteditable-on-input-vertically-expected.txt: Added.
* editing/input/reveal-contenteditable-on-input-vertically.html: Added.
* editing/input/reveal-contenteditable-on-paste-vertically-expected.txt: Added.
* editing/input/reveal-contenteditable-on-paste-vertically.html: Added.
* editing/input/reveal-edit-on-input-vertically-expected.txt: Added.
* editing/input/reveal-edit-on-input-vertically.html: Added.
* editing/input/reveal-edit-on-paste-vertically-expected.txt: Added.
* editing/input/reveal-edit-on-paste-vertically.html: Added.
* platform/chromium/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
* platform/gtk/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
* platform/qt/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
* platform/win/test_expectations.txt: Mark new tests as FAIL to grab results from bots.

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

7 years agoTouch RenderStyle in an attempt to fix linking errors on Chromium Windows bots.
rniwa@webkit.org [Fri, 16 Dec 2011 16:53:49 +0000 (16:53 +0000)]
Touch RenderStyle in an attempt to fix linking errors on Chromium Windows bots.

* rendering/style/RenderStyle.h:

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

7 years agoUnreviewed, GTK rebaseline of some svg tests. Also unskipping the
philn@webkit.org [Fri, 16 Dec 2011 16:51:46 +0000 (16:51 +0000)]
Unreviewed, GTK rebaseline of some svg tests. Also unskipping the
ones I got passing on my 32-bit Release build. Let's see how the
bots cope with those.

* platform/gtk/Skipped:
* platform/gtk/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
* platform/gtk/svg/batik/masking/maskRegions-expected.txt:
* platform/gtk/svg/custom/embedding-external-svgs-expected.txt:
* platform/gtk/svg/custom/image-with-transform-clip-filter-expected.txt:
* platform/gtk/svg/custom/marker-strokeWidth-changes-expected.txt: Added.
* platform/gtk/svg/dom/css-transforms-expected.txt:
* platform/gtk/svg/filters/feColorMatrix-values-expected.txt:
* platform/gtk/svg/overflow/overflow-on-inner-svg-element-expected.txt:
* platform/gtk/svg/wicd/test-scalable-background-image1-expected.txt: Added.
* platform/gtk/svg/zoom/page/zoom-mask-with-percentages-expected.txt:
* platform/gtk/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.

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

7 years ago[chromium] DelayBasedTimeSource should not change its timebase on late ticks
nduca@chromium.org [Fri, 16 Dec 2011 16:31:34 +0000 (16:31 +0000)]
[chromium] DelayBasedTimeSource should not change its timebase on late ticks
https://bugs.webkit.org/show_bug.cgi?id=74573

The original DelayBasedTimeSource was designed to shift its timebase
to the tick time when a tick came back "late." The rationale was that it is
better to just "start fresh" after a stutter. After profiling this,
this time-rebasing just destabilizes frame rate anytime the thread gets
loaded.  This patch keeps the timebase stationary, leading to vastly
smoother framerates when the message loop is under load.

Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
(WebCore::CCDelayBasedTimeSource::updateState):

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

7 years agoUnreviewed, skipping 3 failing GTK API tests.
philn@webkit.org [Fri, 16 Dec 2011 14:58:49 +0000 (14:58 +0000)]
Unreviewed, skipping 3 failing GTK API tests.

* Scripts/run-gtk-tests:

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

7 years ago[GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
carlosgc@webkit.org [Fri, 16 Dec 2011 14:46:20 +0000 (14:46 +0000)]
[GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
https://bugs.webkit.org/show_bug.cgi?id=74713

Reviewed by Gustavo Noronha Silva.

Most of the members are bools, so it reduces the memory footprint.

* UIProcess/API/gtk/WebKitWindowProperties.cpp:

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

7 years ago[GTK] Window frame should be 0x0 when the toplevel window is not visible
carlosgc@webkit.org [Fri, 16 Dec 2011 14:41:41 +0000 (14:41 +0000)]
[GTK] Window frame should be 0x0 when the toplevel window is not visible
https://bugs.webkit.org/show_bug.cgi?id=74709

Reviewed by Gustavo Noronha Silva.

* UIProcess/API/gtk/WebKitUIClient.cpp:
(getWindowFrame): Check also whether the toplevel is visible
before getting its size and position.

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

7 years agoUnreviewed, GTK API tests build fix attempt.
philn@webkit.org [Fri, 16 Dec 2011 14:19:49 +0000 (14:19 +0000)]
Unreviewed, GTK API tests build fix attempt.

* Scripts/run-gtk-tests: Run xvfb on a display not used by NRWT.

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

7 years agoUnreviewed, rolling out r103062.
commit-queue@webkit.org [Fri, 16 Dec 2011 14:17:11 +0000 (14:17 +0000)]
Unreviewed, rolling out r103062.
http://trac.webkit.org/changeset/103062
https://bugs.webkit.org/show_bug.cgi?id=74715

It broke many tests (Requested by Ossy on #webkit).

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

Source/WebCore:

* html/HTMLAttributeNames.in:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
* html/HTMLOListElement.h:
(WebCore::HTMLOListElement::start):
* html/HTMLOListElement.idl:
* rendering/RenderListItem.cpp:
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderListItem.h:

LayoutTests:

* fast/lists/ol-reversed-dynamic-expected.txt: Removed.
* fast/lists/ol-reversed-dynamic-simple-expected.txt: Removed.
* fast/lists/ol-reversed-dynamic-simple.html: Removed.
* fast/lists/ol-reversed-dynamic.html: Removed.
* fast/lists/ol-reversed-nested-items-expected.txt: Removed.
* fast/lists/ol-reversed-nested-items.html: Removed.
* fast/lists/ol-reversed-nested-list-expected.txt: Removed.
* fast/lists/ol-reversed-nested-list.html: Removed.
* fast/lists/ol-reversed-simple-expected.txt: Removed.
* fast/lists/ol-reversed-simple.html: Removed.
* fast/lists/ol-reversed-simple.xhtml: Removed.

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

7 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Fri, 16 Dec 2011 14:14:36 +0000 (14:14 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt:

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

7 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Fri, 16 Dec 2011 13:59:01 +0000 (13:59 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt:

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

7 years agoAdd support for <ol reversed>.
alexis.menard@openbossa.org [Fri, 16 Dec 2011 13:43:37 +0000 (13:43 +0000)]
Add support for <ol reversed>.
https://bugs.webkit.org/show_bug.cgi?id=36724

The reversed attribute makes an ordered list appear with marker values
decreasing from n, where n is the number of items.
See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed

Patch by Alexis Menard  <alexis.menard@openbossa.org>, Jakub Wieczorek <jwieczorek@webkit.org> on 2011-12-16
Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/lists/ol-reversed-dynamic-simple.html
       fast/lists/ol-reversed-dynamic.html
       fast/lists/ol-reversed-nested-items.html
       fast/lists/ol-reversed-nested-list.html
       fast/lists/ol-reversed-simple.html

* html/HTMLAttributeNames.in:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
(WebCore::HTMLOListElement::updateItemValues):
(WebCore::HTMLOListElement::recalculateItemCount):
* html/HTMLOListElement.h:
(WebCore::HTMLOListElement::start):
(WebCore::HTMLOListElement::isReversed):
(WebCore::HTMLOListElement::itemCountChanged):
(WebCore::HTMLOListElement::itemCount):
* html/HTMLOListElement.idl:
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::nextListItem):
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::previousOrNextItem):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderListItem.h:

LayoutTests:

* fast/lists/ol-reversed-dynamic-expected.txt: Added.
* fast/lists/ol-reversed-dynamic-simple-expected.txt: Added.
* fast/lists/ol-reversed-dynamic-simple.html: Added.
* fast/lists/ol-reversed-dynamic.html: Added.
* fast/lists/ol-reversed-nested-items-expected.txt: Added.
* fast/lists/ol-reversed-nested-items.html: Added.
* fast/lists/ol-reversed-nested-list-expected.txt: Added.
* fast/lists/ol-reversed-nested-list.html: Added.
* fast/lists/ol-reversed-simple-expected.txt: Added.
* fast/lists/ol-reversed-simple.html: Added.

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

7 years agoUnreviewed, unskipping GTK testdownload. Should pass on the bot now.
philn@webkit.org [Fri, 16 Dec 2011 13:39:27 +0000 (13:39 +0000)]
Unreviewed, unskipping GTK testdownload. Should pass on the bot now.

* Scripts/run-gtk-tests:

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

7 years ago[Qt] Fix the build for newer Qt5
ossy@webkit.org [Fri, 16 Dec 2011 13:35:55 +0000 (13:35 +0000)]
[Qt] Fix the build for newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=74703

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2011-12-16
Reviewed by Csaba Osztrogon√°c.

* QtTestBrowser/launcherwindow.h: Add missing forward declaration.
* DumpRenderTree/qt/EventSenderQt.cpp:
(EventSender::sendTouchEvent): Allocate QTouchDevice and use with QTouchEvent constructor.
* WebKitTestRunner/qt/EventSenderProxyQt.cpp: Ditto.
(WTR::EventSenderProxy::sendTouchEvent):
* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::sendTouchEvent): Ditto.
(MiniBrowserApplication::notify): Adapt to changed API for marking primary touch point.

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

7 years agoEnable CSS_FILTERS in Chromium.
senorblanco@chromium.org [Fri, 16 Dec 2011 13:04:50 +0000 (13:04 +0000)]
Enable CSS_FILTERS in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=74334

Reviewed by Chris Marrin.

Source/WebCore:

Covered by css3/filters (when enabled).

* platform/graphics/filters/FilterOperation.h:
(WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
Since wingdi.h #define's PASSTHROUGH, #undef it after the includes.

Source/WebKit/chromium:

* features.gypi:

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

7 years ago[Qt] Detect and force clean build when feature defines are added
vestbo@webkit.org [Fri, 16 Dec 2011 12:41:10 +0000 (12:41 +0000)]
[Qt] Detect and force clean build when feature defines are added

Reviewed by Ossy.

https://bugs.webkit.org/show_bug.cgi?id=74689

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

7 years agoUnreviewed, test_expectations.txt update.
morrita@google.com [Fri, 16 Dec 2011 12:22:09 +0000 (12:22 +0000)]
Unreviewed, test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

7 years agoUnreviewed WinCE build fix after r102979.
paroga@webkit.org [Fri, 16 Dec 2011 12:19:27 +0000 (12:19 +0000)]
Unreviewed WinCE build fix after r102979.

Make everHadLayout() public accessible as it was before the change.

* rendering/RenderObject.h:
(WebCore::RenderObject::everHadLayout):

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

7 years agoUnreviewed, test_expectations.txt update.
morrita@google.com [Fri, 16 Dec 2011 11:28:17 +0000 (11:28 +0000)]
Unreviewed, test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

7 years ago[qt][wk2] Viewport info panel shows wrong current scale
commit-queue@webkit.org [Fri, 16 Dec 2011 11:27:36 +0000 (11:27 +0000)]
[qt][wk2] Viewport info panel shows wrong current scale
https://bugs.webkit.org/show_bug.cgi?id=74613

Patch by Michael Bruning <michael.bruning@nokia.com> on 2011-12-16
Reviewed by Kenneth Rohde Christiansen.

* UIProcess/API/qt/qwebviewportinfo.cpp:
(QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also
added emission of currenScaleUpdated signal when the viewport constraints
have been updated.
(QWebViewportInfo::didUpdateViewportConstraints):
* UIProcess/API/qt/qwebviewportinfo_p.h: Changed return type of
currentScale to QVariant as it depends on the viewport interaction engine
now.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): Changed
to use currentCSSScale for getting the current css scale.
(WebKit::QtViewportInteractionEngine::currentCSSScale): Added.
* UIProcess/qt/QtViewportInteractionEngine.h: Added method currentCSSScale.

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

7 years agoUnreviewed, rolling out r103044.
morrita@google.com [Fri, 16 Dec 2011 11:10:24 +0000 (11:10 +0000)]
Unreviewed, rolling out r103044.
http://trac.webkit.org/changeset/103044
https://bugs.webkit.org/show_bug.cgi?id=72940

Added test doesn't pass on Mac SL and Mac Chromium

* editing/spelling/spellcheck-async-mutation-expected.txt: Removed.
* editing/spelling/spellcheck-async-mutation.html: Removed.
* platform/gtk/Skipped:
* platform/mac-leopard/Skipped:
* platform/qt/Skipped:

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

7 years agoIndexedDB: Don't prefetch values from key cursors
hans@chromium.org [Fri, 16 Dec 2011 10:51:22 +0000 (10:51 +0000)]
IndexedDB: Don't prefetch values from key cursors
https://bugs.webkit.org/show_bug.cgi?id=74604

Reviewed by Tony Chang.

Since index key cursors don't have values, prefetching should not try
to retrieve them. Doing so trips an ASSERT in debug builds.

This will be tested Chromium-side.

* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::prefetchContinueInternal):

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

7 years ago[Forms] The "maxlength" attribute on "textarea" tag miscounts hard newlines
commit-queue@webkit.org [Fri, 16 Dec 2011 10:48:05 +0000 (10:48 +0000)]
[Forms] The "maxlength" attribute on "textarea" tag miscounts hard newlines
https://bugs.webkit.org/show_bug.cgi?id=74686

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-16
Reviewed by Kent Tamura.

Source/WebCore:

This patch counts LF in textarea value as two for LF to CRLF conversion on submission.

No new tests. Existing tests cover all changes.

* html/HTMLTextAreaElement.cpp:
(WebCore::computeLengthForSubmission): Count LF as 2 for CR LF conversion on submission.
(WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): Use computeLengthForSubmission instead of numGraphemeClusters.
(WebCore::HTMLTextAreaElement::tooLong): Use computeLengthForSubmission instead of numGraphemeClusters.

LayoutTests:

* fast/forms/script-tests/textarea-maxlength.js: Doubles maxlength for counting LF as two chars.

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

7 years agoUnreviewed, rolling out r103045.
morrita@google.com [Fri, 16 Dec 2011 10:44:04 +0000 (10:44 +0000)]
Unreviewed, rolling out r103045.
http://trac.webkit.org/changeset/103045
https://bugs.webkit.org/show_bug.cgi?id=74590

Breaks select-script-onchange.html on Chromium Windows

Source/WebCore:

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::typeAheadFind):

LayoutTests:

* fast/events/onchange-select-popup-expected.txt:
* fast/forms/select/menulist-type-ahead-find-expected.txt: Removed.
* fast/forms/select/menulist-type-ahead-find.html: Removed.

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

7 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Fri, 16 Dec 2011 10:36:11 +0000 (10:36 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/Skipped: Skip a failing test (regression) to paint the bot green.
* platform/qt/fast/css/bidi-override-in-anonymous-block-expected.png: Added.
* platform/qt/fast/css/bidi-override-in-anonymous-block-expected.txt:

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

7 years ago[GTK] Update NEWS and configure.ac for 1.7.3 release
carlosgc@webkit.org [Fri, 16 Dec 2011 10:16:54 +0000 (10:16 +0000)]
[GTK] Update NEWS and configure.ac for 1.7.3 release
https://bugs.webkit.org/show_bug.cgi?id=74699

Reviewed by Philippe Normand.

.:

* configure.ac: Bumped version number.

Source/WebKit/gtk:

* NEWS: Added release notes for 1.7.3.

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

7 years agoUnreviewed. Fix make distcheck.
carlosgc@webkit.org [Fri, 16 Dec 2011 10:05:08 +0000 (10:05 +0000)]
Unreviewed. Fix make distcheck.

* GNUmakefile.list.am: Add missing header file.

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

7 years ago[Refactoring] Remove all global variables from prepare-ChangeLog
haraken@chromium.org [Fri, 16 Dec 2011 09:21:02 +0000 (09:21 +0000)]
[Refactoring] Remove all global variables from prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=74681

Reviewed by Ryosuke Niwa.

We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest
manner. This bug is one of the incremental refactorings to remove all top-level
code and global variables from prepare-ChangeLog. In this patch,
we make the following global variables be used only through parameter passing.
This patch removes all global variables from prepare-ChangeLog.
    - $mergeBase
    - $gitCommit
    - $gitIndex

* Scripts/prepare-ChangeLog:
(generateFunctionLists):
(changeLogNameFromArgs):
(changeLogEmailAddressFromArgs):
(generateNewChangeLogs):
(printDiff):
(diffFromToString):
(diffCommand):
(statusCommand):
(createPatchCommand):
(generateFileList):
(isConflictStatus):

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

7 years ago[Forms] Selection change by type-ahead doesn't fire 'change' event
commit-queue@webkit.org [Fri, 16 Dec 2011 09:08:00 +0000 (09:08 +0000)]
[Forms] Selection change by type-ahead doesn't fire 'change' event
https://bugs.webkit.org/show_bug.cgi?id=74590

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-16
Reviewed by Kent Tamura.

Source/WebCore:

Fire onchange even for type ahead selection.

Test: fast/forms/select/menulist-type-ahead-find.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
calling selectOption method.

LayoutTests:

* fast/events/onchange-select-popup.html: Add "PASS: change event fired." for type ahread test.
* fast/forms/select/menulist-type-ahead-find-expected.txt: Added.
* fast/forms/select/menulist-type-ahead-find.html: Added.

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

7 years agoA test that mutation happens when asynchronous spell checking is in process.
commit-queue@webkit.org [Fri, 16 Dec 2011 09:04:50 +0000 (09:04 +0000)]
A test that mutation happens when asynchronous spell checking is in process.
https://bugs.webkit.org/show_bug.cgi?id=72940

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-12-16
Reviewed by Hajime Morita.

Added a test that mutation happens when spellchecking.
This test confirms crash won't happen, and how markers are used.

* editing/spelling/spellcheck-async-mutation-expected.txt: Added.
* editing/spelling/spellcheck-async-mutation.html: Added.
* platform/gtk/Skipped:
* platform/mac-leopard/Skipped:
* platform/qt/Skipped:

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

7 years agoDon't call Document::body() twice in the same function.
kling@webkit.org [Fri, 16 Dec 2011 08:51:18 +0000 (08:51 +0000)]
Don't call Document::body() twice in the same function.
<http://webkit.org/b/74683>

Reviewed by Dan Bernstein.

Document::body() is O(n), so we should avoid calling it multiple
times unnecessarily.

* dom/Document.cpp:
(WebCore::Document::updateLayoutIgnorePendingStylesheets):

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

7 years agoMarking some as fail.
morrita@google.com [Fri, 16 Dec 2011 08:49:53 +0000 (08:49 +0000)]
Marking some as fail.

* platform/chromium/test_expectations.txt:

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

7 years ago[Chromium] Add trace events for decoding and drawing images.
commit-queue@webkit.org [Fri, 16 Dec 2011 08:35:07 +0000 (08:35 +0000)]
[Chromium] Add trace events for decoding and drawing images.
https://bugs.webkit.org/show_bug.cgi?id=74547

Patch by Daniel Sievers <sievers@chromium.org> on 2011-12-16
Reviewed by James Robinson.

* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawResampledBitmap):
(WebCore::paintSkBitmap):
(WebCore::Image::drawPattern):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::resizedBitmap):
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::decode):
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decode):

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

7 years ago[GTK] Rounding errors on 32-bit machines causes tests to fail
philn@webkit.org [Fri, 16 Dec 2011 08:28:21 +0000 (08:28 +0000)]
[GTK] Rounding errors on 32-bit machines causes tests to fail
https://bugs.webkit.org/show_bug.cgi?id=72254

Initial patch by vanuan@gmail.com.
Reviewed by Martin Robinson.

* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary): Pass additional
CXXFLAGS to autogen in an attempt to harmonize floating point
values between 32-bit and 64-bit architectures.

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

7 years agoUnreviewed expectations update.
morrita@google.com [Fri, 16 Dec 2011 08:27:17 +0000 (08:27 +0000)]
Unreviewed expectations update.

* fast/ruby/ruby-remove-no-base-expected.txt:

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

7 years ago[GTK] Make distcheck fails during the install
mrobinson@webkit.org [Fri, 16 Dec 2011 08:18:33 +0000 (08:18 +0000)]
[GTK] Make distcheck fails during the install
https://bugs.webkit.org/show_bug.cgi?id=74274

No review, since this is a build fix.

* GNUmakefile.am: Remove BUILT_SOURCES from the dependency list for the gtkdoc
step. BUILT_SOURCES includes forwarding header generation for WebKit2, which
always runs. This means that the gtkdoc step was always running when make was
invoked. Generating gtkdoc during 'make install' was triggering a race condition
with the library file. Later we can fix generate-forwarding-headers and unbreak
'make docs,' but this bandaid is sufficient to let us release.

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

7 years agoUnreviewed, GTK rebaseline and test_expectations update.
philn@webkit.org [Fri, 16 Dec 2011 08:18:24 +0000 (08:18 +0000)]
Unreviewed, GTK rebaseline and test_expectations update.

* platform/gtk/fast/css/bidi-override-in-anonymous-block-expected.txt:
* platform/gtk/fast/ruby/ruby-remove-no-base-expected.txt: Added.
* platform/gtk/test_expectations.txt:

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

7 years agoQt rebaselines for window properties.
rniwa@webkit.org [Fri, 16 Dec 2011 08:10:27 +0000 (08:10 +0000)]
Qt rebaselines for window properties.

* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:

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

7 years agoMac rebaseline after r102918.
rniwa@webkit.org [Fri, 16 Dec 2011 08:04:09 +0000 (08:04 +0000)]
Mac rebaseline after r102918.

* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:

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

7 years agoFix 'make dist' in preparation for the GTK+ release.
mrobinson@webkit.org [Fri, 16 Dec 2011 07:59:47 +0000 (07:59 +0000)]
Fix 'make dist' in preparation for the GTK+ release.

Source/JavaScriptCore:

* GNUmakefile.list.am: Add missing header.

Source/WebCore:

* GNUmakefile.list.am: Add missing header.

Source/WebKit2:

* GNUmakefile.am: Add missing header.

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