aroben@apple.com [Fri, 30 Jul 2010 17:37:55 +0000 (17:37 +0000)]
Remove uses of CACFContextRef and CARender* from WebCore
These types are now wrapped in a WKCACFContext type exported by
WebKitSystemInterface.
Fixes <http://webkit.org/b/43244>.
Reviewed by Sam Weinig.
WebCore:
* platform/graphics/win/WKCACFContextFlusher.cpp:
(WebCore::WKCACFContextFlusher::addContext):
(WebCore::WKCACFContextFlusher::removeContext):
(WebCore::WKCACFContextFlusher::flushAllContexts):
* platform/graphics/win/WKCACFContextFlusher.h:
Changed to use WKCACFContext. We don't retain/release the context when
putting it into/taking it out of the set. WKCACFContext is not a
ref-counted type, so we can't retain/release it, but the
retain/release was also unnecessary as WKCACFLayerRenderer calls
removeContext before the context is destroyed.
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::becomeRootLayerForContext):
* platform/graphics/win/WKCACFLayer.h:
Changed to use WKCACFContext.
* platform/graphics/win/WKCACFLayerRenderer.cpp:
(WebCore::WKCACFLayerRenderer::didFlushContext):
(WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
(WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
(WebCore::WKCACFLayerRenderer::layerTreeDidChange):
(WebCore::WKCACFLayerRenderer::createRenderer):
(WebCore::WKCACFLayerRenderer::destroyRenderer):
(WebCore::WKCACFLayerRenderer::render): Also replaced uses of
CGSRegion with WebKitSystemInterface functions/types.
(WebCore::WKCACFLayerRenderer::resetDevice):
* platform/graphics/win/WKCACFLayerRenderer.h:
Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext
with a single WKCACFContext, which wraps all three. We hold a bare
pointer to it and destroy it in our destructor.
WebKitLibraries:
Add WKCACFContext and related functions
Also added some functions used by WKCAImageQueue.
* win/include/WebKitSystemInterface/WebKitSystemInterface.h:
* win/lib/WebKitSystemInterface.lib:
* win/lib/WebKitSystemInterface_debug.lib:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 30 Jul 2010 17:37:26 +0000 (17:37 +0000)]
Remove knowledge of WKCACFContextFlusher from WKCACFLayer
Fixes <http://webkit.org/b/43248> WKCACFLayer shouldn't know about
WKCACFContextFlusher
Reviewed by Sam Weinig.
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::WKCACFLayer::setNeedsCommit): Don't bother calling to
WKCACFContextFlusher. Our root layer will do this for us.
* platform/graphics/win/WKCACFLayerRenderer.cpp:
(WebCore::WKCACFRootLayer::setNeedsRender): Changed to call the new
layerTreeDidChange function.
(WebCore::WKCACFLayerRenderer::layerTreeDidChange): Added. Tells
WKCACFContextFlusher that the context has changed, and schedules a
render.
* platform/graphics/win/WKCACFLayerRenderer.h: Added
layerTreeDidChange.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 30 Jul 2010 17:30:56 +0000 (17:30 +0000)]
Replace plugins/npruntime/bindings-test.html with a more sophisticated test
https://bugs.webkit.org/show_bug.cgi?id=43232
Reviewed by Adam Roben.
WebKitTools:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Add PluginScriptableNPObjectInvokeDefault.cpp.
* DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
Remove invokeDefault callback function.
* DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
(PluginTest::create):
Move this to the top of the file.
(PluginTest::NPP_GetValue):
Add default implementation.
(PluginTest::NPN_CreateObject):
Add NPN_ wrapper.
* DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
(PluginTest::identifier):
Add identifier getter.
* DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp:
(DocumentOpenInDestroyStream::DocumentOpenInDestroyStream):
Add "using namespace std".
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
(NPP_GetValue):
Give PluginTest a chance to return a value.
* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
* DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
* GNUmakefile.am:
Add PluginScriptableNPObjectInvokeDefault.cpp.
* DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
(webkit_test_plugin_get_value):
Give PluginTest a chance to return a value.
LayoutTests:
* plugins/npruntime/bindings-test-expected.txt: Removed.
* plugins/npruntime/bindings-test.html: Removed.
* plugins/npruntime/plugin-scriptable-object-invoke-default-expected.txt: Added.
* plugins/npruntime/plugin-scriptable-object-invoke-default.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jorlow@chromium.org [Fri, 30 Jul 2010 15:29:58 +0000 (15:29 +0000)]
2010-07-29 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Rename all the IDBIndex classses to match the latest conventions
https://bugs.webkit.org/show_bug.cgi?id=43190
No functionality has changed.
IDBIndexRequest -> IDBIndex in the spec. So that's the first change.
IDBIndex was the name of our interface class though, so we need to rename
it to get it out of the way. While we're at it, we might as well clean
up the naming in general to make things more clear. In the future, we're
going to need another layer (yes, yuck) which will be shared by the async
and sync classes which will do caching and other optimizations. That will
then connect to the backend. We also added "Interface" to make it more
clear that's what the file/class is.
Existing layout tests are enough since nothing should change as far as JavaScript can see.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbIndex):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBIndex.cpp: Added.
(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::~IDBIndex):
* storage/IDBIndex.h:
(WebCore::IDBIndex::create):
(WebCore::IDBIndex::name):
(WebCore::IDBIndex::keyPath):
(WebCore::IDBIndex::unique):
* storage/IDBIndex.idl: Added.
* storage/IDBIndexBackendImpl.cpp: Added.
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::~IDBIndexBackendImpl):
* storage/IDBIndexBackendImpl.h: Added.
(WebCore::IDBIndexBackendImpl::create):
(WebCore::IDBIndexBackendImpl::name):
(WebCore::IDBIndexBackendImpl::keyPath):
(WebCore::IDBIndexBackendImpl::unique):
* storage/IDBIndexBackendInterface.h: Added.
(WebCore::IDBIndexBackendInterface::~IDBIndexBackendInterface):
* storage/IDBIndexImpl.cpp: Removed.
* storage/IDBIndexImpl.h: Removed.
* storage/IDBIndexRequest.cpp: Removed.
* storage/IDBIndexRequest.h: Removed.
* storage/IDBIndexRequest.idl: Removed.
* storage/IDBObjectStore.h:
* storage/IDBObjectStoreImpl.cpp:
(WebCore::IDBObjectStoreImpl::createIndex):
(WebCore::IDBObjectStoreImpl::index):
* storage/IDBObjectStoreImpl.h:
* storage/IDBObjectStoreRequest.cpp:
(WebCore::IDBObjectStoreRequest::index):
* storage/IDBObjectStoreRequest.h:
* storage/IDBObjectStoreRequest.idl:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
2010-07-29 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Steve Block.
Rename all the IDBIndex classses to match the latest conventions
https://bugs.webkit.org/show_bug.cgi?id=43190
Fix up stuff in WebKit layer to handle the renamings in WebCore.
* WebKit.gyp:
* src/IDBCallbacksProxy.cpp:
(WebCore::IDBCallbacksProxy::onSuccess):
* src/IDBCallbacksProxy.h:
* src/IDBIndexBackendProxy.cpp: Added.
(WebCore::IDBIndexBackendProxy::create):
(WebCore::IDBIndexBackendProxy::IDBIndexBackendProxy):
(WebCore::IDBIndexBackendProxy::~IDBIndexBackendProxy):
(WebCore::IDBIndexBackendProxy::name):
(WebCore::IDBIndexBackendProxy::keyPath):
(WebCore::IDBIndexBackendProxy::unique):
* src/IDBIndexBackendProxy.h: Added.
* src/IDBIndexProxy.cpp: Removed.
* src/IDBIndexProxy.h: Removed.
* src/IDBObjectStoreProxy.cpp:
(WebCore::IDBObjectStoreProxy::index):
* src/IDBObjectStoreProxy.h:
* src/WebIDBCallbacksImpl.cpp:
(WebCore::WebIDBCallbacksImpl::onSuccess):
* src/WebIDBIndexImpl.cpp:
(WebKit::WebIDBIndexImpl::WebIDBIndexImpl):
(WebKit::WebIDBIndexImpl::name):
(WebKit::WebIDBIndexImpl::keyPath):
(WebKit::WebIDBIndexImpl::unique):
* src/WebIDBIndexImpl.h:
* src/WebIDBObjectStoreImpl.cpp:
(WebKit::WebIDBObjectStoreImpl::index):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 30 Jul 2010 14:31:04 +0000 (14:31 +0000)]
2010-07-30 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Add library version and soname to EFL generated libraries and binary.
https://bugs.webkit.org/show_bug.cgi?id=43212
Make WebKit-EFL follow libtool soname versioning scheme.
* cmake/OptionsEfl.cmake: Added PROJECT_VERSION_PATCH to PROJECT_VERSION.
2010-07-30 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Add library version and soname to EFL generated libraries and binary.
https://bugs.webkit.org/show_bug.cgi?id=43212
Add version and soname to libjavascriptcore.so and libwtf.so in case of
linking as shared libraries, and version to jsc executable.
* CMakeLists.txt:
* jsc/CMakeLists.txt:
* wtf/CMakeLists.txt:
2010-07-30 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Add library version and soname to EFL generated libraries and binary.
https://bugs.webkit.org/show_bug.cgi?id=43212
Add version and soname to libwebcore.so in case of linking as shared
library.
No new feature, so no new tests.
* CMakeLists.txt:
2010-07-30 Rafael Antognolli <antognolli@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Add library version and soname to EFL generated libraries and binary.
https://bugs.webkit.org/show_bug.cgi?id=43212
Add version and soname to libewebkit.so.
* CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
steveblock@google.com [Fri, 30 Jul 2010 14:16:33 +0000 (14:16 +0000)]
2010-07-30 Steve Block <steveblock@google.com>
Reviewed by Steve Block.
Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589
* fast/dom/DeviceOrientation/basic-operation-expected.txt: Added.
* fast/dom/DeviceOrientation/basic-operation.html: Added.
* fast/dom/DeviceOrientation/script-tests/basic-operation.js: Added.
* platform/gtk/Skipped:
2010-07-30 Steve Block <steveblock@google.com>
Reviewed by Steve Block.
Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589
This patch does not hook up the new LayoutTestController method to WebKit
for any platform. This will be done in later patches.
https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
Test: fast/dom/DeviceOrientation/basic-operation.html
* Android.mk:
* CMakeLists.txt:
* GNUmakefile.am:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DeviceOrientationClient.h:
(WebCore::DeviceOrientationClient::~DeviceOrientationClient):
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
* dom/DeviceOrientationEvent.cpp:
* platform/mock/DeviceOrientationClientMock.cpp: Added.
(WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
(WebCore::DeviceOrientationClientMock::setController):
(WebCore::DeviceOrientationClientMock::startUpdating):
(WebCore::DeviceOrientationClientMock::stopUpdating):
(WebCore::DeviceOrientationClientMock::setOrientation):
(WebCore::DeviceOrientationClientMock::timerFired):
* platform/mock/DeviceOrientationClientMock.h: Added.
(WebCore::DeviceOrientationClientMock::lastOrientation):
2010-07-30 Steve Block <steveblock@google.com>
Reviewed by Steve Block.
Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589
* DumpRenderTree/LayoutTestController.cpp:
(setMockDeviceOrientationCallback):
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/chromium/LayoutTestController.h:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/qt/LayoutTestControllerQt.h:
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
(LayoutTestController::setMockDeviceOrientation):
* Scripts/build-webkit:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abecsi@webkit.org [Fri, 30 Jul 2010 13:47:46 +0000 (13:47 +0000)]
2010-07-30 Balazs Kelemen <kb@inf.u-szeged.hu>
Unreviewed build fix.
[Qt] Build fix for recent API changes in WebKit2.
* UIProcess/API/cpp/qt/WKStringQt.cpp:
(WKStringCopyQString):
* UIProcess/API/cpp/qt/WKURLQt.cpp:
(WKURLCopyQUrl):
* UIProcess/API/qt/qwkpage.cpp:
(QWKPage::QWKPage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonikitoo@webkit.org [Fri, 30 Jul 2010 13:31:53 +0000 (13:31 +0000)]
2010-07-29 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Kenneth Christiansen.
[Qt] QtTestBrowser: -resizes-to-contents command line parameter is broken
https://bugs.webkit.org/show_bug.cgi?id=43209
When -resizes-to-content was being passed as a command line parameter it was simply
not being set (although the corresponding menu item was marked as ON).
User had to toggle the menu OFF and then ON again for it to take place.
Reason: LauncherWindow::applyPrefs method sets many user options passed in from
the command line, but not resizesToContents. Patch addresses that.
* QtTestBrowser/launcherwindow.cpp:
(LauncherWindow::createChrome):
(LauncherWindow::applyPrefs):
(LauncherWindow::toggleResizesToContents):
* QtTestBrowser/webview.h:
(WebViewGraphicsBased::resizesToContents):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonikitoo@webkit.org [Fri, 30 Jul 2010 13:31:14 +0000 (13:31 +0000)]
2010-07-29 Antonio Gomes <tonikitoo@webkit.org>
Rubber-stamped by Simon Fraser.
[Qt] QtTestBrowser: more method grouping and clean ups.
Moving blocks of code around. Basically grouping related methods close to each.
* QtTestBrowser/launcherwindow.cpp:
(LauncherWindow::initializeView):
(LauncherWindow::createChrome):
(LauncherWindow::changeViewportUpdateMode):
(LauncherWindow::showFPS):
(LauncherWindow::newWindow):
(LauncherWindow::cloneWindow):
* QtTestBrowser/launcherwindow.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jorlow@chromium.org [Fri, 30 Jul 2010 13:19:26 +0000 (13:19 +0000)]
2010-07-30 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Add a check for WebViewClient being null.
https://bugs.webkit.org/show_bug.cgi?id=43240
* src/SpeechInputClientImpl.cpp:
(WebKit::SpeechInputClientImpl::SpeechInputClientImpl):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 30 Jul 2010 12:21:56 +0000 (12:21 +0000)]
2010-07-30 Satish Sampath <satish@chromium.org>
Reviewed by Jeremy Orlow.
Add a mock in WebCore for testing speech input
https://bugs.webkit.org/show_bug.cgi?id=42603
Layout tests will be added in a subsequent patch using this mock.
* Android.mk:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/mock/SpeechInputClientMock.cpp: Added.
(WebCore::SpeechInputClientMock::SpeechInputClientMock):
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::stopRecording):
(WebCore::SpeechInputClientMock::cancelRecognition):
(WebCore::SpeechInputClientMock::setRecognitionResult):
(WebCore::SpeechInputClientMock::timerFired):
* platform/mock/SpeechInputClientMock.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 30 Jul 2010 11:43:41 +0000 (11:43 +0000)]
2010-07-30 Hans Wennborg <hans@chromium.org>
Reviewed by Steve Block.
Disable runtime switch for device orientation in chromium
https://bugs.webkit.org/show_bug.cgi?id=43237
Explicitly set the runtime switch for device orientation
in WebView::create until we implement the feature.
If the flag is accidentally on while no DeviceOrientationClient
is provided, the program will crash.
* src/WebViewImpl.cpp:
(WebKit::WebView::create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 30 Jul 2010 11:32:15 +0000 (11:32 +0000)]
2010-07-30 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Tor Arne Vestbø.
[QT][Symbian] QtTestBrowser missing location capabilities
https://bugs.webkit.org/show_bug.cgi?id=43235
QtTestBrowser missing capabilities to use QtMobility::QLocation.
* QtTestBrowser/QtTestBrowser.pro:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
krit@webkit.org [Fri, 30 Jul 2010 11:18:14 +0000 (11:18 +0000)]
2010-07-30 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Nikolas Zimmermann.
Update SVG implementation status.
* projects/svg/status.xml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Fri, 30 Jul 2010 11:10:14 +0000 (11:10 +0000)]
2010-07-30 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
svg/dynamic-updates: cursor attribute changes not respected
https://bugs.webkit.org/show_bug.cgi?id=42615
Turns out the tests were wrong, specifying a hot spot which is too large.
Switched to a larger cursor image to make the changes easier to detect, when using the browser.
All svg/dynamic-updates tests work again, without regressions.
* platform/mac/svg/dynamic-updates/SVGCursorElement-dom-x-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGCursorElement-dom-x-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGCursorElement-dom-y-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGCursorElement-dom-y-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-x-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-x-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-y-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-y-prop-expected.png:
* svg/dynamic-updates/SVGCursorElement-dom-x-attr-expected.txt:
* svg/dynamic-updates/SVGCursorElement-dom-y-attr-expected.txt:
* svg/dynamic-updates/SVGCursorElement-svgdom-x-prop-expected.txt:
* svg/dynamic-updates/SVGCursorElement-svgdom-y-prop-expected.txt:
* svg/dynamic-updates/script-tests/SVGCursorElement-dom-x-attr.js:
* svg/dynamic-updates/script-tests/SVGCursorElement-dom-y-attr.js:
* svg/dynamic-updates/script-tests/SVGCursorElement-svgdom-x-prop.js:
* svg/dynamic-updates/script-tests/SVGCursorElement-svgdom-y-prop.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 30 Jul 2010 11:10:02 +0000 (11:10 +0000)]
2010-07-30 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
Reviewed by Simon Hausmann.
[QT] build fix for symbian
https://bugs.webkit.org/show_bug.cgi?id=43234
* wtf/PageAllocation.h:
(WTF::PageAllocation::PageAllocation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Fri, 30 Jul 2010 11:02:46 +0000 (11:02 +0000)]
2010-07-30 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Optimize SVGResources memory usage
https://bugs.webkit.org/show_bug.cgi?id=43236
Instead of storing pointers to all possible resources that could be applied to an element, group them in three categories:
clipper/filter/masker, marker-start/marker-mid/marker-end, and fill/stroke.
Only build the cached resources data for elements where the properties can be applied to. Maintain a static list of tagnames
for each of the three categories, to avoid doing unncessary work.
Doesn't affect any tests.
* rendering/SVGResources.cpp:
(WebCore::SVGResources::SVGResources):
(WebCore::clipperFilterMaskerTags):
(WebCore::markerTags):
(WebCore::fillAndStrokeTags):
(WebCore::SVGResources::buildCachedResources):
(WebCore::SVGResources::invalidateClient):
(WebCore::SVGResources::resourceDestroyed):
(WebCore::SVGResources::buildSetOfResources):
(WebCore::SVGResources::setClipper):
(WebCore::SVGResources::resetClipper):
(WebCore::SVGResources::setFilter):
(WebCore::SVGResources::resetFilter):
(WebCore::SVGResources::setMarkerStart):
(WebCore::SVGResources::resetMarkerStart):
(WebCore::SVGResources::setMarkerMid):
(WebCore::SVGResources::resetMarkerMid):
(WebCore::SVGResources::setMarkerEnd):
(WebCore::SVGResources::resetMarkerEnd):
(WebCore::SVGResources::setMasker):
(WebCore::SVGResources::resetMasker):
(WebCore::SVGResources::setFill):
(WebCore::SVGResources::resetFill):
(WebCore::SVGResources::setStroke):
(WebCore::SVGResources::resetStroke):
(WebCore::SVGResources::dump):
* rendering/SVGResources.h:
(WebCore::SVGResources::clipper):
(WebCore::SVGResources::filter):
(WebCore::SVGResources::markerStart):
(WebCore::SVGResources::markerMid):
(WebCore::SVGResources::markerEnd):
(WebCore::SVGResources::masker):
(WebCore::SVGResources::fill):
(WebCore::SVGResources::stroke):
(WebCore::SVGResources::ClipperFilterMaskerData::ClipperFilterMaskerData):
(WebCore::SVGResources::ClipperFilterMaskerData::create):
(WebCore::SVGResources::MarkerData::MarkerData):
(WebCore::SVGResources::MarkerData::create):
(WebCore::SVGResources::FillStrokeData::FillStrokeData):
(WebCore::SVGResources::FillStrokeData::create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andreip@google.com [Fri, 30 Jul 2010 10:48:22 +0000 (10:48 +0000)]
2010-07-26 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IndexedDatabase should be called IDBFactory.
https://bugs.webkit.org/show_bug.cgi?id=42967
Rename IndexedDatabase to IDBFactory to match the specification.
Also implement the following new naming convention:
IDBFoo IDL interfaces are implemented using IDBFoo C++ classes.
IDBFoo objects have pointers to IDBFooBackendInterface objects.
IDBFooBackendInterface is implemented by IDBFooBackendImpl and
IDBFooBackendProxy (for Chromium).
No new tests needed, just renaming.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clear):
(WebCore::DOMWindow::indexedDB):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* page/PageGroup.cpp:
(WebCore::PageGroup::idbFactory):
* page/PageGroup.h:
* platform/chromium/ChromiumBridge.h:
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbFactory):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBDatabaseRequest.cpp:
* storage/IDBFactory.cpp: Added.
(WebCore::IDBFactory::IDBFactory):
(WebCore::IDBFactory::~IDBFactory):
(WebCore::IDBFactory::open):
* storage/IDBFactory.h: Added.
(WebCore::IDBFactory::create):
* storage/IDBFactory.idl: Added.
* storage/IDBFactoryBackendInterface.cpp: Added.
(WebCore::IDBFactoryBackendInterface::create):
* storage/IDBFactoryBackendInterface.h: Added.
(WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
* storage/IDBFactoryBackendImpl.cpp: Added.
(WebCore::IDBFactoryBackendImpl::create):
(WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
(WebCore::IDBFactoryBackendImpl::~IDBFactoryBackendImpl):
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h: Added.
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::leftBound):
(WebCore::IDBKeyRange::rightBound):
(WebCore::IDBKeyRange::bound):
* storage/IDBKeyRange.h:
* storage/IDBKeyRange.idl:
* storage/IndexedDatabase.cpp: Removed.
* storage/IndexedDatabase.h: Removed.
* storage/IndexedDatabaseImpl.cpp: Removed.
* storage/IndexedDatabaseImpl.h: Removed.
* storage/IndexedDatabaseRequest.cpp: Removed.
* storage/IndexedDatabaseRequest.h: Removed.
* storage/IndexedDatabaseRequest.idl: Removed.
* storage/chromium/IDBFactoryBackendInterface.cpp: Added.
(WebCore::IDBFactoryBackendInterface::create):
* storage/chromium/IndexedDatabase.cpp: Removed.
2010-07-26 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IndexedDatabase should be called IDBFactory.
https://bugs.webkit.org/show_bug.cgi?id=42967
* WebKit.gyp:
* public/WebIDBFactory.h: Added.
(WebKit::WebIDBFactory::~WebIDBFactory):
(WebKit::WebIDBFactory::databases):
(WebKit::WebIDBFactory::open):
* public/WebIndexedDatabase.h: Removed.
* public/WebKitClient.h:
(WebKit::WebKitClient::idbFactory):
* src/ChromiumBridge.cpp:
(WebCore::ChromiumBridge::idbFactory):
* src/IDBFactoryBackendProxy.cpp: Added.
(WebCore::IDBFactoryBackendProxy::create):
(WebCore::IDBFactoryBackendProxy::IDBFactoryBackendProxy):
(WebCore::IDBFactoryBackendProxy::~IDBFactoryBackendProxy):
(WebCore::IDBFactoryBackendProxy::open):
* src/IDBFactoryBackendProxy.h: Added.
* src/IndexedDatabaseProxy.cpp: Removed.
* src/IndexedDatabaseProxy.h: Removed.
* src/WebIDBFactoryImpl.cpp: Added.
(WebKit::WebIDBFactory::create):
(WebKit::WebIDBFactoryImpl::WebIDBFactoryImpl):
(WebKit::WebIDBFactoryImpl::~WebIDBFactoryImpl):
(WebKit::WebIDBFactoryImpl::open):
* src/WebIDBFactoryImpl.h: Added.
* src/WebIndexedDatabaseImpl.cpp: Removed.
* src/WebIndexedDatabaseImpl.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tkent@chromium.org [Fri, 30 Jul 2010 10:12:09 +0000 (10:12 +0000)]
Unreviewed, test expectation update.
* platform/chromium/drt_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jorlow@chromium.org [Fri, 30 Jul 2010 09:48:15 +0000 (09:48 +0000)]
2010-07-30 Jeremy Orlow <jorlow@chromium.org>
Another svg baseline that was wrong and now visually matches mac (minus
font issues, of course). Unreviewed.
* platform/chromium-linux/svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum:
* platform/chromium-linux/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum:
* platform/chromium-win/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Fri, 30 Jul 2010 08:44:28 +0000 (08:44 +0000)]
2010-07-29 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Crash on refresh with a comment selected in the Elements panel
https://bugs.webkit.org/show_bug.cgi?id=43183
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::nodeForPath):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.reset):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 30 Jul 2010 07:49:14 +0000 (07:49 +0000)]
2010-07-30 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Nikolas Zimmermann.
Update expectation for turbulence filter:
svg/W3C-SVG-1.1/filters-turb-01-f.svg
* platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.checksum:
* platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png:
2010-07-30 Renata Hodovan <reni@inf.u-szeged.hu>
Reviewed by Nikolas Zimmermann.
feTurbulence is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=5864
This code is based on the previous implementation of
Dirk Schulze, extended with some modification and optimization.
LayoutTests: Updating expected values for turbulence filter.
svg/W3C-SVG-1.1/filters-turb-01-f.svg
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::build):
* svg/graphics/filters/SVGFETurbulence.cpp:
(WebCore::FETurbulence::FETurbulence):
(WebCore::FETurbulence::create):
(WebCore::FETurbulence::PaintingData::PaintingData):
(WebCore::FETurbulence::PaintingData::random):
(WebCore::smoothCurve):
(WebCore::linearInterpolation):
(WebCore::FETurbulence::initPaint):
(WebCore::checkNoise):
(WebCore::FETurbulence::noise2D):
(WebCore::Noise::if):
(WebCore::FETurbulence::calculateTurbulenceValueForPoint):
(WebCore::FETurbulence::apply):
* svg/graphics/filters/SVGFETurbulence.h:
(WebCore::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Fri, 30 Jul 2010 06:50:03 +0000 (06:50 +0000)]
Fix another bad ChangeLog merge.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Fri, 30 Jul 2010 06:44:10 +0000 (06:44 +0000)]
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
Cairo: Need to implement GraphicsContext::clipConvexPolygon()
https://bugs.webkit.org/show_bug.cgi?id=41308
Enable tests for path based borders.
* platform/gtk/fast/borders/border-radius-circle-expected.checksum: Added.
* platform/gtk/fast/borders/border-radius-circle-expected.png: Added.
* platform/gtk/fast/borders/border-radius-circle-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-circle-expected.txt.
* platform/gtk/fast/borders/border-radius-groove-01-expected.checksum: Added.
* platform/gtk/fast/borders/border-radius-groove-01-expected.png: Added.
* platform/gtk/fast/borders/border-radius-groove-01-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-groove-01-expected.txt.
* platform/gtk/fast/borders/border-radius-groove-02-expected.checksum: Added.
* platform/gtk/fast/borders/border-radius-groove-02-expected.png: Added.
* platform/gtk/fast/borders/border-radius-groove-02-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-groove-02-expected.txt.
* platform/gtk/fast/borders/border-radius-groove-03-expected.checksum: Added.
* platform/gtk/fast/borders/border-radius-groove-03-expected.png: Added.
* platform/gtk/fast/borders/border-radius-groove-03-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-groove-03-expected.txt.
* platform/gtk/fast/borders/border-radius-wide-border-01-expected.checksum: Added.
* platform/gtk/fast/borders/border-radius-wide-border-01-expected.png: Added.
* platform/gtk/fast/borders/border-radius-wide-border-01-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-wide-border-01-expected.txt.
* platform/gtk/fast/borders/border-radius-wide-border-02-expected.checksum: Added.
* platform/gtk/fast/borders/border-radius-wide-border-02-expected.png: Added.
* platform/gtk/fast/borders/border-radius-wide-border-02-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-wide-border-02-expected.txt.
* platform/gtk/fast/borders/border-radius-wide-border-03-expected.checksum: Added.
* platform/gtk/fast/borders/border-radius-wide-border-03-expected.png: Added.
* platform/gtk/fast/borders/border-radius-wide-border-03-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-wide-border-03-expected.txt.
* platform/gtk/fast/borders/border-radius-wide-border-04-expected.checksum: Added.
* platform/gtk/fast/borders/border-radius-wide-border-04-expected.png: Added.
* platform/gtk/fast/borders/border-radius-wide-border-04-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/border-radius-wide-border-04-expected.txt.
* platform/gtk/fast/borders/borderRadiusDashed04-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDashed04-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDashed04-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDashed04-expected.txt.
* platform/gtk/fast/borders/borderRadiusDashed05-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDashed05-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDashed05-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDashed05-expected.txt.
* platform/gtk/fast/borders/borderRadiusDashed06-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDashed06-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDashed06-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDashed06-expected.txt.
* platform/gtk/fast/borders/borderRadiusDotted04-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDotted04-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDotted04-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDotted04-expected.txt.
* platform/gtk/fast/borders/borderRadiusDotted05-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDotted05-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDotted05-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDotted05-expected.txt.
* platform/gtk/fast/borders/borderRadiusDotted06-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDotted06-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDotted06-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDotted06-expected.txt.
* platform/gtk/fast/borders/borderRadiusDouble04-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDouble04-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDouble04-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble04-expected.txt.
* platform/gtk/fast/borders/borderRadiusDouble05-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDouble05-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDouble05-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble05-expected.txt.
* platform/gtk/fast/borders/borderRadiusDouble06-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDouble06-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDouble06-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble06-expected.txt.
* platform/gtk/fast/borders/borderRadiusDouble07-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDouble07-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDouble07-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble07-expected.txt.
* platform/gtk/fast/borders/borderRadiusDouble08-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDouble08-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDouble08-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble08-expected.txt.
* platform/gtk/fast/borders/borderRadiusDouble09-expected.checksum: Added.
* platform/gtk/fast/borders/borderRadiusDouble09-expected.png: Added.
* platform/gtk/fast/borders/borderRadiusDouble09-expected.txt: Copied from LayoutTests/platform/mac/fast/borders/borderRadiusDouble09-expected.txt.
* platform/gtk/fast/borders/different-color-borders-expected.checksum: Added.
* platform/gtk/fast/borders/different-color-borders-expected.png: Added.
* platform/gtk/fast/borders/different-color-borders-expected.txt: Added.
2010-07-29 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
InsertOrderedList does not switch the list type properly when it has an inner list.
https://bugs.webkit.org/show_bug.cgi?id=43166
The bug was caused by forcedCreateList was not set to true when the start and the end
of the selection lies in the same list. Added selectionHasListOfType to fix this problem.
WebKit used not to convert the outer lists even when the list is fully selected.
Corrected this behavior by converting the entire list at once when the list is fully selected.
To decide whether or not a list is fully selected, added currentSelection argument to doApplyForSingleParagraph.
Tests: editing/execCommand/switch-list-type-with-inner-list.html
editing/execCommand/switch-list-type-with-orphaned-li.html
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::mergeWithNeighboringLists): Extracted the code to merge lists.
(WebCore::InsertListCommand::selectionHasListOfType): attachment.cgi
(WebCore::InsertListCommand::doApply): Calls selectionHasListOfType.
(WebCore::InsertListCommand::doApplyForSingleParagraph): See above.
(WebCore::InsertListCommand::listifyParagraph): Calls mergeWithNeighboringLists.
* editing/InsertListCommand.h:
* editing/htmlediting.cpp:
(WebCore::canMergeLists): Ensures lists being merged are instances of HTMLElement.
(WebCore::isNodeVisiblyContainedWithin): Works properly when one end is inside the range.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 30 Jul 2010 06:39:13 +0000 (06:39 +0000)]
InsertOrderedList does not switch the list type properly when it has an inner list.
https://bugs.webkit.org/show_bug.cgi?id=43166
Reviewed by Darin Adler.
WebCore:
The bug was caused by forcedCreateList was not set to true when the start and the end
of the selection lies in the same list. Added selectionHasListOfType to fix this problem.
WebKit used not to convert the outer lists even when the list is fully selected.
Corrected this behavior by converting the entire list at once when the list is fully selected.
To decide whether or not a list is fully selected, added currentSelection argument to doApplyForSingleParagraph.
Tests: editing/execCommand/switch-list-type-with-inner-list.html
editing/execCommand/switch-list-type-with-orphaned-li.html
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::mergeWithNeighboringLists): Extracted the code to merge lists.
(WebCore::InsertListCommand::selectionHasListOfType): attachment.cgi
(WebCore::InsertListCommand::doApply): Calls selectionHasListOfType.
(WebCore::InsertListCommand::doApplyForSingleParagraph): See above.
(WebCore::InsertListCommand::listifyParagraph): Calls mergeWithNeighboringLists.
* editing/InsertListCommand.h:
* editing/htmlediting.cpp:
(WebCore::canMergeLists): Ensures lists being merged are instances of HTMLElement.
(WebCore::isNodeVisiblyContainedWithin): Works properly when one end is inside the range.
LayoutTests:
Added a test to convert an unordered list with a nested list to an ordered list.
Also added a test to convert multiple lists with an orphaned list to an ordered list.
The behavior of WebKit is changed not to flatten the lists when inserting ordered/unordered
lists on nested lists.
* editing/execCommand/5207369-expected.txt: No longer flattens the list to match Firefox and MSIE.
* editing/execCommand/5207369.html: Updated.
* editing/execCommand/remove-list-items-expected.txt: Removed one whitespace.
* editing/execCommand/switch-list-type-with-inner-list-expected.txt: Added.
* editing/execCommand/switch-list-type-with-inner-list.html: Added.
* editing/execCommand/switch-list-type-with-orphaned-li-expected.txt: Added.
* editing/execCommand/switch-list-type-with-orphaned-li.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Fri, 30 Jul 2010 06:22:06 +0000 (06:22 +0000)]
Fix ChangeLog snafu caused by bad merge.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Fri, 30 Jul 2010 06:13:10 +0000 (06:13 +0000)]
2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233
Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).
* bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback):
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::lock):
(WebCore::SQLiteDatabase::unlock):
* platform/sql/SQLiteDatabase.h:
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):
* storage/AbstractDatabase.cpp:
* storage/AbstractDatabase.h:
* storage/DatabaseTracker.cpp:
* storage/DatabaseTracker.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
* storage/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::execute):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::performNextStep):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* storage/SQLTransaction.h:
* storage/chromium/DatabaseTrackerChromium.cpp:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 30 Jul 2010 05:09:47 +0000 (05:09 +0000)]
2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233
Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* wtf/Threading.h:
* wtf/ThreadingPthreads.cpp:
* wtf/ThreadingWin.cpp:
* wtf/gtk/ThreadingGtk.cpp:
* wtf/qt/ThreadingQt.cpp:
2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233
Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).
* fast/workers/storage/interrupt-database-expected.txt: Removed.
* fast/workers/storage/interrupt-database-sync-expected.txt: Removed.
* fast/workers/storage/interrupt-database-sync.html: Removed.
* fast/workers/storage/interrupt-database.html: Removed.
* fast/workers/storage/resources/interrupt-database-sync.js: Removed.
* fast/workers/storage/resources/interrupt-database.js: Removed.
2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64313.
http://trac.webkit.org/changeset/64313
https://bugs.webkit.org/show_bug.cgi?id=43233
Some Chromium bots are not happy with it for some unknown
reason. (Requested by dumi on #webkit).
* bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback):
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::lock):
(WebCore::SQLiteDatabase::unlock):
* platform/sql/SQLiteDatabase.h:
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):
* storage/AbstractDatabase.cpp:
* storage/AbstractDatabase.h:
* storage/DatabaseTracker.cpp:
* storage/DatabaseTracker.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute):
* storage/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::execute):
* storage/SQLTransaction.cpp:
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::performNextStep):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* storage/SQLTransaction.h:
* storage/chromium/DatabaseTrackerChromium.cpp:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 30 Jul 2010 02:09:59 +0000 (02:09 +0000)]
Add PluginTest.cpp
* DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Fri, 30 Jul 2010 01:43:33 +0000 (01:43 +0000)]
2010-07-29 Dirk Pranke <dpranke@chromium.org>
Reviewed by Eric Seidel.
Update download URLs for python irclib package; the old URLs
pointed at a specific mirror host and not the general sourceforge
URLs.
https://bugs.webkit.org/show_bug.cgi?id=43228
* Scripts/webkitpy/thirdparty/__init__.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 30 Jul 2010 01:41:59 +0000 (01:41 +0000)]
Fix typo.
* DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 30 Jul 2010 01:39:29 +0000 (01:39 +0000)]
Another attempt at fixing the Qt and GTK+ build.
* DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
(webkit_test_plugin_new_instance):
(webkit_test_plugin_destroy_stream):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
victorw@chromium.org [Fri, 30 Jul 2010 01:34:16 +0000 (01:34 +0000)]
2010-07-29 Victor Wang <victorw@chromium.org>
Unreviewed. Update chromium test expectations for test:
plugins/document-open.html
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 30 Jul 2010 01:29:38 +0000 (01:29 +0000)]
Another build fix attempt.
* DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
* DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
* DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
(webkit_test_plugin_new_instance):
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 30 Jul 2010 01:27:24 +0000 (01:27 +0000)]
2010-07-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64302.
http://trac.webkit.org/changeset/64302
https://bugs.webkit.org/show_bug.cgi?id=43223
Assertion is bogus (Requested by olliej on #webkit).
* assembler/ARMAssembler.cpp:
(JSC::ARMAssembler::executableCopy):
* assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::putShortUnchecked):
(JSC::AssemblerBuffer::putIntUnchecked):
(JSC::AssemblerBuffer::putInt64Unchecked):
* jit/JITStubs.cpp:
* pcre/pcre_compile.cpp:
(jsRegExpCompile):
* wtf/FastMalloc.cpp:
(WTF::PageHeapAllocator::New):
(WTF::TCMalloc_Central_FreeList::Populate):
* wtf/MD5.cpp:
(WTF::reverseBytes):
(WTF::MD5::addBytes):
(WTF::MD5::checksum):
* wtf/StdLibExtras.h:
* wtf/Vector.h:
(WTF::VectorBuffer::inlineBuffer):
* wtf/qt/StringQt.cpp:
(WebCore::String::String):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 30 Jul 2010 01:03:56 +0000 (01:03 +0000)]
Unreviewed build fix.
Patch by Martin Robinson <mrobinson@igalia.com> on 2010-07-29
Fix installation of autogenerated header files.
* GNUmakefile.am: Fix autogenerated header file installation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dumi@chromium.org [Fri, 30 Jul 2010 00:51:25 +0000 (00:51 +0000)]
Unreviewed, re-enabling all storage tests on Windows in Chromium.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 30 Jul 2010 00:40:39 +0000 (00:40 +0000)]
2010-07-29 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Setting empty document schemes on the WKContext shouldn't start the WebProcess
<rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureWebProcess):
(WebKit::WebContext::registerURLSchemeAsEmptyDocument):
* UIProcess/WebContext.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 30 Jul 2010 00:11:45 +0000 (00:11 +0000)]
Refactor TestNetscapePlugin so tests can be split in separate files
https://bugs.webkit.org/show_bug.cgi?id=43220
Reviewed by Sam Weinig.
WebKitTools:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Add PluginTest.cpp, PluginTest.h and Tests/DocumentOpenInDestroyStream.cpp.
* DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
(pluginAllocate):
Initialize pluginTest to 0. Remove testDocumentOpenInDestroyStream.
* DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
* DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: Added.
(PluginTest::PluginTest):
Initialize m_npp and the test identifier.
(PluginTest::createTestFunctions):
Return the map from identifiers to createTest functions.
(PluginTest::registerCreateTestFunction):
Insert the identifier and create function pair in the map.
(PluginTest::create):
Look for a createTest function. If one is found, call it. Otherwise create a vanilla PluginTest object.
* DumpRenderTree/TestNetscapePlugIn/PluginTest.h: Added.
(PluginTest::Register::Register):
Helper class template for registering plug-in tests.
(PluginTest::Register::create):
Create a new test of the given type.
* DumpRenderTree/TestNetscapePlugIn/Tests/DocumentOpenInDestroyStream.cpp: Added.
(DocumentOpenInDestroyStream::DocumentOpenInDestroyStream):
Add a test that calls testDocumentOpen from its NPP_DestroyStream callback.
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
(NPP_New):
Create a PluginTest given the identifier. Remove the check for "testdocumentopenindestroystream".
(NPP_DestroyStream):
Call the plug-in test NPP_DestroyStream member function.
* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
Add PluginTest.cpp, PluginTest.h and Tests/DocumentOpenInDestroyStream.cpp.
LayoutTests:
* plugins/document-open.html:
Pass the test identifier as an attribute of the embed tag.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Thu, 29 Jul 2010 23:43:54 +0000 (23:43 +0000)]
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Unreviewed, rolling out r64318.
http://trac.webkit.org/changeset/64318
https://bugs.webkit.org/show_bug.cgi?id=41732
This change broke many tests.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::drawFocusRing):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::beginPath):
(WebCore::GraphicsContext::addPath):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dumi@chromium.org [Thu, 29 Jul 2010 23:34:53 +0000 (23:34 +0000)]
Unreviewed, updating Chromium expectations.
All storage tests started failing on the Windows canary bot after
r64313. Disabling these tests on that bot until we figure out
what's wrong.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64321
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 29 Jul 2010 23:29:17 +0000 (23:29 +0000)]
Changed the handling for removing and adding elements at the front
of an array. The code now keeps a bias that indicates the amount of
JSValue sized holes are prior to the ArrayStorage block. This means
that shift operations are now memmove's of the header part of
the ArrayStorage and unshift operations are similar, but may require a
realloc first to create the space. Similar operations are performed
for special cases of splice and slice.
Also optimized the new Array(size) case so that we don't allocate and
initialize array elements until the JS code starts using elements.
The array growth code is slightly more aggressive for initial growth
based on size growth of any previous array.
Patch by Michael Saboff <msaboff@apple.com> on 2010-07-29
Reviewed by Gavin Barraclough.
* Configurations/JavaScriptCore.xcconfig:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::privateCompilePatchGetArrayLength):
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
* runtime/JSArray.cpp:
(JSC::JSArray::JSArray):
(JSC::JSArray::~JSArray):
(JSC::JSArray::getOwnPropertySlot):
(JSC::JSArray::getOwnPropertyDescriptor):
(JSC::JSArray::put):
(JSC::JSArray::putSlowCase):
(JSC::JSArray::deleteProperty):
(JSC::JSArray::getOwnPropertyNames):
(JSC::JSArray::getNewVectorLength):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::increaseVectorPrefixLength):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::shiftCount):
(JSC::JSArray::unshiftCount):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToRegisters):
(JSC::JSArray::compactForSorting):
(JSC::JSArray::subclassData):
(JSC::JSArray::setSubclassData):
(JSC::JSArray::checkConsistency):
* runtime/JSArray.h:
(JSC::JSArray::length):
(JSC::JSArray::canGetIndex):
(JSC::JSArray::getIndex):
(JSC::JSArray::setIndex):
(JSC::JSArray::uncheckedSetIndex):
(JSC::JSArray::arrayStorage):
(JSC::JSArray::setArrayStorage):
(JSC::JSArray::markChildrenDirect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64320
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 29 Jul 2010 23:19:31 +0000 (23:19 +0000)]
Changed MINIMUM_CELL_SIZE to be fixed at 64 bytes.
Patch by Michael Saboff <msaboff@apple.com> on 2010-07-29
Reviewed by Darin Adler.
* runtime/Collector.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64319
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Thu, 29 Jul 2010 23:17:46 +0000 (23:17 +0000)]
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
[Cairo] Bring behavior of paths on the Cairo GraphicsContext into line with the CoreGraphics port
https://bugs.webkit.org/show_bug.cgi?id=41732
Do not apply paths added to the Cairo GraphicsContext, until they are used.
This prevents drawing routines such as fillRect from interacting with any
path which callers are constructing on the GraphicsContext.
This behavior is necessary to close bug https://bugs.webkit.org/show_bug.cgi?id=41308
so tests for that issue will test this fix.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::appendPathToCairoContext): Added. A helper method which adds a path
to a native Cairo context.
(WebCore::setPathOnCairoContext): Added. Like appendPathToCairoContext, but clears the
existing path first.
(WebCore::appendWebCorePathToCairoContext): Added. Like appendPathToCairoContext, but
operates on a WebCore path.
(WebCore::GraphicsContext::drawEllipse): Only clear the Cairo path if cairo_stroke
was not called, because cairo_stroke implicitly clears the path.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
(WebCore::GraphicsContext::fillPath): Copy the path from m_pendingPath to the context
and clear m_pendingPath, instead of relying on the pre-existing context path.
(WebCore::GraphicsContext::strokePath): Ditto.
(WebCore::GraphicsContext::drawPath): Ditto.
(WebCore::GraphicsContext::drawFocusRing): Use the new appendWebCorePathToCairoContext helper instead
of addPath (which will blow away any path callers are building).
(WebCore::GraphicsContext::addInnerRoundedRectClip): Use the new appendWebCorePathToCairoContext helper instead
of addPath (which will blow away any path callers are building).
(WebCore::GraphicsContext::beginPath): Clear out m_pendingPath here instead of the main native context.
(WebCore::GraphicsContext::addPath): Add the path to m_pendingPath instead of the main native context.
Also ensure that the transformation matrix of the m_pendingPath is equal to that of the main
cairo context.
(WebCore::GraphicsContext::clipOut): Use the appendWebCorePathToCairoContext helper here.
(WebCore::GraphicsContext::fillRoundedRect): Ditto and remove an unnecessary beginPath call.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Add a new m_pendingPath member.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 29 Jul 2010 23:16:36 +0000 (23:16 +0000)]
2010-07-29 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Make all public facing client setters take const pointers
https://bugs.webkit.org/show_bug.cgi?id=43219
* UIProcess/API/C/WKContext.cpp:
(WKContextSetInjectedBundleClient):
(WKContextSetHistoryClient):
* UIProcess/API/C/WKContext.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
(WKPageSetPagePolicyClient):
(WKPageSetPageUIClient):
* UIProcess/API/C/WKPage.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::initializeInjectedBundleClient):
(WebKit::WebContext::initializeHistoryClient):
* UIProcess/WebContext.h:
* UIProcess/WebContextInjectedBundleClient.cpp:
(WebKit::WebContextInjectedBundleClient::initialize):
* UIProcess/WebContextInjectedBundleClient.h:
* UIProcess/WebHistoryClient.cpp:
(WebKit::WebHistoryClient::initialize):
* UIProcess/WebHistoryClient.h:
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::initialize):
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeLoaderClient):
(WebKit::WebPageProxy::initializePolicyClient):
(WebKit::WebPageProxy::initializeUIClient):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPolicyClient.cpp:
(WebKit::WebPolicyClient::initialize):
* UIProcess/WebPolicyClient.h:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::initialize):
* UIProcess/WebUIClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64317
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 29 Jul 2010 22:42:17 +0000 (22:42 +0000)]
Implement NPN_SetProperty
https://bugs.webkit.org/show_bug.cgi?id=43217
Reviewed by Sam Weinig.
* WebProcess/Plugins/NPJSObject.cpp:
(WebKit::NPJSObject::setProperty):
Convert the NPVariant to a JSValue and set it on the underlying JSObject.
(WebKit::NPJSObject::NP_SetProperty):
Call NPJSObject::setProperty.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetProperty):
Remove unused parameter name.
(WebKit::NPN_SetProperty):
Call the NPClass::setProperty function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64316
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Thu, 29 Jul 2010 22:37:11 +0000 (22:37 +0000)]
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Dirk Schulze.
[Cairo] Remove setStrokeStyle workaround for InlineTextBoxes
https://bugs.webkit.org/show_bug.cgi?id=43136
Remove workaround added in https://bugs.webkit.org/show_bug.cgi?id=15659
to fix stroke style for InlineTextBox underlines.
No new tests as this should not change functionality.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForText): Remove old workaround.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Thu, 29 Jul 2010 22:36:14 +0000 (22:36 +0000)]
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Unreviewed build fix.
Add missing second argument to assert_lint in new style checker tests.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64314
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dumi@chromium.org [Thu, 29 Jul 2010 22:30:20 +0000 (22:30 +0000)]
JavaScriptCore: Added a yield() function.
https://bugs.webkit.org/show_bug.cgi?id=42843
Reviewed by David Levin.
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* wtf/Threading.h:
* wtf/ThreadingPthreads.cpp:
(WTF::yield):
* wtf/ThreadingWin.cpp:
(WTF::yield):
* wtf/gtk/ThreadingGtk.cpp:
(WTF::yield):
* wtf/qt/ThreadingQt.cpp:
(WTF::yield):
WebCore: Interrupt all DB operations when the worker is terminating.
https://bugs.webkit.org/show_bug.cgi?id=42843
Reviewed by David Levin.
Tests: fast/workers/storage/interrupt-database-sync.html
fast/workers/storage/interrupt-database.html
* bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::~JSCustomVoidCallback): If the
destructor is called on the context thread, delete m_data directly
instead of posting a task to do that. We need to do that to make
sure that all JS objects are destroyed before
WorkerThreadShutdownFinishTask (in WorkerThread.cpp) calls
WorkerContext::clearScript().
* bindings/scripts/CodeGeneratorJS.pm: Same change as above, for
all auto-generated callbacks.
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback): Updated the
expectations for run-bindings-tests.
* platform/sql/SQLiteDatabase.cpp: Added the ability to interrupt
all DB operations in progress, unless the database was closed or
is being closed. Unlike sqlite3_interrupt(),
SQLiteDatabase::interrupt() is sticky: once it's called, trying to
run any statement on that database will fail with a
SQLITE_INTERRUPT error code.
(WebCore::SQLiteDatabase::SQLiteDatabase):
(WebCore::SQLiteDatabase::close):
(WebCore::SQLiteDatabase::interrupt):
(WebCore::SQLiteDatabase::isInterrupted):
* platform/sql/SQLiteDatabase.h: Added a mutex that can used by
SQLiteStatement to check if the database was interrupted.
(WebCore::SQLiteDatabase::databaseMutex):
* platform/sql/SQLiteStatement.cpp: Changed prepare() and step()
to check if the database was interrupted, before trying to prepare
or run the statement. The other methods don't need to hold on to
the DB lock while running, because they're fast, so we don't need
to interrupt them.
(WebCore::SQLiteStatement::prepare):
(WebCore::SQLiteStatement::step):
* storage/AbstractDatabase.cpp: Made SQLiteDatabase::interrupt()
and isInterrupted() visible to WebSQLDatabases classes.
(WebCore::AbstractDatabase::interrupt):
(WebCore::AbstractDatabase::isInterrupted):
* storage/AbstractDatabase.h:
* storage/DatabaseTracker.cpp: Added a method to interrupt all
databases in a given context.
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
* storage/DatabaseTracker.h:
* storage/SQLStatement.cpp: Changed the exception/error reported
when a statement is interrupted.
(WebCore::SQLStatement::execute):
* storage/SQLStatementSync.cpp:
(WebCore::SQLStatementSync::execute):
* storage/SQLTransaction.cpp: Changed the code to release the
callback objects as soon as they're not needed.
(WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
Changed this method to not schedule the next transaction step when
the database is interrupted.
(WebCore::SQLTransaction::performNextStep):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* storage/SQLTransaction.h:
* storage/chromium/DatabaseTrackerChromium.cpp: Added a method to
interrupt all databases in a given context.
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop): Added a call to
DatabaseTracker::interruptAllDatabasesForContext().
LayoutTests: Test that terminating a worker interrupts all DB operations in that worker.
https://bugs.webkit.org/show_bug.cgi?id=42843
Reviewed by David Levin.
* fast/workers/storage/interrupt-database-expected.txt: Added.
* fast/workers/storage/interrupt-database-sync-expected.txt: Added.
* fast/workers/storage/interrupt-database-sync.html: Added.
* fast/workers/storage/interrupt-database.html: Added.
* fast/workers/storage/resources/interrupt-database-sync.js: Added.
* fast/workers/storage/resources/interrupt-database.js: Added.
(runTransaction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64313
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 29 Jul 2010 22:21:43 +0000 (22:21 +0000)]
Implement NPN_Enumerate
https://bugs.webkit.org/show_bug.cgi?id=43215
Reviewed by Sam Weinig.
* WebProcess/Plugins/JSNPObject.cpp:
(WebKit::npIdentifierFromIdentifier):
Get the UTF-8 string representation instead of the lossy ASCII representation.
(WebKit::JSNPObject::getOwnPropertyNames):
Implement by calling the NPClass::enumerate function.
* WebProcess/Plugins/JSNPObject.h:
* WebProcess/Plugins/NPJSObject.cpp:
(WebKit::NPJSObject::enumerate):
Implement by calling JSObject::getPropertyNames.
(WebKit::NPJSObject::npClass):
(WebKit::NPJSObject::NP_Enumerate):
Call NPJSObject::enumerate.
* WebProcess/Plugins/NPJSObject.h:
* WebProcess/Plugins/NPRuntimeUtilities.cpp:
(WebKit::createNPObject):
Fix a comment.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_Enumerate):
Call the NPClass::enumerate function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64312
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 22:09:47 +0000 (22:09 +0000)]
2010-07-29 Bernhard Bauer <bauerb@chromium.org>
Reviewed by Darin Fisher.
Check if plugins are allowed before creating a Java applet.
https://bugs.webkit.org/show_bug.cgi?id=43196
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::createJavaAppletWidget):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
victorw@chromium.org [Thu, 29 Jul 2010 22:05:40 +0000 (22:05 +0000)]
2010-07-29 Victor Wang <victorw@chromium.org>
Unreviewed. Update chromium expectation for test:
fast/js/regexp-look-ahead-empty.html
* platform/chromium/fast/js/regexp-look-ahead-empty-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 29 Jul 2010 21:35:44 +0000 (21:35 +0000)]
check-webkit-style shouldn't complain about NPAPI functions
https://bugs.webkit.org/show_bug.cgi?id=43211
Reviewed by Adam Roben.
Allow underscores in functions that start with NPN_, NPP_ or NP_.
* Scripts/webkitpy/style/checkers/cpp.py:
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Thu, 29 Jul 2010 21:35:23 +0000 (21:35 +0000)]
2010-07-29 James Robinson <jamesr@chromium.org>
Reviewed by Simon Fraser.
Ask a canvas' rendering context if it is accelerated instead tying it directly to webgl
https://bugs.webkit.org/show_bug.cgi?id=43206
This unifies the logic for whether a canvas is accelerated or not into one place
and makes it easier to expand the logic in the future to, for example, cover some
2d canvases.
Just a refactoring, no change in behavior so no new tests.
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::isAccelerated):
* html/canvas/WebGLRenderingContext.h:
(WebCore::WebGLRenderingContext::isAccelerated):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::requiresLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64308
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 21:33:19 +0000 (21:33 +0000)]
2010-07-29 Michael Saboff <msaboff@apple.com>
Reviewed by Oliver Hunt.
Fixed issue where RegExp greedy jit code loops when no input is
consumed. Changed the code to only loop if some input was consumed,
but fall through if we successfully match an alternative that
doesn't consume any input.
https://bugs.webkit.org/show_bug.cgi?id=42664
* yarr/RegexJIT.cpp:
(JSC::Yarr::RegexGenerator::generateParenthesesGreedyNoBacktrack):
2010-07-29 Michael Saboff <msaboff@apple.com>
Reviewed by Oliver Hunt.
Added tests to correspond to the changes made in
JavaScriptCore/yarr/RegexJIT.cpp to fix
https://bugs.webkit.org/show_bug.cgi?id=42664.
Note that some of the new test cases fail due to one or more
unrelated bugs in the pcre interpreter. The expected results
for these tests will need to be updated when the implementation
conforms to the JS standard.
* fast/js/regexp-look-ahead-empty-expected.txt: Added.
* fast/js/regexp-look-ahead-empty.html: Added.
* fast/js/script-tests/regexp-look-ahead-empty.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan@apple.com [Thu, 29 Jul 2010 21:05:16 +0000 (21:05 +0000)]
<https://bugs.webkit.org/show_bug.cgi?id=43203>
WebBackForwardList::back/ForwardListWithLimit() crashes if passed a limit larger than max int
Reviewed by Sam Weinig.
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
Fixed casting so that a large unsigned won't become a negative int.
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64306
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Thu, 29 Jul 2010 21:00:36 +0000 (21:00 +0000)]
2010-07-29 Ojan Vafai <ojan@chromium.org>
Reviewed by Tor Arne Vestbø.
fix for editing/style/remove-underline-from-stylesheet.html on qt after r64303
https://bugs.webkit.org/show_bug.cgi?id=43208
* platform/qt/editing/style/remove-underline-from-stylesheet-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64305
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 29 Jul 2010 20:41:00 +0000 (20:41 +0000)]
Implement NPN_Status
https://bugs.webkit.org/show_bug.cgi?id=43205
Reviewed by Sam Weinig.
WebCore:
* WebCore.exp.in:
Export Chrome::setStatusText.
WebKit2:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_Status):
Convert the message char* to a String and call NetscapePlugin::setStatusbarText.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::setStatusbarText):
Call PluginController::setStatusbarText.
* WebProcess/Plugins/PluginController.h:
Add setStatusbarText.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setStatusbarText):
Call the Chrome member function.
LayoutTests:
* platform/mac-wk2/Skipped:
Add plugins/access-after-page-destroyed.html since we don't support
layoutTestController.setCanOpenWindows.
Remove plugins/set-status.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64304
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Thu, 29 Jul 2010 20:16:52 +0000 (20:16 +0000)]
2010-07-27 Ojan Vafai <ojan@chromium.org>
Reviewed by Adam Barth.
dump-as-markup should have better output
https://bugs.webkit.org/show_bug.cgi?id=43015
-Merge dom2string into dump-as-markup and pull over all dom2string features (e.g. indent).
-#-prefix selection markers
* editing/deleting/delete-br-in-last-table-cell-expected.txt:
* editing/execCommand/crash-indenting-list-item-expected.txt:
* editing/execCommand/crash-on-enter-in-contentEditable-list-expected.txt:
* editing/execCommand/create-list-from-range-selection-expected.txt:
* editing/execCommand/hilitecolor-expected.txt:
* editing/execCommand/indent-pre-expected.txt:
* editing/execCommand/insert-list-empty-div-expected.txt:
* editing/selection/dump-as-markup-expected.txt:
* editing/selection/dump-as-markup.html:
* editing/selection/home-inside-noneditable-table-expected.txt:
* editing/style/remove-underline-from-stylesheet-expected.txt:
* editing/style/style-text-node-without-editable-parent-expected.txt:
* editing/undo/redo-split-text-node-expected.txt:
* editing/undo/redo-split-text-with-removal-expected.txt:
* html5lib/resources/dom2string.js: Removed.
* html5lib/resources/tests4.dat:
* html5lib/resources/tests6.dat:
* html5lib/runner-expected.txt:
* html5lib/runner.html:
* html5lib/webkit-resumer.html:
* resources/dump-as-markup.js:
(Markup.notifyDone):
(Markup._get):
(Markup._namespace):
(Markup._dumpCalls.0.Markup._indent):
(Markup._toAsciiLowerCase):
(Markup._getMarkupForTextNode):
(Markup._getSelectionMarker):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64303
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 29 Jul 2010 19:52:22 +0000 (19:52 +0000)]
2010-07-29 Gabor Loki <loki@webkit.org>
Reviewed by Gavin Barraclough.
Avoid increasing required alignment of target type warning on ARM
https://bugs.webkit.org/show_bug.cgi?id=38045
The reinterpret_cast<Type1*>([pointer to Type2]) expressions - where
sizeof(Type1) > sizeof(Type2) - cause the following warning on ARM:
increases required alignment of target type warnings.
Casting the type of [pointer to Type2] object to void* bypasses the
warning.
* assembler/ARMAssembler.cpp:
(JSC::ARMAssembler::executableCopy):
* assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::putShortUnchecked):
(JSC::AssemblerBuffer::putIntUnchecked):
(JSC::AssemblerBuffer::putInt64Unchecked):
* jit/JITStubs.cpp:
* pcre/pcre_compile.cpp:
(jsRegExpCompile):
* wtf/FastMalloc.cpp:
(WTF::PageHeapAllocator::New):
(WTF::TCMalloc_Central_FreeList::Populate):
* wtf/MD5.cpp:
(WTF::reverseBytes):
(WTF::MD5::addBytes):
(WTF::MD5::checksum):
* wtf/StdLibExtras.h:
(reinterpret_cast_ptr):
* wtf/Vector.h:
(WTF::VectorBuffer::inlineBuffer):
* wtf/qt/StringQt.cpp:
(WebCore::String::String):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64302
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
victorw@chromium.org [Thu, 29 Jul 2010 19:51:03 +0000 (19:51 +0000)]
2010-07-29 Victor Wang <victorw@chromium.org>
Reviewed by Jeremy Orlow.
Update png baseline in mac-leopard for test svg/custom/mask-colorspace.html
https://bugs.webkit.org/show_bug.cgi?id=43201
* platform/mac-leopard/svg/custom/mask-colorspace-expected.png:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64301
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 29 Jul 2010 19:31:06 +0000 (19:31 +0000)]
Add JSNPObject::getConstructData
https://bugs.webkit.org/show_bug.cgi?id=43165
Reviewed by Sam Weinig.
* WebProcess/Plugins/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
Add a null check for m_npObject.
(WebKit::JSNPObject::callConstructor):
Call NPClass::construct.
(WebKit::JSNPObject::getConstructData):
Set up the construct data.
(WebKit::JSNPObject::propertyGetter):
convertNPVariantToJSValue now takes a JSGlobalObject as well.
* WebProcess/Plugins/NPJSObject.cpp:
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::construct):
convertNPVariantToJSValue now takes a JSGlobalObject as well.
* WebProcess/Plugins/NPJSObject.h:
Make isNPJSObject and toNPJSObject public.
* WebProcess/Plugins/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
Convert NPObjects correctly.
(WebKit::NPRuntimeObjectMap::globalObject):
Get the globalObject from the frame.
(WebKit::NPRuntimeObjectMap::globalExec):
Call globalObject.
* WebProcess/Plugins/NPRuntimeObjectMap.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64300
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
victorw@chromium.org [Thu, 29 Jul 2010 19:09:19 +0000 (19:09 +0000)]
2010-07-29 Victor Wang <victorw@chromium.org>
Unreviewed, rolling out r64270.
http://trac.webkit.org/changeset/64270
https://bugs.webkit.org/show_bug.cgi?id=39589
The patch breaks chromium webkit unittest
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* dom/DeviceOrientationClient.h:
(WebCore::DeviceOrientationClient::~DeviceOrientationClient):
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
* dom/DeviceOrientationEvent.cpp:
* platform/mock/DeviceOrientationClientMock.cpp: Removed.
* platform/mock/DeviceOrientationClientMock.h: Removed.
2010-07-29 Victor Wang <victorw@chromium.org>
Unreviewed, rolling out r64270.
http://trac.webkit.org/changeset/64270
https://bugs.webkit.org/show_bug.cgi?id=39589
The patch breaks chromium webkit unittest
* fast/dom/DeviceOrientation/basic-operation-expected.txt: Removed.
* fast/dom/DeviceOrientation/basic-operation.html: Removed.
* fast/dom/DeviceOrientation/script-tests/basic-operation.js: Removed.
* platform/gtk/Skipped:
2010-07-29 Victor Wang <victorw@chromium.org>
Unreviewed, rolling out r64270.
http://trac.webkit.org/changeset/64270
https://bugs.webkit.org/show_bug.cgi?id=39589
The patch breaks chromium webkit unittest
* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
* DumpRenderTree/chromium/LayoutTestController.h:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
* DumpRenderTree/qt/LayoutTestControllerQt.h:
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
* Scripts/build-webkit:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64299
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 29 Jul 2010 18:50:59 +0000 (18:50 +0000)]
2010-07-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Resizer control does not paint in otherwise empty compositing layer
https://bugs.webkit.org/show_bug.cgi?id=42306
Ensure that we create backing store for an empty element with resize: both,
in order to render the resizer control.
Test: compositing/overflow/resize-painting.html
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Check for hasOverflowControls()
earlier, before any child checks.
(WebCore::RenderLayerBacking::hasNonCompositingDescendants): Renamed from hasNonCompositingContent()
to clarify its purpose.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64298
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonikitoo@webkit.org [Thu, 29 Jul 2010 18:44:37 +0000 (18:44 +0000)]
2010-07-29 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Kenneth Christiansen.
[Qt] QtTestBrowser: Move WebPage class methods definitions from main.cpp to webpage.cpp
https://bugs.webkit.org/show_bug.cgi?id=43199
There is no sense in keeping WebPage method definitions in main.cpp once
webpage.cpp already exists.
No behavior change.
* QtTestBrowser/main.cpp:
* QtTestBrowser/webpage.cpp:
(WebPage::createWindow):
(WebPage::createPlugin):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64297
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 29 Jul 2010 18:41:56 +0000 (18:41 +0000)]
2010-07-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
SHOULD NEVER BE REACHED assertion when switching tabs with composited content
https://bugs.webkit.org/show_bug.cgi?id=43167
When the root layer becomes unattached (e.g. when switching tabs), don't return
'false' from paintingGoesToWindow() because that will cause a -setNeedsDispay, which
both allocates wasteful backing store, and causes an assertion when we try to
paint the layer.
Test: manual-tests/compositing/assert-on-tab-switch.html: Added.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintingGoesToWindow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64296
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 29 Jul 2010 18:36:05 +0000 (18:36 +0000)]
Remove WKCACFLayer::Lanczos
This member is also unused.
Rubber-stamped in advance by John Sullivan.
* platform/graphics/win/WKCACFLayer.cpp:
(WebCore::toCACFFilterType):
(WebCore::fromCACFFilterType):
* platform/graphics/win/WKCACFLayer.h:
(WebCore::WKCACFLayer::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64295
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 29 Jul 2010 18:14:56 +0000 (18:14 +0000)]
Remove some unused WKCACFLayer members
Fixes <http://webkit.org/b/43200> WKCACFLayer has some unused members
Reviewed by John Sullivan.
* platform/graphics/win/WKCACFLayer.h: Removed [set]ClearsContext,
[set]Filters, and [set]SortsSublayers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64294
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jschuh@chromium.org [Thu, 29 Jul 2010 18:11:09 +0000 (18:11 +0000)]
2010-07-28 Justin Schuh <jschuh@chromium.org>
Reviewed by Nate Chapin.
Clear PluginData's page pointer on Page destruction
https://bugs.webkit.org/show_bug.cgi?id=43147
Test: plugins/access-after-page-destroyed.html
* page/Page.cpp:
(WebCore::Page::~Page):
2010-07-28 Justin Schuh <jschuh@chromium.org>
Reviewed by Nate Chapin.
Clear PluginData's page pointer on Page destruction
https://bugs.webkit.org/show_bug.cgi?id=43147
* plugins/access-after-page-destroyed-expected.txt: Added.
* plugins/access-after-page-destroyed.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64293
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jorlow@chromium.org [Thu, 29 Jul 2010 17:49:38 +0000 (17:49 +0000)]
2010-07-29 Jeremy Orlow <jorlow@chromium.org>
Rebaseline 2 tests that are actually a bit distinct from mac (because of fonts).
Not reviewed.
* platform/chromium-win/svg/custom/use-events-crash-expected.txt: Added.
* platform/chromium-win/svg/hixie/error/017-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64292
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonikitoo@webkit.org [Thu, 29 Jul 2010 17:48:48 +0000 (17:48 +0000)]
2010-07-29 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Kenneth Christiansen.
[Qt] Factor out LauncherWindow class out of main.cpp (QtTestBrowser)
https://bugs.webkit.org/show_bug.cgi?id=43170
Moving LauncherWindow class out of main.cpp to its own .cpp and .h files:
launcherwindow.{cpp|h}
No behavior change.
Also changed all global static variables (named "gXXX") from main.cpp to
static public variables of the LauncherWindow class.
* QtTestBrowser/QtTestBrowser.pro:
* QtTestBrowser/launcherwindow.cpp: Added.
* QtTestBrowser/launcherwindow.h: Added.
* QtTestBrowser/main.cpp:
(LauncherApplication::handleUserOptions):
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64291
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Thu, 29 Jul 2010 17:32:35 +0000 (17:32 +0000)]
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
Build fix for building against GTK+ 3.x. GSEAL requires that we
access internals of the GdkDragContext via methods. For older versions
of GTK+, define those methods.
* DumpRenderTree/gtk/EventSender.cpp:
(gdk_drag_context_get_selected_action): Added.
(gdk_drag_context_get_actions): Added.
(dispatchEvent): Use the two new accessor methods.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64290
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 29 Jul 2010 16:56:27 +0000 (16:56 +0000)]
2010-07-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Pavel Feldman.
Crash when computing pseudo-style of a vanished scrollbar in inspector
https://bugs.webkit.org/show_bug.cgi?id=42561
When a styled overflow:scroll scrollbar gets destroyed, we need to clear out the m_owner pointer,
otherwise the event handling code (which keeps the Scrollbar alive) later causes the scrollbar
to try to use m_owner to get pseudo style.
Test: scrollbars/overflow-custom-scrollbar-crash.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::destroyScrollbar): If this is a custom scrollbar, clear the owning renderer.
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::getScrollbarPseudoStyle): Bail if m_owner is 0.
* rendering/RenderScrollbar.h:
(WebCore::RenderScrollbar::clearOwningRenderer): New method.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64289
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Thu, 29 Jul 2010 16:55:32 +0000 (16:55 +0000)]
[wx] Build fix, add file missing from DOM bindings commit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64288
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 29 Jul 2010 16:53:42 +0000 (16:53 +0000)]
Always say "plugins directory" when referring to a directory containing one or more plugins
Fixes <http://webkit.org/b/43197> WebKit2 often says "plugin
directory" when it means "plugins directory"
Reviewed by John Sullivan.
WebKit2:
* UIProcess/API/C/WKContext.cpp:
(_WKContextSetAdditionalPluginsDirectory):
* UIProcess/API/C/WKContextPrivate.h:
Renamed from _WKContextSetAdditionalPluginDirectory.
* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::setAdditionalPluginsDirectories): Renamed
from setAdditionalPluginDirectories.
(WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
* UIProcess/Plugins/PluginInfoStore.h: Renamed
m_additionalPluginDirectories to m_additionalPluginsDirectories.
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::pluginsDirectories):
* UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
(WebKit::PluginInfoStore::pluginsDirectories):
* UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
(WebKit::PluginInfoStore::pluginsDirectories):
Renamed from pluginDirectories.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setAdditionalPluginsDirectory):
* UIProcess/WebContext.h:
Renamed from setAdditionalPluginDirectory.
WebKitTools:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Updated for rename.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64287
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 29 Jul 2010 16:40:20 +0000 (16:40 +0000)]
Always say "directory" when referring to a plugin directory
Fixes <http://webkit.org/b/43195> WebKit2 often says "plugin path"
when it means "plugin directory"
Reviewed by John Sullivan.
WebKit2:
* UIProcess/API/C/WKContext.cpp:
(_WKContextSetAdditionalPluginDirectory):
* UIProcess/API/C/WKContextPrivate.h:
Renamed from _WKContextSetAdditionalPluginPath.
* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::setAdditionalPluginDirectories): Renamed
from setAdditionalPluginPaths.
(WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
* UIProcess/Plugins/PluginInfoStore.h: Renamed m_additionalPluginPaths
to m_additionalPluginDirectories.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::setAdditionalPluginDirectory):
* UIProcess/WebContext.h:
Renamed from setAdditionalPluginPath, and updated for PluginInfoStore
rename.
WebKitTools:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Updated for renames.
* WebKitTestRunner/TestController.h: Renamed m_testPluginPath to
m_testPluginDirectory.
(WTR::TestController::testPluginDirectory): Renamed from
testPluginPath.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::initializeTestPluginDirectory):
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::initializeTestPluginDirectory):
Renamed from initializeTestPluginPath and updated for rename.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64286
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 29 Jul 2010 16:35:36 +0000 (16:35 +0000)]
Reviewed by Antonio Gomes.
Initialize all members of NPClass struct.
https://bugs.webkit.org/show_bug.cgi?id=43193
* DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64285
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 16:29:42 +0000 (16:29 +0000)]
2010-07-29 Alexis Menard <alexis.menard@nokia.com>
Reviewed by Antonio Gomes.
QWebFrame and QWebView documentation fix.
The QWebFrame and the QWebView setHtml() methods are a bit confusing.
There are a few registered bugs in Webkit's bugzilla that source is
in a bad usage of the function.
Additional information were added.
https://bugs.webkit.org/show_bug.cgi?id=31115
* Api/qgraphicswebview.cpp:
* Api/qwebframe.cpp:
* Api/qwebview.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64284
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jorlow@chromium.org [Thu, 29 Jul 2010 16:15:46 +0000 (16:15 +0000)]
2010-07-29 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Dimitri Glazkov.
[Chromium] Rebaseline 8 tests which are no longer failing
https://bugs.webkit.org/show_bug.cgi?id=43194
http://trac.webkit.org/changeset/64275/ appears to have fixed
a bunch of SVG stuff for Chromium. Rebaseline all of these. (The
baselines that are modified or deleted were all incorrect, btw. I don't
know why they were committed rather than just being "fail"s.)
* platform/chromium-linux/svg/custom/gradient-cycle-detection-expected.checksum:
* platform/chromium-linux/svg/custom/gradient-cycle-detection-expected.png:
* platform/chromium-linux/svg/custom/recursive-clippath-expected.checksum: Added.
* platform/chromium-linux/svg/custom/recursive-clippath-expected.png: Added.
* platform/chromium-linux/svg/custom/recursive-filter-expected.checksum: Added.
* platform/chromium-linux/svg/custom/recursive-filter-expected.png: Added.
* platform/chromium-linux/svg/custom/recursive-gradient-expected.checksum:
* platform/chromium-linux/svg/custom/recursive-gradient-expected.png: Added.
* platform/chromium-linux/svg/custom/recursive-mask-expected.checksum: Added.
* platform/chromium-linux/svg/custom/recursive-mask-expected.png: Added.
* platform/chromium-linux/svg/custom/recursive-pattern-expected.checksum:
* platform/chromium-linux/svg/custom/recursive-pattern-expected.png: Added.
* platform/chromium-win/svg/custom/gradient-cycle-detection-expected.checksum:
* platform/chromium-win/svg/custom/gradient-cycle-detection-expected.png:
* platform/chromium-win/svg/custom/recursive-clippath-expected.checksum: Added.
* platform/chromium-win/svg/custom/recursive-clippath-expected.png:
* platform/chromium-win/svg/custom/recursive-clippath-expected.txt: Added.
* platform/chromium-win/svg/custom/recursive-filter-expected.checksum:
* platform/chromium-win/svg/custom/recursive-filter-expected.png:
* platform/chromium-win/svg/custom/recursive-filter-expected.txt: Added.
* platform/chromium-win/svg/custom/recursive-gradient-expected.checksum:
* platform/chromium-win/svg/custom/recursive-gradient-expected.png:
* platform/chromium-win/svg/custom/recursive-gradient-expected.txt: Added.
* platform/chromium-win/svg/custom/recursive-mask-expected.checksum:
* platform/chromium-win/svg/custom/recursive-mask-expected.png:
* platform/chromium-win/svg/custom/recursive-mask-expected.txt: Added.
* platform/chromium-win/svg/custom/recursive-pattern-expected.checksum:
* platform/chromium-win/svg/custom/recursive-pattern-expected.png:
* platform/chromium-win/svg/custom/recursive-pattern-expected.txt: Added.
* platform/chromium-win/svg/custom/use-events-crash-expected.txt: Removed.
* platform/chromium-win/svg/hixie/error/017-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64283
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 29 Jul 2010 16:13:56 +0000 (16:13 +0000)]
2010-07-29 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Antonio Gomes.
Warning fix on platforms where XP_MACOSX is undefined.
https://bugs.webkit.org/show_bug.cgi?id=43192
* DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
Use #if defined(XP_MACOSX) instead of #if XP_MACOSX .
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64282
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Thu, 29 Jul 2010 16:07:11 +0000 (16:07 +0000)]
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Unreviewed build fix.
Fix installation of autogenerated header files.
* GNUmakefile.am: Fix autogenerated header file installation.
2010-07-29 Martin Robinson <mrobinson@igalia.com>
Unreviewed build fix.
Include a missing header in the source list to fix 'make dist.'
* GNUmakefile.am: Include missing header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64281
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 29 Jul 2010 15:10:49 +0000 (15:10 +0000)]
Give find-included-framework-headers our standard license
* Scripts/find-included-framework-headers: Used the license from
WebCore/LICENSE-APPLE.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64280
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Thu, 29 Jul 2010 15:06:32 +0000 (15:06 +0000)]
2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Update Qt specific baselines for three svg/custom tests.
* platform/qt/svg/custom/recursive-gradient-expected.txt:
* platform/qt/svg/custom/recursive-mask-expected.txt:
* platform/qt/svg/custom/recursive-pattern-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64279
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 29 Jul 2010 14:43:21 +0000 (14:43 +0000)]
Remove PluginInfoStore::mimeTypeFromExtension
WebCore::MIMETypeRegistry already provides a cross-platform interface
for this.
Fixes <http://webkit.org/b/43188>
PluginInfoStore::mimeTypeFromExtension is unnecessary
Reviewed by Nikolas Zimmermann.
* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::findPlugin): Changed to use
MIMETypeRegistry.
* UIProcess/Plugins/PluginInfoStore.h:
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
* UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
* UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
Removed mimeTypeFromExtension.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Thu, 29 Jul 2010 14:12:22 +0000 (14:12 +0000)]
2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix release builds, by removing unused variables, that only served for ASSERTs that are no longer needed.
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::prepareToRenderSVGContent):
(WebCore::SVGRenderSupport::pointInClippingArea):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64277
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Thu, 29 Jul 2010 14:08:52 +0000 (14:08 +0000)]
2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix build warning about unreachable code, seen on the windows slave.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::selfWillPaint):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::selfWillPaint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64276
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Thu, 29 Jul 2010 13:50:51 +0000 (13:50 +0000)]
2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
WebKit shouldn't ignore resource cycles, but break them as Opera does
https://bugs.webkit.org/show_bug.cgi?id=43031
mask images are not updated when render objects' bounds change
https://bugs.webkit.org/show_bug.cgi?id=15124
SVG Gradients do not resize correctly
https://bugs.webkit.org/show_bug.cgi?id=41902
svg/dynamic-updates: SVGMarkerElement markerHeight/Width tests are broken
https://bugs.webkit.org/show_bug.cgi?id=42616
svg/dynamic-updates: SVGMaskElement tests are all broken
https://bugs.webkit.org/show_bug.cgi?id=42617
Don't ignore resources containing cyclic references, but break them, as discussed on SVG WG mailing lists - to be compatible with Opera which already does that.
We used to lookup RenderSVGResourceContainers objects, by extracting the URI reference from the SVGRenderStyle, then utilizing getElementById() to lookup the
node, and access its renderer. Opera ignores such references, if they point to resources that contain cyclic references. Ignoring them would mean we have
to mutate the render style to empty the resource strings. That obviously doesn't work, as it would break expectations (getComputedStyle, etc.).
Introduce a SVGResources class that stores pointers to all resources, that can be applied to a RenderObject (clipper/filter/markers/masker).
Add a SVGResourcesCache class, which is basically a HashMap<RenderObject*, SVGResources*>. Whenever a RenderObject receives style, we extract the URI references
from the SVGRenderStyle, look up the RenderSVGResourceContainer* objects, and store them in a SVGResources* class. Then we execute a cycle detection logic,
which detects cyclic references and breaks them. Breaking them means just nulling the pointer to the resource in the SVGResources object. Those SVGResources
objects are cached, and used throughout the render tree to access resources. This way it's guaranteed that all cyclic references are resolved until layout/paint
phase begins.
Add destroy/styleDidChange/updateFromElement methods to all SVG renderers, in order to keep track of resource/client changes in the SVGResourcesCache.
As side-effect the SVGResourcesCache now knows which RenderObject references which resource, and thus can handle client registration for a RenderSVGResourceContainer.
The RenderSVGResourceContainer now holds a HashSet of RenderObjects, that's always up2date, and not related to the fact wheter a resources has already been used
for painting. The old logic missed to register clients for a resource, when the resource was in an invalid state. Fixing that fixes the svg/dynamic-updates/SVGMaskElement* tests.
Rewrite all svg/custom/recursive-(filter|gradient|mask|pattern).svg tests to contain a reference image how it should be renderered. All 1:1 compatible with Opera now.
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::layout): Grab selfNeedsLayout() before calling RenderBlock::layout(), otherwhise it's always false.
* rendering/RenderPath.cpp: Don't look up resources manually, use SVGResourcesCache.
(WebCore::RenderPath::fillContains): Remove constness, to avoid the need to pass around const RenderObjects* to the SVGResourcesCache.
(WebCore::RenderPath::strokeContains): Ditto.
(WebCore::RenderPath::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
(WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Remove special client handling for markers, it's all unified now.
(WebCore::RenderPath::styleWillChange): Only call setNeedsBoundariesUpdate when handling StyleDifferenceRepaint/Layout.
* rendering/RenderPath.h:
* rendering/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGBlock::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGBlock::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
* rendering/RenderSVGBlock.h:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
(WebCore::RenderSVGContainer::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::styleDidChange): Rewrite, as invalidateResourceClients() is gone.
* rendering/RenderSVGHiddenContainer.h: Make layout() protected, as RenderSVGResourceContainer overrides it.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
(WebCore::RenderSVGImage::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGImage::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGImage::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
(WebCore::RenderSVGImage::imageChanged): Don't look up resources manually, use SVGResourcesCache.
* rendering/RenderSVGImage.h:
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGInline::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGInline::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
* rendering/RenderSVGInline.h:
* rendering/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGModelObject::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGModelObject::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
* rendering/RenderSVGModelObject.h:
* rendering/RenderSVGResource.cpp:
(WebCore::RenderSVGResource::fillPaintingResource): Remove const from RenderObject parameter.
(WebCore::RenderSVGResource::strokePaintingResource): Ditto.
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): Early exit if we found the first parent resource.
* rendering/RenderSVGResource.h:
* rendering/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): Early exit if m_clipper is empty.
(WebCore::RenderSVGResourceClipper::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceClipper::invalidateClient): Ditto.
(WebCore::RenderSVGResourceClipper::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
(WebCore::RenderSVGResourceClipper::createClipData): Don't look up resources manually, use SVGResourcesCache.
(WebCore::RenderSVGResourceClipper::hitTestClipContent): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
* rendering/RenderSVGResourceClipper.h:
* rendering/RenderSVGResourceContainer.cpp:
(WebCore::svgExtensionsFromNode):
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop registering resource from the constructor, delegate to styleDidChange.
(WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer): Only deregister resource if it was ever registered.
(WebCore::RenderSVGResourceContainer::layout): invalidateClients() here, to avoid the need for invalidateResourceClients() in the SVG DOM. Just call setNeedsLayout() from the SVG DOM.
(WebCore::RenderSVGResourceContainer::destroy): Forward to SVGResourcesCache::resourceDestroyed.
(WebCore::RenderSVGResourceContainer::styleDidChange): Register resource not in the constructor but when it first receives style.
(WebCore::RenderSVGResourceContainer::idChanged): Don't duplicate code, use existing methods from SVGResourcesCache.
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): Add new helper function, to share code between all resources.
(WebCore::RenderSVGResourceContainer::markClientForInvalidation): Ditto.
(WebCore::RenderSVGResourceContainer::addClient): SVGResourcesCache now manages the list of clients. It calls addClient() for each RenderObject that uses this resource.
(WebCore::RenderSVGResourceContainer::removeClient): SVGResourcesCache now manages the list of clients.
(WebCore::RenderSVGResourceContainer::registerResource): New helper function sharing code between idChanged / styleDidChange.
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): Add FIXME that the function is misplaced.
* rendering/RenderSVGResourceContainer.h: Move most functions to the new RenderSVGResourceContainer.cpp file.
* rendering/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): Early exit if m_filter is empty.
(WebCore::RenderSVGResourceFilter::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceFilter::invalidateClient): Ditto.
* rendering/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient): Early exit if m_gradient is empty.
(WebCore::RenderSVGResourceGradient::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceGradient::invalidateClient): Ditto.
* rendering/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker): Now a no-op, markers are unified within the new client handling concept, no more special code needed.
(WebCore::RenderSVGResourceMarker::layout): As RenderSVGResourceMarker skips the RenderSVGResourceContainer::layout() method, we also need to call invalidateClients() here.
(WebCore::RenderSVGResourceMarker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceMarker::invalidateClient): Ditto.
(WebCore::RenderSVGResourceMarker::draw): Remove marker specific logic to catch circular references.
* rendering/RenderSVGResourceMarker.h:
* rendering/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): Early exit if m_masker is empty.
(WebCore::RenderSVGResourceMasker::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourceMasker::invalidateClient): Ditto.
(WebCore::RenderSVGResourceMasker::applyResource): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
* rendering/RenderSVGResourceMasker.h:
* rendering/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern): Early exit if m_pattern is empty.
(WebCore::RenderSVGResourcePattern::invalidateClients): Use new helper functions to invalidate clients, shared between all resources in RenderSVGResourceContainer.
(WebCore::RenderSVGResourcePattern::invalidateClient): Ditto.
(WebCore::RenderSVGResourcePattern::createTileImage): Remove containsCyclicReference() check, SVGResourcesCycleSolver breaks cyclic references, resources do not need to take care anymore.
* rendering/RenderSVGResourcePattern.h:
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::selfWillPaint): Don't look up resources manually, use SVGResourcesCache.
(WebCore::RenderSVGRoot::destroy): Forward to SVGResourcesCache::clientDestroyed.
(WebCore::RenderSVGRoot::styleDidChange): Forward to SVGResourcesCache::clientStyleChanged.
(WebCore::RenderSVGRoot::updateFromElement): Forward to SVGResourcesCache::clientUpdatedFromElement.
* rendering/RenderSVGRoot.h:
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): s/RenderSVGResource::invalidateAllResourcesOfRenderer/SVGResourcesCache::clientLayoutChanged/.
* rendering/RenderSVGText.h:
* rendering/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::acquirePaintingResource): Add RenderObject* parameter, don't assume the style comes from the InlineTextBox parent renderer.
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting): Pass the parent()->renderer() to acquirePaintingResource.
(WebCore::SVGInlineTextBox::paintDecoration): Pass the decoration renderer to acquirePaintingResource.
(WebCore::SVGInlineTextBox::paintDecorationWithStyle): Ditto.
(WebCore::SVGInlineTextBox::paintText): When a selection pseudo style is used to paint the selection, swap styles in the SVGResourcesCache, to take the right resources when painting.
* rendering/SVGInlineTextBox.h:
* rendering/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::prepareToRenderSVGContent): Don't look up resources manually, use SVGResourcesCache.
(WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
(WebCore::SVGRenderSupport::pointInClippingArea): Remove const from RenderObject parameter.
* rendering/SVGRenderSupport.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle): Add two const_cast now that fill/strokePaintingResource take RenderObject* parameters. This was the less intrusive approach, otherwhise more const_casts would be needed.
(WebCore::writeResources): Add FIXME that we should dump the resources present in the SVGResourcesCache instead of manually looking them up from the SVGRenderStyle, to avoid dumping cycles.
* rendering/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientStyleChanged): Use markForLayoutAndParentResourceInvalidation() instead of duplicating code.
* rendering/SVGResourcesCycleSolver.cpp:
(WebCore::setFollowLinkForChainableResource): Implemented stub method.
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff): Return StyleDifferenceLayout, not Repaint for stroke paint changes, otherwhise the cached boundaries are not correctly updated.
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGClipPathElement::childrenChanged): Ditto.
* svg/SVGClipPathElement.h:
(WebCore::SVGClipPathElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
* svg/SVGElement.cpp:
(WebCore::SVGElement::insertedIntoDocument): Only execute buildPendingResource() logic, if needsPendingResourceHandling() returns true. Cleaned up code a bit, to deploy early returns.
* svg/SVGElement.h:
(WebCore::SVGElement::needsPendingResourceHandling): Return true (default). Only needed by SVGTextPathElement/SVGUseElement, and should be removed in future.
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement): Initialize m_followLink=true.
(WebCore::SVGFilterElement::setFilterRes): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGFilterElement::svgAttributeChanged): Ditto.
(WebCore::SVGFilterElement::childrenChanged): Ditto.
* svg/SVGFilterElement.h:
(WebCore::SVGFilterElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
(WebCore::SVGFilterElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): Don't use invalidateResourceClients(), it's a no-op as effects don't have a renderer -> use invalidateFilter().
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::SVGGradientElement): Initialize m_followLink=true.
(WebCore::SVGGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGGradientElement::childrenChanged): Ditto.
* svg/SVGGradientElement.h:
(WebCore::SVGGradientElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
(WebCore::SVGGradientElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGLinearGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGMarkerElement::childrenChanged): Ditto.
(WebCore::SVGMarkerElement::setOrientToAuto): Ditto.
(WebCore::SVGMarkerElement::setOrientToAngle): Ditto.
* svg/SVGMarkerElement.h:
(WebCore::SVGMarkerElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGMaskElement::childrenChanged): Ditto.
* svg/SVGMaskElement.h:
(WebCore::SVGMaskElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement): Initialize m_followLink=true.
(WebCore::SVGPatternElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGPatternElement::childrenChanged): Ditto.
(WebCore::SVGPatternElement::collectPatternProperties): Only follow xlink:href links if m_followLinks == true.
* svg/SVGPatternElement.h:
(WebCore::SVGPatternElement::needsPendingResourceHandling): Return false, buildPendingResource() logic not needed anymore for resources, handled by RenderSVGResourceContainer.
(WebCore::SVGPatternElement::setFollowLink): Used by SVGResourcesCycleSolver, to stop following xlink:href links, if that leads to cyclic references.
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::svgAttributeChanged): Don't use invalidateResourceClients(), it's not needed anymore, only call setNeedsLayout() on the renderer.
(WebCore::SVGRadialGradientElement::collectGradientProperties): Only follow xlink:href links if m_followLinks == true.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::attach): Call updateFromElement upon attach(), needed by all resource renderers. Defaults to a no-op in RenderObject.h
* svg/SVGStyledElement.h: Remove invalidateResourceClients(), it's not needed anymore.
2010-07-29 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
WebKit shouldn't ignore resource cycles, but break them as Opera does
https://bugs.webkit.org/show_bug.cgi?id=43031
Rebaseline results now that cycles are broken, instead of ignored.
* platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.txt:
* platform/mac/svg/clip-path/clip-path-recursive-call-expected.checksum:
* platform/mac/svg/clip-path/clip-path-recursive-call-expected.png:
* platform/mac/svg/custom/circular-marker-reference-4-expected.txt:
* platform/mac/svg/custom/gradient-cycle-detection-expected.checksum:
* platform/mac/svg/custom/gradient-cycle-detection-expected.png:
* platform/mac/svg/custom/recursive-clippath-expected.checksum:
* platform/mac/svg/custom/recursive-clippath-expected.png:
* platform/mac/svg/custom/recursive-clippath-expected.txt:
* platform/mac/svg/custom/recursive-filter-expected.checksum:
* platform/mac/svg/custom/recursive-filter-expected.png:
* platform/mac/svg/custom/recursive-filter-expected.txt:
* platform/mac/svg/custom/recursive-gradient-expected.checksum:
* platform/mac/svg/custom/recursive-gradient-expected.png:
* platform/mac/svg/custom/recursive-gradient-expected.txt:
* platform/mac/svg/custom/recursive-mask-expected.checksum:
* platform/mac/svg/custom/recursive-mask-expected.png:
* platform/mac/svg/custom/recursive-mask-expected.txt:
* platform/mac/svg/custom/recursive-pattern-expected.checksum:
* platform/mac/svg/custom/recursive-pattern-expected.png:
* platform/mac/svg/custom/recursive-pattern-expected.txt:
* platform/mac/svg/custom/use-events-crash-expected.txt:
* platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.checksum:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
* platform/mac/svg/hixie/error/017-expected.txt:
* svg/clip-path/clip-path-recursive-call-by-child.svg: Rewrite test to match expectations, now that cycles are broken, not ignored. Looks like in Opera.
* svg/custom/js-late-clipPath-and-object-creation.svg: Don't update from within the onload event, instead use zero-ms timeouts, to test updating reliable. It failed before this patch.
* svg/custom/js-late-clipPath-creation.svg: Ditto.
* svg/custom/js-late-gradient-and-object-creation.svg: Ditto.
* svg/custom/js-late-gradient-creation.svg: Ditto.
* svg/custom/js-late-marker-and-object-creation.svg: Ditto.
* svg/custom/js-late-marker-creation.svg: Ditto.
* svg/custom/js-late-mask-and-object-creation.svg: Ditto.
* svg/custom/js-late-mask-creation.svg: Ditto.
* svg/custom/js-late-pattern-and-object-creation.svg: Ditto.
* svg/custom/js-late-pattern-creation.svg: Ditto.
* svg/custom/recursive-clippath.svg: Add a reference rendering, side by side to the test, for the ease of comparision. Passes in WebKit + Opera.
* svg/custom/recursive-filter.svg: Ditto.
* svg/custom/recursive-gradient.svg: Ditto.
* svg/custom/recursive-mask.svg: Ditto.
* svg/custom/recursive-pattern.svg: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64275
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 29 Jul 2010 13:45:57 +0000 (13:45 +0000)]
Speed up find-included-framework-headers
We only do one invocation of find now, no longer pipe to grep, and
replace uniq with sort -u.
Also added a license header.
* Scripts/find-included-framework-headers:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 13:33:38 +0000 (13:33 +0000)]
2010-07-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Kenneth Rohde Christiansen.
[EFL] Support to enable WML in WebKit EFL
https://bugs.webkit.org/show_bug.cgi?id=43178
WebKit EFL cannot enable WML. WML files are added to CMakeLists.txt
to enable WML in WebKit EFL.
* CMakeLists.txt: Support to enable WML.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64273
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tonikitoo@webkit.org [Thu, 29 Jul 2010 13:19:43 +0000 (13:19 +0000)]
2010-07-21 Grace Kloba <klobag@gmail.com> , Antonio Gomes <tonikitoo@webkit.org>
Reviewed by David Hyatt.
Enhance the hit testing to take a rectangle instead of a point
https://bugs.webkit.org/show_bug.cgi?id=40197
The primary goal of this change is to provide mechanisms for more precise tap
actions by the users on mobile devices.
Patch extends the hit testing system to work considering a rectangular area
as input instead of a point, when applicable. For that, the HitTestResult class
was modified to take a padding (IntSize). The padding specifies a fuzzy range for
accepting input events in pixels coordinates for both vertical and horizontal
orientations. In other words, it tells how much to expand the search rect
around a supposed touch point.
If it non-positive, hit testing will behavior as the current point based hit testing,
and methods are no-op'ed to not regress this common behavior performance-wise.
When positive IntSize is provided, the hit test result will keep record of all
nodes that intersect the built up test area. The logic will continue searching when it
finds a candidate until the rectangle is fully enclosed by the boundaries of a candidate.
The result will be a list of nodes in the z-order they are hit-tested.
Caller will decide how to process them.
In order to expose the functionality, the patch:
- Adds a nodesFromRect method to the Document class, exposing the funcionality
to the DOM. Method returns a NodeList with all nodes that intersect the given
hit-tested area.
- Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding'
parameter, defaulting to IntSize(0, 0). The rect-based hit test is performed when a
positive padding is passed in.
Test: fast/dom/nodesFromRect-basic.html
* WebCore.base.exp:
* dom/Document.cpp:
(WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to
the DOM. It works similarly to elementFromPoint, however receiving a rectangular area
as input instead of a point, and returning a z-index ordered list of nodes (not elements)
whose area intersect the hit test rect.
* dom/Document.h: Ditto.
* dom/Document.idl: Ditto.
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this
method. Patch adds a additional IntSize parameter to work as the padding area, building up
the hit test rect.
* page/EventHandler.h: Ditto.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a
padding IntSize as parameter. It can be (0,0).
(WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well.
(WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the
list node's of both objects get amended.
(WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of
hit nodes.
* rendering/HitTestResult.h:
(WebCore::HitTestResult::padding): Returns the padding as an IntSize.
(WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not.
(WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit.
(WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point
and padding.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::hitTestChildLayerColumns):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension.
Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but
instead it checks if the boundary of the node intersects a hit test rect. It is implemented so
that the common case (point based hit test) works as previously.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint): Ditto.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint): Ditto.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint): Ditto.
(WebCore::RenderBlock::hitTestColumns): Ditto.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint): Ditto.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint): Ditto.
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::hitTest):
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint): Ditto.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint): Ditto.
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::nodeAtPoint): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64272
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andreip@google.com [Thu, 29 Jul 2010 12:00:17 +0000 (12:00 +0000)]
2010-07-29 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] WebDOMStringList ctor is not exported and causes link errors for the multi-dll chromium build
https://bugs.webkit.org/show_bug.cgi?id=43186
Add WEBKIT_API to WebDOMStringList default ctor.
* public/WebDOMStringList.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
steveblock@google.com [Thu, 29 Jul 2010 11:41:34 +0000 (11:41 +0000)]
2010-07-29 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589
* fast/dom/DeviceOrientation/basic-operation-expected.txt: Added.
* fast/dom/DeviceOrientation/basic-operation.html: Added.
* fast/dom/DeviceOrientation/script-tests/basic-operation.js: Added.
* platform/gtk/Skipped:
2010-07-29 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589
This patch does not hook up the new LayoutTestController method to WebKit
for any platform. This will be done in later patches.
https://bugs.webkit.org/show_bug.cgi?id=43181 tracks this for Mac.
Test: fast/dom/DeviceOrientation/basic-operation.html
* WebCore/WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* dom/DeviceOrientationClient.h:
(WebCore::DeviceOrientationClient::~DeviceOrientationClient):
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
* dom/DeviceOrientationEvent.cpp:
* platform/mock/DeviceOrientationClientMock.cpp: Added.
(WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
(WebCore::DeviceOrientationClientMock::setController):
(WebCore::DeviceOrientationClientMock::startUpdating):
(WebCore::DeviceOrientationClientMock::stopUpdating):
(WebCore::DeviceOrientationClientMock::setOrientation):
(WebCore::DeviceOrientationClientMock::timerFired):
* platform/mock/DeviceOrientationClientMock.h: Added.
(WebCore::DeviceOrientationClientMock::lastOrientation):
2010-07-29 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Add LayoutTestController methods to test DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39589
* DumpRenderTree/LayoutTestController.cpp:
(setMockDeviceOrientationCallback):
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
* DumpRenderTree/chromium/LayoutTestController.cpp:
* DumpRenderTree/chromium/LayoutTestController.h:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/qt/LayoutTestControllerQt.h:
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::setMockDeviceOrientation):
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
(LayoutTestController::setMockDeviceOrientation):
* Scripts/build-webkit:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64270
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 11:27:54 +0000 (11:27 +0000)]
2010-07-29 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Runtime feature switch for speech input.
https://bugs.webkit.org/show_bug.cgi?id=43146
Add a runtime feature switch that decides whether speech input attributes are available or not.
Defaults to true.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled):
(WebCore::RuntimeEnabledFeatures::speechInputEnabled):
(WebCore::RuntimeEnabledFeatures::speechEnabled):
* html/HTMLInputElement.idl:
2010-07-29 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Runtime feature switch for speech input
https://bugs.webkit.org/show_bug.cgi?id=43146
Add a runtime feature switch that decides whether speech input attributes are available or not.
Defaults to true.
* public/WebRuntimeFeatures.h:
* src/SpeechInputClientImpl.cpp:
(WebKit::SpeechInputClientImpl::SpeechInputClientImpl):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableSpeechInput):
(WebKit::WebRuntimeFeatures::isSpeechInputEnabled):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64269
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jorlow@chromium.org [Thu, 29 Jul 2010 10:27:04 +0000 (10:27 +0000)]
2010-07-29 Jeremy Orlow <jorlow@chromium.org>
http://trac.webkit.org/changeset/64266 and its parents missed one
baseline. Add it.
Not reviewed.
* platform/chromium-win/svg/custom/convolution-crash-expected.checksum: Added.
* platform/chromium-win/svg/custom/convolution-crash-expected.png: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64268
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Thu, 29 Jul 2010 09:05:33 +0000 (09:05 +0000)]
2010-07-27 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
Inspector should display CDATA section data
https://bugs.webkit.org/show_bug.cgi?id=16259
WebCore:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/front-end/ElementsTreeOutline.js:
():
LayoutTests:
* inspector/elements-panel-xhtml-structure-expected.txt:
* inspector/elements-panel-xhtml-structure.xhtml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 08:22:25 +0000 (08:22 +0000)]
2010-07-29 Alex Nicolaou <anicolao@chromium.org>
Reviewed by Dirk Schulze.
[chromium] new svg failures after r63485
https://bugs.webkit.org/show_bug.cgi?id=42428
Now that my fix for https://bugs.webkit.org/show_bug.cgi?id=43102
is checked in, 42428 is fixed also as well as a bunch of other tests
that were previously failing because of the wrong colourspace for the
SVG mask. This change resets expectations to pass for the appropriate
tests.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64266
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 05:52:51 +0000 (05:52 +0000)]
2010-07-28 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Enable UI for chromium's appcache inspection.
https://bugs.webkit.org/show_bug.cgi?id=43098
* inspector/front-end/Settings.js: Removed appCacheEnabled.
* inspector/front-end/StoragePanel.js: Removed appCacheEnabled condition.
(WebInspector.StoragePanel):
(WebInspector.StoragePanel.prototype.reset):
(WebInspector.StoragePanel.prototype.addApplicationCache):
2010-07-28 Kavita Kanetkar <kkanetkar@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Enable UI for chromium's appcache inspection.
https://bugs.webkit.org/show_bug.cgi?id=43098
* src/js/DevTools.js:
(WebInspector.loaded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
victorw@chromium.org [Thu, 29 Jul 2010 04:02:49 +0000 (04:02 +0000)]
2010-07-28 Victor Wang <victorw@chromium.org>
Unreviewed. Update chromium test expectations for svg test.
After Alex Nicolaou's patch http://trac.webkit.org/changeset/64254,
Chromium should have same results with platform/mac or platform/mac-leopard.
Also rebaselin leopard result for the new test added by r64254.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.png: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum: Removed.
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png: Removed.
* platform/chromium-mac/svg/custom/feDisplacementMap-01-expected.checksum: Removed.
* platform/chromium-mac/svg/custom/feDisplacementMap-01-expected.png: Removed.
* platform/chromium-mac/svg/custom/image-with-transform-clip-filter-expected.checksum: Removed.
* platform/chromium-mac/svg/custom/image-with-transform-clip-filter-expected.png: Removed.
* platform/chromium-mac/svg/custom/recursive-filter-expected.checksum: Removed.
* platform/chromium-mac/svg/custom/recursive-filter-expected.png: Removed.
* platform/chromium-mac/svg/filters/feLighting-crash-expected.checksum: Removed.
* platform/chromium-mac/svg/filters/feLighting-crash-expected.png: Removed.
* platform/chromium-mac/svg/filters/filter-on-tspan-expected.checksum: Removed.
* platform/chromium-mac/svg/filters/filter-on-tspan-expected.png: Removed.
* platform/chromium-mac/svg/filters/filter-width-update-expected.checksum: Removed.
* platform/chromium-mac/svg/filters/filteredImage-expected.checksum: Removed.
* platform/chromium-mac/svg/filters/parent-children-with-same-filter-expected.checksum: Removed.
* platform/chromium-mac/svg/filters/parent-children-with-same-filter-expected.png: Removed.
* platform/mac-leopard/svg/custom/mask-colorspace-expected.checksum: Added.
* platform/mac-leopard/svg/custom/mask-colorspace-expected.png: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64264
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 03:36:41 +0000 (03:36 +0000)]
2010-07-28 Kenichi Ishibashi <bashi@google.com>
Reviewed by Shinichiro Hamaji.
Fixed <https://bugs.webkit.org/show_bug.cgi?id=33814>
check-webkit-style gives false positives in single-line functions.
* Scripts/webkitpy/style/checkers/cpp.py:
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 29 Jul 2010 03:24:50 +0000 (03:24 +0000)]
2010-07-28 Bryan Gislason <bgislason@rim.com>
Reviewed by Nate Chapin.
Minor compile errors in loadMediaPlayerProxyPlugin
https://bugs.webkit.org/show_bug.cgi?id=43141
* WebCore/loader/SubframeLoader.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@64262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc