profile/ivi/webkit-efl.git
12 years agoEnsure we don't cancel revalidation of a CachedResource
japhet@chromium.org [Wed, 18 Jan 2012 02:06:42 +0000 (02:06 +0000)]
Ensure we don't cancel revalidation of a CachedResource
in the middle of successful revalidation.
It's more reliable to enforce this in CachedResource than in
SubresourceLoader.
https://bugs.webkit.org/show_bug.cgi?id=75713

Reviewed by Adam Barth.

No new test, the buggy case requires a non-stubbed window.print().

* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):
* loader/SubresourceLoader.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::clearResourceToRevalidate):
(WebCore::CachedResource::switchClientsToRevalidatedResource):
* loader/cache/CachedResource.h:

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

12 years agoTweak results.html keyboard handling and flagging UI
ojan@chromium.org [Wed, 18 Jan 2012 02:06:19 +0000 (02:06 +0000)]
Tweak results.html keyboard handling and flagging UI
https://bugs.webkit.org/show_bug.cgi?id=76331

Reviewed by Simon Fraser.

-Make it so that hitting j/k at the start selects the first/last test
instead of the second/none'th test.
-Use the unicode black flag character instead of " (flagged)"
-Make the text color of the whole selected row red. This showed
which row was selected without being to garish I think.
-Allow for having the flagged tests be space-separated instead of
newline separated.

* fast/harness/resources/results-test.js:
* fast/harness/results-expected.txt:
* fast/harness/results.html:

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

12 years agoNULL ptr in WebCore::RenderSVGInlineText::localCaretRect
commit-queue@webkit.org [Wed, 18 Jan 2012 02:03:30 +0000 (02:03 +0000)]
NULL ptr in WebCore::RenderSVGInlineText::localCaretRect
https://bugs.webkit.org/show_bug.cgi?id=75851

Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-17
Reviewed by Ryosuke Niwa.

.:

Added a check for null box in localCaretRect, to match test in other
implementations. Adding a manual test because the crash is not
reproducible in DRT.

* ManualTests/svg-modify-deleted-selection.svg: Added.

Source/WebCore:

Added a check for null box in localCaretRect, to match test in other
implementations. Adding a manual test because the crash is not reproducible
in DRT.

Test: ManualTests/svg-modify-deleted-selection.svg

* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect):

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

12 years agoFactored out some code into a helper function.
ggaren@apple.com [Wed, 18 Jan 2012 02:00:44 +0000 (02:00 +0000)]
Factored out some code into a helper function.

I think this might help getting rid of omit-frame-pointer.

Reviewed by Sam Weinig.

No benchmark change.

* runtime/StringPrototype.cpp:
(JSC::removeUsingRegExpSearch): Moved to here...
(JSC::replaceUsingRegExpSearch): ...from here.

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

12 years agoReduce the number of compositing test failures
simon.fraser@apple.com [Wed, 18 Jan 2012 01:18:20 +0000 (01:18 +0000)]
Reduce the number of compositing test failures
https://bugs.webkit.org/show_bug.cgi?id=76495

Reviewed by James Robinson.

General cleanup of compositing tests:
    * video tests now do a seek to guarantee that the pixel result will show a frame
    * video tests use a shared JS file (can't use media/video-test.js because it always
    calls dumpAsText(), which is not reversible).
    * ideo-with-invalid-source.html fixed to use a file extension so that the
    error event fires (bug 76494).
    * pixel results rebaselined.

* compositing/geometry/clipped-video-controller.html:
* compositing/geometry/video-fixed-scrolling.html:
* compositing/geometry/video-opacity-overlay.html:
* compositing/layers-inside-overflow-scroll.html:
* compositing/overflow/scroll-ancestor-update.html:
* compositing/reflections/load-video-in-reflection.html:
* compositing/resources/media-testing.js: Added.
(ensureFrameVisible):
* compositing/self-painting-layers.html:
* compositing/video/video-with-invalid-source.html:
* compositing/visibility/visibility-simple-video-layer.html:
* platform/mac/compositing/color-matching/image-color-matching-expected.png:
* platform/mac/compositing/geometry/video-fixed-scrolling-expected.png:
* platform/mac/compositing/geometry/video-opacity-overlay-expected.png:
* platform/mac/compositing/layers-inside-overflow-scroll-expected.png:
* platform/mac/compositing/overflow/scroll-ancestor-update-expected.png:
* platform/mac/compositing/overflow/scroll-ancestor-update-expected.txt:
* platform/mac/compositing/plugins/composited-plugin-expected.png:
* platform/mac/compositing/reflections/load-video-in-reflection-expected.png:
* platform/mac/compositing/reflections/simple-composited-reflections-expected.png:
* platform/mac/compositing/self-painting-layers-expected.png:
* platform/mac/compositing/video/video-background-color-expected.png:
* platform/mac/test_expectations.txt:

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=76245
commit-queue@webkit.org [Wed, 18 Jan 2012 01:16:30 +0000 (01:16 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=76245
[Mac][DRT] should allow query string for the file URL.

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-17
Reviewed by Tony Chang.

Taught DRT about file:// as a url instead of a file path.
We are now able to use a path file:///foo/bar.html?baz as a url
with which DRT opens "/foo/bar.html" with "baz" as a query string.

* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):

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

12 years agoUint8ClampedArray support
caio.oliveira@openbossa.org [Wed, 18 Jan 2012 01:11:16 +0000 (01:11 +0000)]
Uint8ClampedArray support
https://bugs.webkit.org/show_bug.cgi?id=74455

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/PredictedType.cpp:
(JSC::predictionToString):
(JSC::predictionFromClassInfo):
* bytecode/PredictedType.h:
(JSC::isUint8ClampedArrayPrediction):
(JSC::isActionableMutableArrayPrediction):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::execute):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateUint8ClampedArray):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::fixupNode):
(JSC::DFG::Propagator::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::clampDoubleToByte):
(JSC::DFG::compileClampIntegerToByte):
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* runtime/JSCell.h:
* runtime/JSGlobalData.h:
* wtf/Forward.h:
* wtf/Uint8Array.h:
* wtf/Uint8ClampedArray.h: Added.
(WTF::Uint8ClampedArray::set):
(WTF::Uint8ClampedArray::create):
(WTF::Uint8ClampedArray::Uint8ClampedArray):
(WTF::Uint8ClampedArray::subarray):

Source/WebCore:

Test: fast/js/dfg-uint8clampedarray.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* ForwardingHeaders/wtf/Uint8ClampedArray.h: Added.
* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSUint8ClampedArrayCustom.cpp: Added.
(WebCore::JSUint8ClampedArray::indexSetter):
(WebCore::toJS):
(WebCore::JSUint8ClampedArray::set):
(WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):
* bindings/scripts/CodeGeneratorJS.pm:
(IsTypedArrayType):
(GenerateHeader):
* html/canvas/Uint8ClampedArray.idl: Added.
* page/DOMWindow.idl:

Source/WTF:

* WTF.pro:

LayoutTests:

* fast/canvas/webgl/array-unit-tests-expected.txt:
* fast/canvas/webgl/array-unit-tests.html:
* fast/dom/Window/script-tests/window-property-descriptors.js:
* fast/dom/Window/window-properties.html:
* fast/dom/script-tests/constructed-objects-prototypes.js:
(constructorPropertiesOnWindow):
* fast/dom/script-tests/prototype-inheritance-2.js:
(constructorNamesForWindow):
* fast/js/dfg-uint8clampedarray-expected.txt: Added.
* fast/js/dfg-uint8clampedarray.html: Added.
* fast/js/script-tests/dfg-uint8clampedarray.js: Added.
(getter1):
(setter1):
(getter2):
(setter2):
(getter3):
(setter3):
(getter4):
(setter4):
(getters.getter1.a):
(.a):
(setters.setter1.a):
(safeGetter):
(safeSetter):
* fast/js/script-tests/global-constructors.js:
* platform/chromium/fast/canvas/webgl/array-unit-tests-expected.txt: Copied from LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt.
* platform/chromium/test_expectations.txt:

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

12 years ago[chromium] Update baselines
jamesr@google.com [Wed, 18 Jan 2012 00:50:43 +0000 (00:50 +0000)]
[chromium] Update baselines

* platform/chromium-linux/animations/cross-fade-webkit-mask-box-image-expected.png:
* platform/chromium-mac-snowleopard/animations/cross-fade-webkit-mask-box-image-expected.png:
* platform/chromium-win/animations/cross-fade-webkit-mask-box-image-expected.png:
* platform/chromium-win/svg/carto.net/window-expected.png:
* platform/chromium-win/svg/carto.net/window-expected.txt:

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

12 years agoCheck style on test_expectations.txt files before commit
ojan@chromium.org [Wed, 18 Jan 2012 00:41:07 +0000 (00:41 +0000)]
Check style on test_expectations.txt files before commit
https://bugs.webkit.org/show_bug.cgi?id=76484

Reviewed by Adam Barth.

Unlike other style rules, if you get the syntax of the test_expectations.txt
file wrong, the layout tests won't run. Also, this check is simple and only
slows down committing if you actually modify one of the test_expectations.txt files.

* Scripts/webkitpy/tool/steps/commit.py:
(Commit._check_test_expectations):
(Commit.run):
* Scripts/webkitpy/tool/steps/commit_unittest.py: Added.
(CommitTest):
(CommitTest.test_check_test_expectations):

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

12 years agoCrash in in WebCore::EventHandler::mouseMoved.
inferno@chromium.org [Wed, 18 Jan 2012 00:33:10 +0000 (00:33 +0000)]
Crash in in WebCore::EventHandler::mouseMoved.
https://bugs.webkit.org/show_bug.cgi?id=76462

Reviewed by Ryosuke Niwa.

Source/WebCore:

handleMouseMoveEvent call in EventHandler::mouseMoved can
blow away the frame from underneath. Protect it with a frameview
refptr.

Test: fast/events/mouse-moved-remove-frame-crash.html

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

LayoutTests:

* fast/events/mouse-moved-remove-frame-crash-expected.txt: Added.
* fast/events/mouse-moved-remove-frame-crash.html: Added.
* fast/events/resources/mouse-move.html: Added.

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

12 years agoIncrease test coverage for -webkit-border-image.
alexis.menard@openbossa.org [Wed, 18 Jan 2012 00:12:40 +0000 (00:12 +0000)]
Increase test coverage for -webkit-border-image.
https://bugs.webkit.org/show_bug.cgi?id=76473

Reviewed by Tony Chang.

Make sure we also set the width of the border in the shorthand. It will help
in the future to remove CSSBorderImageValue class without breaking this property.

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

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

12 years ago[Qt] Debug build fails with debug qt5
ostapenko.viatcheslav@nokia.com [Wed, 18 Jan 2012 00:10:53 +0000 (00:10 +0000)]
[Qt] Debug build fails with debug qt5
https://bugs.webkit.org/show_bug.cgi?id=76463

Reviewed by Simon Hausmann.

Add QNetworkCookie include in order to satisfy sizeof in QTypeInfo in debug builds.

Source/WebKit/qt:

* WebCoreSupport/FrameNetworkingContextQt.cpp:

Tools:

* QtTestBrowser/cookiejar.h:

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

12 years ago[chromium] Update expectations for line-grid tests and one random svg thing
jamesr@google.com [Wed, 18 Jan 2012 00:06:37 +0000 (00:06 +0000)]
[chromium] Update expectations for line-grid tests and one random svg thing

* platform/chromium-linux/fast/line-grid/line-grid-floating-expected.png: Added.
* platform/chromium-linux/fast/line-grid/line-grid-inside-columns-expected.png: Added.
* platform/chromium-linux/fast/line-grid/line-grid-into-floats-expected.png: Added.
* platform/chromium-linux/fast/line-grid/line-grid-positioned-expected.png: Added.
* platform/chromium-mac-leopard/fast/line-grid/line-grid-floating-expected.png: Added.
* platform/chromium-mac-leopard/fast/line-grid/line-grid-inside-columns-expected.png: Added.
* platform/chromium-mac-leopard/fast/line-grid/line-grid-into-floats-expected.png: Added.
* platform/chromium-mac-leopard/fast/line-grid/line-grid-positioned-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/line-grid/line-grid-floating-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/line-grid/line-grid-inside-columns-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/line-grid/line-grid-into-floats-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/line-grid/line-grid-positioned-expected.png: Added.
* platform/chromium-win/fast/line-grid/line-grid-floating-expected.png: Added.
* platform/chromium-win/fast/line-grid/line-grid-floating-expected.txt: Added.
* platform/chromium-win/fast/line-grid/line-grid-inside-columns-expected.png: Added.
* platform/chromium-win/fast/line-grid/line-grid-inside-columns-expected.txt: Added.
* platform/chromium-win/fast/line-grid/line-grid-into-floats-expected.png: Added.
* platform/chromium-win/fast/line-grid/line-grid-into-floats-expected.txt: Added.
* platform/chromium-win/fast/line-grid/line-grid-positioned-expected.png: Added.
* platform/chromium-win/fast/line-grid/line-grid-positioned-expected.txt: Added.
* platform/chromium-win/svg/custom/js-late-clipPath-and-object-creation-expected.png:
* platform/chromium-win/svg/custom/js-late-clipPath-and-object-creation-expected.txt:

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

12 years ago[chromium] Update expectations/baselines for cross-fade change
jamesr@google.com [Tue, 17 Jan 2012 23:57:45 +0000 (23:57 +0000)]
[chromium] Update expectations/baselines for cross-fade change

* css3/images/cross-fade-overflow-position-expected.txt: Renamed from LayoutTests/platform/mac/css3/images/cross-fade-overflow-position-expected.txt.
* platform/chromium-linux/css3/images/cross-fade-overflow-position-expected.png:
* platform/chromium-mac-snowleopard/css3/images/cross-fade-overflow-position-expected.png:
* platform/chromium-win/css3/images/cross-fade-overflow-position-expected.png:
* platform/chromium/test_expectations.txt:
* platform/qt/css3/images/cross-fade-overflow-position-expected.txt: Removed.

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

12 years agoAdd helper macro for forward declaring objective-c classes
weinig@apple.com [Tue, 17 Jan 2012 23:46:16 +0000 (23:46 +0000)]
Add helper macro for forward declaring objective-c classes
https://bugs.webkit.org/show_bug.cgi?id=76485

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* wtf/Compiler.h:
Add OBJC_CLASS macro which helps reduce code when forward declaring an
objective-c class in a header which can be included from both Objective-C
and non-Objective-C files.

Source/WebCore:

* accessibility/AccessibilityObject.h:
* bindings/js/ScriptController.h:
* bridge/objc/objc_utility.h:
* page/DragClient.h:
* page/EditorClient.h:
* platform/AutodrainedPool.h:
* platform/ContextMenuItem.h:
* platform/Cursor.h:
* platform/DragData.h:
* platform/DragImage.h:
* platform/KURL.h:
* platform/Pasteboard.h:
* platform/PlatformKeyboardEvent.h:
* platform/PlatformMenuDescription.h:
* platform/PlatformScreen.h:
* platform/SharedBuffer.h:
* platform/Widget.h:
* platform/cf/SchedulePair.h:
* platform/graphics/BitmapImage.h:
* platform/graphics/FontPlatformData.h:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/Icon.h:
* platform/graphics/Image.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/ca/PlatformCAAnimation.h:
* platform/graphics/ca/mac/TileCache.h:
* platform/graphics/mac/ColorMac.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerProxy.h:
* platform/mac/ClipboardMac.h:
* platform/mac/LocalCurrentGraphicsContext.h:
* platform/mac/PasteboardHelper.h:
* platform/mac/PopupMenuMac.h:
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/WebCoreSystemInterface.h:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* platform/network/ResourceHandleInternal.h:
* platform/network/cf/AuthenticationChallenge.h:
* platform/network/cf/ResourceError.h:
* platform/network/cf/ResourceRequest.h:
* platform/network/cf/ResourceResponse.h:
* rendering/RenderThemeMac.h:
Deploy OBJC_CLASS for a little code reduction.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebDragClient.h:
Deploy OBJC_CLASS for a little code reduction.

* config.h:
Remove duplicate copy of OBJC_CLASS.

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

12 years ago[chromium] Fix duplicate expectations for canvas tests on mac
jamesr@google.com [Tue, 17 Jan 2012 23:31:57 +0000 (23:31 +0000)]
[chromium] Fix duplicate expectations for canvas tests on mac

* platform/chromium/test_expectations.txt:

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

12 years agoREGRESSION (r101413): Correction panel overlaps misspelled text.
enrica@apple.com [Tue, 17 Jan 2012 23:26:12 +0000 (23:26 +0000)]
REGRESSION (r101413): Correction panel overlaps misspelled text.
https://bugs.webkit.org/show_bug.cgi?id=74589
<rdar://problem/10585115>

When converting the rectangle from the root view, we need
to take into account the height of the rectangle.

Reviewed by Anders Carlsson.

* WebView/WebView.mm:
(-[WebView _convertRectFromRootView:]):

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

12 years agoConvert some fast/regions pixel tests to reftests
commit-queue@webkit.org [Tue, 17 Jan 2012 23:25:53 +0000 (23:25 +0000)]
Convert some fast/regions pixel tests to reftests
https://bugs.webkit.org/show_bug.cgi?id=74133

Patch by Jacob Goldstein <jacobg@adobe.com> on 2012-01-17
Reviewed by Tony Chang.

* fast/regions/webkit-flow-inlines-dynamic-expected.html: Added.
* fast/regions/webkit-flow-inlines-dynamic.html:
* platform/efl/fast/regions/webkit-flow-inlines-dynamic-expected.png: Removed.
* platform/efl/fast/regions/webkit-flow-inlines-dynamic-expected.txt: Removed.
* platform/mac/fast/regions/webkit-flow-inlines-dynamic-expected.png: Removed.
* platform/mac/fast/regions/webkit-flow-inlines-dynamic-expected.txt: Removed.

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

12 years agowebkitpy: fix json import on linux
dpranke@chromium.org [Tue, 17 Jan 2012 23:10:46 +0000 (23:10 +0000)]
webkitpy: fix json import on linux
https://bugs.webkit.org/show_bug.cgi?id=76481

Reviewed by Adam Barth.

For some reason, the version of simplejson autoinstalled on my linux
box seems to be broken. We should really only be using
simplejson if json isn't available anyway, so this change looks
for json first.

* Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
(JSONGeneratorTest.test_test_timings_trie):

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

12 years agoFix failures in test-webkitpy caused by r105177.
dpranke@chromium.org [Tue, 17 Jan 2012 22:31:33 +0000 (22:31 +0000)]
Fix failures in test-webkitpy caused by r105177.

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort._determine_driver_path_statically):
(ChromiumLinuxPort._static_build_path):

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

12 years ago[Qt] Unreviewed gardening after r105172.
ossy@webkit.org [Tue, 17 Jan 2012 22:14:49 +0000 (22:14 +0000)]
[Qt] Unreviewed gardening after r105172.

* platform/qt/css3/images/cross-fade-overflow-position-expected.png:
* platform/qt/css3/images/cross-fade-overflow-position-expected.txt:

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

12 years agoAdd some canvas tests to test_expectations to prepare for changes to use sw-rasterize...
commit-queue@webkit.org [Tue, 17 Jan 2012 21:43:47 +0000 (21:43 +0000)]
Add some canvas tests to test_expectations to prepare for changes to use sw-rasterized paths in skia-gpu
https://bugs.webkit.org/show_bug.cgi?id=76469

Patch by Brian Salomon <bsalomon@google.com> on 2012-01-17
Reviewed by Stephen White.

* platform/chromium/test_expectations.txt:

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

12 years agoSpaceSplitString: Share equivalent string piece vectors.
kling@webkit.org [Tue, 17 Jan 2012 20:57:23 +0000 (20:57 +0000)]
SpaceSplitString: Share equivalent string piece vectors.
<http://webkit.org/b/76458>

Reviewed by Antti Koivisto.

Make SpaceSplitStringData ref-counted and cache them in a hashmap to reduce memory
usage and avoid redundant string splitting work.  This reduces memory consumption
by 618 kB (on 64-bit) when viewing the full HTML5 spec at <http://whatwg.org/c>

* dom/SpaceSplitString.h:

    Add the source string to SpaceSplitStringData so we have a key for uncaching
    in the destructor. Also bumped the vector's inline size from 2 to 4.

* dom/SpaceSplitString.cpp:
(WebCore::sharedDataMap):
(WebCore::SpaceSplitStringData::create):
(WebCore::SpaceSplitStringData::createUnique):
(WebCore::SpaceSplitStringData::SpaceSplitStringData):
(WebCore::SpaceSplitString::SpaceSplitString):
(WebCore::SpaceSplitString::set):
(WebCore::SpaceSplitStringData::createVector):

    Added create helpers for SpaceSplitStringData. Moved case folding from
    createVector() to create(AtomicString). Added a hash map for caching
    AtomicString -> SpaceSplitStringData.

(WebCore::SpaceSplitStringData::~SpaceSplitStringData):

    Remove the SpaceSplitStringData from the sharedDataMap().

* dom/SpaceSplitString.cpp:
(WebCore::SpaceSplitString::ensureUnique):

    Added, detaches from the shared SpaceSplitStringData if necessary.

(WebCore::SpaceSplitStringData::add):
(WebCore::SpaceSplitStringData::remove):

    Assert that add() and remove() are only used on unique SpaceSplitStringData.

(WebCore::SpaceSplitString::add):
(WebCore::SpaceSplitString::remove):

    Call ensureUnique() to potentially detach from a shared SpaceSplitStringData
    before making modifications.

* dom/SpaceSplitString.cpp:
(WebCore::SpaceSplitStringData::containsAll):

    Added gratuitous fast path for containsAll(*this).

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

12 years agowebkitpy: make PortFactory.get() be fully data-driven
dpranke@chromium.org [Tue, 17 Jan 2012 20:32:59 +0000 (20:32 +0000)]
webkitpy: make PortFactory.get() be fully data-driven
https://bugs.webkit.org/show_bug.cgi?id=76360

Reviewed by Eric Seidel.

Refactor PortFactory.get() to be fully data-driven.

* Scripts/webkitpy/layout_tests/port/factory.py:
(PortFactory):
(PortFactory._default_port):
(PortFactory.get):
(PortFactory.get.in):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(FactoryTest.assert_port):

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

12 years agowebkitpy: add determine_full_port_name(), clean up port.__init__()
dpranke@chromium.org [Tue, 17 Jan 2012 20:27:35 +0000 (20:27 +0000)]
webkitpy: add determine_full_port_name(), clean up port.__init__()
https://bugs.webkit.org/show_bug.cgi?id=76357

Reviewed by Adam Barth.

Each Port class is now required to implement a 'port_name' field
that will match the start of all ports constructed by this class and
a 'determine_full_port_name' field that will make the port
fully-qualified.

* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort.__init__):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port):
(Port.determine_port_name):
(Port.__init__):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.for):
(ChromiumPort.__init__):
(ChromiumPort):
(ChromiumPort._chromium_base_dir):
(ChromiumPort.path_from_chromium_base):
* Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
(ChromiumGpuLinuxPort):
(ChromiumGpuLinuxPort.__init__):
(ChromiumGpuMacPort):
(ChromiumGpuMacPort.__init__):
(ChromiumGpuWinPort):
(ChromiumGpuWinPort.__init__):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort):
(ChromiumLinuxPort.determine_port_name):
(ChromiumLinuxPort.__init__):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort):
(ChromiumMacPort.determine_port_name):
(ChromiumMacPort.__init__):
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
(ChromiumWinPort):
(ChromiumWinPort.determine_port_name):
(ChromiumWinPort.__init__):
* Scripts/webkitpy/layout_tests/port/dryrun.py:
(DryRunPort):
(DryRunPort.determine_port_name):
(DryRunPort.__init__):
* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort):
* Scripts/webkitpy/layout_tests/port/factory.py:
(PortFactory):
(PortFactory._default_port):
(PortFactory.get):
(PortFactory.get.in):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(FactoryTest.assert_port):
* Scripts/webkitpy/layout_tests/port/google_chrome.py:
(GoogleChromeLinux32Port):
(GoogleChromeLinux32Port.determine_port_name):
(GoogleChromeLinux64Port):
(GoogleChromeLinux64Port.determine_port_name):
(GoogleChromeMacPort):
(GoogleChromeMacPort.determine_port_name):
(GoogleChromeWinPort):
(GoogleChromeWinPort.determine_port_name):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort):
(MacPort.determine_port_name):
(MacPort.__init__):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(test_versions):
* Scripts/webkitpy/layout_tests/port/mock_drt.py:
(MockDRTPort):
(MockDRTPort.determine_port_name):
(MockDRTPort.__init__):
(MockDRT):
(MockDRT.determine_port_name):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(PortTestCase.make_port):
* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort):
(QtPort.determine_port_name):
(QtPort.__init__):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort):
(TestPort.determine_port_name):
(TestPort.__init__):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort.__init__):
* Scripts/webkitpy/layout_tests/port/win.py:
(WinPort):
(WinPort.determine_port_name):
* Scripts/webkitpy/tool/servers/rebaselineserver.py:
(get_test_baselines.AllPlatformsPort.__init__):
* Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
(get_test_config.TestMacPort):
(get_test_config):

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

12 years agowebkitpy: clean up port code in preparation for static port names
dpranke@chromium.org [Tue, 17 Jan 2012 19:25:01 +0000 (19:25 +0000)]
webkitpy: clean up port code in preparation for static port names
https://bugs.webkit.org/show_bug.cgi?id=76356

Reviewed by Adam Barth.

To fix bug 76215 and be able to determine appropriate port names
in webkitpy without actually constructing Port objects, we need
to shuffle some logic in the chromium ports to be able to figure
out whether we built DRT in 32 or 64-bit mode.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort):
(ChromiumPort._chromium_base_dir):
(ChromiumPort.__init__):
(ChromiumPort.path_from_chromium_base):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort):
(ChromiumLinuxPort._determine_driver_path_statically):
(ChromiumLinuxPort._static_build_path):
(ChromiumLinuxPort._determine_architecture):
(ChromiumLinuxPort.__init__):
(ChromiumLinuxPort._build_path):

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

12 years agoSource/WebCore: https://bugs.webkit.org/show_bug.cgi?id=76197
hyatt@apple.com [Tue, 17 Jan 2012 19:16:24 +0000 (19:16 +0000)]
Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=76197

Implementation of baseline grid alignment. This patch implements line grid tracking in the layout state,
and also implements the snapping of lines to baselines. It works with normal flow, positioning and floats and
with pagination, as long as the grid is inside the pagination context and not outside.

Reviewed by Simon Fraser.

Added a bunch of new tests in fast/line-grid.

* WebCore.xcodeproj/project.pbxproj:
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::setHasTextChildren):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::propagateLineGridInfo):
(WebCore::LayoutState::establishLineGrid):
* rendering/LayoutState.h:
(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::pageLogicalHeight):
(WebCore::LayoutState::currentLineGrid):
(WebCore::LayoutState::currentLineGridOffset):
(WebCore::LayoutState::layoutOffset):
(WebCore::LayoutState::needsBlockDirectionLocationSetBeforeLayout):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::pageLogicalTopForOffset):
(WebCore::RenderBlock::adjustLinePositionForPagination):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::lineGridBox):
(WebCore::RenderBlock::setLineGridBox):
(WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::layoutLineGridBox):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::regionLogicalTopForLine):
* rendering/RenderFlowThread.h:
* rendering/RenderView.h:
(WebCore::RenderView::pushLayoutState):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::alignBoxesInBlockDirection):
(WebCore::RootInlineBox::lineGridSnapAdjustment):
* rendering/RootInlineBox.h:

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

Add tests for baseline line grid alignment.

Reviewed by Simon Fraser.

* fast/line-grid/line-grid-floating.html: Added.
* fast/line-grid/line-grid-inside-columns.html: Added.
* fast/line-grid/line-grid-into-floats.html: Added.
* fast/line-grid/line-grid-positioned.html: Added.
* platform/mac/fast/line-grid: Added.
* platform/mac/fast/line-grid/line-grid-floating-expected.png: Added.
* platform/mac/fast/line-grid/line-grid-floating-expected.txt: Added.
* platform/mac/fast/line-grid/line-grid-inside-columns-expected.png: Added.
* platform/mac/fast/line-grid/line-grid-inside-columns-expected.txt: Added.
* platform/mac/fast/line-grid/line-grid-into-floats-expected.png: Added.
* platform/mac/fast/line-grid/line-grid-into-floats-expected.txt: Added.
* platform/mac/fast/line-grid/line-grid-positioned-expected.png: Added.
* platform/mac/fast/line-grid/line-grid-positioned-expected.txt: Added.

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

12 years ago-webkit-cross-fade doesn't respect background-size
timothy_horton@apple.com [Tue, 17 Jan 2012 19:02:39 +0000 (19:02 +0000)]
-webkit-cross-fade doesn't respect background-size
https://bugs.webkit.org/show_bug.cgi?id=74902
<rdar://problem/10605289>

Reviewed by Simon Fraser.

CrossfadeGeneratedImage should report its intrinsic size, instead of
improperly conforming to the size of its container.

Test: css3/images/cross-fade-background-size.html

* platform/graphics/CrossfadeGeneratedImage.h:
(WebCore::CrossfadeGeneratedImage::setContainerSize):
(WebCore::CrossfadeGeneratedImage::usesContainerSize):
(WebCore::CrossfadeGeneratedImage::hasRelativeWidth):
(WebCore::CrossfadeGeneratedImage::hasRelativeHeight):
(WebCore::CrossfadeGeneratedImage::size):

Add a test (cross-fade-background-size.html) which ensures that the
background-size CSS property interacts reasonably with -webkit-cross-fade.

Modify cross-fade-overflow-position to hit both the tiled and non-tiled codepaths.

* css3/images/cross-fade-background-size.html: Added.
* css3/images/cross-fade-overflow-position.html:
* css3/images/resources/stripes-large.png: Added.
* css3/images/resources/stripes-small.png: Added.
* platform/mac/css3/images/cross-fade-background-size-expected.png: Added.
* platform/mac/css3/images/cross-fade-background-size-expected.txt: Added.
* platform/mac/css3/images/cross-fade-overflow-position-expected.png:
* platform/mac/css3/images/cross-fade-overflow-position-expected.txt:

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

12 years agoWeb Inspector: Refactor JavaScriptOutlineDialog: extract FilteredItemSelectionDialog...
vsevik@chromium.org [Tue, 17 Jan 2012 19:00:12 +0000 (19:00 +0000)]
Web Inspector: Refactor JavaScriptOutlineDialog: extract FilteredItemSelectionDialog and reuse DialogDelegate.
https://bugs.webkit.org/show_bug.cgi?id=76455

Reviewed by Yury Semikhatsky.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/Dialog.js:
(WebInspector.Dialog):
(WebInspector.Dialog.prototype._hide):
* inspector/front-end/FilteredItemSelectionDialog.js: Added.
(WebInspector.FilteredItemSelectionDialog):
(WebInspector.FilteredItemSelectionDialog.prototype.position):
(WebInspector.FilteredItemSelectionDialog.prototype.focus):
(WebInspector.FilteredItemSelectionDialog.prototype.willHide):
(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
(WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
(WebInspector.FilteredItemSelectionDialog.prototype._hideItemElement):
(WebInspector.FilteredItemSelectionDialog.prototype._itemElementVisible):
(WebInspector.FilteredItemSelectionDialog.prototype._showItemElement):
(WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
(WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
(WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
(WebInspector.FilteredItemSelectionDialog.prototype._scheduleFilter):
(WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
(WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
(WebInspector.FilteredItemSelectionDialog.prototype._onScroll):
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItems):
(WebInspector.FilteredItemSelectionDialog.prototype._clearHighlight):
(WebInspector.FilteredItemSelectionDialog.prototype._clearElementHighlight.changes.this._elementHighlightChanges.get if):
(WebInspector.FilteredItemSelectionDialog.prototype._clearElementHighlight):
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):
(WebInspector.FilteredItemSelectionDialog.prototype._itemElementInViewport):
(WebInspector.SelectionDialogContentProvider):
(WebInspector.SelectionDialogContentProvider.prototype.itemTitleAt):
(WebInspector.SelectionDialogContentProvider.prototype.itemKeyAt):
(WebInspector.SelectionDialogContentProvider.prototype.itemsCount):
(WebInspector.SelectionDialogContentProvider.prototype.requestItems):
(WebInspector.SelectionDialogContentProvider.prototype.selectItem):
(WebInspector.JavaScriptOutlineDialog):
(WebInspector.JavaScriptOutlineDialog.didAddChunk):
(WebInspector.JavaScriptOutlineDialog.install):
(WebInspector.JavaScriptOutlineDialog._show):
(WebInspector.JavaScriptOutlineDialog.createShortcut):
(WebInspector.JavaScriptOutlineDialog.prototype.itemTitleAt):
(WebInspector.JavaScriptOutlineDialog.prototype.itemKeyAt):
(WebInspector.JavaScriptOutlineDialog.prototype.itemsCount):
(WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
(WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
(WebInspector.JavaScriptOutlineDialog.prototype._appendItemElements):
* inspector/front-end/JavaScriptOutlineDialog.js: Removed.
* inspector/front-end/WebKit.qrc:
* inspector/front-end/filteredItemSelectionDialog.css: Renamed from Source/WebCore/inspector/front-end/javaScriptOutlineDialog.css.
(.js-outline-dialog > input):
(.js-outline-dialog > div.progress):
(.js-outline-dialog > div.container):
(.js-outline-dialog > .container > div.item):
(.js-outline-dialog > .container > div.item.selected):
(.js-outline-dialog > .container > div.item > span.highlight):
* inspector/front-end/inspector.html:

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

12 years agoDo not remove pixel failures for ref tests.
commit-queue@webkit.org [Tue, 17 Jan 2012 18:55:53 +0000 (18:55 +0000)]
Do not remove pixel failures for ref tests.
https://bugs.webkit.org/show_bug.cgi?id=76243

Patch by Hao Zheng <zhenghao@chromium.org> on 2012-01-17
Reviewed by Tony Chang.

'NRWT --no-pixel-tests' complains when reftests are expected to
be image mismatch.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._update_summary_with_result):
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(is_reftest_failure):
(determine_result_type):

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

12 years agoImport some NodeIterator tests from mozilla
abarth@webkit.org [Tue, 17 Jan 2012 18:28:31 +0000 (18:28 +0000)]
Import some NodeIterator tests from mozilla
https://bugs.webkit.org/show_bug.cgi?id=76442

Reviewed by Daniel Bates.

These tests are imported from mozilla-central.  I tried to make the
minimal changes when importing them rather than rewire them into
script-tests.  They appear to have uncovered a bug, which I will
investigate in a followup patch.

* traversal/moz-bug559526-expected.txt: Added.
* traversal/moz-bug559526.html: Added.
* traversal/moz-bug590771-expected.txt: Added.
* traversal/moz-bug590771.html: Added.
* traversal/moz-mutations-3-expected.txt: Added.
* traversal/moz-mutations-3.html: Added.

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

12 years ago<rdar://problem/10703228> ASSERTION FAILED: Uncaught exception - Cannot lock focus...
simon.fraser@apple.com [Tue, 17 Jan 2012 18:26:09 +0000 (18:26 +0000)]
<rdar://problem/10703228> ASSERTION FAILED: Uncaught exception - Cannot lock focus on image <NSImage 0x1206572a0 Size={0, 0} Reps=( )>, because it is size zero loading techcrunch.com

Reviewed by Anders Carlsson.

Avoid trying to create image snapshots for zero-sized plugins, because
it causes -[NSView lockFocus] to throw an exception.

* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView cacheSnapshot]):

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

12 years agoMove tests out of WebCore/manual-tests to toplevel ManualTests.
commit-queue@webkit.org [Tue, 17 Jan 2012 18:11:24 +0000 (18:11 +0000)]
Move tests out of WebCore/manual-tests to toplevel ManualTests.
It looks like the manual-tests folder wasn't noticed by git (or me :).

Move some SVG manual tests from deprecated WebCore/manual-tests to toplevel ManualTests
https://bugs.webkit.org/show_bug.cgi?id=76437

Patch by Raul Hudea <rhudea@adobe.com> on 2012-01-17
Reviewed by Daniel Bates.

* ManualTests/svg-animation-css-transform.html: Renamed from Source/WebCore/manual-tests/svg-animation-css-transform.html.
* ManualTests/svg-css-animate-compound.html: Renamed from Source/WebCore/manual-tests/svg-css-animate-compound.html.
* ManualTests/svg-css-transition-compound.html: Renamed from Source/WebCore/manual-tests/svg-css-transition-compound.html.

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

12 years ago[Chromium] Unreviewed, avoid webkit_tests aborts due to clashing SVG test expectations.
apavlov@chromium.org [Tue, 17 Jan 2012 17:35:03 +0000 (17:35 +0000)]
[Chromium] Unreviewed, avoid webkit_tests aborts due to clashing SVG test expectations.

* platform/chromium/test_expectations.txt:

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

12 years ago[Qt][WK2] Unskip now passing tests.
ossy@webkit.org [Tue, 17 Jan 2012 17:06:05 +0000 (17:06 +0000)]
[Qt][WK2] Unskip now passing tests.

Patch by Ádám Kallai <Kallai.Adam@stud.u-szeged.hu> on 2012-01-17
Reviewed by Csaba Osztrogonác.

* platform/qt-wk2/Skipped:
    - Support layoutTestController.layerTreeAsText in WebKitTestRunner
      https://bugs.webkit.org/show_bug.cgi?id=42145
      It is fixed. These tests have been unskipped.

    - WebKitTestRunner needs an implementation of eventSender
      https://bugs.webkit.org/show_bug.cgi?id=42194
      Some passing tests have been unskipped.

    - WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld
      https://bugs.webkit.org/show_bug.cgi?id=42327
      It is fixed. These tests have been unskipped.

    - WebKitTestRunner needs layoutTestController.setWillSendRequestReturnsNull
      https://bugs.webkit.org/show_bug.cgi?id=42690
      It is fixed. This test have been unskipped.

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

12 years agoREGRESSION(r81225): ORWT should ignore reftests
ossy@webkit.org [Tue, 17 Jan 2012 16:11:50 +0000 (16:11 +0000)]
REGRESSION(r81225): ORWT should ignore reftests
https://bugs.webkit.org/show_bug.cgi?id=67936

Patch by Balazs Ankes <Ankes.Balazs@stud.u-szeged.hu> on 2012-01-17
Reviewed by Csaba Osztrogonác.

* Scripts/old-run-webkit-tests:
(isUsedInReftest): $filename should be the first parameter
(findTestsToRun): run test if it isn't reftest

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

12 years ago[Gtk] Input text field not repainted when value is changed
commit-queue@webkit.org [Tue, 17 Jan 2012 16:03:12 +0000 (16:03 +0000)]
[Gtk] Input text field not repainted when value is changed
https://bugs.webkit.org/show_bug.cgi?id=76279

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-01-17
Reviewed by Gustavo Noronha Silva.

Force pending relayouts before freezing the dirty region in a temporary.
This prevents the following code from throwing the dirty updates away
after the original paint is finished.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::paintWebView): Remove the relayout.
(WebKit::ChromeClient::paint): Move the relayout here, before the
dirty region is frozen.

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

12 years agoWeb Inspector: CodeGeneratorInspector.py: start using typedefs
commit-queue@webkit.org [Tue, 17 Jan 2012 15:45:47 +0000 (15:45 +0000)]
Web Inspector: CodeGeneratorInspector.py: start using typedefs
https://bugs.webkit.org/show_bug.cgi?id=76382

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-01-17
Reviewed by Yury Semikhatsky.

Generator is patched accordingly.

* inspector/CodeGeneratorInspector.py:
(EnumConstants.get_enum_constant_code):
(TypeBuilderPass):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
(TypeBindings.create_type_declaration_):
(TypeBindings.create_type_declaration_.PlainString):
(TypeBindings.create_type_declaration_.PlainString.get_code_generator):
(TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
(TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text):
(TypeBindings.create_type_declaration_.TypedefString):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder.String):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.register_use):
(TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.get_generate_pass_id):
(TypeBindings.create_type_declaration_.TypedefString.reduce_to_raw_type):
(TypeBindings.create_type_declaration_.TypedefString.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
(get_generate_pass_id):
(ArrayBinding.get_code_generator.CodeGenerator):
(ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
(Generator.process_types.create_type_builder_caller):
(Generator.process_types.create_type_builder_caller.call_type_builder):
(Generator.process_types):

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

12 years agoUnreviewed. Fix python unit test I broke with r105142
kov@webkit.org [Tue, 17 Jan 2012 15:42:19 +0000 (15:42 +0000)]
Unreviewed. Fix python unit test I broke with r105142

* Scripts/webkitpy/common/config/ports_unittest.py:
(WebKitPortTest.test_gtk_port):

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

12 years ago[GTK] [WK2] WebKitPrivate should include the entire WebKit2 C API
commit-queue@webkit.org [Tue, 17 Jan 2012 15:37:43 +0000 (15:37 +0000)]
[GTK] [WK2] WebKitPrivate should include the entire WebKit2 C API
https://bugs.webkit.org/show_bug.cgi?id=76345

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-01-17
Reviewed by Gustavo Noronha Silva.

Isolate all of the WebKit2 C API includes into WebKitPrivate.h and no longer
include anything other than WebKit2.h for the C API.

* UIProcess/API/gtk/WebKitBackForwardList.cpp: Use WebKitPrivate.h now.
* UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto.
* UIProcess/API/gtk/WebKitPrivate.h: Add WebKit2.h, WKAPICast.h and WKRetainPtr.h includes.
* UIProcess/API/gtk/WebKitSettings.cpp: Use WebKitPrivate.h.
* UIProcess/API/gtk/WebKitUIClient.cpp: Ditto.
* UIProcess/API/gtk/WebKitWebContext.cpp: Ditto.
* UIProcess/API/gtk/WebKitWebView.cpp: Ditto.
* UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
* UIProcess/API/gtk/WebKitWindowProperties.cpp: Ditto.

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

12 years agoWeb Inspector: provide basic information about DOM character data size
yurys@chromium.org [Tue, 17 Jan 2012 15:37:06 +0000 (15:37 +0000)]
Web Inspector: provide basic information about DOM character data size
https://bugs.webkit.org/show_bug.cgi?id=76059

Memory agent allows to estimate size of DOM character data and size of WebCore
strings held by JavaScript objects.

Reviewed by Pavel Feldman.

* bindings/js/ScriptProfiler.h:
(WebCore::ScriptProfiler::visitExternalJSStrings):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::visitExternalJSStrings):
* bindings/v8/ScriptProfiler.h:
* bindings/v8/V8Binding.cpp:
(WebCore::WebCoreStringResource::visitStrings):
(WebCore::V8BindingPerIsolateData::visitJSExternalStrings):
* bindings/v8/V8Binding.h:
* inspector/DOMWrapperVisitor.h:
* inspector/Inspector.json:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::CharacterDataStatistics::DOMTreeStatistics::DOMTreeStatistics):
(WebCore::CharacterDataStatistics::DOMTreeStatistics::collectNodeStatistics):
(WebCore::CharacterDataStatistics::CounterVisitor::CounterVisitor):
(WebCore::CharacterDataStatistics::CounterVisitor::domGroups):
(WebCore::CharacterDataStatistics::CounterVisitor::strings):
(WebCore::CharacterDataStatistics::CounterVisitor::visitNode):
(WebCore::CharacterDataStatistics::CounterVisitor::visitJSExternalString):
(WebCore::InspectorMemoryAgent::getDOMNodeCount):
* inspector/InspectorMemoryAgent.h:

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

12 years agoWeb Inspector: Dialogs style and DialogDelegate interface fixes.
vsevik@chromium.org [Tue, 17 Jan 2012 15:34:35 +0000 (15:34 +0000)]
Web Inspector: Dialogs style and DialogDelegate interface fixes.
https://bugs.webkit.org/show_bug.cgi?id=76449

Reviewed by Pavel Feldman.

* inspector/front-end/Dialog.js:
(WebInspector.Dialog):
(WebInspector.Dialog.currentInstance):
(WebInspector.Dialog.show):
(WebInspector.Dialog.hide):
(WebInspector.Dialog.prototype._hide):
(WebInspector.Dialog.prototype._onGlassPaneFocus):
(WebInspector.Dialog.prototype._onFocus):
(WebInspector.Dialog.prototype._position):
(WebInspector.Dialog.prototype._onKeyDown):
(WebInspector.DialogDelegate.prototype.wasShown):
(WebInspector.DialogDelegate.prototype.position):
(WebInspector.DialogDelegate.prototype.focus):
(WebInspector.DialogDelegate.prototype.onEnter):
(WebInspector.DialogDelegate.prototype.willHide):
* inspector/front-end/GoToLineDialog.js:
(WebInspector.GoToLineDialog):
(WebInspector.GoToLineDialog.prototype.focus):
(WebInspector.GoToLineDialog.prototype._onGoClick):
(WebInspector.GoToLineDialog.prototype._applyLineNumber):
(WebInspector.GoToLineDialog.prototype.onEnter):
* inspector/front-end/dialog.css:
(.dialog):

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

12 years ago[Qt] Don't set the 'primary' flag when mocking touch-points in MiniBrowser
vestbo@webkit.org [Tue, 17 Jan 2012 15:30:34 +0000 (15:30 +0000)]
[Qt] Don't set the 'primary' flag when mocking touch-points in MiniBrowser

Qt 5 no longer has that flag.

Reviewed by Simon Hausmann.

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

12 years agoWeb Inspector: ConsoleMessage.cpp and InspectorResourceAgent.cpp doesn't conform...
yurys@chromium.org [Tue, 17 Jan 2012 15:29:37 +0000 (15:29 +0000)]
Web Inspector: ConsoleMessage.cpp and InspectorResourceAgent.cpp doesn't conform to Inspector.json
https://bugs.webkit.org/show_bug.cgi?id=76403

A couple of protocol fixes.

Reviewed by Pavel Feldman.

* inspector/ConsoleMessage.cpp: return 'log' in case some unsupported value is passed.
We cannot omit that return statement as GCC would complain on missing return statement
despite all enum values are listed.
(WebCore::messageTypeValue):
* inspector/Inspector-0.1.json: fixed v0.1 protocol definition.
* inspector/Inspector.json: made CachedResource.response field optional.

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

12 years ago[Chromium] Web Inspector: remove "Document DOM tree" class and "Detached DOM tree...
loislo@chromium.org [Tue, 17 Jan 2012 15:03:35 +0000 (15:03 +0000)]
[Chromium] Web Inspector: remove "Document DOM tree" class and "Detached DOM tree" from the Summary view.
https://bugs.webkit.org/show_bug.cgi?id=76450

Reviewed by Yury Semikhatsky.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._buildAggregates):

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

12 years ago[EFL] Emit "resource,request,willsend" from ewk_view.
kubo@profusion.mobi [Tue, 17 Jan 2012 15:02:37 +0000 (15:02 +0000)]
[EFL] Emit "resource,request,willsend" from ewk_view.
https://bugs.webkit.org/show_bug.cgi?id=76292

Reviewed by Andreas Kling.

Make ewk_view dispatch the "resource,request,willsend" signal as well,
so that it is possible to know whether the request is for the main
frame itself or for anything else.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::dispatchWillSendRequest):
* ewk/ewk_view.h:

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

