abarth@webkit.org [Fri, 16 Dec 2011 22:29:02 +0000 (22:29 +0000)]
<!doctype html><div><body><frameset> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74745
Reviewed by Eric Seidel.
Source/WebCore:
We were missing one place the spec tells us to set this bool.
Tests: html5lib/runner.html
* html/parser/HTMLTreeBuilder.cpp:
LayoutTests:
Show test progression.
* html5lib/runner-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103109
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Fri, 16 Dec 2011 22:28:38 +0000 (22:28 +0000)]
Include BlackBerryPlatformLog.h instead of BlackBerryPlatformMisc.h
Rubber-stamped by Antonio Gomes.
BlackBerry::Platform::logV() is declared in BlackBerryPlatformLog.h. That is, it isn't
declared in BlackBerryPlatformMisc.h. Hence, we should include BlackBerryPlatformLog.h
instead of BlackBerryPlatformMisc.h.
* wtf/Assertions.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103108
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Fri, 16 Dec 2011 22:24:33 +0000 (22:24 +0000)]
Unreviewed, updating chromium expectations.
* platform/chromium/test_expectations.txt: fast/replaced/embed-display-none.html has been
passing and fast/replaced/width100percent-textarea.html is flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103107
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jarred@sencha.com [Fri, 16 Dec 2011 22:16:41 +0000 (22:16 +0000)]
Support HTML documents in XHR.responseXML
https://bugs.webkit.org/show_bug.cgi?id=74626
Latest W3C XHR spec details for the responseXML attribute:
http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-responsexml-attribute
http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#document-response-entity-body
XHR.responseXML was not compliant per the latest editor's draft of the XHR spec.
The following compliance issue have been corrected:
- A responseType of "text" should disallow access to responseXML by throwing an InvalidState exception.
- When the error flag is toggled, responseXML should return "null" immediately and not attempt to create a new Document.
- responseXML should return a valid HTML document when the MIME type is "text/html", but only when the caller has
explicitly set responseType to "document".
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Tests: fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks.html
fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict.html
fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype.html
fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml.html
fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype.html
fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype.html
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
(WebCore::XMLHttpRequest::clearResponseBuffers):
* xml/XMLHttpRequest.h: Rename m_responseXML to m_responseDocument
(WebCore::XMLHttpRequest::optionalResponseXML):
LayoutTests:
* fast/frames/iframe-reparenting.html:
* fast/xmlhttprequest/resources/xmlhttprequest-get-invalid-data.xml: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype.html: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103106
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 22:09:38 +0000 (22:09 +0000)]
[chromium] Mark file-from-file-entry-sync as crash after r103095
https://bugs.webkit.org/show_bug.cgi?id=74746
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103105
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 16 Dec 2011 22:04:58 +0000 (22:04 +0000)]
Only EditCommandComposition should implement unapply and reapply
https://bugs.webkit.org/show_bug.cgi?id=74490
Reviewed by Eric Seidel.
Source/WebCore:
Introduce new abstract class UndoStep to replace EditCommand for EditorClient, and make EditCommand
private to WebCore.
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::create): Takes EditAction instead of boolean for CreateLinkCommand.
(WebCore::EditCommandComposition::EditCommandComposition): Ditto.
(WebCore::EditCommandComposition::unapply): Moved from EditCommand; we don't have to call isTopLevelCommand
anymore because EditCommandComposition is always top-level. In fact, the only thing unapply/reapply do
in addition to what doUnapply/doReapply do for sub-level commands is disabling and enabling delete button
and defining an event queue scope. However, these can be done at top-level command anyway, so we now only call
doApply for sub-level commands.
(WebCore::EditCommandComposition::reapply): Ditto.
(WebCore::EditCommandComposition::setStartingSelection): Added.
(WebCore::EditCommandComposition::setEndingSelection): Added.
(WebCore::applyCommand): Moved from EditCommand.
(WebCore::CompositeEditCommand::apply): Moved from EditCommand; doesn't call isTopLevelCommand for the same reason.
(WebCore::CompositeEditCommand::ensureComposition):
(WebCore::CompositeEditCommand::applyCommandToComposite): Call doApply instead of apply for the same reason.
* editing/CompositeEditCommand.h:
(WebCore::EditCommandComposition::wasCreateLinkCommand):
(WebCore::EditCommandComposition::startingSelection): Added.
(WebCore::EditCommandComposition::endingSelection): Added.
* editing/EditCommand.cpp:
(WebCore::EditCommand::setStartingSelection):
(WebCore::EditCommand::setEndingSelection):
(WebCore::SimpleEditCommand::doReapply): Moved from EditCommand.
* editing/EditCommand.h:
* editing/UndoStep.h: Added.
(WebCore::UndoStep::~UndoStep):
* loader/EmptyClients.h:
(WebCore::EmptyEditorClient::shouldInsertNode):
(WebCore::EmptyEditorClient::didSetSelectionTypesForPasteboard):
(WebCore::EmptyEditorClient::registerCommandForUndo): Takes UndoStep instead of EditCommand.
(WebCore::EmptyEditorClient::registerCommandForRedo): Ditto.
* page/EditorClient.h:
Source/WebKit/chromium:
* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::registerCommandForUndo):
(WebKit::EditorClientImpl::registerCommandForRedo):
(WebKit::EditorClientImpl::undo):
(WebKit::EditorClientImpl::redo):
* src/EditorClientImpl.h:
Source/WebKit/efl:
* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::registerCommandForUndo):
(WebCore::EditorClientEfl::registerCommandForRedo):
(WebCore::EditorClientEfl::undo):
(WebCore::EditorClientEfl::redo):
* WebCoreSupport/EditorClientEfl.h:
Source/WebKit/gtk:
* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::registerCommandForUndo):
(WebKit::EditorClient::registerCommandForRedo):
(WebKit::EditorClient::undo):
(WebKit::EditorClient::redo):
* WebCoreSupport/EditorClientGtk.h:
Source/WebKit/mac:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(-[WebUndoStep initWithUndoStep:]):
(-[WebUndoStep dealloc]):
(+[WebUndoStep stepWithUndoStep:]):
(-[WebUndoStep step]):
(-[WebEditorUndoTarget undoEditing:]):
(-[WebEditorUndoTarget redoEditing:]):
(WebEditorClient::registerCommandForUndoOrRedo):
(WebEditorClient::registerCommandForUndo):
(WebEditorClient::registerCommandForRedo):
Source/WebKit/qt:
EditCommandQt is to be renamed to UndoStepQt in a follow up patch.
* WebCoreSupport/EditCommandQt.cpp:
(EditCommandQt::EditCommandQt):
* WebCoreSupport/EditCommandQt.h:
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::registerCommandForUndo):
(WebCore::EditorClientQt::registerCommandForRedo):
Source/WebKit/win:
* WebCoreSupport/WebEditorClient.cpp:
(WebEditorUndoCommand::WebEditorUndoCommand):
(WebEditorUndoCommand::execute):
(WebEditorClient::registerCommandForUndo):
(WebEditorClient::registerCommandForRedo):
* WebCoreSupport/WebEditorClient.h:
Source/WebKit/wince:
* WebCoreSupport/EditorClientWinCE.cpp:
(WebKit::EditorClientWinCE::registerCommandForUndo):
(WebKit::EditorClientWinCE::registerCommandForRedo):
* WebCoreSupport/EditorClientWinCE.h:
Source/WebKit2:
Renamed WebEditCommand to WebUndoStep and made necessary changes.
Everything on WebProcess side should have the correct name now.
Names in the proxy and UIProcess are to be updated in a follow up.
* CMakeLists.txt:
* GNUmakefile.am:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerCommandForUndo):
(WebKit::WebEditorClient::registerCommandForRedo):
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebPage/WebEditCommand.cpp: Removed.
* WebProcess/WebPage/WebEditCommand.h: Removed.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::webUndoStep):
(WebKit::WebPage::addWebUndoStep):
(WebKit::WebPage::removeWebEditCommand):
(WebKit::WebPage::unapplyEditCommand):
(WebKit::WebPage::reapplyEditCommand):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebUndoStep.cpp: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.cpp.
(WebKit::generateUndoStep):
(WebKit::WebUndoStep::create):
* WebProcess/WebPage/WebUndoStep.h: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.h.
(WebKit::WebUndoStep::entry):
(WebKit::WebUndoStep::entryID):
(WebKit::WebUndoStep::WebUndoStep):
* win/WebKit2.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103104
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 16 Dec 2011 21:49:33 +0000 (21:49 +0000)]
Allow a PlatformCALayer to own its own sublayers
https://bugs.webkit.org/show_bug.cgi?id=74744
Reviewed by Anders Carlsson.
GraphicsLayerCA rebuilds the sublayer list of CALayers, which would
blow away any custom layers that a PlatformCALayer wants to maintain
as children.
Make it possible for a PlatformLayerCA to indicate that it wants
a specific list of sublayers to be maintained as the first layers
in the child list.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateSublayerList):
* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::customSublayers):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103103
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Fri, 16 Dec 2011 21:44:45 +0000 (21:44 +0000)]
<!DOCTYPE html><pre>

A</pre> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74658
Reviewed by Darin Adler.
Source/WebCore:
Previously, we handled skipping newlines after <pre> in the tokenizer,
which isn't how the spec handles them. Instead, the spec skips them in
the tree builder. This isn't usually observable, except in the case of
an HTML entity. In that case, the tokenzier sees '&' (because the
entity hasn't been decoded yet), but the tree builder sees '\n' (the
decoded entity). This patch fixes the bug by more closely aligning our
implementation with the spec.
Test: html5lib/runner.html
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::nextToken):
* html/parser/HTMLTokenizer.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
* html/parser/HTMLTreeBuilder.h:
* xml/parser/MarkupTokenizerBase.h:
LayoutTests:
Shows test progression.
* html5lib/runner-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103102
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 21:33:59 +0000 (21:33 +0000)]
[chromium] Further suppress media/video-transformed.html failures
https://bugs.webkit.org/show_bug.cgi?id=73905
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103101
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 21:27:06 +0000 (21:27 +0000)]
IndexedDB: Implement IDBObjectStore.count() and IDBIndex.count()
https://bugs.webkit.org/show_bug.cgi?id=73686
Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-16
Reviewed by Tony Chang.
Source/WebCore:
These new methods open an internal cursor and iterate through the
results, returning the number of items found. Note that only
passing an IDBKeyRange is supported, not an IDBKey. Supporting
that will require some IDL/binding monkeying; several other
methods also need the same Key-or-KeyRange behavior.
Tests: storage/indexeddb/index-count.html
storage/indexeddb/objectstore-count.html
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::numberValue):
* bindings/v8/SerializedScriptValue.h:
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
* storage/IDBIndex.h:
(WebCore::IDBIndex::count):
* storage/IDBIndex.idl:
* storage/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::countInternal):
(WebCore::IDBIndexBackendImpl::count):
* storage/IDBIndexBackendImpl.h:
* storage/IDBIndexBackendInterface.h:
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::count):
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::count):
* storage/IDBObjectStore.idl:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::countInternal):
* storage/IDBObjectStoreBackendImpl.h:
* storage/IDBObjectStoreBackendInterface.h:
Source/WebKit/chromium:
Plumbing to support the new methods in Chromium.
* src/IDBIndexBackendProxy.cpp:
(WebKit::IDBIndexBackendProxy::count):
* src/IDBIndexBackendProxy.h:
* src/IDBObjectStoreBackendProxy.cpp:
(WebKit::IDBObjectStoreBackendProxy::count):
* src/IDBObjectStoreBackendProxy.h:
* src/WebIDBIndexImpl.cpp:
(WebKit::WebIDBIndexImpl::count):
* src/WebIDBIndexImpl.h:
* src/WebIDBObjectStoreImpl.cpp:
(WebKit::WebIDBObjectStoreImpl::count):
* src/WebIDBObjectStoreImpl.h:
LayoutTests:
* storage/indexeddb/index-basics-expected.txt:
* storage/indexeddb/index-basics.html:
* storage/indexeddb/index-count-expected.txt: Added.
* storage/indexeddb/index-count.html: Added.
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics.html:
* storage/indexeddb/objectstore-count-expected.txt: Added.
* storage/indexeddb/objectstore-count.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103100
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 21:18:00 +0000 (21:18 +0000)]
[chromium] Fix duplicate layout test expectation
https://bugs.webkit.org/show_bug.cgi?id=53378
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103099
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yael.aharon@nokia.com [Fri, 16 Dec 2011 21:03:05 +0000 (21:03 +0000)]
Audio file in video element has a size of 0x0 .
https://bugs.webkit.org/show_bug.cgi?id=74738
Reviewed by Kenneth Rohde Christiansen.
Source/WebCore:
When the source of a video element has audio only, the intrinsic size of the video should
not be 0x0. Instead, it should be the same as as no media was loaded.
No new tests. An existing test is covering this case and was modified to reflect this change.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::calculateIntrinsicSize):
LayoutTests:
Changed the expected result to reflect this change.
* media/audio-only-video-intrinsic-size-expected.txt:
* media/audio-only-video-intrinsic-size.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103098
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 20:55:10 +0000 (20:55 +0000)]
[Qt] Eliminate dependency to QUndoStack
https://bugs.webkit.org/show_bug.cgi?id=74691
Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2011-12-16
Reviewed by Kenneth Rohde Christiansen.
Replaced the QUndoStack with two vectors. When calling unapply()
on the edit command proxy, it will automatically re-register itself
in the redo stack.
* UIProcess/qt/QtWebUndoController.cpp:
(QtWebUndoController::registerEditCommand):
(QtWebUndoController::clearAllEditCommands):
(QtWebUndoController::canUndoRedo):
(QtWebUndoController::executeUndoRedo):
* UIProcess/qt/QtWebUndoController.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103097
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Fri, 16 Dec 2011 20:50:31 +0000 (20:50 +0000)]
getComputedStyle for border-width is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=74635
Reviewed by Tony Chang.
Source/WebCore:
Implement getComputedStyle for border-width.
Test: fast/css/getComputedStyle/getComputedStyle-border-width.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
LayoutTests:
Implement a test to cover getComputedStyle for border-width.
* fast/css/getComputedStyle/getComputedStyle-border-width-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-border-width.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103096
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dslomov@google.com [Fri, 16 Dec 2011 20:41:51 +0000 (20:41 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74657
[Chromium] Re-enable all layout tests for dedicated workers.
Reviewed by David Levin.
* fast/filesystem/workers/file-writer-gc-blob-expected.txt: Renamed from LayoutTests/fast/filesystem/workers/file-writer-gc-blob-expected.html.
* fast/filesystem/workers/file-writer-write-overlapped-expected.txt: Renamed from LayoutTests/fast/filesystem/workers/file-writer-write-overlapped-expected.html.
* http/tests/filesystem/resources/fs-worker-common.js:
* platform/chromium/http/tests/filesystem/workers/resolve-url-expected.txt: webkitRequestFileSystem is available in chromium DRT.
* platform/chromium/http/tests/filesystem/workers/resolve-url-sync-expected.txt: webkitRequestFileSystem is available in chromium DRT.
* platform/chromium/http/tests/workers/worker-importScripts-expected.txt: Exception message texts differ.
* platform/chromium/http/tests/workers/worker-importScriptsOnError-expected.txt: Exception message texts differ.
* platform/chromium/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Minor message text differences.
* platform/chromium/http/tests/xmlhttprequest/workers/methods-expected.txt: Minor message text differnces.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103095
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 16 Dec 2011 20:41:15 +0000 (20:41 +0000)]
<rdar://problem/
10589427> Avoid calling -setGeometryFlipped ourselves on the layer hosting view's layer
Reviewed by Sam Weinig.
Now that we're using a flipped view to host the compositing layers,
we should not set geometryFlipped on the root layer ourselves.
* WebView/WebHTMLView.mm:
(-[WebHTMLView attachRootLayer:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103094
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 20:41:09 +0000 (20:41 +0000)]
[Qt][WK2] Move webView.page into experimental
https://bugs.webkit.org/show_bug.cgi?id=74406
Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-16
Reviewed by Simon Hausmann.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::page):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::accessPage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103093
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 20:24:02 +0000 (20:24 +0000)]
[chromium] media/event-attributes.html is flaky on all platforms
https://bugs.webkit.org/show_bug.cgi?id=73692
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103092
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 20:20:34 +0000 (20:20 +0000)]
[chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux
https://bugs.webkit.org/show_bug.cgi?id=53378
Patch by Branimir Lambov <blambov@google.com> on 2011-12-16
Reviewed by Tony Chang.
Source/WebCore:
Fixes a problem in Skia's clipping layer code's handling of coordinate
transformations that was causing all complex clipping (including text
and/or masks) to fail.
The method beginLayerClippedToImage was taking rectangle coordinates
in one local coordinate space, but it was applying them in a different
one because of the delay between the time it is called and the actual
application occurs in applyClipFromImage. The fix translates the
coordinates passed to beginLayerClippedToImage to absolute ones, so
that they are not affected by any change in the transform matrix, and
makes sure that applyClipFromImage clears the matrix before drawing
the clip layer to correctly apply the absolute coordinates.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::beginLayerClippedToImage):
(WebCore::PlatformContextSkia::applyClipFromImage):
* platform/graphics/skia/PlatformContextSkia.h:
LayoutTests:
Fixes a problem in Skia's clipping layer code's handling of coordinate
transformations that was causing all complex clipping (including text
and/or masks) to fail.
The method beginLayerClippedToImage was taking rectangle coordinates
in one local coordinate space, but it was applying them in a different
one because of the delay between the time it is called and the actual
application occurs in applyClipFromImage. The fix translates the
coordinates passed to beginLayerClippedToImage to absolute ones, so
that they are not affected by any change in the transform matrix, and
makes sure that applyClipFromImage clears the matrix before drawing
the clip layer to correctly apply the absolute coordinates.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103091
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Fri, 16 Dec 2011 20:17:54 +0000 (20:17 +0000)]
Add webkit-bug-importer@group.apple.com to accounts
so that it autocompletes in bugzilla.
Unreviewed.
* Scripts/webkitpy/common/config/committers.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103090
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 20:04:01 +0000 (20:04 +0000)]
[chromium] Disable compositor CCLayerTreeHostTestsetNeedsCommit1 test
https://bugs.webkit.org/show_bug.cgi?id=74623
Unreviewed gardening.
This has been failing (timeout) intermittently on Mac.
* tests/CCLayerTreeHostTest.cpp:
(WTF::TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103089
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 19:39:15 +0000 (19:39 +0000)]
[chromium] Expand flakiness suppression for 2d.text.draw.fontface.notinpage
https://bugs.webkit.org/show_bug.cgi?id=66908
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103088
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 19:30:31 +0000 (19:30 +0000)]
[chromium] Mark compositing/reflections/reflection-positioning2.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=74731
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103087
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 19:24:28 +0000 (19:24 +0000)]
[chromium] Add setOpaque to WebMediaPlayerClient interface, don't set VideoLayer's opaque when grabbing current frame.
https://bugs.webkit.org/show_bug.cgi?id=74722
Patch by Dana Jansens <danakj@chromium.org> on 2011-12-16
Reviewed by Darin Fisher.
* public/WebMediaPlayerClient.h:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::WebMediaPlayerClientImpl):
* src/WebMediaPlayerClientImpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103086
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mnaganov@chromium.org [Fri, 16 Dec 2011 19:09:35 +0000 (19:09 +0000)]
[Gtk] Add platform-specific test results after r103073
* platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* platform/gtk/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103085
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 19:08:09 +0000 (19:08 +0000)]
[chromium] Mark several http tests as failing, due to DRT weirdness.
https://bugs.webkit.org/show_bug.cgi?id=74694
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103084
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Fri, 16 Dec 2011 19:06:44 +0000 (19:06 +0000)]
De-virtualize destructors
https://bugs.webkit.org/show_bug.cgi?id=74331
Reviewed by Geoffrey Garen.
.:
* Source/autotools/symbols.filter: Removed symbol no longer present.
Source/JavaScriptCore:
This is a megapatch which frees us from the chains of virtual destructors.
In order to remove the virtual destructors, which are the last of the virtual
functions, from the JSCell hierarchy, we need to add the ClassInfo pointer to
the cell rather than to the structure because in order to be able to lazily call
the static destroy() functions that will replace the virtual destructors, we
need to be able to access the ClassInfo without the danger of the object's
Structure being collected before the object itself.
After adding the ClassInfo to the cell, we can then begin to remove our use
of vptrs for optimizations within the JIT and the GC. When we have removed
all of the stored vptrs from JSGlobalData, we can then also remove all of
the related VPtrStealingHack code.
The replacement for virtual destructors will be to add a static destroy function
pointer to the MethodTable stored in ClassInfo. Any subclass of JSCell that has
a non-trivial destructor will require its own static destroy function to static
call its corresponding destructor, which will now be non-virtual. In future
patches we will slowly move away from destructors altogether as we make more and
more objects backed by GC memory rather than malloc-ed memory. The GC will now
call the static destroy method rather than the virtual destructor.
As we go through the hierarchy and add static destroy functions to classes,
we will also add a new assert, ASSERT_HAS_TRIVIAL_DESTRUCTOR, to those classes
to which it applies. The future goal is to eventually have every class have that assert.
* API/JSCallbackConstructor.cpp:
(JSC::JSCallbackConstructor::destroy): Add a destroy function to statically call
~JSCallbackConstructor because it has some extra destruction logic.
* API/JSCallbackConstructor.h:
* API/JSCallbackFunction.cpp: Add trivial destructor assert for JSCallbackFunction.
* API/JSCallbackObject.cpp: Add a destroy function to statically call ~JSCallbackObject
because it has a member OwnPtr that needs destruction.
(JSC::::destroy):
* API/JSCallbackObject.h:
* JavaScriptCore.exp: Add/remove necessary symbols for JSC.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Same for Windows symbols.
* debugger/DebuggerActivation.cpp: DebuggerActivation, for some strange reason, didn't
have its own ClassInfo despite the fact that it overrides a number of MethodTable
methods. Added the ClassInfo, along with an assertion that its destructor is trivial.
* debugger/DebuggerActivation.h:
* dfg/DFGOperations.cpp: Remove global data first argument to isJSArray, isJSByteArray,
isJSString, as it is no longer necessary.
(JSC::DFG::putByVal):
* dfg/DFGRepatch.cpp: Ditto. Also remove uses of jsArrayVPtr in favor of using the
JSArray ClassInfo pointer.
(JSC::DFG::tryCacheGetByID):
* dfg/DFGSpeculativeJIT.cpp: Replace uses of the old vptrs with new ClassInfo
comparisons since we don't have vptrs anymore.
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compilePutByValForByteArray):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLength):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
* dfg/DFGSpeculativeJIT.h: Ditto.
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):
* dfg/DFGSpeculativeJIT32_64.cpp: Ditto.
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp: Ditto.
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* heap/Heap.cpp: Remove all uses of vptrs in GC optimizations and replace them with
ClassInfo comparisons.
(JSC::Heap::Heap):
* heap/MarkStack.cpp: Ditto.
(JSC::MarkStackThreadSharedData::markingThreadMain):
(JSC::visitChildren):
(JSC::SlotVisitor::drain):
* heap/MarkStack.h: Ditto.
(JSC::MarkStack::MarkStack):
* heap/MarkedBlock.cpp: Ditto.
(JSC::MarkedBlock::callDestructor):
(JSC::MarkedBlock::specializedSweep):
* heap/MarkedBlock.h: Ditto.
* heap/SlotVisitor.h: Ditto.
(JSC::SlotVisitor::SlotVisitor):
* heap/VTableSpectrum.cpp: Now that we don't have vptrs, we can't count them.
We'll have to rename this class and make it use ClassInfo ptrs in a future patch.
(JSC::VTableSpectrum::count):
* interpreter/Interpreter.cpp: Remove all global data arguments from isJSArray,
etc. functions.
(JSC::loadVarargs):
(JSC::Interpreter::tryCacheGetByID):
(JSC::Interpreter::privateExecute):
* jit/JIT.h: Remove vptr argument from emitAllocateBasicJSObject
* jit/JITInlineMethods.h: Remove vptr planting, and add ClassInfo planting,
remove all vtable related code.
(JSC::JIT::emitLoadCharacterString):
(JSC::JIT::emitAllocateBasicJSObject):
(JSC::JIT::emitAllocateJSFinalObject):
(JSC::JIT::emitAllocateJSFunction):
* jit/JITOpcodes.cpp: Replace vptr related branch code with corresponding ClassInfo.
(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_convert_this):
* jit/JITOpcodes32_64.cpp: Ditto.
(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_convert_this):
* jit/JITPropertyAccess.cpp: Ditto.
(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
* jit/JITPropertyAccess32_64.cpp: Ditto.
(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* jit/JITStubs.cpp: Remove global data argument from isJSString, etc.
(JSC::JITThunks::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
* jit/SpecializedThunkJIT.h: Replace vptr related stuff with ClassInfo stuff.
(JSC::SpecializedThunkJIT::loadJSStringArgument):
* runtime/ArrayConstructor.cpp: Add trivial destructor assert.
* runtime/ArrayPrototype.cpp: Remove global data argument from isJSArray.
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncForEach):
(JSC::arrayProtoFuncSome):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):
* runtime/BooleanConstructor.cpp: Add trivial destructor assert.
* runtime/BooleanObject.cpp: Ditto.
* runtime/BooleanPrototype.cpp: Ditto.
* runtime/ClassInfo.h: Add destroy function pointer to MethodTable.
* runtime/DateConstructor.cpp: Add trivial destructor assert.
* runtime/DateInstance.cpp: Add destroy function for DateInstance because it has a RefPtr
that needs destruction.
(JSC::DateInstance::destroy):
* runtime/DateInstance.h:
* runtime/Error.cpp: Ditto (because of UString member).
(JSC::StrictModeTypeErrorFunction::destroy):
* runtime/Error.h:
* runtime/ErrorConstructor.cpp: Add trivial destructor assert.
* runtime/ErrorInstance.cpp: Ditto.
* runtime/ExceptionHelpers.cpp: Ditto.
* runtime/Executable.cpp: Add destroy functions for ExecutableBase and subclasses.
(JSC::ExecutableBase::destroy):
(JSC::NativeExecutable::destroy):
(JSC::ScriptExecutable::destroy):
(JSC::EvalExecutable::destroy):
(JSC::ProgramExecutable::destroy):
(JSC::FunctionExecutable::destroy):
* runtime/Executable.h:
* runtime/FunctionConstructor.cpp: Add trivial destructor assert.
* runtime/FunctionPrototype.cpp: Ditto. Also remove global data first arg from isJSArray.
(JSC::functionProtoFuncApply):
* runtime/GetterSetter.cpp: Ditto.
* runtime/InitializeThreading.cpp: Remove call to JSGlobalData::storeVPtrs since it no
longer exists.
(JSC::initializeThreadingOnce):
* runtime/InternalFunction.cpp: Remove vtableAnchor function, add trivial destructor assert,
remove first arg from isJSString.
(JSC::InternalFunction::displayName):
* runtime/InternalFunction.h: Remove VPtrStealingHack.
* runtime/JSAPIValueWrapper.cpp: Add trivial destructor assert.
* runtime/JSArray.cpp: Add static destroy to call ~JSArray. Replace vptr checks in
destructor with ClassInfo checks.
(JSC::JSArray::~JSArray):
(JSC::JSArray::destroy):
* runtime/JSArray.h: Remove VPtrStealingHack. Remove globalData argument from isJSArray
and change them to check the ClassInfo rather than the vptrs.
(JSC::isJSArray):
* runtime/JSBoundFunction.cpp: Add trival destructor assert. Remove first arg from isJSArray.
(JSC::boundFunctionCall):
(JSC::boundFunctionConstruct):
* runtime/JSByteArray.cpp: Add static destroy function, replace vptr checks with ClassInfo checks.
(JSC::JSByteArray::~JSByteArray):
(JSC::JSByteArray::destroy):
* runtime/JSByteArray.h: Remove VPtrStealingHack code.
(JSC::isJSByteArray):
* runtime/JSCell.cpp: Add trivial destructor assert. Add static destroy function.
(JSC::JSCell::destroy):
* runtime/JSCell.h: Remove VPtrStealingHack code. Add function for returning the offset
of the ClassInfo pointer in the object for use by the JIT. Add the ClassInfo pointer to
the JSCell itself, and grab it from the Structure. Remove the vptr and setVPtr functions,
as they are no longer used. Add a validatedClassInfo function to JSCell for any clients
that want to verify, while in Debug mode, that the ClassInfo contained in the cell is the
same one as that contained in the Structure. This isn't used too often, because most of
the places where we compare the ClassInfo to things can be called during destruction.
Since the Structure is unreliable during the phase when destructors are being called,
we can't call validatedClassInfo.
(JSC::JSCell::classInfoOffset):
(JSC::JSCell::structure):
(JSC::JSCell::classInfo):
* runtime/JSFunction.cpp: Remove VPtrStealingHack code. Add static destroy, remove vtableAnchor,
remove first arg from call to isJSString.
(JSC::JSFunction::destroy):
(JSC::JSFunction::displayName):
* runtime/JSFunction.h:
* runtime/JSGlobalData.cpp: Remove all VPtr stealing code and storage, including storeVPtrs,
as these vptrs are no longer needed in the codebase.
* runtime/JSGlobalData.h:
(JSC::TypedArrayDescriptor::TypedArrayDescriptor): Changed the TypedArrayDescriptor to use
ClassInfo rather than the vptr.
* runtime/JSGlobalObject.cpp: Add static destroy function.
(JSC::JSGlobalObject::destroy):
* runtime/JSGlobalObject.h:
* runtime/JSGlobalThis.cpp: Add trivial destructor assert.
* runtime/JSNotAnObject.cpp: Ditto.
* runtime/JSONObject.cpp: Ditto. Remove first arg from isJSArray calls.
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSFinalObject::destroy):
(JSC::JSNonFinalObject::destroy):
(JSC::JSObject::destroy):
* runtime/JSObject.h: Add trivial destructor assert for JSObject, remove vtableAnchor
from JSNonFinalObject and JSFinalObject, add static destroy for JSFinalObject and
JSNonFinalObject, add isJSFinalObject utility function similar to isJSArray, remove all VPtrStealingHack code.
(JSC::JSObject::finishCreation):
(JSC::JSNonFinalObject::finishCreation):
(JSC::JSFinalObject::finishCreation):
(JSC::isJSFinalObject):
* runtime/JSPropertyNameIterator.cpp: Add static destroy.
(JSC::JSPropertyNameIterator::destroy):
* runtime/JSPropertyNameIterator.h:
* runtime/JSStaticScopeObject.cpp: Ditto.
(JSC::JSStaticScopeObject::destroy):
* runtime/JSStaticScopeObject.h: Ditto.
* runtime/JSString.cpp:
(JSC::JSString::destroy):
* runtime/JSString.h: Ditto. Remove VPtrStealingHack code. Also remove fixupVPtr code,
since we no longer need to fixup vptrs.
(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsNontrivialString):
(JSC::jsString):
(JSC::jsSubstring8):
(JSC::jsSubstring):
(JSC::jsOwnedString):
(JSC::jsStringBuilder):
(JSC::isJSString):
* runtime/JSVariableObject.cpp:
(JSC::JSVariableObject::destroy):
* runtime/JSVariableObject.h: Ditto.
* runtime/JSWrapperObject.cpp:
* runtime/JSWrapperObject.h: Add trivial destructor assert.
* runtime/MathObject.cpp: Ditto.
* runtime/NativeErrorConstructor.cpp: Ditto.
* runtime/NumberConstructor.cpp: Ditto.
* runtime/NumberObject.cpp: Ditto.
* runtime/NumberPrototype.cpp: Ditto.
* runtime/ObjectConstructor.cpp: Ditto.
* runtime/ObjectPrototype.cpp: Ditto.
* runtime/Operations.h: Remove calls to fixupVPtr, remove first arg to isJSString.
(JSC::jsString):
(JSC::jsLess):
(JSC::jsLessEq):
* runtime/RegExp.cpp: Add static destroy.
(JSC::RegExp::destroy):
* runtime/RegExp.h:
* runtime/RegExpConstructor.cpp: Add static destroy for RegExpConstructor and RegExpMatchesArray.
(JSC::RegExpConstructor::destroy):
(JSC::RegExpMatchesArray::destroy):
* runtime/RegExpConstructor.h:
* runtime/RegExpMatchesArray.h:
* runtime/RegExpObject.cpp: Add static destroy.
(JSC::RegExpObject::destroy):
* runtime/RegExpObject.h:
* runtime/ScopeChain.cpp: Add trivial destructor assert.
* runtime/ScopeChain.h:
* runtime/StrictEvalActivation.cpp: Ditto.
* runtime/StringConstructor.cpp:
* runtime/StringObject.cpp: Ditto. Remove vtableAnchor.
* runtime/StringObject.h:
* runtime/StringPrototype.cpp: Ditto.
* runtime/Structure.cpp: Add static destroy.
(JSC::Structure::destroy):
* runtime/Structure.h: Move JSCell::finishCreation and JSCell constructor into Structure.h
because they need to have the full Structure type to access the ClassInfo to store in the JSCell.
(JSC::JSCell::setStructure):
(JSC::JSCell::validatedClassInfo):
(JSC::JSCell::JSCell):
(JSC::JSCell::finishCreation):
* runtime/StructureChain.cpp: Add static destroy.
(JSC::StructureChain::destroy):
* runtime/StructureChain.h:
* wtf/Assertions.h: Add new assertion ASSERT_HAS_TRIVIAL_DESTRUCTOR, which uses clangs
ability to tell us when a class has a trivial destructor. We will use this assert
more in future patches as we move toward having all JSC objects backed by GC memory,
which means moving away from using destructors/finalizers.
Source/JavaScriptGlue:
* UserObjectImp.cpp: Add static destroy function.
(UserObjectImp::destroy):
* UserObjectImp.h:
Source/WebCore:
No new tests.
Doing everything here that was done to the JSCell hierarchy in JavaScriptCore.
See the ChangeLog for this commit for a more in-depth description.
* WebCore.exp.in: Add/remove symbols.
* bindings/js/JSCanvasRenderingContext2DCustom.cpp: Remove first arg from isJSArray call.
(WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
* bindings/js/JSDOMBinding.cpp: Add trival destructor assert for DOMConstructorObject
and DOMConstructorWithDocument.
* bindings/js/JSDOMGlobalObject.cpp: Add static destroy. Add implementation for
scriptExecutionContext that dispatches to different functions in subclasses
depending on our current ClassInfo. We do this so that we can get rid of the
virtual-ness of scriptExecutionContext, because any virtual functions will throw
off the layout of the object and we'll crash at runtime.
(WebCore::JSDOMGlobalObject::destroy):
(WebCore::JSDOMGlobalObject::scriptExecutionContext):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowBase.cpp: Add static destroy.
(WebCore::JSDOMWindowBase::destroy):
* bindings/js/JSDOMWindowBase.h: De-virtualize scriptExecutionContext.
* bindings/js/JSDOMWindowShell.cpp: Add static destroy.
(WebCore::JSDOMWindowShell::destroy):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSDOMWrapper.cpp: Add trivial destructor assert.
* bindings/js/JSDOMWrapper.h: Add a ClassInfo to JSDOMWrapper since it now overrides
a MethodTable function. Remove vtableAnchor virtual function.
* bindings/js/JSImageConstructor.cpp: Add trivial destructor assert.
* bindings/js/JSNodeCustom.cpp: Change implementation of pushEventHandlerScope so that
it dispatches to the correct function depending on the
identity of the class as specified by the ClassInfo.
See JSDOMGlobalObject::scriptExecutionContext for explanation.
(WebCore::JSNode::pushEventHandlerScope):
* bindings/js/JSWebSocketCustom.cpp: Remove first arg to isJSArray call.
(WebCore::JSWebSocketConstructor::constructJSWebSocket):
* bindings/js/JSWorkerContextBase.cpp: Add static destroy.
(WebCore::JSWorkerContextBase::destroy):
* bindings/js/JSWorkerContextBase.h:
* bindings/js/ScriptValue.cpp: Remove first arg to isJSArray call.
(WebCore::jsToInspectorValue):
* bindings/js/SerializedScriptValue.cpp: Ditto.
(WebCore::CloneSerializer::isArray):
(WebCore::CloneSerializer::getSparseIndex):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Remove virtual-ness of any custom pushEventHandlerScope (see
JSNodeCustom::pushEventHandlerScope for explanation). Remove virtual toBoolean
for anybody who masquerades as undefined, since our JSObject implementation handles
this based on the TypeInfo in the Structure. Add trivial destructor assert for any
class other than DOMWindow or WorkerContexts.
(GenerateImplementation): Change ClassInfo definitions to use Base::s_info, since
typing the parent class more than once is duplication of information and increases
the likelihood of mistakes. Pass ClassInfo to TypeArrayDescriptors instead of vptr.
(GenerateConstructorDefinition): Add trivial destructor assert for all generated constructors.
* bridge/c/CRuntimeObject.cpp: Remove empty virtual destructor.
* bridge/c/CRuntimeObject.h:
* bridge/jni/jsc/JavaRuntimeObject.cpp: Ditto.
* bridge/jni/jsc/JavaRuntimeObject.h:
* bridge/objc/ObjCRuntimeObject.h: Ditto.
* bridge/objc/ObjCRuntimeObject.mm:
* bridge/objc/objc_runtime.h: Add static destroy for ObjcFallbackObjectImp. De-virtualize
toBoolean in the short term. Need longer term fix.
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::destroy):
* bridge/qt/qt_runtime.cpp: Add static destroy to QtRuntimeMethod.
(JSC::Bindings::QtRuntimeMethod::destroy):
* bridge/qt/qt_runtime.h: De-virtualize ~QtRuntimeMethod.
* bridge/runtime_array.cpp: De-virtualize destructor. Add static destroy.
(JSC::RuntimeArray::destroy):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp: Remove vtableAnchor. Add static destroy.
(JSC::RuntimeMethod::destroy):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp: Add static destroy.
(JSC::Bindings::RuntimeObject::destroy):
* bridge/runtime_object.h:
Source/WebKit/mac:
* Plugins/Hosted/ProxyRuntimeObject.h: Remove empty virtual destructor.
* Plugins/Hosted/ProxyRuntimeObject.mm:
Source/WebKit2:
* WebProcess/Plugins/Netscape/JSNPMethod.cpp: Add trivial destructor assert.
* WebProcess/Plugins/Netscape/JSNPObject.cpp: Add static destroy.
(WebKit::JSNPObject::destroy):
* WebProcess/Plugins/Netscape/JSNPObject.h:
* win/WebKit2.def: Add/remove necessary symbols.
* win/WebKit2CFLite.def: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103083
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 16 Dec 2011 18:59:40 +0000 (18:59 +0000)]
Poor XPath performance when evaluating an expression that returns a lot of nodes
https://bugs.webkit.org/show_bug.cgi?id=74665
<rdar://problem/
10517146>
Reviewed by Darin Adler.
No change in funcitonality. Well covered by existing tests (ran them with zero cutoff to
execute the new code path).
Our sorting function is optimized for small node sets in large documents, and this is the
opposite of it. Added another one that traverses the whole document, adding nodes from the
node set to sorted list. That doesn't grow with the number of nodes nearly as fast.
Cutoff amount chosen for the document referenced in bug - this is roughly where the algorithms
have the same performance on it.
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::sort):
(WebCore::XPath::findRootNode):
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathNodeSet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103082
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mnaganov@chromium.org [Fri, 16 Dec 2011 18:43:57 +0000 (18:43 +0000)]
Rebaseline and add expectations after r103073
[chromium] https://bugs.webkit.org/show_bug.cgi?id=74726
* platform/chromium-linux/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-linux/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-linux/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-linux/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-mac-leopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-mac-leopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-mac-leopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-mac-leopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-mac-leopard/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-mac-snowleopard/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-mac-snowleopard/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-mac-snowleopard/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-mac-snowleopard/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
* platform/chromium-mac/fast/forms/input-text-scroll-left-on-blur-expected.png: Removed.
* platform/chromium-win/editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* platform/chromium-win/editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* platform/chromium-win/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/chromium-win/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* platform/chromium-win/editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* platform/chromium-win/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* platform/chromium-win/editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* platform/chromium-win/editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
* platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/chromium/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/qt/test_expectations.txt:
* platform/win/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103081
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 16 Dec 2011 18:39:47 +0000 (18:39 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74677
Count ResourceLoadScheduler suspends/resumes
Reviewed by Andreas Kling.
Using boolean is not robust when there are multiple clients calling suspendPendingRequests/resumePendingRequests.
Increment and decrement suspend count instead of just setting/unsetting a boolean.
* loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
(WebCore::ResourceLoadScheduler::servePendingRequests):
(WebCore::ResourceLoadScheduler::suspendPendingRequests):
(WebCore::ResourceLoadScheduler::resumePendingRequests):
* loader/ResourceLoadScheduler.h:
(WebCore::ResourceLoadScheduler::isSuspendingPendingRequests):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103080
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Fri, 16 Dec 2011 18:27:13 +0000 (18:27 +0000)]
Improve performance of ChildListMutationScope when no MutationObservers are present
https://bugs.webkit.org/show_bug.cgi?id=74671
Reviewed by Ojan Vafai.
Inline ChildListMutationScope's methods (including constructor and
destructor), and provide a fast-fail case when no mutation observers
are present.
The code reorganization necessary for the above also removed the
anonymous namespace in ChildListMutationScope.cpp, making both helper
classes private inner classes of ChildListMutationScope.
No new tests, refactoring only.
* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationScope::MutationAccumulator::MutationAccumulator):
(WebCore::ChildListMutationScope::MutationAccumulator::~MutationAccumulator):
(WebCore::ChildListMutationScope::MutationAccumulator::isAddedNodeInOrder):
(WebCore::ChildListMutationScope::MutationAccumulator::childAdded):
(WebCore::ChildListMutationScope::MutationAccumulator::isRemovedNodeInOrder):
(WebCore::ChildListMutationScope::MutationAccumulator::willRemoveChild):
(WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):
(WebCore::ChildListMutationScope::MutationAccumulator::clear):
(WebCore::ChildListMutationScope::MutationAccumulator::isEmpty):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::MutationAccumulationRouter):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::~MutationAccumulationRouter):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::initialize):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::instance):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
(WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):
* dom/ChildListMutationScope.h:
(WebCore::ChildListMutationScope::ChildListMutationScope):
(WebCore::ChildListMutationScope::~ChildListMutationScope):
(WebCore::ChildListMutationScope::childAdded):
(WebCore::ChildListMutationScope::willRemoveChild):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 18:07:29 +0000 (18:07 +0000)]
[chromium] Mark fast/forms/input-text-scroll-left-on-blur.html as failing
https://bugs.webkit.org/show_bug.cgi?id=74726
Unreviewed gardening.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103078
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 18:04:15 +0000 (18:04 +0000)]
Unreviewed, GTK rebaseline of 2 fat/forms tests.
* platform/gtk/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/gtk/fast/forms/plaintext-mode-2-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Fri, 16 Dec 2011 18:01:09 +0000 (18:01 +0000)]
Filters need to affect visual overflow
https://bugs.webkit.org/show_bug.cgi?id=71930
Source/WebCore:
Reviewed by Simon Fraser.
Make sure filters are included in visual overflow.
Add a new method to calculate the expansion of overflow
region given a list of FilterOperations. This is a slight
duplication of code from the rendering path, but is needed
because overflow is calculated before the FilterEffect
chain is built.
Also, filters were always rendered into their
input rectangle which was wrong for any effect
that produced a different sized result - drop-shadow
and blur. This required two changes. First, FilterEffect
needed a flag to decide whether or not to clip
output to primitive regions (as required by SVG but not
what we want here). Second, the rendering operation
draws into the rectangle the filter claims is its painting
rectangle.
Test: css3/filters/regions-expanding.html
* platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::calculateUnscaledKernelSize): CSS filters
ask for the kernel size before the Filter object is created, so
add a new method to return an unscaled kernel.
(WebCore::FEGaussianBlur::calculateKernelSize):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::FilterEffect): Initialize clipToBounds
as false so SVG remains unchanged.
(WebCore::FilterEffect::determineAbsolutePaintRect): Only
clipToBounds if necessary.
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::clipsToBounds):
(WebCore::FilterEffect::setClipsToBounds):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build): Make sure we set our
filters here to NOT clip to bounds.
* rendering/FilterEffectRenderer.h:
(WebCore::FilterEffectRenderer::outputRect): Asks the filter
operation for the size of the result image.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addVisualEffectOverflow): Change the name
from addBoxShadowAndBorderOverflow().
* rendering/RenderBox.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::layout):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::hasBoxDecorations): Change name from
hasBorderOutlineOrShadow().
(WebCore::hasBoxDecorationsOrBackground):
(WebCore::hasBoxDecorationsOrBackgroundImage):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
* rendering/style/FilterOperations.cpp:
(WebCore::outsetSizeForBlur): Return an IntSize that is the amount
of offset.
(WebCore::FilterOperations::hasOutsets):
(WebCore::FilterOperations::getOutsets):
* rendering/style/FilterOperations.h:
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::getFilterOutsets):
(WebCore::InheritedFlags::hasFilterOutsets):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::determineAbsolutePaintRect): Only
clipToBounds if necessary.
LayoutTests:
Previously, filters that expanded their input
region (drop-shadow and blur) were being squished
when rendered back into the document. This is now
fixed, so the expected.png images from tests including
such filters needed updating. I also turned off
dumpAsText() in order to enable pixel tests, and added
some margin between the elements in effects which have
overflow (so that blurs don't overlap, for example).
There is one new test which exercises the case
of expanding filters at various stages in a list
of operations.
Reviewed by Simon Fraser.
* css3/filters/crash-filter-change-expected.png:
* css3/filters/effect-blur-expected.png:
* css3/filters/effect-blur-expected.txt:
* css3/filters/effect-blur.html:
* css3/filters/effect-combined-expected.png:
* css3/filters/effect-combined-expected.txt:
* css3/filters/effect-combined.html:
* css3/filters/effect-drop-shadow-expected.png:
* css3/filters/effect-drop-shadow-expected.txt:
* css3/filters/effect-drop-shadow.html:
* css3/filters/effect-gamma-expected.txt:
* css3/filters/effect-gamma.html:
* css3/filters/effect-grayscale-expected.txt:
* css3/filters/effect-grayscale.html:
* css3/filters/effect-hue-rotate-expected.txt:
* css3/filters/effect-hue-rotate.html:
* css3/filters/effect-invert-expected.png:
* css3/filters/effect-invert-expected.txt:
* css3/filters/effect-invert.html:
* css3/filters/effect-opacity-expected.txt:
* css3/filters/effect-opacity.html:
* css3/filters/effect-saturate-expected.txt:
* css3/filters/effect-saturate.html:
* css3/filters/effect-sepia-expected.txt:
* css3/filters/effect-sepia.html:
* css3/filters/regions-expanding-expected.png: Added.
* css3/filters/regions-expanding-expected.txt: Added.
* css3/filters/regions-expanding.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103076
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 17:52:04 +0000 (17:52 +0000)]
Unreviewed, skipping some svg tests still failing on GTK 64-bit after r103071.
* platform/gtk/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jwieczorek@webkit.org [Fri, 16 Dec 2011 17:28:27 +0000 (17:28 +0000)]
Add support for <ol reversed>.
https://bugs.webkit.org/show_bug.cgi?id=36724
The reversed attribute makes an ordered list appear with marker values
decreasing from n, where n is the number of items.
See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed
Reviewed by Darin Adler.
Source/WebCore:
Tests: fast/lists/ol-reversed-dynamic-simple.html
fast/lists/ol-reversed-dynamic.html
fast/lists/ol-reversed-nested-items.html
fast/lists/ol-reversed-nested-list.html
fast/lists/ol-reversed-simple.html
* html/HTMLAttributeNames.in:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
(WebCore::HTMLOListElement::updateItemValues):
(WebCore::HTMLOListElement::recalculateItemCount):
* html/HTMLOListElement.h:
(WebCore::HTMLOListElement::start):
(WebCore::HTMLOListElement::isReversed):
(WebCore::HTMLOListElement::itemCountChanged):
(WebCore::HTMLOListElement::itemCount):
* html/HTMLOListElement.idl:
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::nextListItem):
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::previousOrNextItem):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderListItem.h:
LayoutTests:
* fast/lists/ol-reversed-dynamic-expected.txt: Added.
* fast/lists/ol-reversed-dynamic-simple-expected.txt: Added.
* fast/lists/ol-reversed-dynamic-simple.html: Added.
* fast/lists/ol-reversed-dynamic.html: Added.
* fast/lists/ol-reversed-nested-items-expected.txt: Added.
* fast/lists/ol-reversed-nested-items.html: Added.
* fast/lists/ol-reversed-nested-list-expected.txt: Added.
* fast/lists/ol-reversed-nested-list.html: Added.
* fast/lists/ol-reversed-simple-expected.txt: Added.
* fast/lists/ol-reversed-simple.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103074
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mnaganov@chromium.org [Fri, 16 Dec 2011 16:57:31 +0000 (16:57 +0000)]
Scroll non-visible edit controls and caret into the center of the view when starting typing.
https://bugs.webkit.org/show_bug.cgi?id=65027
Reviewed by Ryosuke Niwa.
Tests: editing/input/caret-at-the-edge-of-contenteditable.html
editing/input/caret-at-the-edge-of-input.html
editing/input/reveal-caret-of-multiline-contenteditable.html
editing/input/reveal-caret-of-multiline-input.html
editing/input/reveal-contenteditable-on-input-vertically.html
editing/input/reveal-contenteditable-on-paste-vertically.html
editing/input/reveal-edit-on-input-vertically.html
editing/input/reveal-edit-on-paste-vertically.html
* editing/Editor.cpp:
(WebCore::Editor::insertTextWithoutSendingTextEvent):
(WebCore::Editor::revealSelectionAfterEditingOperation):
* editing/input/caret-at-the-edge-of-contenteditable-expected.png: Added.
* editing/input/caret-at-the-edge-of-contenteditable-expected.txt: Added.
* editing/input/caret-at-the-edge-of-contenteditable.html: Added.
* editing/input/caret-at-the-edge-of-input-expected.png: Added.
* editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* editing/input/caret-at-the-edge-of-input.html: Added.
* editing/input/resources/reveal-utilities.js: Added.
* editing/input/reveal-caret-of-multiline-contenteditable-expected.png: Added.
* editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Added.
* editing/input/reveal-caret-of-multiline-contenteditable.html: Added.
* editing/input/reveal-caret-of-multiline-input-expected.png: Added.
* editing/input/reveal-caret-of-multiline-input-expected.txt: Added.
* editing/input/reveal-caret-of-multiline-input.html: Added.
* editing/input/reveal-contenteditable-on-input-vertically-expected.txt: Added.
* editing/input/reveal-contenteditable-on-input-vertically.html: Added.
* editing/input/reveal-contenteditable-on-paste-vertically-expected.txt: Added.
* editing/input/reveal-contenteditable-on-paste-vertically.html: Added.
* editing/input/reveal-edit-on-input-vertically-expected.txt: Added.
* editing/input/reveal-edit-on-input-vertically.html: Added.
* editing/input/reveal-edit-on-paste-vertically-expected.txt: Added.
* editing/input/reveal-edit-on-paste-vertically.html: Added.
* platform/chromium/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
* platform/gtk/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
* platform/qt/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
* platform/win/test_expectations.txt: Mark new tests as FAIL to grab results from bots.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103073
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 16 Dec 2011 16:53:49 +0000 (16:53 +0000)]
Touch RenderStyle in an attempt to fix linking errors on Chromium Windows bots.
* rendering/style/RenderStyle.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103072
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 16:51:46 +0000 (16:51 +0000)]
Unreviewed, GTK rebaseline of some svg tests. Also unskipping the
ones I got passing on my 32-bit Release build. Let's see how the
bots cope with those.
* platform/gtk/Skipped:
* platform/gtk/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
* platform/gtk/svg/batik/masking/maskRegions-expected.txt:
* platform/gtk/svg/custom/embedding-external-svgs-expected.txt:
* platform/gtk/svg/custom/image-with-transform-clip-filter-expected.txt:
* platform/gtk/svg/custom/marker-strokeWidth-changes-expected.txt: Added.
* platform/gtk/svg/dom/css-transforms-expected.txt:
* platform/gtk/svg/filters/feColorMatrix-values-expected.txt:
* platform/gtk/svg/overflow/overflow-on-inner-svg-element-expected.txt:
* platform/gtk/svg/wicd/test-scalable-background-image1-expected.txt: Added.
* platform/gtk/svg/zoom/page/zoom-mask-with-percentages-expected.txt:
* platform/gtk/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103071
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nduca@chromium.org [Fri, 16 Dec 2011 16:31:34 +0000 (16:31 +0000)]
[chromium] DelayBasedTimeSource should not change its timebase on late ticks
https://bugs.webkit.org/show_bug.cgi?id=74573
The original DelayBasedTimeSource was designed to shift its timebase
to the tick time when a tick came back "late." The rationale was that it is
better to just "start fresh" after a stutter. After profiling this,
this time-rebasing just destabilizes frame rate anytime the thread gets
loaded. This patch keeps the timebase stationary, leading to vastly
smoother framerates when the message loop is under load.
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
(WebCore::CCDelayBasedTimeSource::updateState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103070
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 14:58:49 +0000 (14:58 +0000)]
Unreviewed, skipping 3 failing GTK API tests.
* Scripts/run-gtk-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103069
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 16 Dec 2011 14:46:20 +0000 (14:46 +0000)]
[GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
https://bugs.webkit.org/show_bug.cgi?id=74713
Reviewed by Gustavo Noronha Silva.
Most of the members are bools, so it reduces the memory footprint.
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103068
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 16 Dec 2011 14:41:41 +0000 (14:41 +0000)]
[GTK] Window frame should be 0x0 when the toplevel window is not visible
https://bugs.webkit.org/show_bug.cgi?id=74709
Reviewed by Gustavo Noronha Silva.
* UIProcess/API/gtk/WebKitUIClient.cpp:
(getWindowFrame): Check also whether the toplevel is visible
before getting its size and position.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103067
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 14:19:49 +0000 (14:19 +0000)]
Unreviewed, GTK API tests build fix attempt.
* Scripts/run-gtk-tests: Run xvfb on a display not used by NRWT.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103066
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 14:17:11 +0000 (14:17 +0000)]
Unreviewed, rolling out r103062.
http://trac.webkit.org/changeset/103062
https://bugs.webkit.org/show_bug.cgi?id=74715
It broke many tests (Requested by Ossy on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-16
Source/WebCore:
* html/HTMLAttributeNames.in:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
* html/HTMLOListElement.h:
(WebCore::HTMLOListElement::start):
* html/HTMLOListElement.idl:
* rendering/RenderListItem.cpp:
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderListItem.h:
LayoutTests:
* fast/lists/ol-reversed-dynamic-expected.txt: Removed.
* fast/lists/ol-reversed-dynamic-simple-expected.txt: Removed.
* fast/lists/ol-reversed-dynamic-simple.html: Removed.
* fast/lists/ol-reversed-dynamic.html: Removed.
* fast/lists/ol-reversed-nested-items-expected.txt: Removed.
* fast/lists/ol-reversed-nested-items.html: Removed.
* fast/lists/ol-reversed-nested-list-expected.txt: Removed.
* fast/lists/ol-reversed-nested-list.html: Removed.
* fast/lists/ol-reversed-simple-expected.txt: Removed.
* fast/lists/ol-reversed-simple.html: Removed.
* fast/lists/ol-reversed-simple.xhtml: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103065
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 14:14:36 +0000 (14:14 +0000)]
Unreviewed, GTK test_expectations update.
* platform/gtk/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103064
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 13:59:01 +0000 (13:59 +0000)]
Unreviewed, GTK test_expectations update.
* platform/gtk/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103063
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Fri, 16 Dec 2011 13:43:37 +0000 (13:43 +0000)]
Add support for <ol reversed>.
https://bugs.webkit.org/show_bug.cgi?id=36724
The reversed attribute makes an ordered list appear with marker values
decreasing from n, where n is the number of items.
See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed
Patch by Alexis Menard <alexis.menard@openbossa.org>, Jakub Wieczorek <jwieczorek@webkit.org> on 2011-12-16
Reviewed by Darin Adler.
Source/WebCore:
Tests: fast/lists/ol-reversed-dynamic-simple.html
fast/lists/ol-reversed-dynamic.html
fast/lists/ol-reversed-nested-items.html
fast/lists/ol-reversed-nested-list.html
fast/lists/ol-reversed-simple.html
* html/HTMLAttributeNames.in:
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::HTMLOListElement):
(WebCore::HTMLOListElement::parseMappedAttribute):
(WebCore::HTMLOListElement::updateItemValues):
(WebCore::HTMLOListElement::recalculateItemCount):
* html/HTMLOListElement.h:
(WebCore::HTMLOListElement::start):
(WebCore::HTMLOListElement::isReversed):
(WebCore::HTMLOListElement::itemCountChanged):
(WebCore::HTMLOListElement::itemCount):
* html/HTMLOListElement.idl:
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::nextListItem):
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::previousOrNextItem):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderListItem.h:
LayoutTests:
* fast/lists/ol-reversed-dynamic-expected.txt: Added.
* fast/lists/ol-reversed-dynamic-simple-expected.txt: Added.
* fast/lists/ol-reversed-dynamic-simple.html: Added.
* fast/lists/ol-reversed-dynamic.html: Added.
* fast/lists/ol-reversed-nested-items-expected.txt: Added.
* fast/lists/ol-reversed-nested-items.html: Added.
* fast/lists/ol-reversed-nested-list-expected.txt: Added.
* fast/lists/ol-reversed-nested-list.html: Added.
* fast/lists/ol-reversed-simple-expected.txt: Added.
* fast/lists/ol-reversed-simple.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103062
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 13:39:27 +0000 (13:39 +0000)]
Unreviewed, unskipping GTK testdownload. Should pass on the bot now.
* Scripts/run-gtk-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103061
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 16 Dec 2011 13:35:55 +0000 (13:35 +0000)]
[Qt] Fix the build for newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=74703
Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2011-12-16
Reviewed by Csaba Osztrogonác.
* QtTestBrowser/launcherwindow.h: Add missing forward declaration.
* DumpRenderTree/qt/EventSenderQt.cpp:
(EventSender::sendTouchEvent): Allocate QTouchDevice and use with QTouchEvent constructor.
* WebKitTestRunner/qt/EventSenderProxyQt.cpp: Ditto.
(WTR::EventSenderProxy::sendTouchEvent):
* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::sendTouchEvent): Ditto.
(MiniBrowserApplication::notify): Adapt to changed API for marking primary touch point.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103060
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
senorblanco@chromium.org [Fri, 16 Dec 2011 13:04:50 +0000 (13:04 +0000)]
Enable CSS_FILTERS in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=74334
Reviewed by Chris Marrin.
Source/WebCore:
Covered by css3/filters (when enabled).
* platform/graphics/filters/FilterOperation.h:
(WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
Since wingdi.h #define's PASSTHROUGH, #undef it after the includes.
Source/WebKit/chromium:
* features.gypi:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103059
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vestbo@webkit.org [Fri, 16 Dec 2011 12:41:10 +0000 (12:41 +0000)]
[Qt] Detect and force clean build when feature defines are added
Reviewed by Ossy.
https://bugs.webkit.org/show_bug.cgi?id=74689
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103058
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 16 Dec 2011 12:22:09 +0000 (12:22 +0000)]
Unreviewed, test_expectations.txt update.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103057
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Fri, 16 Dec 2011 12:19:27 +0000 (12:19 +0000)]
Unreviewed WinCE build fix after r102979.
Make everHadLayout() public accessible as it was before the change.
* rendering/RenderObject.h:
(WebCore::RenderObject::everHadLayout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103056
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 16 Dec 2011 11:28:17 +0000 (11:28 +0000)]
Unreviewed, test_expectations.txt update.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103055
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 11:27:36 +0000 (11:27 +0000)]
[qt][wk2] Viewport info panel shows wrong current scale
https://bugs.webkit.org/show_bug.cgi?id=74613
Patch by Michael Bruning <michael.bruning@nokia.com> on 2011-12-16
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/API/qt/qwebviewportinfo.cpp:
(QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also
added emission of currenScaleUpdated signal when the viewport constraints
have been updated.
(QWebViewportInfo::didUpdateViewportConstraints):
* UIProcess/API/qt/qwebviewportinfo_p.h: Changed return type of
currentScale to QVariant as it depends on the viewport interaction engine
now.
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): Changed
to use currentCSSScale for getting the current css scale.
(WebKit::QtViewportInteractionEngine::currentCSSScale): Added.
* UIProcess/qt/QtViewportInteractionEngine.h: Added method currentCSSScale.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103054
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 16 Dec 2011 11:10:24 +0000 (11:10 +0000)]
Unreviewed, rolling out r103044.
http://trac.webkit.org/changeset/103044
https://bugs.webkit.org/show_bug.cgi?id=72940
Added test doesn't pass on Mac SL and Mac Chromium
* editing/spelling/spellcheck-async-mutation-expected.txt: Removed.
* editing/spelling/spellcheck-async-mutation.html: Removed.
* platform/gtk/Skipped:
* platform/mac-leopard/Skipped:
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103053
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hans@chromium.org [Fri, 16 Dec 2011 10:51:22 +0000 (10:51 +0000)]
IndexedDB: Don't prefetch values from key cursors
https://bugs.webkit.org/show_bug.cgi?id=74604
Reviewed by Tony Chang.
Since index key cursors don't have values, prefetching should not try
to retrieve them. Doing so trips an ASSERT in debug builds.
This will be tested Chromium-side.
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103052
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 10:48:05 +0000 (10:48 +0000)]
[Forms] The "maxlength" attribute on "textarea" tag miscounts hard newlines
https://bugs.webkit.org/show_bug.cgi?id=74686
Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-16
Reviewed by Kent Tamura.
Source/WebCore:
This patch counts LF in textarea value as two for LF to CRLF conversion on submission.
No new tests. Existing tests cover all changes.
* html/HTMLTextAreaElement.cpp:
(WebCore::computeLengthForSubmission): Count LF as 2 for CR LF conversion on submission.
(WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): Use computeLengthForSubmission instead of numGraphemeClusters.
(WebCore::HTMLTextAreaElement::tooLong): Use computeLengthForSubmission instead of numGraphemeClusters.
LayoutTests:
* fast/forms/script-tests/textarea-maxlength.js: Doubles maxlength for counting LF as two chars.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103051
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 16 Dec 2011 10:44:04 +0000 (10:44 +0000)]
Unreviewed, rolling out r103045.
http://trac.webkit.org/changeset/103045
https://bugs.webkit.org/show_bug.cgi?id=74590
Breaks select-script-onchange.html on Chromium Windows
Source/WebCore:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::typeAheadFind):
LayoutTests:
* fast/events/onchange-select-popup-expected.txt:
* fast/forms/select/menulist-type-ahead-find-expected.txt: Removed.
* fast/forms/select/menulist-type-ahead-find.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103050
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Fri, 16 Dec 2011 10:36:11 +0000 (10:36 +0000)]
[Qt] Unreviewed gardening.
* platform/qt/Skipped: Skip a failing test (regression) to paint the bot green.
* platform/qt/fast/css/bidi-override-in-anonymous-block-expected.png: Added.
* platform/qt/fast/css/bidi-override-in-anonymous-block-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103049
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 16 Dec 2011 10:16:54 +0000 (10:16 +0000)]
[GTK] Update NEWS and configure.ac for 1.7.3 release
https://bugs.webkit.org/show_bug.cgi?id=74699
Reviewed by Philippe Normand.
.:
* configure.ac: Bumped version number.
Source/WebKit/gtk:
* NEWS: Added release notes for 1.7.3.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103048
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 16 Dec 2011 10:05:08 +0000 (10:05 +0000)]
Unreviewed. Fix make distcheck.
* GNUmakefile.list.am: Add missing header file.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103047
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Fri, 16 Dec 2011 09:21:02 +0000 (09:21 +0000)]
[Refactoring] Remove all global variables from prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=74681
Reviewed by Ryosuke Niwa.
We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest
manner. This bug is one of the incremental refactorings to remove all top-level
code and global variables from prepare-ChangeLog. In this patch,
we make the following global variables be used only through parameter passing.
This patch removes all global variables from prepare-ChangeLog.
- $mergeBase
- $gitCommit
- $gitIndex
* Scripts/prepare-ChangeLog:
(generateFunctionLists):
(changeLogNameFromArgs):
(changeLogEmailAddressFromArgs):
(generateNewChangeLogs):
(printDiff):
(diffFromToString):
(diffCommand):
(statusCommand):
(createPatchCommand):
(generateFileList):
(isConflictStatus):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103046
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 09:08:00 +0000 (09:08 +0000)]
[Forms] Selection change by type-ahead doesn't fire 'change' event
https://bugs.webkit.org/show_bug.cgi?id=74590
Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-16
Reviewed by Kent Tamura.
Source/WebCore:
Fire onchange even for type ahead selection.
Test: fast/forms/select/menulist-type-ahead-find.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
calling selectOption method.
LayoutTests:
* fast/events/onchange-select-popup.html: Add "PASS: change event fired." for type ahread test.
* fast/forms/select/menulist-type-ahead-find-expected.txt: Added.
* fast/forms/select/menulist-type-ahead-find.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103045
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 09:04:50 +0000 (09:04 +0000)]
A test that mutation happens when asynchronous spell checking is in process.
https://bugs.webkit.org/show_bug.cgi?id=72940
Patch by Shinya Kawanaka <shinyak@google.com> on 2011-12-16
Reviewed by Hajime Morita.
Added a test that mutation happens when spellchecking.
This test confirms crash won't happen, and how markers are used.
* editing/spelling/spellcheck-async-mutation-expected.txt: Added.
* editing/spelling/spellcheck-async-mutation.html: Added.
* platform/gtk/Skipped:
* platform/mac-leopard/Skipped:
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103044
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Fri, 16 Dec 2011 08:51:18 +0000 (08:51 +0000)]
Don't call Document::body() twice in the same function.
<http://webkit.org/b/74683>
Reviewed by Dan Bernstein.
Document::body() is O(n), so we should avoid calling it multiple
times unnecessarily.
* dom/Document.cpp:
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103043
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 16 Dec 2011 08:49:53 +0000 (08:49 +0000)]
Marking some as fail.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103042
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 08:35:07 +0000 (08:35 +0000)]
[Chromium] Add trace events for decoding and drawing images.
https://bugs.webkit.org/show_bug.cgi?id=74547
Patch by Daniel Sievers <sievers@chromium.org> on 2011-12-16
Reviewed by James Robinson.
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawResampledBitmap):
(WebCore::paintSkBitmap):
(WebCore::Image::drawPattern):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::resizedBitmap):
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::decode):
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103041
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 08:28:21 +0000 (08:28 +0000)]
[GTK] Rounding errors on 32-bit machines causes tests to fail
https://bugs.webkit.org/show_bug.cgi?id=72254
Initial patch by vanuan@gmail.com.
Reviewed by Martin Robinson.
* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary): Pass additional
CXXFLAGS to autogen in an attempt to harmonize floating point
values between 32-bit and 64-bit architectures.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103040
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 16 Dec 2011 08:27:17 +0000 (08:27 +0000)]
Unreviewed expectations update.
* fast/ruby/ruby-remove-no-base-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103039
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Fri, 16 Dec 2011 08:18:33 +0000 (08:18 +0000)]
[GTK] Make distcheck fails during the install
https://bugs.webkit.org/show_bug.cgi?id=74274
No review, since this is a build fix.
* GNUmakefile.am: Remove BUILT_SOURCES from the dependency list for the gtkdoc
step. BUILT_SOURCES includes forwarding header generation for WebKit2, which
always runs. This means that the gtkdoc step was always running when make was
invoked. Generating gtkdoc during 'make install' was triggering a race condition
with the library file. Later we can fix generate-forwarding-headers and unbreak
'make docs,' but this bandaid is sufficient to let us release.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103038
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 16 Dec 2011 08:18:24 +0000 (08:18 +0000)]
Unreviewed, GTK rebaseline and test_expectations update.
* platform/gtk/fast/css/bidi-override-in-anonymous-block-expected.txt:
* platform/gtk/fast/ruby/ruby-remove-no-base-expected.txt: Added.
* platform/gtk/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103037
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 16 Dec 2011 08:10:27 +0000 (08:10 +0000)]
Qt rebaselines for window properties.
* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103036
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 16 Dec 2011 08:04:09 +0000 (08:04 +0000)]
Mac rebaseline after r102918.
* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103035
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Fri, 16 Dec 2011 07:59:47 +0000 (07:59 +0000)]
Fix 'make dist' in preparation for the GTK+ release.
Source/JavaScriptCore:
* GNUmakefile.list.am: Add missing header.
Source/WebCore:
* GNUmakefile.list.am: Add missing header.
Source/WebKit2:
* GNUmakefile.am: Add missing header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103034
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 16 Dec 2011 07:55:16 +0000 (07:55 +0000)]
Unreviewed expectations update.
* html5lib/webkit-resumer-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103033
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
morrita@google.com [Fri, 16 Dec 2011 07:26:13 +0000 (07:26 +0000)]
Unreviewed test_expectations.txt update.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103032
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 07:18:05 +0000 (07:18 +0000)]
Don't create empty files on error.
https://bugs.webkit.org/show_bug.cgi?id=74373
Patch by Rafael Ávila de Espíndola <rafael.espindola@gmail.com> on 2011-12-15
Reviewed by Ryosuke Niwa.
* css/makeprop.pl:
* css/makevalues.pl:
* make-hash-tools.pl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103031
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 07:14:30 +0000 (07:14 +0000)]
PODIntervalTree takes 1.7MB memory on nytimes.com.
https://bugs.webkit.org/show_bug.cgi?id=73712
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2011-12-15
Reviewed by Kenneth Russell.
Source/WebCore:
For a RenderBlock which has floating objects inside, we will create a PODIntervalTree and a PODArena with
at least one 16KB chunk. A page could have a large number of such RenderBlocks and they could take huge
amount of memory. To fix that, we can create a shared PODArena in the root RenderView. Instead of having
their own PODArena, each RenderBlock with floating objects could share this PODArena to reduce memory consumption.
The shared PODArena could grow unboundedly if we keep removing and adding floating objects. We can fix that
by reusing the freed memory in each chunk. However, a PODArena could allocate objects of different sizes and
it would be complex to keep track of the size for each allocation in PODArena. To address that, this patch
added class PODFreeListArena<T> which only allocates objects of type T (hence the same size). We can then use a
free list to track freed nodes inside the chunk and reuse the free nodes in future allocations.
Manually tested on nytimes.com and the heap consumption of PODIntervalTree reduced from 1.7MB to 16KB. Performance
doesn't regress on test PerformanceTests/Layout/floats.html.
* WebCore.xcodeproj/project.pbxproj: add new header file PODFreeListArena.h.
* platform/PODArena.h:
(WebCore::PODArena::~PODArena): change dtor to virtual.
(WebCore::PODArena::Chunk::~Chunk): ditto.
* platform/PODFreeListArena.h: Added.
(WebCore::PODFreeListArena::create):
(WebCore::PODFreeListArena::allocateObject): allocate an object.
(WebCore::PODFreeListArena::freeObject): free an object, find the right chunk and update its free list.
(WebCore::PODFreeListArena::allocate): allocate memory from the free list or current chunk.
(WebCore::PODFreeListArena::FreeListChunk::FreeListChunk): add m_freeList to track freed cells.
(WebCore::PODFreeListArena::FreeListChunk::allocate): reuse a free cell if there is one.
(WebCore::PODFreeListArena::FreeListChunk::free): make the memory taken by this object is free, and link it to m_freeList.
(WebCore::PODFreeListArena::FreeListChunk::contains): check if a pointer is inside this chunk.
(WebCore::PODFreeListArena::FreeListChunk::hasFreeList): check if this chunk has free cells.
* platform/PODRedBlackTree.h:
(WebCore::PODRedBlackTree::PODRedBlackTree): take PODFreeListArena instead of PODArena, since nodes of a particular PODRedBlackTree
is always of the same size.
(WebCore::PODRedBlackTree::clear): mark all nodes before clearing the tree.
(WebCore::PODRedBlackTree::initIfNeeded): add initIfNeeded to take an external PODFreeListArena.
(WebCore::PODRedBlackTree::add):
(WebCore::PODRedBlackTree::deleteNode): mark the node free in arena after it is removed from the tree.
(WebCore::PODRedBlackTree::markFree): mark all node free in the tree.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree): passing the shared PODFreeListArena to m_placedFloatsTree.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatingObjects::FloatingObjects):
* rendering/RenderView.cpp:
(WebCore::RenderView::intervalArena): create the shared PODFreeListArena lazily.
* rendering/RenderView.h:
Source/WebKit/chromium:
Change the test code in chromium port since PODRedBlackTree now takes PODFreeListArena<T>
in its constructor.
* tests/PODRedBlackTreeTest.cpp:
(WebCore::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103030
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dmazzoni@google.com [Fri, 16 Dec 2011 07:02:29 +0000 (07:02 +0000)]
Unreviewed; rebaseline Chromium speech input image tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103029
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 16 Dec 2011 06:46:44 +0000 (06:46 +0000)]
<rdar://problem/
10552550> JavaScriptCore uses obsolete 'cpy' mnemonic in ARM assembly
Reviewed by Gavin Barraclough.
Original patch by Jim Grosbach.
* jit/JITStubs.cpp:
(JSC::ctiTrampoline):
(JSC::ctiVMThrowTrampoline):
Replace uses of the 'cpy' mnemonic with 'mov'.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103028
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Fri, 16 Dec 2011 06:40:32 +0000 (06:40 +0000)]
Unreviewed, rollout r102825 because it didn't improve performance.
https://bugs.webkit.org/show_bug.cgi?id=74622
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103027
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Fri, 16 Dec 2011 06:02:55 +0000 (06:02 +0000)]
NRWT should use free + inactive memory for default_child_processes on OS X (and never return < 1 process)
https://bugs.webkit.org/show_bug.cgi?id=74650
Reviewed by Adam Barth.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._compute_bytes_from_vm_stat_output):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.default_child_processes):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_default_child_processes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103026
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 06:00:00 +0000 (06:00 +0000)]
IndexedDB: Clean up WebIDBObjectStore createIndex temp code
https://bugs.webkit.org/show_bug.cgi?id=74205
Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-15
Reviewed by Darin Fisher.
Remove a method and an implementation that only needed for
older Chromium revisions.
* public/WebIDBObjectStore.h:
(WebKit::WebIDBObjectStore::createIndex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103025
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 16 Dec 2011 05:56:23 +0000 (05:56 +0000)]
bencher script should support remote benchmarking on platforms that don't have ruby
https://bugs.webkit.org/show_bug.cgi?id=74659
Rubber-stamped by Sam Weinig.
Added the ability to have bencher generate a benchmarking playload that consists of
copies of all of the benchmarks, optionally copies of all of the frameworks and
binaries to run all of the VMs, and a sh script that runs the benchmarks in random
order, which then spits out a raw results file that bencher can parse.
In normal operating mode, you never see this, as it just generates the payload and
script internally, runs it, parses the results, and spits them out.
The --remote mode has been changed to use this style, so any remote host that has
sshd, passwordless login support, a ~/.bencher file that points to a "tempPath", and
a sh-compatible shell can be used for remote benchmarking.
The feature to include VMs in the benchmarking payload is by default only activated
when using --remote, but it can also be activated when doing local benchmarking; the
benefit is that you remove any pathname-related performance pathologies. All VMs
become equal because they are all located in
/path/to/bencher/directory/temp/benchdata/vmN where N is the configuration number
(usually 0 or 1).
Also fixed bugs in the DumpRenderTree support. It's now possible to run all benchmarks
through DumpRenderTree. This is only a bit slower than running in jsc.
* Scripts/bencher:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103024
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 16 Dec 2011 05:32:58 +0000 (05:32 +0000)]
Value profiling should distinguished between NaN and non-NaN doubles
https://bugs.webkit.org/show_bug.cgi?id=74682
Reviewed by Gavin Barraclough.
Added PredictDoubleReal and PredictDoubleNaN. PredictDouble is now the union
of the two.
* bytecode/PredictedType.cpp:
(JSC::predictionToString):
(JSC::predictionFromValue):
* bytecode/PredictedType.h:
(JSC::isDoubleRealPrediction):
(JSC::isDoublePrediction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103023
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 05:22:48 +0000 (05:22 +0000)]
[BlackBerry] Upstream BlackBerry WebCoreSupport drag client and context menu client
https://bugs.webkit.org/show_bug.cgi?id=74643
Patch by Jacky Jiang <zhajiang@rim.com> on 2011-12-15
Reviewed by Rob Buis.
Initial upstream, no new tests.
* blackberry/WebCoreSupport/ContextMenuClientBlackBerry.cpp: Added.
* blackberry/WebCoreSupport/ContextMenuClientBlackBerry.h: Added.
* blackberry/WebCoreSupport/DragClientBlackBerry.cpp: Added.
* blackberry/WebCoreSupport/DragClientBlackBerry.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103022
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Fri, 16 Dec 2011 05:21:00 +0000 (05:21 +0000)]
Chromium Windows (Tests) is failing to build
https://bugs.webkit.org/show_bug.cgi?id=74320
Reviewed by Kenneth Russell.
Roll chromium deps to r114686 to pull in a change to how generated
headers include files from third_party/WebKit. This should make the
file path shorter, reducing the chance of hitting the 260 char path
limit on Windows.
* DEPS: roll to r114686
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103021
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 16 Dec 2011 05:09:51 +0000 (05:09 +0000)]
sizeof(RenderObject) is 32 instead of 24 on Windows
https://bugs.webkit.org/show_bug.cgi?id=74646
Reviewed by Darin Adler.
Make all bitfields in RenderObject to unsigned and wrap them around by RenderObjectBitfields.
Also add a compilation time assertion to make sure we won't grow RenderObject's size unintentionally.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::layoutColumns):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatWithRect::FloatWithRect):
* rendering/RenderObject.cpp:
(WebCore::SameSizeAsRenderObject::~SameSizeAsRenderObject):
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
(WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::styleDidChange):
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::updateDragState):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasCounterNodeMap):
(WebCore::RenderObject::setHasCounterNodeMap):
(WebCore::RenderObject::childrenInline):
(WebCore::RenderObject::setChildrenInline):
(WebCore::RenderObject::hasColumns):
(WebCore::RenderObject::setHasColumns):
(WebCore::RenderObject::inRenderFlowThread):
(WebCore::RenderObject::setInRenderFlowThread):
(WebCore::RenderObject::isAnonymous):
(WebCore::RenderObject::setIsAnonymous):
(WebCore::RenderObject::isAnonymousBlock):
(WebCore::RenderObject::isFloating):
(WebCore::RenderObject::isPositioned):
(WebCore::RenderObject::isRelPositioned):
(WebCore::RenderObject::isText):
(WebCore::RenderObject::isBox):
(WebCore::RenderObject::isInline):
(WebCore::RenderObject::isDragging):
(WebCore::RenderObject::isReplaced):
(WebCore::RenderObject::isHorizontalWritingMode):
(WebCore::RenderObject::hasLayer):
(WebCore::RenderObject::hasBoxDecorations):
(WebCore::RenderObject::needsLayout):
(WebCore::RenderObject::selfNeedsLayout):
(WebCore::RenderObject::needsPositionedMovementLayout):
(WebCore::RenderObject::needsPositionedMovementLayoutOnly):
(WebCore::RenderObject::posChildNeedsLayout):
(WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
(WebCore::RenderObject::normalChildNeedsLayout):
(WebCore::RenderObject::preferredLogicalWidthsDirty):
(WebCore::RenderObject::hasOverflowClip):
(WebCore::RenderObject::hasTransform):
(WebCore::RenderObject::node):
(WebCore::RenderObject::setPositioned):
(WebCore::RenderObject::setRelPositioned):
(WebCore::RenderObject::setFloating):
(WebCore::RenderObject::setInline):
(WebCore::RenderObject::setHasBoxDecorations):
(WebCore::RenderObject::setIsText):
(WebCore::RenderObject::setIsBox):
(WebCore::RenderObject::setReplaced):
(WebCore::RenderObject::setHorizontalWritingMode):
(WebCore::RenderObject::setHasOverflowClip):
(WebCore::RenderObject::setHasLayer):
(WebCore::RenderObject::setHasTransform):
(WebCore::RenderObject::setHasReflection):
(WebCore::RenderObject::hasReflection):
(WebCore::RenderObject::setHasMarkupTruncation):
(WebCore::RenderObject::hasMarkupTruncation):
(WebCore::RenderObject::selectionState):
(WebCore::RenderObject::setSelectionState):
(WebCore::RenderObject::hasSelectedChildren):
(WebCore::RenderObject::isMarginBeforeQuirk):
(WebCore::RenderObject::isMarginAfterQuirk):
(WebCore::RenderObject::setMarginBeforeQuirk):
(WebCore::RenderObject::setMarginAfterQuirk):
(WebCore::RenderObject::everHadLayout):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::selectionState):
(WebCore::RenderObject::RenderObjectBitfields::setSelectionState):
(WebCore::RenderObject::setNeedsPositionedMovementLayout):
(WebCore::RenderObject::setNormalChildNeedsLayout):
(WebCore::RenderObject::setPosChildNeedsLayout):
(WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
(WebCore::RenderObject::setPaintBackground):
(WebCore::RenderObject::setIsDragging):
(WebCore::RenderObject::setEverHadLayout):
(WebCore::RenderObject::setNeedsLayout):
(WebCore::RenderObject::setChildNeedsLayout):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103020
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
leo.yang@torchmobile.com.cn [Fri, 16 Dec 2011 04:41:14 +0000 (04:41 +0000)]
[BlackBerry] Upstream BlackBerry porting of pluginView
https://bugs.webkit.org/show_bug.cgi?id=73397
Patch by Wei Charles <charles.wei@torchmobile.com.cn> on 2011-12-15
Reviewed by Daniel Bates.
No new tests for now.
* plugins/blackberry/PluginViewBlackBerry.cpp: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103019
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 04:23:15 +0000 (04:23 +0000)]
IndexedDB: Can't pass DOMStringList to IDBDatabase.transaction()
https://bugs.webkit.org/show_bug.cgi?id=74452
Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-15
Reviewed by Adam Barth.
Source/WebCore:
V8 code generator generated checks for DOMStringList arguments, then
deferred to a function that only handled array inputs. This previously
worked for IndexedDB because it would fall into a now-removed default
handler.
Modified storage/indexeddb/transaction-basics.html to test this.
* bindings/v8/V8Binding.cpp:
(WebCore::v8ValueToWebCoreDOMStringList):
LayoutTests:
* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-basics.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103018
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adamk@chromium.org [Fri, 16 Dec 2011 04:19:33 +0000 (04:19 +0000)]
Make Element::setAttributeInternal inline in an attempt to avoid function call overhead
https://bugs.webkit.org/show_bug.cgi?id=74638
Reviewed by Andreas Kling.
In r102695, I factored common code in setAttribute into
Element::setAttributeInternal. This may have caused a perf regression
due to the extra function call, which inlining should eliminate.
Running Dromaeo locally suggests that this will improve performance
by ~9% on the "dom-attr element.property = value" test (which assigns
a value to an element's id).
* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103017
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 16 Dec 2011 04:03:47 +0000 (04:03 +0000)]
Upstream FileSystemBlackBerry.cpp into WebCore/platform/blackberry
https://bugs.webkit.org/show_bug.cgi?id=74491
Patch by Mary Wu <mary.wu@torchmobile.com.cn> on 2011-12-15
Reviewed by Rob Buis.
We are using POSIX porting of FileSystem, so here only implement other
necessary functions.
Initial upstream, no new tests.
* platform/blackberry/FileSystemBlackBerry.cpp: Added.
(WebCore::homeDirectoryPath):
(WebCore::fileSystemRepresentation):
(WebCore::unloadModule):
(WebCore::openTemporaryFile):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103016
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 16 Dec 2011 03:43:40 +0000 (03:43 +0000)]
[chromium] Clean up unnecessary leaf functions in GraphicsLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=74140
Reviewed by James Robinson.
Tested by existing compositor layout tests.
This is a follow-on cleanup to r102196, which made some of these
functions less useful than they had been in the past.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::setBackfaceVisibility):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
* platform/graphics/chromium/GraphicsLayerChromium.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103015
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Fri, 16 Dec 2011 03:41:12 +0000 (03:41 +0000)]
webkitpy: clean up TestPort to (mostly) not create a new filesystem
https://bugs.webkit.org/show_bug.cgi?id=74556
This change modifies the TestPort to be ready to add tests to an
existing filesystem instead of creating a new filesystem; we
leave unit_test_filesystem() in for now for compatibility.
* Scripts/webkitpy/common/host_mock.py:
(MockHost.__init__):
- call add_unit_tests_to_mock_filesystem by default to make
the MockHost more generally useful for layout_test unit tests.
* Scripts/webkitpy/layout_tests/port/test.py:
(TestInstance.__init__):
(add_unit_tests_to_mock_filesystem):
(add_file):
(unit_test_filesystem):
(TestPort.__init__):
(TestPort._set_default_overriding_none):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103014
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kbr@google.com [Fri, 16 Dec 2011 03:05:08 +0000 (03:05 +0000)]
Unreviewed, rolling out r103000.
http://trac.webkit.org/changeset/103000
https://bugs.webkit.org/show_bug.cgi?id=74658
Does not handle text/plain documents correctly.
Source/WebCore:
* html/parser/HTMLTokenizer.cpp:
* html/parser/HTMLTokenizer.h:
* html/parser/HTMLTreeBuilder.cpp:
* html/parser/HTMLTreeBuilder.h:
* xml/parser/MarkupTokenizerBase.h:
LayoutTests:
* html5lib/runner-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103013
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Fri, 16 Dec 2011 03:02:33 +0000 (03:02 +0000)]
webkitpy: cleanup prior to systemhostifying the layout_test/port* classes
https://bugs.webkit.org/show_bug.cgi?id=74551
This is some minor cleanup prior to making all of the host/port
changes described in bug 74138.
* Scripts/webkitpy/common/host_mock.py:
(MockHost.__init__):
- make sure the scm object is initialized with the same mock
executive and filesystem objects.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.clear_written_files):
- add a routine that will be useful in testing.
(MockFileSystem.maybe_make_directory):
(MockFileSystem.write_binary_file):
- fix bugs to make sure directories are created properly.
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_Process.run):
- add clarifying comments.
* Scripts/webkitpy/layout_tests/port/mock_drt.py:
(MockDRTPort.__init__):
(MockDRT.__init__):
- add clarifying comments.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103012
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Fri, 16 Dec 2011 02:32:29 +0000 (02:32 +0000)]
[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
https://bugs.webkit.org/show_bug.cgi?id=74477
Reviewed by Kenneth Russell.
Source/WebCore:
This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
lazily setting it in the paintContents loop. There are two invariants:
1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
refers to that CCLayerTreeHost
2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
CCLayerTreeHost pointer is nil.
Covered by several new layout tests in LayerChromiumTest
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerTreeHost):
(WebCore::LayerChromium::setParent):
(WebCore::LayerChromium::setMaskLayer):
(WebCore::LayerChromium::setReplicaLayer):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::createTile):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::setRootLayer):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
Source/WebKit/chromium:
Add some new tests for LayerChromium::m_layerTreeHost behavior.
* tests/CCLayerTreeHostTest.cpp:
(::MockLayerTreeHost::create):
(::MockLayerTreeHost::MockLayerTreeHost):
(::CCLayerTreeHostTestShortlived1::beginTest):
(::CCLayerTreeHostTestShortlived2::beginTest):
(::CCLayerTreeHostTestShortlived3::beginTest):
* tests/LayerChromiumTest.cpp:
LayoutTests:
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103011
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 16 Dec 2011 02:32:08 +0000 (02:32 +0000)]
Add support for accelerated compositing to the tiled Core Animation drawing area
https://bugs.webkit.org/show_bug.cgi?id=74675
Reviewed by Andreas Kling.
Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::scroll):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@103010
268f45cc-cd09-0410-ab3c-
d52691b4dbfc