12 years ago[Qt][WK2] Crash in fast/text/regional-indicator-symobls.html
ossy@webkit.org [Tue, 17 Jan 2012 14:35:29 +0000 (14:35 +0000)]
[Qt][WK2] Crash in fast/text/regional-indicator-symobls.html
https://bugs.webkit.org/show_bug.cgi?id=69419

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2012-01-17
Reviewed by Csaba Osztrogonác.

* platform/qt-5.0/Skipped: Removing it from skipped list as it is working now.

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

12 years ago[Qt] fast/canvas/2d.text.draw.fill.maxWidth.gradient.html fails with newer Qt5
ossy@webkit.org [Tue, 17 Jan 2012 14:34:05 +0000 (14:34 +0000)]
[Qt] fast/canvas/2d.text.draw.fill.maxWidth.gradient.html fails with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=74785

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-01-17
Reviewed by Csaba Osztrogonác.

Upstream bug in Qt 5 is fixed, so we can unskip the test now.

* platform/qt-5.0/Skipped:

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

12 years ago[Qt] editing/selection/regional-indicators.html fails
ossy@webkit.org [Tue, 17 Jan 2012 14:31:30 +0000 (14:31 +0000)]
[Qt] editing/selection/regional-indicators.html fails
https://bugs.webkit.org/show_bug.cgi?id=66500

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2012-01-17
Reviewed by Csaba Osztrogonác.

* platform/qt-5.0/Skipped: This test is not failing anymore,
removing it from skipped list.

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

12 years ago[Qt] fast/canvas/canvas-largedraws.html crashes with newer Qt5
ossy@webkit.org [Tue, 17 Jan 2012 14:28:52 +0000 (14:28 +0000)]
[Qt] fast/canvas/canvas-largedraws.html crashes with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=75167

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-01-17
Reviewed by Csaba Osztrogonác.

Bug is fixed upstream, so it should be safe to unskip it now.

* platform/qt-5.0/Skipped:

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

12 years ago2012-01-17 Yury Semikhatsky <yurys@chromium.org>
yurys@chromium.org [Tue, 17 Jan 2012 13:22:05 +0000 (13:22 +0000)]
2012-01-17  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Update Chromium dependency 117616:117882

        * DEPS:

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

12 years ago[Qt] Implement HTTP authentication QML API
commit-queue@webkit.org [Tue, 17 Jan 2012 13:17:51 +0000 (13:17 +0000)]
[Qt] Implement HTTP authentication QML API
https://bugs.webkit.org/show_bug.cgi?id=75535

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-01-17
Reviewed by Kenneth Rohde Christiansen.

This patch implements the QML API for handling HTTP authentication.
The implementation uses a syncronous message between the WebProcess
and the UIProcess which is called when the authenticationRequired
signal is emitted from QNAM.

Based in part upon patch by Peter Hartmann.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
(QQuickWebViewExperimental::authenticationDialog):
(QQuickWebViewExperimental::setAuthenticationDialog):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::authenticationRequiredRequest):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/qt/QtDialogRunner.cpp:
(AuthenticationDialogContextObject::AuthenticationDialogContextObject):
(AuthenticationDialogContextObject::hostname):
(AuthenticationDialogContextObject::realm):
(AuthenticationDialogContextObject::prefilledUsername):
(AuthenticationDialogContextObject::accept):
(AuthenticationDialogContextObject::reject):
(QtDialogRunner::initForAuthentication):
* UIProcess/qt/QtDialogRunner.h:
(QtDialogRunner::username):
(QtDialogRunner::password):
(QtDialogRunner::onAuthenticationAccepted):
* UIProcess/qt/QtPageClient.cpp:
(QtPageClient::handleAuthenticationRequiredRequest):
* UIProcess/qt/QtPageClient.h:
* WebProcess/qt/QtNetworkAccessManager.cpp:
(WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
(WebKit::QtNetworkAccessManager::onAuthenticationRequired):
* WebProcess/qt/QtNetworkAccessManager.h:

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

12 years ago2012-01-17 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 17 Jan 2012 13:09:02 +0000 (13:09 +0000)]
2012-01-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update Qt results after r105143..

        * platform/qt/svg/carto.net/window-expected.txt:
        * platform/qt/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
        * platform/qt/svg/custom/js-late-gradient-and-object-creation-expected.txt:

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

12 years ago2012-01-17 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 17 Jan 2012 13:03:17 +0000 (13:03 +0000)]
2012-01-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update Gtk results after r105143..

        * platform/gtk/svg/carto.net/window-expected.txt:
        * platform/gtk/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
        * platform/gtk/svg/custom/js-late-gradient-and-object-creation-expected.txt:
        * platform/gtk/svg/custom/js-late-pattern-and-object-creation-expected.txt:
        * platform/gtk/svg/custom/use-detach-expected.txt:

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

12 years agoLarge SVG text layout performance regression in r81168
zimmermann@webkit.org [Tue, 17 Jan 2012 12:42:25 +0000 (12:42 +0000)]
Large SVG text layout performance regression in r81168
https://bugs.webkit.org/show_bug.cgi?id=65711

Reviewed by Zoltan Herczeg.

Source/WebCore:

Final patch fixing the performance regression from r81168 plus giving us more performance we ever had.
The testcase attached to bug 65711 creates 200 tspans as <text> children, and modifies just the first <tspan>s
content periodically using a timer. It ran with <3 FPS in release builds before, and now at around 60 FPS,
where the most dominant code path remaining is CG painting text. Still theres room to optimize further, as
Intruments shows.

Historically we rebuilt all SVGTextLayoutAttributes stored in the RenderSVGInlineText, whenever any
children of the <text> subtree changed, in any way. This lead to a recomputation of the x/y/dx/dy/rotate
value lists, for the whole tree, a recreation of the line box tree and finally a measurement of all characters
in the subtree.

This patch, and its previous patches preparing this, introduces progressive relayout for the SVG text subtree.
DOM tree mutations, x/y/dx/dy/rotate value lists changes, and measuring-all-characters are now strictly decoupled.

#1) x/y/dx/dy/rotate list changes:
The x/y/dx/dy/rotate lists are only ever rebuilt, if they change or upon the initial RenderSVGText layout.
This information is now cached in the so-called SVGCharacterDataMap, in each of the SVGTextLayoutAttributes,
associated with a specific RenderSVGInlineText.

#2) DOM tree mutations:
If a new RenderSVGInlineText gets added to the tree, we have to create SVGTextLayoutAttributes for the new
renderer, measure its characters, and cache the information in the attributes. Adding a new renderer to
a SVG <text> subtree can affect the positioning of the previous and next sibling in the tree, due the
whitespace merging logic. Example:

<text y="50" x="50 100 150">A<tspan></tspan> C</text>:
RenderSVGText {text} at (50,36) size 111x18 contains 1 chunk(s)
  RenderSVGInlineText {#text} at (0,0) size 12x18
    chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"
  RenderSVGTSpan {tspan} at (0,0) size 0x0
  RenderSVGInlineText {#text} at (50,0) size 61x18
    chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
    chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 1 width 11.00: "C"

<text y="50" x="50 100 150">A<tspan>B</tspan> C</text>:
RenderSVGText {text} at (50,36) size 115x18 contains 1 chunk(s)
  RenderSVGInlineText {#text} at (0,0) size 12x18
    chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"
  RenderSVGTSpan {tspan} at (0,0) size 11x18
    RenderSVGInlineText {#text} at (50,0) size 11x18
      chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 11.00: "B"
  RenderSVGInlineText {#text} at (100,0) size 15x18
    chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 2 width 15.00: " C"

Its obvious that adding a #text node as child to the <tspan> potentially affects the next & previous
siblings in the DOM tree. Take extra care of these possibilities, by properly remeasuring not only
the newly added renderer, but also the previous & next siblings layout attributes.

Mutation of text nodes, or removal of text/tspan elements from the tree is handled in the same way.

#3) Measuring the text subtree:
Don't cache the metrics information in the SVGRootInlineBox, as it doesn't survive relayouts (RenderSVGText::layout).
They're stored in the SVGTextLayoutAttributes, and will be updated if the underlying text content changes.

Tests: svg/text/append-text-node-to-tspan.html
       svg/text/modify-text-node-in-tspan.html
       svg/text/remove-text-node-from-tspan.html

* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::addChild):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::willBeDestroyed):
(WebCore::RenderSVGInlineText::setTextInternal):
(WebCore::RenderSVGInlineText::styleDidChange):
* rendering/svg/RenderSVGInlineText.h:
(WebCore::RenderSVGInlineText::layoutAttributes):
* rendering/svg/RenderSVGText.cpp:
(WebCore::recursiveUpdateLayoutAttributes):
(WebCore::RenderSVGText::layoutAttributesChanged):
(WebCore::findPreviousAndNextAttributes):
(WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
(WebCore::RenderSVGText::textDOMChanged):
(WebCore::RenderSVGText::layout):
(WebCore::RenderSVGText::addChild):
(WebCore::recursiveCollectLayoutAttributes):
(WebCore::RenderSVGText::rebuildLayoutAttributes):
* rendering/svg/RenderSVGText.h:
(WebCore::RenderSVGText::layoutAttributes):
* rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::findFirstAndLastAttributesInVector):
(WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
(WebCore::SVGRootInlineBox::reorderValueLists):
* rendering/svg/SVGRootInlineBox.h:
* rendering/svg/SVGTextLayoutAttributes.h:
* rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
(WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):
* rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
(WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
(WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
(WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* rendering/svg/SVGTextLayoutEngine.h:
(WebCore::SVGTextLayoutEngine::layoutAttributes):
* rendering/svg/SVGTextMetrics.h:
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::measureTextRenderer):
* rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::childrenChanged):

LayoutTests:

Update some results, that changed again slightly. Land new tests covering partial SVG <text> subtree updating.

* platform/chromium/test_expectations.txt:
* platform/mac/svg/carto.net/window-expected.png:
* platform/mac/svg/carto.net/window-expected.txt:
* platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.png:
* platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
* platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.txt:
* platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.png:
* platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
* platform/mac/svg/custom/use-detach-expected.png:
* platform/mac/svg/custom/use-detach-expected.txt:
* platform/mac/svg/text/append-text-node-to-tspan-expected.png: Added.
* platform/mac/svg/text/append-text-node-to-tspan-expected.txt: Added.
* platform/mac/svg/text/modify-text-node-in-tspan-expected.png: Added.
* platform/mac/svg/text/modify-text-node-in-tspan-expected.txt: Added.
* platform/mac/svg/text/remove-text-node-from-tspan-expected.png: Added.
* platform/mac/svg/text/remove-text-node-from-tspan-expected.txt: Added.
* svg/text/append-text-node-to-tspan.html: Added.
* svg/text/modify-text-node-in-tspan.html: Added.
* svg/text/remove-text-node-from-tspan.html: Added.

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

12 years agoGTK+ EWS needs to run update-webkitgtk-libs after applying a patch
kov@webkit.org [Tue, 17 Jan 2012 12:29:38 +0000 (12:29 +0000)]
GTK+ EWS needs to run update-webkitgtk-libs after applying a patch
https://bugs.webkit.org/show_bug.cgi?id=75857

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2012-01-16
Reviewed by Adam Barth.

* Scripts/webkitdirs.pm:
(buildAutotoolsProject): move cleaning the build to happen early,
and handle --update-gtk right after that
* Scripts/webkitpy/common/config/ports.py:
(GtkPort.build_webkit_command): pass --update-gtk as an option to
build-webkit, so that it is used in the EWS

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

12 years ago[Chromium] Unreviewed, fix Linux image expectations for two SVG tests.
apavlov@chromium.org [Tue, 17 Jan 2012 12:20:27 +0000 (12:20 +0000)]
[Chromium] Unreviewed, fix Linux image expectations for two SVG tests.

* platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.png:
* platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.png:

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

12 years agoWeb Inspector: [TextPrompt] Autocomplete adds unwanted text that's hard to remove
apavlov@chromium.org [Tue, 17 Jan 2012 12:13:51 +0000 (12:13 +0000)]
Web Inspector: [TextPrompt] Autocomplete adds unwanted text that's hard to remove
https://bugs.webkit.org/show_bug.cgi?id=76058

Reviewed by Pavel Feldman.

As per the results of a war room:
- Auto-suggest only after user typing (avoid showing suggestions when navigating through the user input.)
- Do not select the first item if the suggest box is shown at the end of prompt (to allow Enter to commit the input.)
- Only show grayed autocompletion at the end of prompt (otherwise show a suggest box with the first item selected.)
- Grayed autocompletion can only be accepted with the End or Right keys.
- Enter can accept a selected suggestion item from the list, without committing the input.
- Retain the CSS model editing behavior as close to the existing one as possible.
- Enable PageUp/PageDown to navigate the suggest box items.

* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
():
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.set text):
(WebInspector.TextPrompt.prototype._removeSuggestionAids):
(WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
(WebInspector.TextPrompt.prototype._selectStart):
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.prototype.acceptAutoComplete):
(WebInspector.TextPrompt.prototype.complete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
(WebInspector.TextPrompt.prototype.tabKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.prototype.pageDownKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
(WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
(WebInspector.TextPrompt.SuggestBox.prototype._canShowBox):
(WebInspector.TextPrompt.SuggestBox.prototype._rememberRowCountPerViewport):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
(WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):

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

12 years agoWeb Inspector: CSS backend doesn't conform to Inspector.json
apavlov@chromium.org [Tue, 17 Jan 2012 11:57:31 +0000 (11:57 +0000)]
Web Inspector: CSS backend doesn't conform to Inspector.json
https://bugs.webkit.org/show_bug.cgi?id=76402

Reviewed by Yury Semikhatsky.

* inspector/Inspector.json:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::buildObjectForStyle):

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

12 years agoMediaStream API: Add the mediaStream constructor
tommyw@google.com [Tue, 17 Jan 2012 11:13:00 +0000 (11:13 +0000)]
MediaStream API: Add the mediaStream constructor
https://bugs.webkit.org/show_bug.cgi?id=76436

Adding support for creating a MediaStream using a collection of MediaStreamTracks.

Reviewed by Adam Barth.

Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

* mediastream/MediaStream.cpp:
(WebCore::MediaStream::create):
* mediastream/MediaStream.h:
* mediastream/MediaStream.idl:
* mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::component):
* mediastream/MediaStreamTrack.h:
* platform/mediastream/MediaStreamCenter.cpp:
(WebCore::MediaStreamCenter::didConstructMediaStream):
* platform/mediastream/MediaStreamCenter.h:

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

12 years agoIndexedDB: IDBIndex.get/getKey should yield undefined, not an error
jsbell@chromium.org [Tue, 17 Jan 2012 10:51:55 +0000 (10:51 +0000)]
IndexedDB: IDBIndex.get/getKey should yield undefined, not an error
https://bugs.webkit.org/show_bug.cgi?id=76116

Source/WebCore:

Pass an undefined value (for IDBIndex.get()) or a null key
(for IDBIndex.getKey()) back as the result, rather than raising
an exception.

Reviewed by Adam Barth.

Tests: storage/indexeddb/index-basics.html
       storage/indexeddb/cursor-index-delete.html
       storage/indexeddb/duplicates.html

* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::getInternal):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):

LayoutTests:

Reviewed by Adam Barth.

* storage/indexeddb/cursor-index-delete-expected.txt:
* storage/indexeddb/cursor-index-delete.html:
* storage/indexeddb/duplicates-expected.txt:
* storage/indexeddb/duplicates.html:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics.html:

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

12 years agoUnreviewed, GTK rebaseline after r105129.
philn@webkit.org [Tue, 17 Jan 2012 10:49:20 +0000 (10:49 +0000)]
Unreviewed, GTK rebaseline after r105129.

* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:

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

12 years agoRemove references to CSSPrimitiveValue::primitiveType().
macpherson@chromium.org [Tue, 17 Jan 2012 10:26:49 +0000 (10:26 +0000)]
Remove references to CSSPrimitiveValue::primitiveType().
https://bugs.webkit.org/show_bug.cgi?id=76363

Reviewed by Hajime Morita.

No new tests / refactoring only.

Goal is to remove primitiveType() completely. Only code left using it after this patch is in SVG.
I've introduced some abstractions in CSSPrimitiveValue for time and angles to reduce duplicated code elsewhere.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeDegrees):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isAngle):
(WebCore::CSSPrimitiveValue::isAttr):
(WebCore::CSSPrimitiveValue::isCounter):
(WebCore::CSSPrimitiveValue::isFontIndependentLength):
(WebCore::CSSPrimitiveValue::isLength):
(WebCore::CSSPrimitiveValue::isPx):
(WebCore::CSSPrimitiveValue::isRect):
(WebCore::CSSPrimitiveValue::isRGBColor):
(WebCore::CSSPrimitiveValue::isShape):
(WebCore::CSSPrimitiveValue::isTime):
(WebCore::CSSPrimitiveValue::computeTime):
* css/CSSStyleSelector.cpp:
(WebCore::convertToLength):
(WebCore::createGridTrackBreadth):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapFillSize):
(WebCore::CSSStyleSelector::mapFillXPosition):
(WebCore::CSSStyleSelector::mapFillYPosition):
(WebCore::CSSStyleSelector::mapAnimationDelay):
(WebCore::CSSStyleSelector::mapAnimationDuration):
(WebCore::CSSStyleSelector::mapNinePieceImageSlice):
(WebCore::CSSStyleSelector::mapNinePieceImageQuad):
(WebCore::CSSStyleSelector::colorFromPrimitiveValue):
(WebCore::CSSStyleSelector::createTransformOperations):
(WebCore::CSSStyleSelector::createCustomFilterOperation):
(WebCore::CSSStyleSelector::createFilterOperations):
* css/MediaQueryEvaluator.cpp:
(WebCore::parseAspectRatio):
(WebCore::numberValue):
(WebCore::computeLength):
* editing/EditingStyle.cpp:
(WebCore::cssValueToRGBA):
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
(WebCore::isCSSValueLength):
(WebCore::hasTransparentBackgroundColor):

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

12 years agoAssociatedURLLoader adds support for the HTTP response header Access-Control-Expose...
bbudge@chromium.org [Tue, 17 Jan 2012 10:26:31 +0000 (10:26 +0000)]
AssociatedURLLoader adds support for the HTTP response header Access-Control-Expose-Header.
https://bugs.webkit.org/show_bug.cgi?id=76419

Reviewed by Adam Barth.

* src/AssociatedURLLoader.cpp:
(WebKit::AssociatedURLLoader::ClientAdapter::didReceiveResponse):
* tests/AssociatedURLLoaderTest.cpp:
(WebKit::AssociatedURLLoaderTest::CheckAccessControlHeaders):
(WebKit::TEST_F):

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

12 years ago[Qt] Don't add _debug postfix to targets when building debug only
vestbo@webkit.org [Tue, 17 Jan 2012 09:28:03 +0000 (09:28 +0000)]
[Qt] Don't add _debug postfix to targets when building debug only

Reviewed by Simon Hausmann.

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

12 years ago[Qt] Add more files to project-files for easier navigation in Qt Creator
vestbo@webkit.org [Tue, 17 Jan 2012 09:27:43 +0000 (09:27 +0000)]
[Qt] Add more files to project-files for easier navigation in Qt Creator

Reviewed by Simon Hausmann.

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

12 years agoDFG should be able to do JS and custom getter caching
fpizlo@apple.com [Tue, 17 Jan 2012 08:36:42 +0000 (08:36 +0000)]
DFG should be able to do JS and custom getter caching
https://bugs.webkit.org/show_bug.cgi?id=76361

Reviewed by Csaba Osztrogonác.

Fix for 32-bit.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryBuildGetByIDList):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

12 years ago[Qt] Unreviewed morning gardening.
ossy@webkit.org [Tue, 17 Jan 2012 08:25:17 +0000 (08:25 +0000)]
[Qt] Unreviewed morning gardening.

* platform/qt/Skipped: Skip a failing test.
* platform/qt/fast/dom/Window/window-properties-expected.txt: Updated.

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

12 years ago[GTK] fast/dom/constructed-objects-prototypes.html fails
philn@webkit.org [Tue, 17 Jan 2012 08:23:56 +0000 (08:23 +0000)]
[GTK] fast/dom/constructed-objects-prototypes.html fails
https://bugs.webkit.org/show_bug.cgi?id=75432

Reviewed by Martin Robinson.

Tools:

* Scripts/build-webkit: Enable video-track in GTK.

LayoutTests:

* platform/gtk/test_expectations.txt: Test now passing no longer
needs to be skipped.

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

12 years agoUnreviewed, GTK rebaseline after r105075 and r105085.
philn@webkit.org [Tue, 17 Jan 2012 08:18:15 +0000 (08:18 +0000)]
Unreviewed, GTK rebaseline after r105075 and r105085.

* platform/gtk/editing/execCommand/insertImage-expected.txt:
* platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt:
* platform/gtk/fast/block/float/015-expected.txt:
* platform/gtk/fast/borders/rtl-border-05-expected.txt:
* platform/gtk/fast/dom/34176-expected.txt:
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/inner-text-expected.txt:
* platform/gtk/fast/encoding/utf-16-big-endian-expected.txt:
* platform/gtk/fast/encoding/utf-16-little-endian-expected.txt:
* platform/gtk/fast/hidpi/broken-image-icon-hidpi-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug2962-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug56201-expected.txt:
* platform/gtk/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:

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

12 years agoUnreviewed:more Chromium Linux rebaselining
rolandsteiner@chromium.org [Tue, 17 Jan 2012 07:08:29 +0000 (07:08 +0000)]
Unreviewed:more Chromium Linux rebaselining

* platform/chromium-linux-x86/svg/text/text-align-03-b-expected.png: Removed.
* platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.png:
* platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt:
* platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.png:
* platform/chromium-linux/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt:
* platform/chromium-linux/svg/text/text-align-03-b-expected.png:

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

12 years ago[Internals] member varaibles should follow naming convention.
commit-queue@webkit.org [Tue, 17 Jan 2012 06:44:52 +0000 (06:44 +0000)]
[Internals] member varaibles should follow naming convention.
https://bugs.webkit.org/show_bug.cgi?id=76426

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-16
Reviewed by Kent Tamura.

No new tests. Just a rename.

* testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore::Internals::setPasswordEchoEnabled):
(WebCore::Internals::setPasswordEchoDurationInSeconds):
(WebCore::Internals::reset):
* testing/Internals.h:

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

12 years agoUnreviewed: updated baselines for Chromium Linux
rolandsteiner@chromium.org [Tue, 17 Jan 2012 06:02:29 +0000 (06:02 +0000)]
Unreviewed: updated baselines for Chromium Linux

* platform/chromium-linux-x86/svg/W3C-SVG-1.1/text-text-01-b-expected.png: Removed.
* platform/chromium-linux-x86/svg/foreignObject/text-tref-02-b-expected.png: Removed.
* platform/chromium-linux-x86/svg/text/text-align-02-b-expected.png: Removed.
* platform/chromium-linux-x86/svg/text/text-spacing-01-b-expected.png: Removed.
* platform/chromium-linux-x86/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt: Removed.
* platform/chromium-linux-x86/svg/transforms/text-with-pattern-with-svg-transform-expected.txt: Removed.
* platform/chromium-linux/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
* platform/chromium-linux/svg/foreignObject/text-tref-02-b-expected.png:
* platform/chromium-linux/svg/text/text-align-02-b-expected.png:
* platform/chromium-linux/svg/text/text-spacing-01-b-expected.png:
* platform/chromium-linux/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
* platform/chromium-linux/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
* platform/chromium-linux/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:

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

12 years agoUnreviewed: rebaselining fast/backgrounds/mask-box-image
rolandsteiner@chromium.org [Tue, 17 Jan 2012 05:24:50 +0000 (05:24 +0000)]
Unreviewed: rebaselining fast/backgrounds/mask-box-image

* platform/chromium-mac-snowleopard/fast/backgrounds/mask-box-image-expected.png: Added.
* platform/chromium-win/fast/backgrounds/mask-box-image-expected.png: Added.
* platform/chromium-win/fast/backgrounds/mask-box-image-expected.txt: Added.

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

12 years agoImplement multiple AT_TARGET event dispatching in regard to shadow tree.
hayato@chromium.org [Tue, 17 Jan 2012 03:56:16 +0000 (03:56 +0000)]
Implement multiple AT_TARGET event dispatching in regard to shadow tree.
https://bugs.webkit.org/show_bug.cgi?id=76217

Reviewed by Dimitri Glazkov.

The original motivation is to fix the regression: Event.eventPhase is not set to 2
(at target) when handling dblclick event in <input> element.
Since the issue is not specific to <input> element, but general one, this patch fixes
the regression by adapting a living draft spec of shadow DOM.
This won't break a compatibility if there is no shadow boundaries in event dispatching.
See the following shadow dom spec how multiple AT_TARGET events work.
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#event-dispatch

Source/WebCore:

* dom/EventContext.cpp:
(WebCore::EventContext::handleLocalEvents):

LayoutTests:

* fast/dom/shadow/shadow-boundary-events-expected.txt:
* fast/dom/shadow/shadow-boundary-events.html:

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

12 years agoAdd toyoshim as a committer.
toyoshim@chromium.org [Tue, 17 Jan 2012 03:47:09 +0000 (03:47 +0000)]
Add toyoshim as a committer.
https://bugs.webkit.org/show_bug.cgi?id=76390

Reviewed by Hajime Morita.

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

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

12 years agoplatformRequest(QNX) need to get the conditional information from ResourceRequest.
commit-queue@webkit.org [Tue, 17 Jan 2012 03:35:24 +0000 (03:35 +0000)]
platformRequest(QNX) need to get the conditional information from ResourceRequest.
https://bugs.webkit.org/show_bug.cgi?id=75216

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-01-16
Reviewed by George Staikos.

Pass the isConditional() flag in ResourceRequest to the QNX platform's network request.
QNX platform's network needs this flag to determine whether to use disk-cache.

* platform/network/blackberry/ResourceRequestBlackBerry.cpp:
(ResourceRequest::initializePlatformRequest):

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

12 years agoHeap-use-after-free in WebCore::RenderBlock::selectionGaps
robert@webkit.org [Tue, 17 Jan 2012 02:25:52 +0000 (02:25 +0000)]
Heap-use-after-free in WebCore::RenderBlock::selectionGaps
https://bugs.webkit.org/show_bug.cgi?id=75013

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/table/multiple-captions-crash3.html
      fast/table/multiple-captions-crash4.html
      fast/table/multiple-captions-crash5.html

When a child float is removed, the parent needs to ensure any reference to the
child is also removed from the floating objects list in any sibling block that
it intruded into.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

LayoutTests:

In multiple-captions-crash3.html a floating object is added as a child to a caption element, then removed and
added as a child to another caption element. When added to the first caption element it is added
to the floating objects list of both the parent tbody element and the keygen element, as it intrudes
into the latter. When removed, a stale reference to the floating object remains in the keygen element.
When the keygen element is in layout it attempts to access the stale reference to the floating object and
crashes. The fix is to ensure that any floats added as intruding floats to sibling blocks are removed
when the child is removed from the tree.

multiple-captions-crash4.html and multiple-captions-crash5.html are variants of this scenario.

* fast/table/multiple-captions-crash3-expected.html: Added.
* fast/table/multiple-captions-crash3.html: Added.
* fast/table/multiple-captions-crash4-expected.html: Added.
* fast/table/multiple-captions-crash4.html: Added.
* fast/table/multiple-captions-crash5-expected.html: Added.
* fast/table/multiple-captions-crash5.html: Added.

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

12 years ago<rdar://problem/10702758> REGRESSION: Every Safari Reader WKView leaks
mitz@apple.com [Tue, 17 Jan 2012 01:17:48 +0000 (01:17 +0000)]
<rdar://problem/10702758> REGRESSION: Every Safari Reader WKView leaks

Reviewed by John Sullivan and Ada Chan.

* UIProcess/API/mac/WKView.mm:
(-[WKView viewDidMoveToWindow]): Since this method can be called multiple times in a row
while [self window] is non-nil, check if there isn’t already an event monitor before adding
a new one.

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

12 years agoREGRESSION: r102553 Autocorrection bubble doesn't show up
enrica@apple.com [Tue, 17 Jan 2012 01:12:51 +0000 (01:12 +0000)]
REGRESSION: r102553 Autocorrection bubble doesn't show up
https://bugs.webkit.org/show_bug.cgi?id=76408
<rdar://problem/10644746>

Prior to r102553 Editor::markAllMisspellingsAndBadGrammarInRanges() used to pass its
textCheckingOptions directly to markAndReplaceFor(). Now a request object is used,
but, when the object is created, the TextCheckingTypeShowCorrectionPanel flag is dropped.

Reviewed by Darin Adler.

* editing/Editor.cpp:
(WebCore::Editor::resolveTextCheckingTypeMask): Add TextCheckingTypeShowCorrectionPanel to
the returned checkingTypes when appropriate.

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

12 years agoDFG should be able to do JS and custom getter caching
fpizlo@apple.com [Tue, 17 Jan 2012 00:53:40 +0000 (00:53 +0000)]
DFG should be able to do JS and custom getter caching
https://bugs.webkit.org/show_bug.cgi?id=76361
<rdar://problem/10698060>

Source/JavaScriptCore:

Reviewed by Geoff Garen.

Added the ability to cache JS getter calls and custom getter calls in the DFG.
Most of this is pretty mundane, since the old JIT supported this functionality
as well. But a couple interesting things had to happen:

- There are now two variants of GetById: GetById, which works as before, and
  GetByIdFlush, which flushes registers prior to doing the GetById. Only
  GetByIdFlush can be used for caching getters. We detect which GetById style
  to use by looking at the inline caches of the old JIT.

- Exception handling for getter calls planted in stubs uses a separate lookup
  handler routine, which uses the CodeOrigin stored in the StructureStubInfo.

This is a 40% speed-up in the Dromaeo DOM Traversal average. It removes all of
the DFG regressions we saw in Dromaeo. This is neutral on SunSpider, V8, and
Kraken.

* bytecode/StructureStubInfo.h:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::emitExceptionCheck):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::willNeedFlush):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupResults):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGJITCompiler.h:
(JSC::DFG::PropertyAccessRecord::PropertyAccessRecord):
(JSC::DFG::JITCompiler::addExceptionCheck):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasHeapPrediction):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheckSetResult):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

Reviewed by Geoff Garen.

* fast/js/dfg-custom-getter-expected.txt: Added.
* fast/js/dfg-custom-getter-throw-expected.txt: Added.
* fast/js/dfg-custom-getter-throw-inlined-expected.txt: Added.
* fast/js/dfg-custom-getter-throw-inlined.html: Added.
* fast/js/dfg-custom-getter-throw.html: Added.
* fast/js/dfg-custom-getter.html: Added.
* fast/js/dfg-getter-expected.txt: Added.
* fast/js/dfg-getter-throw-expected.txt: Added.
* fast/js/dfg-getter-throw.html: Added.
* fast/js/dfg-getter.html: Added.
* fast/js/script-tests/dfg-custom-getter-throw-inlined.js: Added.
(foo):
(baz):
(bar):
* fast/js/script-tests/dfg-custom-getter-throw.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-custom-getter.js: Added.
(foo):
* fast/js/script-tests/dfg-getter-throw.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-getter.js: Added.
(foo):

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

12 years agoCrash when calling SecItemAdd with a null result pointer
andersca@apple.com [Tue, 17 Jan 2012 00:25:44 +0000 (00:25 +0000)]
Crash when calling SecItemAdd with a null result pointer
https://bugs.webkit.org/show_bug.cgi?id=76407
<rdar://problem/10696087>

Reviewed by Brady Eidson.

Add null check.

* WebProcess/mac/SecItemShimMethods.mm:
(WebKit::webSecItemAdd):

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

12 years ago[WinCairo] Build correction. Switch to Apple style builds without
bfulgham@webkit.org [Tue, 17 Jan 2012 00:16:48 +0000 (00:16 +0000)]
[WinCairo] Build correction. Switch to Apple style builds without
the _debug postfix so that launching tools, etc., will work properly.

* win/tools/vsprops/debug_wincairo.vsprops: Remove use of _debug in
output files to be consistent with WebKit build/test tools.

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

12 years ago A follow-up fix for:
ap@apple.com [Tue, 17 Jan 2012 00:04:56 +0000 (00:04 +0000)]
    A follow-up fix for:
        A warning is logged to console when typing a bare "/" in Safari address bar
        https://bugs.webkit.org/show_bug.cgi?id=76236

        <rdar://problem/10702986>

        Reviewed by John Sullivan.

        * Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithData:relativeToURL:]): It's OK to have a
        path when there is a base URL.

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

12 years agoBuild fix for r105086.
jonlee@apple.com [Mon, 16 Jan 2012 23:46:32 +0000 (23:46 +0000)]
Build fix for r105086.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
* wtf/Platform.h:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* notifications/NotificationCenter.idl: change to use ENABLE_TEXT_NOTIFICATIONS_ONLY, which is only defined on Mac platform.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

12 years agoFix typo in StyledElement::mappedAttributeCount().
kling@webkit.org [Mon, 16 Jan 2012 23:38:12 +0000 (23:38 +0000)]
Fix typo in StyledElement::mappedAttributeCount().
<http://webkit.org/b/76393>

Rubber-stamped by Antti Koivisto.

* dom/StyledElement.h:
(WebCore::StyledElement::mappedAttributeCount): Less &&, more ?:

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

12 years agoBuild fix for r105086.
jonlee@apple.com [Mon, 16 Jan 2012 22:49:57 +0000 (22:49 +0000)]
Build fix for r105086.

* notifications/NotificationCenter.idl: expand ENABLE macro for .idl.

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

12 years agoCache CSSStyleSelector::Features in RuleSets
antti@apple.com [Mon, 16 Jan 2012 22:39:51 +0000 (22:39 +0000)]
Cache CSSStyleSelector::Features in RuleSets
https://bugs.webkit.org/show_bug.cgi?id=76337

Reviewed by Andreas Kling.

Currently whenever the style selector is updated we go through all the applicable rules and
collect the used features again. We should keep the features around as part of the RuleSets
and update them incrementally. Collecting the features will then be just a matter of taking
the union of all features used by the RuleSets.

This is 1-2% CPU time reduction (engadget, nytimes) due less time spent in feature collection.

This also simplifies the code by removing the need to cache the default style sheet features
separately.

* css/CSSStyleSelector.cpp:

    Remove the global siblingRulesInDefaultStyle and uncommonAttributeRulesInDefaultStyle RuleSets.
    These are now part of the cached features of the defaultStyle.

(WebCore::RuleSet::features):

    Add a field for caching the features.

(WebCore::makeRuleSet):
(WebCore::CSSStyleSelector::collectFeatures):

    Unify the features of all RuleSets.
    Create RuleSets for sibling and uncommon attribute lookups at the end.

(WebCore::CSSStyleSelector::appendAuthorStylesheets):
(WebCore::CSSStyleSelector::Features::add):
(WebCore::ensureDefaultStyleSheetsForElement):
(WebCore::CSSStyleSelector::locateSharedStyle):
(WebCore::collectFeaturesFromSelector):
(WebCore::collectFeaturesFromRuleData):
(WebCore::RuleSet::addToRuleSet):
(WebCore::RuleSet::addRule):

    Collect the features when adding the rules rather than as a separate pass through all the rules.

* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::usesSiblingRules):
(WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):

    Use Vector instead of a RuleSet for sibling and uncommon attribute selectors so unifying
    Features is simpler.

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

12 years agoHuge filter area cause hangs and malloc failures
simon.fraser@apple.com [Mon, 16 Jan 2012 22:37:13 +0000 (22:37 +0000)]
Huge filter area cause hangs and malloc failures
https://bugs.webkit.org/show_bug.cgi?id=75711

Reviewed by Dean Jackson.

Filtering an element with a child that had a huge negative text-indent
was extremely slow, because transparencyClipBox() returned a huge rect.

Add a method, paintingExtent(), that wraps transparencyClipBox()
and intersects it with the paintDirtyRect to constrain the size
of the rect used for filters and transparency layers.

Transparency layer extent is not testable in layout tests.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintingExtent):
(WebCore::RenderLayer::beginTransparencyLayers): Floating point literals are required
to avoid ambiguous constructor call.
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
* rendering/RenderLayer.h:

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

12 years agoBorders and box masks behave incorrectly with overlapping offsets
simon.fraser@apple.com [Mon, 16 Jan 2012 22:21:48 +0000 (22:21 +0000)]
Borders and box masks behave incorrectly with overlapping offsets
https://bugs.webkit.org/show_bug.cgi?id=76137

Source/WebCore:

Reviewed by Dean Jackson.

There are some correct behaviors for -webkit-mask-box-image where
parts of the mask are missing (when the sum of the slice sizes is
greater than one dimension of the image). To render correctly
in these cases, always use a transparency layer when rendering
the mask.

Test: fast/backgrounds/mask-box-image.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintMaskImages):

LayoutTests:

Reviewed by Dean Jackson.

Test -webkit-mask-box-image with large slice sizes, with and
without a transform.

* fast/backgrounds/mask-box-image.html: Added.
* fast/backgrounds/resources/dot.png: Added.
* platform/mac/fast/backgrounds/mask-box-image-expected.png: Added.
* platform/mac/fast/backgrounds/mask-box-image-expected.txt: Added.

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

12 years agoFiltered element with composited content beneath it must be composited
simon.fraser@apple.com [Mon, 16 Jan 2012 22:19:36 +0000 (22:19 +0000)]
Filtered element with composited content beneath it must be composited
https://bugs.webkit.org/show_bug.cgi?id=76322

Source/WebCore:

Reviewed by Dean Jackson.

If a RenderLayer has a filter effect, and a composited descendant, then
that layer must also be composited so that the filter is applied via
the compositing system, rather than via painting (otherwise the filter
will not affect the descendant).

Test: css3/filters/filtered-compositing-descendant.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):

LayoutTests:

Reviewed by Dean Jackson.

Testcase with a filtered element having a composited child.

* css3/filters/filtered-compositing-descendant-expected.png: Added.
* css3/filters/filtered-compositing-descendant-expected.txt: Added.
* css3/filters/filtered-compositing-descendant.html: Added.

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

12 years agoFix assertion failure in mappedAttributesEquivalent().
kling@webkit.org [Mon, 16 Jan 2012 21:53:39 +0000 (21:53 +0000)]
Fix assertion failure in mappedAttributesEquivalent().
<http://webkit.org/b/76393>

Rubber-stamped by Antti Koivisto.

The assertion that two mapped attributes with matching name/value will always
have the exact same decl() was wrong, so make it a proper check once again.

* css/CSSStyleSelector.cpp:
(WebCore::mappedAttributesEquivalent):

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

12 years ago[WinCairo] Build fix after r104155. Several debug targets were not
bfulgham@webkit.org [Mon, 16 Jan 2012 21:31:03 +0000 (21:31 +0000)]
[WinCairo] Build fix after r104155. Several debug targets were not
properly including the '*Common' property sheets.

* DumpRenderTree/win/DumpRenderTreeLauncherDebugCairoCFLite.vsprops:
* DumpRenderTree/win/ImageDiffLauncherDebugCairoCFLite.vsprops:
* MiniBrowser/Configurations/MiniBrowserLauncherDebugCairoCFLite.vsprops:
* WebKitTestRunner/win/WebKitTestRunnerLauncherDebugCairoCFLite.vsprops:
* WinLauncher/WinLauncherLauncherDebugCairoCFLite.vsprops:

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

12 years agoChanges AssociatedURLLoader to remove non-whitelisted HTTP response headers for CORS...
bbudge@chromium.org [Mon, 16 Jan 2012 21:18:39 +0000 (21:18 +0000)]
Changes AssociatedURLLoader to remove non-whitelisted HTTP response headers for CORS requests,
and Set-Cookie and Set-Cookie2 response headers for all requests.
https://bugs.webkit.org/show_bug.cgi?id=76228

Reviewed by Adam Barth.

* src/AssociatedURLLoader.cpp:
(WebKit::AssociatedURLLoader::ClientAdapter::create):
(WebKit::AssociatedURLLoader::ClientAdapter::ClientAdapter):
(WebKit::AssociatedURLLoader::ClientAdapter::didReceiveResponse):
(WebKit::AssociatedURLLoader::loadAsynchronously):
* tests/AssociatedURLLoaderTest.cpp:
(WebKit::AssociatedURLLoaderTest::didReceiveResponse):
(WebKit::TEST_F):

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

12 years agoRemove HTML notifications support on Mac
jonlee@apple.com [Mon, 16 Jan 2012 21:11:44 +0000 (21:11 +0000)]
Remove HTML notifications support on Mac
https://bugs.webkit.org/show_bug.cgi?id=76401
<rdar://problem/10589881>

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* wtf/Platform.h: Define ENABLE_HTML_NOTIFICATIONS macro.

Source/WebCore:

* notifications/NotificationCenter.idl:

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

12 years agoAdd offline web applications API applicationCache.abort.
commit-queue@webkit.org [Mon, 16 Jan 2012 20:50:46 +0000 (20:50 +0000)]
Add offline web applications API applicationCache.abort.
https://bugs.webkit.org/show_bug.cgi?id=76270

Patch by xueqing huang <huangxueqing@baidu.com> on 2012-01-16
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests:
http/tests/appcache/abort-cache-onchecking.html
http/tests/appcache/abort-cache-onchecking-manifest-404.html
http/tests/appcache/abort-cache-onchecking-resource-404.html
http/tests/appcache/abort-cache-ondownloading.html
http/tests/appcache/abort-cache-ondownloading-manifest-404.html
http/tests/appcache/abort-cache-ondownloading-resource-404.html
http/tests/appcache/abort-cache-onprogress.html

* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::abort):
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::abort):
* loader/appcache/ApplicationCacheHost.h:
* loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::abort):
* loader/appcache/DOMApplicationCache.h:
* loader/appcache/DOMApplicationCache.idl:

Source/WebKit/chromium:

* src/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::abort):

LayoutTests:

* http/tests/appcache/abort-cache-onchecking-expected.txt: Added.
* http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt: Added.
* http/tests/appcache/abort-cache-onchecking-manifest-404.html: Added.
* http/tests/appcache/abort-cache-onchecking-resource-404-expected.txt: Added.
* http/tests/appcache/abort-cache-onchecking-resource-404.html: Added.
* http/tests/appcache/abort-cache-onchecking.html: Added.
* http/tests/appcache/abort-cache-ondownloading-expected.txt: Added.
* http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt: Added.
* http/tests/appcache/abort-cache-ondownloading-manifest-404.html: Added.
* http/tests/appcache/abort-cache-ondownloading-resource-404-expected.txt: Added.
* http/tests/appcache/abort-cache-ondownloading-resource-404.html: Added.
* http/tests/appcache/abort-cache-ondownloading.html: Added.
* http/tests/appcache/abort-cache-onprogress-expected.txt: Added.
* http/tests/appcache/abort-cache-onprogress.html: Added.
* http/tests/appcache/resources/abort-cache-onchecking-resource-404.manifest: Added.
* http/tests/appcache/resources/abort-cache-onchecking.manifest: Added.
* http/tests/appcache/resources/abort-cache-onchecking.text: Added.
* http/tests/appcache/resources/abort-cache-ondownloading-resource-404.manifest: Added.
* http/tests/appcache/resources/abort-cache-ondownloading.manifest: Added.
* http/tests/appcache/resources/abort-cache-ondownloading.text: Added.
* http/tests/appcache/resources/abort-cache-onprogress-1.text: Added.
* http/tests/appcache/resources/abort-cache-onprogress-2.text: Added.
* http/tests/appcache/resources/abort-cache-onprogress-3.text: Added.
* http/tests/appcache/resources/abort-cache-onprogress-4.text: Added.
* http/tests/appcache/resources/abort-cache-onprogress.manifest: Added.
* platform/chromium/test_expectations.txt:

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

12 years agoRemove caching of mapped attribute count on NamedNodeMap.
kling@webkit.org [Mon, 16 Jan 2012 20:28:30 +0000 (20:28 +0000)]
Remove caching of mapped attribute count on NamedNodeMap.
<http://webkit.org/b/76393>

Reviewed by Antti Koivisto.

Stop caching the mapped attribute count on Element's attribute map, effectively
shrinking NamedNodeMap by one CPU word. The price we pay is always walking over
the map in matchAllRules(), even if it has no mapped attribute styles.

This reduces memory consumption by 605 kB (on 64-bit) when viewing the full
HTML5 spec at <http://whatwg.org/c>

* css/CSSStyleSelector.cpp:
(WebCore::mappedAttributesEquivalent):

    Moved here from NamedNodeMap::mappedMapsEquivalent() to accomodate the only
    user under the added assumption that the two attribute maps have the same
    number of mapped attributes.

(WebCore::CSSStyleSelector::matchAllRules):

    We don't have NamedNodeMap::hasMappedAttributes() at our convenience any
    more so walk the attribute map (if there is one) looking for styles to add.

(WebCore::CSSStyleSelector::canShareStyleWithElement):

    Compare the elements' mapped attribute counts at an earlier time. This is
    slightly more expensive but we used to do it near the end anyway and this
    ends up rejecting elements that can't share style before doing a lot of
    semi-expensive checks.

* dom/StyledElement.h:
(WebCore::StyledElement::mappedAttributeCount):
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::mappedAttributeCount):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::clearAttributes):

    Remove NamedNodeMap::m_mappedAttributeCount and add a function that walks
    the attribute map counting the attributes that have a decl().

* dom/NamedNodeMap.h:
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):

    Remove declAdded()/declRemoved() callbacks.

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

12 years agoREGRESSION(r105072): It broke committers_unittest.py
ossy@webkit.org [Mon, 16 Jan 2012 20:02:51 +0000 (20:02 +0000)]
REGRESSION(r105072): It broke committers_unittest.py
https://bugs.webkit.org/show_bug.cgi?id=76396

Reviewed by Adam Barth.

* Scripts/webkitpy/common/config/committers_unittest.py:
(CommittersTest._assert_fuzz_match): It should handle more names.
(CommittersTest.test_contributors_by_fuzzy_match_with_legacy_names): Fix the testcase.

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

12 years agoUnreviewed build fix.
jer.noble@apple.com [Mon, 16 Jan 2012 19:28:30 +0000 (19:28 +0000)]
Unreviewed build fix.

Added necessary header files to VectorMath.cpp to fix Chromium compile error.

* platform/audio/VectorMath.cpp:

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

12 years agoWebAudio: Optimize AudioChannel::maxAbsValue().
jer.noble@apple.com [Mon, 16 Jan 2012 18:53:11 +0000 (18:53 +0000)]
WebAudio: Optimize AudioChannel::maxAbsValue().
https://bugs.webkit.org/show_bug.cgi?id=74359

Reviewed by Eric Carlson.

No new tests; optimization of existing code, so covered by existing test cases.

* platform/audio/AudioChannel.cpp:
(WebCore::AudioChannel::maxAbsValue): Replace implementation with optimized vector math
    operation.
* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::vmaxmgv): Vector math operation for determining maximum
    magnitude in a vector.
* platform/audio/VectorMath.h:

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