paroga@webkit.org [Tue, 29 Jan 2013 21:18:41 +0000 (21:18 +0000)]
[CMake] Add minimum version information for tool dependencies
https://bugs.webkit.org/show_bug.cgi?id=97592
Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-29
Reviewed by Kenneth Rohde Christiansen.
Capture the minimum version information for the tools that are required
to build WebKit for all CMake based build systems.
* CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141157
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Tue, 29 Jan 2013 21:14:58 +0000 (21:14 +0000)]
Rename TextBreakIteratorWinCE to TextBreakIteratorWchar
https://bugs.webkit.org/show_bug.cgi?id=108094
Reviewed by Ryosuke Niwa.
TextBreakIteratorWinCE does not contain any Windows CE specific code.
Rename it to TextBreakIteratorWchar to match the name in wtf/unicode.
* platform/text/wchar/TextBreakIteratorWchar.cpp: Renamed from Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141156
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Tue, 29 Jan 2013 21:11:11 +0000 (21:11 +0000)]
Force debug builds to do bounds checks on contiguous property storage
https://bugs.webkit.org/show_bug.cgi?id=108212
Reviewed by Mark Hahnenberg.
Add a ContiguousData type that we use to represent contiguous property
storage. In release builds it is simply a pointer to the correct type,
but in debug builds it also carries the data length and performs bounds
checks. This means we don't have to add as many manual bounds assertions
when performing operations over contiguous data.
* dfg/DFGOperations.cpp:
* runtime/ArrayStorage.h:
(ArrayStorage):
(JSC::ArrayStorage::vector):
* runtime/Butterfly.h:
(JSC::ContiguousData::ContiguousData):
(ContiguousData):
(JSC::ContiguousData::operator[]):
(JSC::ContiguousData::data):
(JSC::ContiguousData::length):
(JSC):
(JSC::Butterfly::contiguousInt32):
(Butterfly):
(JSC::Butterfly::contiguousDouble):
(JSC::Butterfly::contiguous):
* runtime/JSArray.cpp:
(JSC::JSArray::sortNumericVector):
(ContiguousTypeAccessor):
(JSC::ContiguousTypeAccessor::getAsValue):
(JSC::ContiguousTypeAccessor::setWithValue):
(JSC::ContiguousTypeAccessor::replaceDataReference):
(JSC):
(JSC::JSArray::sortCompactedVector):
(JSC::JSArray::sort):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
* runtime/JSArray.h:
(JSArray):
* runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):
(JSC::JSObject::visitButterfly):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::genericConvertDoubleToContiguous):
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::rageConvertDoubleToContiguous):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::rageEnsureContiguousSlow):
(JSC::JSObject::ensureLengthSlow):
* runtime/JSObject.h:
(JSC::JSObject::ensureInt32):
(JSC::JSObject::ensureDouble):
(JSC::JSObject::ensureContiguous):
(JSC::JSObject::rageEnsureContiguous):
(JSObject):
(JSC::JSObject::indexingData):
(JSC::JSObject::currentIndexingData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141154
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wangxianzhu@chromium.org [Tue, 29 Jan 2013 21:08:37 +0000 (21:08 +0000)]
[Chromium] Correct zoom for focused node when using compositor scaling
https://bugs.webkit.org/show_bug.cgi?id=107599
Reviewed by Adam Barth.
When applyDeviceScaleFactorInCompositor, targetScale should exclude device scale factor.
When applyPageScaleFactorInCompositor, caret size and content sizes are in css pixels and they should be in the viewport of the new scale.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollFocusedNodeIntoRect):
(WebKit):
(WebKit::WebViewImpl::computeScaleAndScrollForFocusedNode): Extracted from scrollFocusedNodeIntoRect() to ease testing.
* src/WebViewImpl.h:
(WebViewImpl):
* tests/WebFrameTest.cpp: Updated test DivScrollEditableTest
* tests/data/get_scale_for_zoom_into_editable_test.html: Moved the logic of onload script (which seems not to work) into WebFrameTest.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141153
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bruno.abinader@basyskom.com [Tue, 29 Jan 2013 21:04:46 +0000 (21:04 +0000)]
[EFL] Add Toggle fullscreen (F11) to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=108122
Reviewed by Antonio Gomes.
Adds fullscreen mode toggle (F11) option to MiniBrowser using native API.
* MiniBrowser/efl/main.c:
(on_key_down): Add 'F11' key handler.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141152
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tommyw@google.com [Tue, 29 Jan 2013 20:59:32 +0000 (20:59 +0000)]
MediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescriptor it belongs to
https://bugs.webkit.org/show_bug.cgi?id=108173
Reviewed by Adam Barth.
Source/Platform:
* chromium/public/WebMediaStreamComponent.h:
(WebKit):
(WebMediaStreamComponent):
Source/WebCore:
To be able to return the MediaStreamDescriptor a MediaStreamComponent belongs to the "ownership"
of the MediaStreamDescriptor needed to move from a MediaStreamTrack to the MediaStreamComponent.
This is also better from an architectonic view as well.
Patch covered by existing tests.
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::addRemoteTrack):
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::create):
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::setEnabled):
* Modules/mediastream/MediaStreamTrack.h:
(MediaStreamTrack):
* Modules/mediastream/RTCStatsRequestImpl.cpp:
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
* platform/chromium/support/WebMediaStreamComponent.cpp:
(WebKit::WebMediaStreamComponent::stream):
(WebKit):
* platform/mediastream/MediaStreamComponent.h:
(WebCore):
(WebCore::MediaStreamComponent::create):
(MediaStreamComponent):
(WebCore::MediaStreamComponent::stream):
(WebCore::MediaStreamComponent::setStream):
(WebCore::MediaStreamComponent::MediaStreamComponent):
* platform/mediastream/MediaStreamDescriptor.h:
(WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141151
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 29 Jan 2013 20:56:37 +0000 (20:56 +0000)]
Encode/decode message send flags in the message
https://bugs.webkit.org/show_bug.cgi?id=108208
Reviewed by Beth Dakin.
This is another step towards getting rid of MessageID.
* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::decodeUInt8):
(CoreIPC):
* Platform/CoreIPC/ArgumentDecoder.h:
(ArgumentDecoder):
(CoreIPC::ArgumentDecoder::decode):
(CoreIPC):
* Platform/CoreIPC/ArgumentEncoder.cpp:
(CoreIPC::ArgumentEncoder::encode):
(CoreIPC):
* Platform/CoreIPC/ArgumentEncoder.h:
(ArgumentEncoder):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendMessage):
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
(CoreIPC::MessageDecoder::messageSendFlags):
(MessageDecoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC):
(CoreIPC::MessageEncoder::MessageEncoder):
(CoreIPC::MessageEncoder::~MessageEncoder):
(CoreIPC::MessageEncoder::setMessageSendFlags):
* Platform/CoreIPC/MessageEncoder.h:
(MessageEncoder):
* UIProcess/Authentication/AuthenticationChallengeProxy.h:
(CoreIPC):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141150
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@webkit.org [Tue, 29 Jan 2013 20:56:20 +0000 (20:56 +0000)]
[Windows, WinCairo] Unreviewed build fix after r141050
* JavaScriptCore.vcxproj/JavaScriptCoreExports.def: Update symbols
to match JavaScriptCore.vcproj version.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141149
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 20:54:16 +0000 (20:54 +0000)]
Current error reporting method used by check-layout.js should not affect subsequent sub-tests using checking data-offset-y.
https://bugs.webkit.org/show_bug.cgi?id=105407
Patch by Pravin D <pravind.2k4@gmail.com> on 2013-01-29
Reviewed by Tony Chang.
When a testcase is processed by check-layout.js, the result is written just after the node being processed. This causes
offsetTop of subsequent sub-testcases to altered. If however if we process the nodes in the reverse order in which they
appear in the DOM tree, the result of node being processed will not affect the offsetTop of susequent nodes.
* resources/check-layout.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141147
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alecflett@chromium.org [Tue, 29 Jan 2013 20:32:51 +0000 (20:32 +0000)]
IndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess
https://bugs.webkit.org/show_bug.cgi?id=103920
Reviewed by Dimitri Glazkov.
Source/WebCore:
Update IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded to
pass through a metadata parameter. While there, remove the unused
IDBTransactionBackendInterface parameter to onUpgradeNeeded.
As this is another step in the IDB refactor, I've simplified future cleanup
work by making the WebKit API code still use the old API. This
will make it possible to outright remove code on the chromium side rather
than another three-step checkin.
No new tests, as this is more refactoring.
* Modules/indexeddb/IDBCallbacks.h:
(WebCore::IDBCallbacks::onUpgradeNeeded): new method signature.
(WebCore::IDBCallbacks::onSuccess): new method signature.
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded): use passed-in metadata.
(WebCore::IDBOpenDBRequest::onSuccess): use passed-in metadata.
* Modules/indexeddb/IDBOpenDBRequest.h:
(IDBOpenDBRequest):
Source/WebKit/chromium:
Support the new IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded
while maintaining chromium compatibility by shimming in the old API
in the WebKit side. Future code will clean this up so that it is just a
pass-through as it was before.
* public/WebIDBCallbacks.h:
(WebKit):
(WebKit::WebIDBCallbacks::onSuccess): new method signature.
(WebKit::WebIDBCallbacks::onUpgradeNeeded): new method signature.
* src/IDBCallbacksProxy.cpp:
(WebKit::IDBCallbacksProxy::onSuccess): call on new method signature proxies through old API.
(WebKit):
(WebKit::IDBCallbacksProxy::onUpgradeNeeded): call on new method signature proxies through old API.
* src/IDBCallbacksProxy.h:
(IDBCallbacksProxy):
* src/WebIDBCallbacksImpl.cpp:
(WebKit::WebIDBCallbacksImpl::onSuccess): call on old WebKit proxy signature calls new API.
(WebKit):
(WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): call on old WebKit proxy signature calls new API.
* src/WebIDBCallbacksImpl.h:
(WebIDBCallbacksImpl):
* tests/IDBAbortOnCorruptTest.cpp: new method signature.
(WebCore::MockIDBCallbacks::onSuccess):
* tests/IDBDatabaseBackendTest.cpp: new method signature.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
krit@webkit.org [Tue, 29 Jan 2013 20:26:29 +0000 (20:26 +0000)]
Canvas support for isPointInStroke
https://bugs.webkit.org/show_bug.cgi?id=108185
Reviewed by Dean Jackson.
Source/WebCore:
isPointInStroke(x,y) returns true if a point hits the stroke
with applied stroke styles like dashArray, lineCap, lineJoin, lineWidth.
The syntax is similar to isPointInPath, which returns true if a point hits
the fill area of a path.
Firefox implemented isPointInStroke originally and unprefixed it recently:
https://bugzilla.mozilla.org/show_bug.cgi?id=803124
Test: fast/canvas/canvas-isPointInStroke.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasStrokeStyleApplier::strokeStyle): Take dashArray and lineDashOffset into account.
(WebCore):
(WebCore::CanvasRenderingContext2D::isPointInStroke): The implementation of the function.
* html/canvas/CanvasRenderingContext2D.h:
(CanvasRenderingContext2D):
* html/canvas/CanvasRenderingContext2D.idl: Added operation to interface.
LayoutTests:
Test the implementation of isPointOfStroke with all stroke style
properties in Canvas.
* fast/canvas/canvas-isPointInStroke-expected.txt: Added.
* fast/canvas/canvas-isPointInStroke.html: Added.
* fast/canvas/script-tests/canvas-isPointInStroke.js: Added.
* fast/canvas/canvas-isPointInStroke-expected.txt: Added.
* fast/canvas/canvas-isPointInStroke.html: Added.
* fast/canvas/script-tests/canvas-isPointInStroke.js: Added.
* inspector/profiler/canvas2d/canvas2d-api-changes.html: Added property for isPointInStroke.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141141
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Tue, 29 Jan 2013 20:19:48 +0000 (20:19 +0000)]
Unreviewed GTK gardening.
Rebaselining after r141122.
Removing a few duplicate test expectations.
* platform/gtk/TestExpectations:
* platform/gtk/fast/text/midword-break-before-surrogate-pair-expected.txt:
* platform/gtk/fonts/complex-text-shadows-expected.txt: Replaced with LayoutTests/platform/gtk/platform/gtk/fonts/complex-text-shadows-expected.txt.
* platform/gtk/fonts/font-face-with-complex-text-expected.txt: Replaced with LayoutTests/platform/gtk/platform/gtk/fonts/font-face-with-complex-text-expected.txt.
* platform/gtk/fonts/non-bmp-characters-expected.png: Copied from LayoutTests/platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png.
* platform/gtk/fonts/non-bmp-characters-expected.txt: Copied from LayoutTests/platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt.
* platform/gtk/platform/gtk/fonts/complex-text-shadows-expected.txt: Removed.
* platform/gtk/platform/gtk/fonts/font-face-with-complex-text-expected.txt: Removed.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png: Removed.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt: Removed.
* platform/gtk/svg/text/non-bmp-positioning-lists-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141140
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
paroga@webkit.org [Tue, 29 Jan 2013 20:07:46 +0000 (20:07 +0000)]
[CMake] Use offical Windows CE support
https://bugs.webkit.org/show_bug.cgi?id=108061
Reviewed by Laszlo Gombos.
Recent version of CMake has added Windows CE support, but uses a
slightly different interface than the patched version used before.
Change the command line parameters to use the offical CMake binaries.
* Scripts/webkitdirs.pm:
(cmakeBasedPortArguments):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141137
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
japhet@chromium.org [Tue, 29 Jan 2013 20:06:19 +0000 (20:06 +0000)]
.: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667
Reviewed by Adam Barth.
* Source/autotools/symbols.filter: Expose MemoryCache::resourceForURL().
Source/WebCore: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667
Reviewed by Adam Barth.
Test: http/tests/cache/cached-main-resource.html
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
(WebCore):
* dom/Document.h:
(Document):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
MainResourceLoader will take care of it.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
(WebCore::MainResourceLoader::identifier):
* loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
to better describe when it is used.
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
(WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
(WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
* loader/cache/CachedRawResource.h:
(CachedRawResource):
(RedirectPair):
(WebCore::CachedRawResource::RedirectPair::RedirectPair):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::addClientToSet): Don't return cached data for a main resource synchronously
* loader/cache/CachedResource.h:
(WebCore::CachedResource::canReuse):
(CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource): Leave cahce reuse of main resources off for chromium for now.
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
* testing/Internals.cpp:
(WebCore::Internals::isPreloaded):
(WebCore):
(WebCore::Internals::isLoadingFromMemoryCache):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:
Source/WebKit/win: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667
Reviewed by Adam Barth.
* WebKit.vcproj/WebKitExports.def.in: Expose some MemoryCache symbols for use in Internals.
LayoutTests: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667.
Reviewed by Adam Barth.
* http/tests/cache/cached-main-resource-expected.txt: Added.
* http/tests/cache/cached-main-resource.html: Added.
* http/tests/cache/resources/cacheable-iframe.php: Added.
* http/tests/inspector/resource-har-pages-expected.txt:
* http/tests/loading/redirect-methods-expected.txt:
* http/tests/misc/favicon-loads-with-images-disabled-expected.txt:
* http/tests/misc/link-rel-icon-beforeload-expected.txt:
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141136
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 19:09:48 +0000 (19:09 +0000)]
Fix a problem that deferred image decoding is enabled for multiframe images
https://bugs.webkit.org/show_bug.cgi?id=108152
Patch by Min Qin <qinmin@chromium.org> on 2013-01-29
Reviewed by Stephen White.
Deferred image decoding should only work for single frame images now.
However, using ImageDecoder::repetitionCount() does not capture all the cases.
Enforce the rule using ImageDecoder::frameCount()==1.
Fixing a failing layout test: platform/chromium/virtual/deferred/fast/images/icon-0colors.html
* platform/graphics/chromium/DeferredImageDecoder.cpp:
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141135
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aelias@chromium.org [Tue, 29 Jan 2013 19:01:36 +0000 (19:01 +0000)]
[chromium] Fix contents size calculation for page scale initialization
https://bugs.webkit.org/show_bug.cgi?id=108204
Reviewed by enne.
My previous patch http://webk.it/107424 had a few issues that are
blocking WebKit roll.
- We still need the layout in resize() given that
http://webk.it/107922 was reverted.
- I deleted code used only for the old page-scale mode in
contentsSize(), but this needs to wait until WebKit roll since it's
making bots fail in this short term.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::resize):
(WebKit::WebViewImpl::contentsSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141134
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 29 Jan 2013 18:22:13 +0000 (18:22 +0000)]
Add back test expectations that got erroneously removed in r140981.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141133
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
esprehn@chromium.org [Tue, 29 Jan 2013 18:22:03 +0000 (18:22 +0000)]
Move ElementShadow creation to ElementRareData
https://bugs.webkit.org/show_bug.cgi?id=108195
Reviewed by Dimitri Glazkov.
Move the creation of ElementShadow to ElementRareData
for better encapsulation, and get rid of ElementRareData::setShadow.
No new tests, just refactoring.
* dom/Element.cpp:
(WebCore::Element::~Element): Use clearShadow() instead of setShadow which is removed.
(WebCore::Element::shadow):
(WebCore::Element::ensureShadow): Use ElementRareData::ensureShadow().
* dom/ElementRareData.h:
(WebCore::ElementRareData::clearShadow): Added.
(WebCore::ElementRareData::ensureShadow): Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141132
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hclam@chromium.org [Tue, 29 Jan 2013 18:16:03 +0000 (18:16 +0000)]
[chromium] Unreviewed build fix.
Revert my revert at 141033 which can cause deadlock.
* platform/graphics/chromium/DiscardablePixelRef.cpp:
(WebCore::DiscardablePixelRefAllocator::allocPixelRef):
(WebCore::DiscardablePixelRef::DiscardablePixelRef):
* platform/graphics/chromium/DiscardablePixelRef.h:
(DiscardablePixelRef):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141131
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hclam@chromium.org [Tue, 29 Jan 2013 18:09:36 +0000 (18:09 +0000)]
[chromium] Unreviewed DEPS roll.
Roll Chromium DEPS to 179332.
* DEPS:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141130
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 18:07:52 +0000 (18:07 +0000)]
QueueStatusServer needs pages to display historical queue data
https://bugs.webkit.org/show_bug.cgi?id=107659
Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-29
Reviewed by Eric Seidel.
Created a /queue-charts/<queue-name> handler to present queue and patch data using Google Chart Tools.
* QueueStatusServer/app.yaml:
* QueueStatusServer/config/charts.py: Copied from Tools/QueueStatusServer/model/queuelog.py.
(get_time_unit):
* QueueStatusServer/filters/webkit_extras.py:
(webkit_linkify):
(webkit_bug_id):
(webkit_attachment_id):
(results_link):
(queue_status_link):
(queue_charts_link):
* QueueStatusServer/handlers/queuecharts.py: Added.
(QueueCharts):
(QueueCharts.get):
(QueueCharts._get_min_med_max):
(QueueCharts._get_patch_data):
(QueueCharts._get_patch_logs):
(QueueCharts._get_queue_data):
(QueueCharts._get_queue_logs):
(QueueCharts._get_time_unit):
(QueueCharts._get_timestamp):
(QueueCharts._get_view_range):
* QueueStatusServer/handlers/queuestatus.py:
(QueueStatus.get):
* QueueStatusServer/index.yaml:
* QueueStatusServer/main.py:
* QueueStatusServer/model/queuelog.py:
(QueueLog):
(QueueLog.create_key):
(QueueLog.get_at):
(QueueLog.get_current):
(QueueLog.get_or_create):
(QueueLog._get_or_create_txn):
* QueueStatusServer/stylesheets/charts.css: Added.
(.chart):
(.choices):
* QueueStatusServer/templates/queuecharts.html: Added.
* QueueStatusServer/templates/queuestatus.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141129
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jsbell@chromium.org [Tue, 29 Jan 2013 17:58:07 +0000 (17:58 +0000)]
[Chromium] IndexedDB: Let callers specify reason (error) for aborting transaction
https://bugs.webkit.org/show_bug.cgi?id=107851
Reviewed by Tony Chang.
Source/WebCore:
Internal to the back-end, callers are able to abort transactions and specify a reason
as an IDBDatabaseError, e.g. ConstraintError. Expose this to the WebKit/chromium/public
API so that intermediate layers can specify reasons as well, e.g. QuotaExceededError.
Test will land in Chromium as fix for crbug.com/113118
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::abort): Added overload that takes error.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Ditto.
* Modules/indexeddb/IDBDatabaseBackendInterface.h: Ditto.
Source/WebKit/chromium:
Let Chromium call abort() on a transaction and specify a reason, specifically for
QuotaExceededError.
* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::abort): New overload for abort() that takes an error.
* public/WebIDBDatabaseError.h:
(WebKit::WebIDBDatabaseError::WebIDBDatabaseError): Overloaded constructor/assign that takes error.
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::abort): New overload for abort() that takes an error.
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy): Ditto.
* src/WebIDBDatabaseError.cpp: Implementation of overload ctor/assign.
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::abort): New overload for abort() that takes an error.
* src/WebIDBDatabaseImpl.h: Ditto.
* tests/IDBDatabaseBackendTest.cpp: Overload stubs for Mock class.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141128
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vcarbune@chromium.org [Tue, 29 Jan 2013 17:52:17 +0000 (17:52 +0000)]
Heap-use-after-free in WebCore::RenderTextTrackCue::layout
https://bugs.webkit.org/show_bug.cgi?id=108197
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/track/track-cue-rendering-tree-is-removed-properly.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackRemoveCue): Ensure the display tree
is removed when the cue is removed from the list of cues.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::~TextTrackCue): Enfore display tree removal.
LayoutTests:
Added test that triggers the crash. Verified proper removal of the tree.
* media/track/track-cue-rendering-tree-is-removed-properly-expected.txt: Added.
* media/track/track-cue-rendering-tree-is-removed-properly.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141127
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Tue, 29 Jan 2013 17:50:53 +0000 (17:50 +0000)]
[GTK] Missing build flags when building with Harfbuzz
https://bugs.webkit.org/show_bug.cgi?id=108174
Reviewed by Martin Robinson.
Add FREETYPE_CFLAGS and FREETYPE_LIBS to makefiles so -lharfbuzz
parameter will be added to linking lines when needed.
Source/WebKit/gtk:
* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
Source/WebKit2:
* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* UIProcess/API/gtk/tests/GNUmakefile.am: Ditto.
Tools:
* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* MiniBrowser/gtk/GNUmakefile.am: Ditto.
* TestWebKitAPI/GNUmakefile.am: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141126
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fmalita@chromium.org [Tue, 29 Jan 2013 17:44:35 +0000 (17:44 +0000)]
[Chromium] Unreviewed gardening.
Disable WebFrameTest.pageScaleFactorShrinksViewport (pending investigation after r141053).
* tests/WebFrameTest.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
efidler@rim.com [Tue, 29 Jan 2013 17:32:35 +0000 (17:32 +0000)]
On HarfbuzzNG ports, Arabic TATWEEL is not joined.
https://bugs.webkit.org/show_bug.cgi?id=108037
Reviewed by Tony Chang.
The tatweel (U+0640) is being split into a separate run, because its script is USCRIPT_COMMON.
It has script extensions for USCRIPT_ARABIC, so I think it shouldn't trigger a new run.
Test: fast/text/international/arabic-tatweel-join.html
* platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141124
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 17:29:27 +0000 (17:29 +0000)]
[Qt] Unreviewed gardening. Skip a failing ref html test.
* platform/qt/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141123
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 17:25:34 +0000 (17:25 +0000)]
[Freetype] Cannot use characters outside the BMP
https://bugs.webkit.org/show_bug.cgi?id=108102
Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-29
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Test: platform/gtk/fonts/non-bmp-characters.html
Instead of never handling surrogate pairs when dealing with UChar arrays,
abstract way the logic for this into UTF16UChar32Iterator and use it
everywhere in Freetype. This allows the Freetype backend to render
non-BMP characters which are always represented as surrogate pairs in
UTF-16.
* GNUmakefile.list.am: Added UTF16UChar32Iterator to the source list.
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters): Use the new iterator.
(WebCore::FontCache::getFontDataForCharacters): Ditto.
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill): Ditto. Remove the early return when dealing
with non-BMP data.
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters): Use the new iterator.
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added. An iterator that
extracts UChar32 from UTF-16 UChar arrays.
* GNUmakefile.list.am:
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters):
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
(WebCore):
(UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::end):
(WebCore::UTF16UChar32Iterator::next):
* GNUmakefile.list.am:
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::createFontConfigPatternForCharacters):
* platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/freetype/UTF16UChar32Iterator.h: Added.
(WebCore):
(UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::UTF16UChar32Iterator):
(WebCore::UTF16UChar32Iterator::end):
(WebCore::UTF16UChar32Iterator::next):
LayoutTests:
Added a pixel test for rendering non-BMP characters.
* platform/gtk/fonts/non-bmp-characters.html: Added.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.png: Added.
* platform/gtk/platform/gtk/fonts/non-bmp-characters-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141122
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 17:04:20 +0000 (17:04 +0000)]
Don't overlap test for composited scroll DIVs after scroll
https://bugs.webkit.org/show_bug.cgi?id=107471
Patch by Glenn Hartmann <hartmanng@chromium.org> on 2013-01-29
Reviewed by Simon Fraser.
We don't need to test for overlap after scroll when both
usesCompositedScrolling and !hasOutOfFlowPositionedDescendant
because:
a) Since we're using composited-scrolling, the composited region
presented by the composited-scrolling element to other non-descendant
layers doesn't change during composited scrolling (it's always the
entire scroll layer), and
b) Since we have no out of flow positioned descendants, the scrolling
descendants all move together, so their overlap with respect to each
other cannot change.
So no descendants nor any non-descendants can have their overlap
affected, so it's safe to skip testing.
No new tests (no change in behaviour).
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
* rendering/RenderLayerCompositor.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141121
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis@webkit.org [Tue, 29 Jan 2013 16:55:32 +0000 (16:55 +0000)]
Implement pseudoElement attribute on transition DOM events.
https://bugs.webkit.org/show_bug.cgi?id=107986
Reviewed by Julien Chaffraix.
Source/WebCore:
Implement the pseudoElement attribute documented here :
http://dev.w3.org/csswg/css3-transitions/#transition-events.
This add a new attribute to the transition DOM event useful when
animating pseudo elements. As they are not accessible in JS, it's
very useful to get on which pseudo element the transition just ended.
This patch adds the new attribute on the IDLs of DOM transition events as well
as adding it to the C++ classes representing them. The event
dispatching code have been patched to change the target of the event
(we can't send the current target as it is the actual DOM
representation of the pseudo element).
Test: fast/css-generated-content/pseudo-transition-event.html
* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingTargetRules): Change the target of the
event in the case of a pseudo element. We can't expose them through the
public interface so the target is the node they belong to.
(WebCore::EventDispatcher::ensureEventAncestors):
(WebCore::EventDispatcher::dispatchScopedEvent):
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::dispatchEventPostProcess):
* dom/EventTarget.cpp:
(WebCore::createMatchingPrefixedEvent):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::pseudoElementNameForEvents):
(WebCore):
* dom/PseudoElement.h:
* dom/TransitionEvent.cpp:
(WebCore::TransitionEventInit::TransitionEventInit):
(WebCore::TransitionEvent::TransitionEvent):
(WebCore::TransitionEvent::pseudoElement):
(WebCore):
* dom/TransitionEvent.h:
(TransitionEventInit):
(WebCore::TransitionEvent::create):
(TransitionEvent):
* dom/TransitionEvent.idl:
* dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEventInit::WebKitTransitionEventInit):
(WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
(WebCore::WebKitTransitionEvent::pseudoElement):
(WebCore):
* dom/WebKitTransitionEvent.h:
(WebKitTransitionEventInit):
(WebCore::WebKitTransitionEvent::create):
(WebKitTransitionEvent):
* dom/WebKitTransitionEvent.idl:
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Pass
the pseudo element name when creating the Event objects. If the element
is not a pseudo element then the name will be empty which is what the
spec is telling to do. If the element is a pseudo element then the name
will be the pseudo element's name with "::" as a prefix.
LayoutTests:
Add new tests to cover the feature.
* fast/css-generated-content/pseudo-transition-event-expected.txt: Added.
* fast/css-generated-content/pseudo-transition-event.html: Added.
* fast/events/constructors/transition-event-constructor-expected.txt:
* fast/events/constructors/transition-event-constructor.html:
* fast/events/constructors/webkit-transition-event-constructor-expected.txt:
* fast/events/constructors/webkit-transition-event-constructor.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141119
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Tue, 29 Jan 2013 16:49:19 +0000 (16:49 +0000)]
Unreviewed GTK gardening.
Reclassified one IDB failure as a flaky crasher.
Added a test expectation for a flaky crasher that's failnig
due to probably malfunctioning accessibility code.
* platform/gtk/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141115
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
allan.jensen@digia.com [Tue, 29 Jan 2013 16:45:14 +0000 (16:45 +0000)]
[Qt] Implement GCActivityCallback
https://bugs.webkit.org/show_bug.cgi?id=103998
Reviewed by Simon Hausmann.
Source/JavaScriptCore:
Implements the activity triggered garbage collector.
* runtime/GCActivityCallback.cpp:
(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::scheduleTimer):
(JSC::DefaultGCActivityCallback::cancelTimer):
* runtime/GCActivityCallback.h:
(GCActivityCallback):
(DefaultGCActivityCallback):
Source/WebCore:
Implements the activity triggered garbage collector,
and disables the timer based fallback.
* bindings/js/GCController.cpp:
(WebCore::GCController::GCController):
(WebCore::GCController::garbageCollectSoon):
* bindings/js/GCController.h:
(GCController):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141114
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 16:09:33 +0000 (16:09 +0000)]
Web Inspector: fix bottom span in token highlight in DTE
https://bugs.webkit.org/show_bug.cgi?id=108194
Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-29
Reviewed by Pavel Feldman.
Change css style for token highlight from "border" to "outline" to
avoid border included in box dimensions.
No new tests: no change in behaviour.
* inspector/front-end/textEditor.css:
(.text-editor-token-highlight):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141113
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 16:02:41 +0000 (16:02 +0000)]
[Qt] Unreviewed gardening. Skip failing tests after r140927.
https://bugs.webkit.org/show_bug.cgi?id=108190.
* platform/qt/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141112
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 15:52:00 +0000 (15:52 +0000)]
Web Inspector: introduce HighlightDescriptor interface in DTE.
https://bugs.webkit.org/show_bug.cgi?id=108161
Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-29
Reviewed by Pavel Feldman.
Source/WebCore:
Introduce new HighlightDescriptor interface and its
RegexHighlightDescriptor implementation and use it in DTE to
support overlay highlight.
No new tests: no change in behaviour.
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype.highlightRegex):
(WebInspector.DefaultTextEditor.prototype.removeRegexHighlight):
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype.highlightRegex):
(WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
(WebInspector.TextEditorMainPanel.prototype._paintLines):
(WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor):
(WebInspector.TextEditorMainPanel.HighlightDescriptor): Added.
(WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.affectsLine):
(WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.rangesForLine):
(WebInspector.TextEditorMainPanel.HighlightDescriptor.prototype.cssClass):
(WebInspector.TextEditorMainPanel.RegexHighlightDescriptor): Added.
(WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.affectsLine):
(WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.rangesForLine):
(WebInspector.TextEditorMainPanel.RegexHighlightDescriptor.prototype.cssClass):
(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._highlight):
(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._removeHighlight):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditor.prototype.removeRegexHighlight):
LayoutTests:
Correct layout test according to refactoring changes.
* inspector/editor/text-editor-highlight-regexp.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141111
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
g.czajkowski@samsung.com [Tue, 29 Jan 2013 15:29:48 +0000 (15:29 +0000)]
[EFL] Unified text checker implementation.
https://bugs.webkit.org/show_bug.cgi?id=107682
Reviewed by Anders Carlsson.
Source/WebCore:
No new tests, covered by editing/spelling tests.
* platform/text/TextChecking.h:
(WebCore):
Enabling unified text checker feature for WebKit-EFL.
Source/WebKit/efl:
Add an empty checkTextOfParagraph implementation for WK1-EFL
to do not break build when WTF_USE_UNIFIED_TEXT_CHECKING
is enabled.
* WebCoreSupport/EditorClientEfl.h:
(EditorClientEfl):
(WebCore::EditorClientEfl::checkTextOfParagraph):
Source/WebKit2:
* UIProcess/efl/TextCheckerEfl.cpp:
(WebKit):
(WebKit::TextChecker::checkTextOfParagraph):
Allow to check spelling for multiple words,
their misspelling location and length are saved to the vector.
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
(WebKit::WebEditorClient::checkTextOfParagraph):
(WebKit):
As spelling implementation is exposed to UIProcess,
send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
LayoutTests:
* platform/efl-wk2/TestExpectations:
Skip context-menu-suggestions.html until
https://bugs.webkit.org/show_bug.cgi?id=107684 lands.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141110
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 15:01:19 +0000 (15:01 +0000)]
Web Inspector: Wrong indent in Styles sidebar pane
https://bugs.webkit.org/show_bug.cgi?id=108186
Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-29
Reviewed by Alexander Pavlov.
Added an extra selector to prevent a conflict with a rule in elementsPanel.css.
No new tests.
* inspector/front-end/inspector.css:
(.pane.expanded .section .properties, .event-bar .event-properties):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141109
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 14:53:18 +0000 (14:53 +0000)]
Enable Workers for WinCE
https://bugs.webkit.org/show_bug.cgi?id=108099
Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-29
Reviewed by Gyuyoung Kim.
WORKERS are enabled for all CMake based ports except WinCE.
Turn on WORKERS for all CMake based ports.
* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141108
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
michael.bruning@digia.com [Tue, 29 Jan 2013 14:48:41 +0000 (14:48 +0000)]
[Qt][WK1] Fix QObject Bridge tests expected output.
https://bugs.webkit.org/show_bug.cgi?id=107827
Reviewed by Simon Hausmann.
The "not a function" TypeError now includes the call that caused the error.
Correct expected values accordingly.
* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::connectAndDisconnect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141107
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 14:37:49 +0000 (14:37 +0000)]
[Qt] Unreviewed gardening.
Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-01-29
* platform/qt-5.0-wk2/TestExpectations: Skip broken plugin tests after r141051.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141106
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fmalita@chromium.org [Tue, 29 Jan 2013 14:19:25 +0000 (14:19 +0000)]
[Chromium] Unreviewed gardening.
Update bindings-tests results after http://trac.webkit.org/changeset/141034.
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8Float64Array::createWrapper):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestActiveDOMObject::createWrapper):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestCustomNamedGetter::createWrapper):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestEventConstructor::createWrapper):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestEventTarget::createWrapper):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestException::createWrapper):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestInterface::createWrapper):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestMediaQueryListListener::createWrapper):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestNamedConstructor::createWrapper):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestNode::createWrapper):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestObj::createWrapper):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestOverloadedConstructors::createWrapper):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
(WebCore::checkTypeOrDieTrying):
(WebCore::V8TestSerializedScriptValueInterface::createWrapper):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141105
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 14:14:40 +0000 (14:14 +0000)]
Unreviewed gardening. Update generic expected file after r141031.
Remove Chromium, GTK and Qt specific expected files, because they are the same as the generic expected file.
* fast/js/regress/integer-modulo-expected.txt:
* platform/chromium/fast/js/regress/integer-modulo-expected.txt: Removed after r141044.
* platform/gtk/fast/js/regress/integer-modulo-expected.txt: Removed after r141084.
* platform/qt/fast/js/regress/integer-modulo-expected.txt: Removed after r141101.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141104
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thiago.santos@intel.com [Tue, 29 Jan 2013 13:49:17 +0000 (13:49 +0000)]
[EFL] Unreviewed gardening.
Skipping tests broken by r141051.
* platform/efl-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141103
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 29 Jan 2013 13:22:10 +0000 (13:22 +0000)]
[GTK] Add API to prefetch DNS of a given hostname to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=99695
Reviewed by Anders Carlsson.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_prefetch_dns): Public method to resolve the
domain name in advance for the given hostname.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
webkit_web_context_prefetch_dns.
* WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
(webkitWebExtensionDidReceiveMessage): Parse PrefetchDNS message
and call WebCore::prefetchDNS() with the given hostname.
(didReceiveMessage): Call webkitWebExtensionDidReceiveMessage().
(webkitWebExtensionCreate): Add implementation for
didReceiveMessage callback.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141102
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 12:59:46 +0000 (12:59 +0000)]
[Qt] Unreviewed gardening.
* platform/qt/TestExpectations: Skip failing tests. https://bugs.webkit.org/show_bug.cgi?id=108175.
* platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Added after r140999.
* platform/qt/fast/js/regress/integer-modulo-expected.txt: Added after r141031.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141101
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 12:57:04 +0000 (12:57 +0000)]
Web Inspector: in inspector-protocol tests do not swallow errors
https://bugs.webkit.org/show_bug.cgi?id=108087
Patch by Peter Rybin <peter.rybin@gmail.com> on 2013-01-29
Reviewed by Pavel Feldman.
Additional checks are added. Debuggee is more aggressive at
when to kill the test.
* http/tests/inspector-protocol/resources/InspectorTest.js:
* http/tests/inspector-protocol/resources/protocol-test.js:
(runTest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141100
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mikhail.pozdnyakov@intel.com [Tue, 29 Jan 2013 12:54:00 +0000 (12:54 +0000)]
Compilation warning in JSC
https://bugs.webkit.org/show_bug.cgi?id=108178
Reviewed by Kentaro Hara.
Fixed 'comparison between signed and unsigned integer' warning in JSC::Structure constructor.
* runtime/Structure.cpp:
(JSC::Structure::Structure):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141099
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aandrey@chromium.org [Tue, 29 Jan 2013 12:43:45 +0000 (12:43 +0000)]
Web Inspector: [Canvas] support instrumenting canvases in iframes (backend side)
https://bugs.webkit.org/show_bug.cgi?id=107951
Reviewed by Pavel Feldman.
Source/WebCore:
Accept optional FrameId argument for captureFrame and startCapturing commands.
Add event to the protocol to inform about instrumented canvas context creation.
* inspector/Inspector.json:
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
(WebCore::InspectorCanvasAgent::captureFrame):
(WebCore::InspectorCanvasAgent::startCapturing):
(WebCore::InspectorCanvasAgent::getTraceLog):
(WebCore::InspectorCanvasAgent::replayTraceLog):
(WebCore::InspectorCanvasAgent::getResourceInfo):
(WebCore::InspectorCanvasAgent::getResourceState):
(WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
(WebCore):
(WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
(WebCore::InspectorCanvasAgent::frameNavigated):
(WebCore::InspectorCanvasAgent::frameDetached):
* inspector/InspectorCanvasAgent.h:
(WebCore):
(WebCore::InspectorCanvasAgent::create):
(InspectorCanvasAgent):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
LayoutTests:
Stub Canvas dispatcher for now to silence alerts in tests.
* inspector/profiler/canvas-profiler-test.js:
(initialize_CanvasWebGLProfilerTest.InspectorTest.enableCanvasAgent.InspectorBackend.registerCanvasDispatcher):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141098
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jocelyn.turcotte@digia.com [Tue, 29 Jan 2013 12:34:41 +0000 (12:34 +0000)]
[Qt] Fix the JSC build on Mac
Unreviewed, build fix.
* heap/HeapTimer.h:
Qt on Mac has USE(CF) true, and should use the CF HeapTimer in that case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141097
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 29 Jan 2013 12:01:39 +0000 (12:01 +0000)]
[GTK] Implement resources API using injected bundle
https://bugs.webkit.org/show_bug.cgi?id=107457
Reviewed by Sam Weinig.
Source/WebKit2:
The ResourceLoaderClient was removed from the UI process in
r140285, and most of the GTK+ API depends on resources. This patch
implements the same API using the ResourceLoaderClient from
injected bundle. It fixes the resources unit tests, as well as
other 14 unit tests that are timing out because they depend on
resource API.
* GNUmakefile.list.am: Add new files to compilation.
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode): Add support for encoding
WebURLResponse and WebError objects in user messages.
(WebKit::UserMessageDecoder::baseDecode): Add support for decoding
WebURLResponse and WebError objects from user messages.
* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Added.
(didReceiveWebViewMessageFromInjectedBundle): Handle messages sent
to the WebView. For now it hanldes all the sresource loader client
messages.
(didReceiveMessageFromInjectedBundle): Handle messages received
from injected bundle.
(attachInjectedBundleClientToContext): Initialize the injected
bundle client.
* UIProcess/API/gtk/WebKitInjectedBundleClient.h: Added.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate): Add a HashMap to map page IDs to
WebKitWebViews.
(createDefaultWebContext): Call
attachInjectedBundleClientToContext() to intialize the injected
bundle client.
(webkitWebContextCreatePageForWebView): Use
webkitWebViewBaseCreateWebPage() to create and initialize a new
WebPageProxy and map the newly created page with the given
WebKitWebView.
(webkitWebContextWebViewDestroyed): Called when the given
WebKitWebView is being destroyed to remove it from the views map.
(webkitWebContextGetWebViewForPage): Returns the WebKitWebView
associated to the given page ID.
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Use
webkitWebContextCreatePageForWebView() instead of
webkitWebViewBaseCreateWebPage() directly.
(webkitWebViewDispose): Call webkitWebContextWebViewDestroyed() to
notify the context.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(didInitiateLoadForResource): Send a message to the UI process
with the callback parameters encoded.
(willSendRequestForFrame): Ditto.
(didReceiveResponseForResource): Ditto.
(didReceiveContentLengthForResource): Ditto.
(didFinishLoadForResource): Ditto.
(didFailLoadForResource): Ditto.
(webkitWebPageCreate): Initialize the
WKBundlePageResourceLoadClient.
Tools:
* Scripts/run-gtk-tests:
(TestRunner): Unksip resources unit tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141096
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
michael.bruning@digia.com [Tue, 29 Jan 2013 11:58:30 +0000 (11:58 +0000)]
Unreviewed, updated my email information.
* Scripts/webkitpy/common/config/committers.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141095
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 11:55:43 +0000 (11:55 +0000)]
Web Inspector: [CPU Profile] Taking profile crashes renderer.
https://bugs.webkit.org/show_bug.cgi?id=108072
Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-29
Reviewed by Yury Semikhatsky.
Source/WebCore:
Test: inspector/profiler/cpu-profiler-agent-crash-on-start.html
Fixed null-pointer access.
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::start): Fixed null-pointer access.
(WebCore::ScriptProfiler::stop): Ditto.
LayoutTests:
Added test to check that ProfilerAgent start/stop doesn't crash.
* inspector/profiler/cpu-profiler-agent-crash-on-start-expected.txt: Added.
* inspector/profiler/cpu-profiler-agent-crash-on-start.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141094
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
allan.jensen@digia.com [Tue, 29 Jan 2013 11:36:30 +0000 (11:36 +0000)]
REGRESSION: ChildrenAffectedBy flags lost between siblings which have child elements sharing style
https://bugs.webkit.org/show_bug.cgi?id=105672
Reviewed by Andreas Kling.
Source/WebCore:
Change in how childrenAffectedBy bits were stored made it easier to trigger an issue where childrenAffectedBy bits
were not set due to sharing of styles between cousin elements.
This patch fixes the issue by not sharing styles from children with parents who prevent sharing.
Tests: fast/selectors/cousin-stylesharing-adjacent-selector.html
fast/selectors/cousin-stylesharing-last-child-selector.html
* css/StyleResolver.cpp:
(WebCore::parentElementPreventsSharing):
(WebCore::StyleResolver::locateCousinList):
* dom/Element.cpp:
(WebCore::Element::hasFlagsSetDuringStylingOfChildren):
* dom/Element.h:
(Element):
LayoutTests:
Two test cases by Philippe Wittenbergh that triggers the issue.
* fast/selectors/cousin-stylesharing-adjacent-selector-expected.html: Added.
* fast/selectors/cousin-stylesharing-adjacent-selector.html: Added.
* fast/selectors/cousin-stylesharing-last-child-selector-expected.html: Added.
* fast/selectors/cousin-stylesharing-last-child-selector.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141093
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 11:32:12 +0000 (11:32 +0000)]
[Qt] Remove misspelled ENABLE(SPEECH_INPUT) guard
https://bugs.webkit.org/show_bug.cgi?id=105683
Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-29
Reviewed by Simon Hausmann.
The ENABLE(SPEECH_INPUT) guard is only used in one location
in the source tree and as such it is always 0.
I believe that this guard is a left over and is not needed any more
as the code guarded is not guarded anywhere else.
* WebProcess/qt/WebProcessQt.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141092
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Tue, 29 Jan 2013 11:08:14 +0000 (11:08 +0000)]
Web Inspector: [Regression] Search across all sources is broken.
https://bugs.webkit.org/show_bug.cgi?id=108157
Reviewed by Pavel Feldman.
Source/WebCore:
Test: http/tests/inspector/search/scripts-search-scope.html
* inspector/front-end/ScriptsSearchScope.js:
(WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
LayoutTests:
* http/tests/inspector/search/scripts-search-scope-expected.txt: Added.
* http/tests/inspector/search/scripts-search-scope.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141091
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mkwst@chromium.org [Tue, 29 Jan 2013 11:06:00 +0000 (11:06 +0000)]
IDBFactory::webkitGetDatabaseNames should raise DOMExceptions.
https://bugs.webkit.org/show_bug.cgi?id=108154
Reviewed by Jochen Eisinger.
In order to properly support blocking third-party IndexedDB usage,
open(), getDatabaseNames(), and deleteDatabase() should all throw
SECURITY_ERR when used in a blocked third-party context. That's possible
now for open() and deleteDatabase(), but getDatabaseNames() can't
currently raise exceptions.
This patch adjusts the IDL file and implementation. No exceptions are
currently thrown, but that will change as soon as wkbug.com/94171 lands.
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::getDatabaseNames):
* Modules/indexeddb/IDBFactory.h:
(IDBFactory):
* Modules/indexeddb/IDBFactory.idl:
Add "raises (DOMException)" to getDatabaseNames, and adjust the
implementation to match.
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
Pass in an ExceptionCode when calling getDatabaseNames, and handle
possible exceptions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141090
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
allan.jensen@digia.com [Tue, 29 Jan 2013 10:51:39 +0000 (10:51 +0000)]
[Qt] Implement IncrementalSweeper and HeapTimer
https://bugs.webkit.org/show_bug.cgi?id=103996
Reviewed by Simon Hausmann.
Implements the incremental sweeping garbage collection for the Qt platform.
* heap/HeapTimer.cpp:
(JSC::HeapTimer::HeapTimer):
(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::timerEvent):
(JSC::HeapTimer::synchronize):
(JSC::HeapTimer::invalidate):
(JSC::HeapTimer::didStartVMShutdown):
* heap/HeapTimer.h:
(HeapTimer):
* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::scheduleTimer):
* heap/IncrementalSweeper.h:
(IncrementalSweeper):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141089
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hayato@chromium.org [Tue, 29 Jan 2013 10:15:06 +0000 (10:15 +0000)]
Revert an accidentally changed line of EventHander::handleMousePressEvent(PlatformMouseEvent&) in r135650.
https://bugs.webkit.org/show_bug.cgi?id=108165
Reviewed by Hajime Morita.
No new tests.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141088
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kadam@inf.u-szeged.hu [Tue, 29 Jan 2013 10:01:51 +0000 (10:01 +0000)]
Unreviewed, rolling out r140959 and r140977.
http://trac.webkit.org/changeset/140959
http://trac.webkit.org/changeset/140977
https://bugs.webkit.org/show_bug.cgi?id=108171
Reverting rebaseline because after r141067 the expected
results should be the old values. (Requested by kadam on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-29
* platform/qt-5.0-wk1/compositing/absolute-inside-out-of-view-fixed-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/backing/no-backing-for-clip-overlap-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/bounds-in-flipped-writing-mode-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/clip-child-by-non-stacking-ancestor-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-clipped-composited-child-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-clipped-composited-child-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/bounds-ignores-hidden-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/clip-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/clip-inside-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/composited-in-columns-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/composited-in-columns-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/flipped-writing-mode-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/flipped-writing-mode-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/foreground-layer-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/geometry/foreground-layer-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/geometry/preserve-3d-switching-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/become-composited-nested-iframes-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/become-overlapped-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/composited-parent-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/connect-compositing-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/connect-compositing-iframe2-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/connect-compositing-iframe3-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/enter-compositing-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/iframe-resize-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/overlapped-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/overlapped-iframe-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/overlapped-nested-iframes-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/iframes/scrolling-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/images/clip-on-directly-composited-image-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/animation-overlap-with-children-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/fixed-position-out-of-view-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/fixed-position-under-transform-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/fixed-position-under-transform-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-animation-clipping-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-child-layer-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-child-layer-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-transformed-layer-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-transformed-layer-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/rotate3d-overlap-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/stacking-context-overlap-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/layer-creation/stacking-context-overlap-nested-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/masks/mask-layer-size-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/repaint/resize-repaint-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-absolute-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-absolute-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-fixed-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-fixed-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-relative-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/rtl/rtl-iframe-relative-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/backface-preserve-3d-tiled-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/tiling/backface-preserve-3d-tiled-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/huge-layer-img-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/tiling/huge-layer-img-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/rotated-tiled-clamped-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/tiling/rotated-tiled-clamped-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/tiling/tiled-layer-resize-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/visibility/layer-visible-content-expected.png: Removed.
* platform/qt-5.0-wk1/compositing/visibility/layer-visible-content-expected.txt: Removed.
* platform/qt-5.0-wk1/compositing/visibility/visibility-image-layers-dynamic-expected.txt: Removed.
* platform/qt-5.0-wk1/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
* platform/qt-5.0-wk1/css3/filters/filtered-compositing-descendant-expected.png: Removed.
* platform/qt-5.0-wk1/css3/filters/filtered-compositing-descendant-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141087
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tkent@chromium.org [Tue, 29 Jan 2013 10:01:24 +0000 (10:01 +0000)]
FeatureObserver: Input types are counted unexpectedly in a page with Modernizr
https://bugs.webkit.org/show_bug.cgi?id=108141
Reviewed by Kentaro Hara.
We don't want to record input type instantiation by Modernizr. Modernizr
creates input elements with these types, append it to document.body, and
render it with visibility:hidden. So, we record input types only when
they are attached without visibility:hidden.
No new tests. FeatureObserver is not testable by layout test.
* html/InputType.cpp:
(WebCore::InputType::create): Remove FeatureObserver::observe
callsites. They are moved to TextInputType::attach.
(WebCore::InputType::observeFeatureIfVisible):
Added. A helper for attach().
* html/InputType.h:
(InputType): Add observeFeatureIfVisible.
* html/ColorInputType.cpp:
(WebCore::ColorInputType::create):
Remove a FeatureObserver::observe callsite.
(WebCore::ColorInputType::attach):
Calls FetureObserver through InputType::observeFeatureIfVisible.
* html/ColorInputType.h:
(ColorInputType): Declare attach.
* html/DateInputType.cpp: Ditto.
* html/DateInputType.h: Ditto.
* html/DateTimeInputType.cpp: Ditto.
* html/DateTimeInputType.h: Ditto.
* html/DateTimeLocalInputType.cpp: Ditto.
* html/DateTimeLocalInputType.h: Ditto.
* html/MonthInputType.cpp: Ditto.
* html/MonthInputType.h: Ditto.
* html/RangeInputType.cpp: Ditt
* html/RangeInputType.h: Ditto.
* html/TimeInputType.cpp: Ditto.
* html/TimeInputType.h: Ditto.
* html/WeekInputType.cpp: Ditto.
* html/WeekInputType.h: Ditto.
* html/TextFieldInputType.h:
(TextFieldInputType):
Make attach protected in order that sub classes can call it.
* html/EmailInputType.cpp:
(WebCore::EmailInputType::create):
Remove a FeatureObserver::observe callsite.
(WebCore::EmailInputType::attach): Calls FetureObserver through
InputType::observeFeatureIfVisible after TextFieldInptuType::attach.
* html/EmailInputType.h:
(EmailInputType):Declare attach.
* html/NumberInputType.cpp: Ditto.
* html/NumberInputType.h: Ditto.
* html/SearchInputType.cpp: Ditto.
* html/SearchInputType.h: Ditto.
* html/TelephoneInputType.cpp: Ditto.
* html/TelephoneInputType.h: Ditto.
* html/URLInputType.cpp: Ditto.
* html/URLInputType.h: Ditto.
* html/TextInputType.cpp:
(WebCore::TextInputType::attach):
Move the code for type fallback from InputType::create.
* html/TextInputType.h:
(TextInputType): Declare attach.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141086
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
michael.bruning@digia.com [Tue, 29 Jan 2013 09:41:31 +0000 (09:41 +0000)]
[Qt][WK1] Reflect recursion limit and loop checks also for list conversions.
https://bugs.webkit.org/show_bug.cgi?id=107950
Reviewed by Allan Sandfeld Jensen.
No new tests, bugfix, no behavioral change.
Make conversions from Javascript values to QLists take the maximum
recursion depth into consideration and check for objects that were
already visited. Otherwise, the conversion may recurse until the
stack is full and then cause a segmentation fault.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertToList):
(JSC::Bindings::convertValueToQVariant):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141085
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Tue, 29 Jan 2013 09:37:14 +0000 (09:37 +0000)]
Unreviewed GTK gardening.
* platform/gtk/TestExpectations: Added failure/flaky crash expectations for two layout tests.
* platform/gtk/fast/js/regress: Added.
* platform/gtk/fast/js/regress/integer-modulo-expected.txt: Added the baseline after r141031.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141084
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
esprehn@chromium.org [Tue, 29 Jan 2013 09:35:35 +0000 (09:35 +0000)]
Clean up interface to ElementShadow
https://bugs.webkit.org/show_bug.cgi?id=108158
Reviewed by Hajime Morita.
Lots of general clean up to ElementShadow removing unused headers,
adding a create() method that returns a PassOwnPtr, adding missing const,
and moving short inline methods into the class definition so it's easier
to understand what methods do what.
No new tests, just refactoring.
* dom/Element.cpp:
(WebCore::Element::ensureShadow):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::childNeedsStyleRecalc):
(WebCore::ElementShadow::needsStyleRecalc):
* dom/ElementShadow.h:
(WebCore::ElementShadow::create):
(ElementShadow):
(WebCore::ElementShadow::~ElementShadow):
(WebCore::ElementShadow::youngestShadowRoot):
(WebCore::ElementShadow::oldestShadowRoot):
(WebCore::ElementShadow::distributor):
(WebCore::ElementShadow::ElementShadow):
(WebCore::ElementShadow::containingShadow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141083
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jochen@chromium.org [Tue, 29 Jan 2013 09:30:08 +0000 (09:30 +0000)]
[chromium] delete DRTTestRunner
https://bugs.webkit.org/show_bug.cgi?id=108082
Reviewed by Adam Barth.
* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/DRTTestRunner.cpp: Removed.
* DumpRenderTree/chromium/DRTTestRunner.h: Removed.
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner::WebTestDelegate::testFinished):
(WebTestRunner::WebTestDelegate::testTimedOut):
(WebTestRunner::WebTestDelegate::isBeingDebugged):
(WebTestRunner::WebTestDelegate::layoutTestTimeout):
(WebTestRunner::WebTestDelegate::closeRemainingWindows):
(WebTestRunner::WebTestDelegate::navigationEntryCount):
(WebTestRunner::WebTestDelegate::windowCount):
(WebTestRunner::WebTestDelegate::setCustomPolicyDelegate):
(WebTestRunner::WebTestDelegate::waitForPolicyDelegate):
(WebTestRunner::WebTestDelegate::goToOffset):
(WebTestRunner::WebTestDelegate::reload):
(WebTestRunner::WebTestDelegate::loadURLForFrame):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::policyDelegateDone):
(WebTestRunner::WebTestRunner::shouldInterceptPostMessage):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::WorkQueue::~WorkQueue):
(WebTestRunner):
(WebTestRunner::TestRunner::WorkQueue::processWorkSoon):
(WebTestRunner::TestRunner::WorkQueue::processWork):
(WebTestRunner::TestRunner::WorkQueue::reset):
(WebTestRunner::TestRunner::WorkQueue::addWork):
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::policyDelegateDone):
(WebTestRunner::TestRunner::shouldInterceptPostMessage):
(WebTestRunner::TestRunner::waitUntilDone):
(WebTestRunner::TestRunner::notifyDone):
(WebTestRunner::TestRunner::completeNotifyDone):
(WorkItemBackForward):
(WebTestRunner::WorkItemBackForward::WorkItemBackForward):
(WebTestRunner::WorkItemBackForward::run):
(WebTestRunner::TestRunner::queueBackNavigation):
(WebTestRunner::TestRunner::queueForwardNavigation):
(WorkItemReload):
(WebTestRunner::WorkItemReload::run):
(WebTestRunner::TestRunner::queueReload):
(WorkItemLoadingScript):
(WebTestRunner::WorkItemLoadingScript::WorkItemLoadingScript):
(WebTestRunner::WorkItemLoadingScript::run):
(WorkItemNonLoadingScript):
(WebTestRunner::WorkItemNonLoadingScript::WorkItemNonLoadingScript):
(WebTestRunner::WorkItemNonLoadingScript::run):
(WebTestRunner::TestRunner::queueLoadingScript):
(WebTestRunner::TestRunner::queueNonLoadingScript):
(WorkItemLoad):
(WebTestRunner::WorkItemLoad::WorkItemLoad):
(WebTestRunner::WorkItemLoad::run):
(WebTestRunner::TestRunner::queueLoad):
(WorkItemLoadHTMLString):
(WebTestRunner::WorkItemLoadHTMLString::WorkItemLoadHTMLString):
(WebTestRunner::WorkItemLoadHTMLString::run):
(WebTestRunner::TestRunner::queueLoadHTMLString):
(WebTestRunner::TestRunner::locationChangeDone):
(WebTestRunner::TestRunner::windowCount):
(WebTestRunner::TestRunner::setCloseRemainingWindowsWhenComplete):
(WebTestRunner::TestRunner::setCustomPolicyDelegate):
(WebTestRunner::TestRunner::waitForPolicyDelegate):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
(WorkItem):
(WebTestRunner::TestRunner::WorkItem::~WorkItem):
(WorkQueue):
(WebTestRunner::TestRunner::WorkQueue::WorkQueue):
(WebTestRunner::TestRunner::WorkQueue::setFrozen):
(WebTestRunner::TestRunner::WorkQueue::isEmpty):
(WebTestRunner::TestRunner::WorkQueue::taskList):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):
(TestShell::runFileTest):
(TestShell::loadURL):
(TestShell::createNewWindow):
* DumpRenderTree/chromium/TestShell.h:
(TestShell::testRunner):
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::testFinished):
(WebViewHost::testTimedOut):
(WebViewHost::isBeingDebugged):
(WebViewHost::layoutTestTimeout):
(WebViewHost::closeRemainingWindows):
(WebViewHost::navigationEntryCount):
(WebViewHost::windowCount):
(WebViewHost::setCustomPolicyDelegate):
(WebViewHost::waitForPolicyDelegate):
(WebViewHost::goToOffset):
(WebViewHost::reload):
(WebViewHost::loadURLForFrame):
(WebViewHost::shutdown):
(WebViewHost::testRunner):
* DumpRenderTree/chromium/WebViewHost.h:
(WebTestRunner):
(WebViewHost):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141082
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keishi@webkit.org [Tue, 29 Jan 2013 09:21:22 +0000 (09:21 +0000)]
[Chromium] Disabling WebFrameTest.DisambiguationPopupMobileSite because WebFrameTest is still failing after r141073.
Unreviewed. Gardening.
* tests/WebFrameTest.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141081
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 09:16:00 +0000 (09:16 +0000)]
Unreviewed, rolling out r141064.
http://trac.webkit.org/changeset/141064
https://bugs.webkit.org/show_bug.cgi?id=108166
[Chromium] WebFrameTest.DivScrollIntoEditableTest is failing
on WinXP. (Requested by keishi on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-29
* tests/WebFrameTest.cpp:
* tests/data/get_scale_for_zoom_into_editable_test.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141080
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Tue, 29 Jan 2013 08:58:58 +0000 (08:58 +0000)]
Unreviewed build fix after r141024.
Adding new files to the build.
* GNUmakefile.am:
* GNUmakefile.list.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 08:55:08 +0000 (08:55 +0000)]
[WK2] Fix unused parameter build warning
https://bugs.webkit.org/show_bug.cgi?id=108156
Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-01-29
Reviewed by Kentaro Hara.
Comment out the unused parameters to fix the build warnings.
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/PluginProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141078
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keishi@webkit.org [Tue, 29 Jan 2013 08:51:44 +0000 (08:51 +0000)]
[Chromium] Marking icon-0colors.html as crashing.
Unreviewed. Gardening.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
esprehn@chromium.org [Tue, 29 Jan 2013 08:33:33 +0000 (08:33 +0000)]
Store ShadowRootType inside the bitfield
https://bugs.webkit.org/show_bug.cgi?id=108147
Reviewed by Dimitri Glazkov.
We can simplify the interface to ShadowRoot by storing the enum value of
ShadowRootType inside the bitfield like we do in the rest of WebCore.
No new tests, just refactoring.
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::create):
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::type):
(ShadowRoot):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keishi@webkit.org [Tue, 29 Jan 2013 08:30:09 +0000 (08:30 +0000)]
[Chromium] Disabling WebFrameTest.DisambiguationPopup because it is failing.
Unreviewed. Gardening.
* tests/WebFrameTest.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141073
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jochen@chromium.org [Tue, 29 Jan 2013 08:18:54 +0000 (08:18 +0000)]
REGRESSION(r141070): Broke debug build
https://bugs.webkit.org/show_bug.cgi?id=108159
Unreviewed build fix.
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141071
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 29 Jan 2013 08:01:37 +0000 (08:01 +0000)]
HTMLDocumentParser should hold the HTMLToken using an OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=107762
Reviewed by Eric Seidel.
Using an OwnPtr will let us detach the HTMLToken from the
HTMLDocumentParser and send it to the BackgroundHTMLParser for further
processing.
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
* html/parser/BackgroundHTMLParser.h:
(BackgroundHTMLParser):
* html/parser/CompactHTMLToken.cpp:
(WebCore::CompactHTMLToken::CompactHTMLToken):
* html/parser/CompactHTMLToken.h:
(CompactHTMLToken):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141070
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Tue, 29 Jan 2013 08:01:03 +0000 (08:01 +0000)]
DFG should not use a graph that is a vector, Nodes shouldn't move after allocation, and we should always refer to nodes by Node*
https://bugs.webkit.org/show_bug.cgi?id=106868
Reviewed by Oliver Hunt.
This adds a pool allocator for Nodes, and uses that instead of a Vector. Changes all
uses of Node& and NodeIndex to be simply Node*. Nodes no longer have an index except
for debugging (Node::index(), which is not guaranteed to be O(1)).
1% speed-up on SunSpider, presumably because this improves compile times.
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/DataFormat.h:
(JSC::dataFormatToString):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::booleanResult):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeStateAtTail):
(JSC::DFG::AbstractState::mergeToSuccessors):
(JSC::DFG::AbstractState::mergeVariableBetweenBlocks):
(JSC::DFG::AbstractState::dump):
* dfg/DFGAbstractState.h:
(DFG):
(JSC::DFG::AbstractState::forNode):
(AbstractState):
(JSC::DFG::AbstractState::speculateInt32Unary):
(JSC::DFG::AbstractState::speculateNumberUnary):
(JSC::DFG::AbstractState::speculateBooleanUnary):
(JSC::DFG::AbstractState::speculateInt32Binary):
(JSC::DFG::AbstractState::speculateNumberBinary):
(JSC::DFG::AbstractState::trySetConstant):
* dfg/DFGAbstractValue.h:
(AbstractValue):
* dfg/DFGAdjacencyList.h:
(JSC::DFG::AdjacencyList::AdjacencyList):
(JSC::DFG::AdjacencyList::initialize):
* dfg/DFGAllocator.h: Added.
(DFG):
(Allocator):
(JSC::DFG::Allocator::Region::size):
(JSC::DFG::Allocator::Region::headerSize):
(JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
(JSC::DFG::Allocator::Region::data):
(JSC::DFG::Allocator::Region::isInThisRegion):
(JSC::DFG::Allocator::Region::regionFor):
(Region):
(JSC::DFG::::Allocator):
(JSC::DFG::::~Allocator):
(JSC::DFG::::allocate):
(JSC::DFG::::free):
(JSC::DFG::::freeAll):
(JSC::DFG::::reset):
(JSC::DFG::::indexOf):
(JSC::DFG::::allocatorOf):
(JSC::DFG::::bumpAllocate):
(JSC::DFG::::freeListAllocate):
(JSC::DFG::::allocateSlow):
(JSC::DFG::::freeRegionsStartingAt):
(JSC::DFG::::startBumpingIn):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
(JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::originalArrayStructure):
(JSC::DFG::ArrayMode::alreadyChecked):
* dfg/DFGArrayMode.h:
(ArrayMode):
* dfg/DFGArrayifySlowPathGenerator.h:
(JSC::DFG::ArrayifySlowPathGenerator::ArrayifySlowPathGenerator):
* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::node):
(JSC::DFG::BasicBlock::isInPhis):
(JSC::DFG::BasicBlock::isInBlock):
(BasicBlock):
* dfg/DFGBasicBlockInlines.h:
(DFG):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getDirect):
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::setDirect):
(JSC::DFG::ByteCodeParser::set):
(JSC::DFG::ByteCodeParser::setPair):
(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::flushDirect):
(JSC::DFG::ByteCodeParser::getToInt32):
(JSC::DFG::ByteCodeParser::toInt32):
(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::getJSConstant):
(JSC::DFG::ByteCodeParser::getCallee):
(JSC::DFG::ByteCodeParser::getThis):
(JSC::DFG::ByteCodeParser::setThis):
(JSC::DFG::ByteCodeParser::isJSConstant):
(JSC::DFG::ByteCodeParser::isInt32Constant):
(JSC::DFG::ByteCodeParser::valueOfJSConstant):
(JSC::DFG::ByteCodeParser::valueOfInt32Constant):
(JSC::DFG::ByteCodeParser::constantUndefined):
(JSC::DFG::ByteCodeParser::constantNull):
(JSC::DFG::ByteCodeParser::one):
(JSC::DFG::ByteCodeParser::constantNaN):
(JSC::DFG::ByteCodeParser::cellConstant):
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::insertPhiNode):
(JSC::DFG::ByteCodeParser::addVarArgChild):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::addStructureTransitionCheck):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getPrediction):
(JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):
(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::makeDivSafe):
(JSC::DFG::ByteCodeParser::ConstantRecord::ConstantRecord):
(ConstantRecord):
(JSC::DFG::ByteCodeParser::PhiStackEntry::PhiStackEntry):
(PhiStackEntry):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::setIntrinsicResult):
(JSC::DFG::ByteCodeParser::handleMinMax):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::getScope):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixPhis):
(JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):
(JSC::DFG::CFGSimplificationPhase::OperandSubstitution::OperandSubstitution):
(JSC::DFG::CFGSimplificationPhase::OperandSubstitution::dump):
(OperandSubstitution):
(JSC::DFG::CFGSimplificationPhase::skipGetLocal):
(JSC::DFG::CFGSimplificationPhase::recordNewTarget):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::canonicalize):
(JSC::DFG::CSEPhase::endIndexForPureCSE):
(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::constantCSE):
(JSC::DFG::CSEPhase::weakConstantCSE):
(JSC::DFG::CSEPhase::getCalleeLoadElimination):
(JSC::DFG::CSEPhase::getArrayLengthElimination):
(JSC::DFG::CSEPhase::globalVarLoadElimination):
(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(JSC::DFG::CSEPhase::globalVarWatchpointElimination):
(JSC::DFG::CSEPhase::globalVarStoreElimination):
(JSC::DFG::CSEPhase::scopedVarStoreElimination):
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::checkFunctionElimination):
(JSC::DFG::CSEPhase::checkExecutableElimination):
(JSC::DFG::CSEPhase::checkStructureElimination):
(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
(JSC::DFG::CSEPhase::putStructureStoreElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::putByOffsetStoreElimination):
(JSC::DFG::CSEPhase::getPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::checkArrayElimination):
(JSC::DFG::CSEPhase::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::getLocalLoadElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::performSubstitution):
(JSC::DFG::CSEPhase::eliminateIrrelevantPhantomChildren):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::eliminate):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::performBlockCSE):
(CSEPhase):
* dfg/DFGCommon.cpp: Added.
(DFG):
(JSC::DFG::NodePointerTraits::dump):
* dfg/DFGCommon.h:
(DFG):
(JSC::DFG::NodePointerTraits::defaultValue):
(NodePointerTraits):
(JSC::DFG::verboseCompilationEnabled):
(JSC::DFG::shouldDumpGraphAtEachPhase):
(JSC::DFG::validationEnabled):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::isCapturedAtOrAfter):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(JSC::DFG::ConstantFoldingPhase::paintUnreachableCode):
* dfg/DFGDisassembler.cpp:
(JSC::DFG::Disassembler::Disassembler):
(JSC::DFG::Disassembler::createDumpList):
(JSC::DFG::Disassembler::dumpDisassembly):
* dfg/DFGDisassembler.h:
(JSC::DFG::Disassembler::setForNode):
(Disassembler):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGEdge.cpp: Added.
(DFG):
(JSC::DFG::Edge::dump):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::Edge):
(JSC::DFG::Edge::node):
(JSC::DFG::Edge::operator*):
(JSC::DFG::Edge::operator->):
(Edge):
(JSC::DFG::Edge::setNode):
(JSC::DFG::Edge::useKind):
(JSC::DFG::Edge::setUseKind):
(JSC::DFG::Edge::isSet):
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):
(JSC::DFG::operator==):
(JSC::DFG::operator!=):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::fixDoubleEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
(FixupPhase):
* dfg/DFGGenerationInfo.h:
(JSC::DFG::GenerationInfo::GenerationInfo):
(JSC::DFG::GenerationInfo::initConstant):
(JSC::DFG::GenerationInfo::initInteger):
(JSC::DFG::GenerationInfo::initJSValue):
(JSC::DFG::GenerationInfo::initCell):
(JSC::DFG::GenerationInfo::initBoolean):
(JSC::DFG::GenerationInfo::initDouble):
(JSC::DFG::GenerationInfo::initStorage):
(GenerationInfo):
(JSC::DFG::GenerationInfo::node):
(JSC::DFG::GenerationInfo::noticeOSRBirth):
(JSC::DFG::GenerationInfo::use):
(JSC::DFG::GenerationInfo::appendFill):
(JSC::DFG::GenerationInfo::appendSpill):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::~Graph):
(DFG):
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::amountOfNodeWhiteSpace):
(JSC::DFG::Graph::printNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::refChildren):
(JSC::DFG::Graph::derefChildren):
(JSC::DFG::Graph::predictArgumentTypes):
(JSC::DFG::Graph::collectGarbage):
(JSC::DFG::Graph::determineReachability):
(JSC::DFG::Graph::resetExitStates):
* dfg/DFGGraph.h:
(Graph):
(JSC::DFG::Graph::ref):
(JSC::DFG::Graph::deref):
(JSC::DFG::Graph::changeChild):
(JSC::DFG::Graph::compareAndSwap):
(JSC::DFG::Graph::clearAndDerefChild):
(JSC::DFG::Graph::clearAndDerefChild1):
(JSC::DFG::Graph::clearAndDerefChild2):
(JSC::DFG::Graph::clearAndDerefChild3):
(JSC::DFG::Graph::convertToConstant):
(JSC::DFG::Graph::getJSConstantSpeculation):
(JSC::DFG::Graph::addSpeculationMode):
(JSC::DFG::Graph::valueAddSpeculationMode):
(JSC::DFG::Graph::arithAddSpeculationMode):
(JSC::DFG::Graph::addShouldSpeculateInteger):
(JSC::DFG::Graph::mulShouldSpeculateInteger):
(JSC::DFG::Graph::negateShouldSpeculateInteger):
(JSC::DFG::Graph::isConstant):
(JSC::DFG::Graph::isJSConstant):
(JSC::DFG::Graph::isInt32Constant):
(JSC::DFG::Graph::isDoubleConstant):
(JSC::DFG::Graph::isNumberConstant):
(JSC::DFG::Graph::isBooleanConstant):
(JSC::DFG::Graph::isCellConstant):
(JSC::DFG::Graph::isFunctionConstant):
(JSC::DFG::Graph::isInternalFunctionConstant):
(JSC::DFG::Graph::valueOfJSConstant):
(JSC::DFG::Graph::valueOfInt32Constant):
(JSC::DFG::Graph::valueOfNumberConstant):
(JSC::DFG::Graph::valueOfBooleanConstant):
(JSC::DFG::Graph::valueOfFunctionConstant):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
(JSC::DFG::Graph::numSuccessors):
(JSC::DFG::Graph::successor):
(JSC::DFG::Graph::successorForCondition):
(JSC::DFG::Graph::isPredictedNumerical):
(JSC::DFG::Graph::byValIsPure):
(JSC::DFG::Graph::clobbersWorld):
(JSC::DFG::Graph::varArgNumChildren):
(JSC::DFG::Graph::numChildren):
(JSC::DFG::Graph::varArgChild):
(JSC::DFG::Graph::child):
(JSC::DFG::Graph::voteNode):
(JSC::DFG::Graph::voteChildren):
(JSC::DFG::Graph::substitute):
(JSC::DFG::Graph::substituteGetLocal):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
(JSC::DFG::Graph::mulImmediateShouldSpeculateInteger):
* dfg/DFGInsertionSet.h:
(JSC::DFG::Insertion::Insertion):
(JSC::DFG::Insertion::element):
(Insertion):
(JSC::DFG::InsertionSet::insert):
(InsertionSet):
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::setForNode):
(JSC::DFG::JITCompiler::addressOfDoubleConstant):
(JSC::DFG::JITCompiler::noticeOSREntry):
* dfg/DFGLongLivedState.cpp: Added.
(DFG):
(JSC::DFG::LongLivedState::LongLivedState):
(JSC::DFG::LongLivedState::~LongLivedState):
(JSC::DFG::LongLivedState::shrinkToFit):
* dfg/DFGLongLivedState.h: Added.
(DFG):
(LongLivedState):
* dfg/DFGMinifiedID.h:
(JSC::DFG::MinifiedID::MinifiedID):
(JSC::DFG::MinifiedID::node):
* dfg/DFGMinifiedNode.cpp:
(JSC::DFG::MinifiedNode::fromNode):
* dfg/DFGMinifiedNode.h:
(MinifiedNode):
* dfg/DFGNode.cpp: Added.
(DFG):
(JSC::DFG::Node::index):
(WTF):
(WTF::printInternal):
* dfg/DFGNode.h:
(DFG):
(JSC::DFG::Node::Node):
(Node):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::ref):
(JSC::DFG::Node::shouldSpeculateInteger):
(JSC::DFG::Node::shouldSpeculateIntegerForArithmetic):
(JSC::DFG::Node::shouldSpeculateIntegerExpectingDefined):
(JSC::DFG::Node::shouldSpeculateDoubleForArithmetic):
(JSC::DFG::Node::shouldSpeculateNumber):
(JSC::DFG::Node::shouldSpeculateNumberExpectingDefined):
(JSC::DFG::Node::shouldSpeculateFinalObject):
(JSC::DFG::Node::shouldSpeculateArray):
(JSC::DFG::Node::dumpChildren):
(WTF):
* dfg/DFGNodeAllocator.h: Added.
(DFG):
(operator new ):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
(SpeculationFailureDebugInfo):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGPhase.cpp:
(DFG):
(JSC::DFG::Phase::beginPhase):
(JSC::DFG::Phase::endPhase):
* dfg/DFGPhase.h:
(Phase):
(JSC::DFG::runAndLog):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::setPrediction):
(JSC::DFG::PredictionPropagationPhase::mergePrediction):
(JSC::DFG::PredictionPropagationPhase::isNotNegZero):
(JSC::DFG::PredictionPropagationPhase::isNotZero):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwoForConstant):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwoNonRecursive):
(JSC::DFG::PredictionPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::mergeDefaultFlags):
(JSC::DFG::PredictionPropagationPhase::propagateForward):
(JSC::DFG::PredictionPropagationPhase::propagateBackward):
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):
(PredictionPropagationPhase):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
* dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::ScoreBoard):
(JSC::DFG::ScoreBoard::use):
(JSC::DFG::ScoreBoard::useIfHasResult):
(ScoreBoard):
* dfg/DFGSilentRegisterSavePlan.h:
(JSC::DFG::SilentRegisterSavePlan::SilentRegisterSavePlan):
(JSC::DFG::SilentRegisterSavePlan::node):
(SilentRegisterSavePlan):
* dfg/DFGSlowPathGenerator.h:
(JSC::DFG::SlowPathGenerator::SlowPathGenerator):
(JSC::DFG::SlowPathGenerator::generate):
(SlowPathGenerator):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
(JSC::DFG::SpeculativeJIT::silentSavePlanForFPR):
(JSC::DFG::SpeculativeJIT::silentSpill):
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::arrayify):
(JSC::DFG::SpeculativeJIT::fillStorage):
(JSC::DFG::SpeculativeJIT::useChildren):
(JSC::DFG::SpeculativeJIT::isStrictInt32):
(JSC::DFG::SpeculativeJIT::isKnownInteger):
(JSC::DFG::SpeculativeJIT::isKnownNumeric):
(JSC::DFG::SpeculativeJIT::isKnownCell):
(JSC::DFG::SpeculativeJIT::isKnownNotCell):
(JSC::DFG::SpeculativeJIT::isKnownNotInteger):
(JSC::DFG::SpeculativeJIT::isKnownNotNumber):
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativeStrictEq):
(JSC::DFG::GPRTemporary::GPRTemporary):
(JSC::DFG::FPRTemporary::FPRTemporary):
(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::noticeOSRBirth):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::checkGeneratedTypeForToInt32):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileSoftModulo):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileIntegerArithDivForX86):
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::canReuse):
(JSC::DFG::SpeculativeJIT::isFilled):
(JSC::DFG::SpeculativeJIT::isFilledDouble):
(JSC::DFG::SpeculativeJIT::use):
(JSC::DFG::SpeculativeJIT::isConstant):
(JSC::DFG::SpeculativeJIT::isJSConstant):
(JSC::DFG::SpeculativeJIT::isInt32Constant):
(JSC::DFG::SpeculativeJIT::isDoubleConstant):
(JSC::DFG::SpeculativeJIT::isNumberConstant):
(JSC::DFG::SpeculativeJIT::isBooleanConstant):
(JSC::DFG::SpeculativeJIT::isFunctionConstant):
(JSC::DFG::SpeculativeJIT::valueOfInt32Constant):
(JSC::DFG::SpeculativeJIT::valueOfNumberConstant):
(JSC::DFG::SpeculativeJIT::valueOfNumberConstantAsInt32):
(JSC::DFG::SpeculativeJIT::addressOfDoubleConstant):
(JSC::DFG::SpeculativeJIT::valueOfJSConstant):
(JSC::DFG::SpeculativeJIT::valueOfBooleanConstant):
(JSC::DFG::SpeculativeJIT::valueOfFunctionConstant):
(JSC::DFG::SpeculativeJIT::isNullConstant):
(JSC::DFG::SpeculativeJIT::valueOfJSConstantAsImm64):
(JSC::DFG::SpeculativeJIT::detectPeepHoleBranch):
(JSC::DFG::SpeculativeJIT::integerResult):
(JSC::DFG::SpeculativeJIT::noResult):
(JSC::DFG::SpeculativeJIT::cellResult):
(JSC::DFG::SpeculativeJIT::booleanResult):
(JSC::DFG::SpeculativeJIT::jsValueResult):
(JSC::DFG::SpeculativeJIT::storageResult):
(JSC::DFG::SpeculativeJIT::doubleResult):
(JSC::DFG::SpeculativeJIT::initConstantInfo):
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::isInteger):
(JSC::DFG::SpeculativeJIT::temporaryRegisterForPutByVal):
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):
(JSC::DFG::SpeculativeJIT::setNodeForOperand):
(JSC::DFG::IntegerOperand::IntegerOperand):
(JSC::DFG::IntegerOperand::node):
(JSC::DFG::IntegerOperand::gpr):
(JSC::DFG::IntegerOperand::use):
(IntegerOperand):
(JSC::DFG::DoubleOperand::DoubleOperand):
(JSC::DFG::DoubleOperand::node):
(JSC::DFG::DoubleOperand::fpr):
(JSC::DFG::DoubleOperand::use):
(DoubleOperand):
(JSC::DFG::JSValueOperand::JSValueOperand):
(JSC::DFG::JSValueOperand::node):
(JSC::DFG::JSValueOperand::gpr):
(JSC::DFG::JSValueOperand::fill):
(JSC::DFG::JSValueOperand::use):
(JSValueOperand):
(JSC::DFG::StorageOperand::StorageOperand):
(JSC::DFG::StorageOperand::node):
(JSC::DFG::StorageOperand::gpr):
(JSC::DFG::StorageOperand::use):
(StorageOperand):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::node):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(JSC::DFG::SpeculateIntegerOperand::use):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateStrictInt32Operand::SpeculateStrictInt32Operand):
(JSC::DFG::SpeculateStrictInt32Operand::node):
(JSC::DFG::SpeculateStrictInt32Operand::gpr):
(JSC::DFG::SpeculateStrictInt32Operand::use):
(SpeculateStrictInt32Operand):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::node):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(JSC::DFG::SpeculateDoubleOperand::use):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::node):
(JSC::DFG::SpeculateCellOperand::gpr):
(JSC::DFG::SpeculateCellOperand::use):
(SpeculateCellOperand):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::node):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(JSC::DFG::SpeculateBooleanOperand::use):
(SpeculateBooleanOperand):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillDouble):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToNumber):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileIntegerCompare):
(JSC::DFG::SpeculativeJIT::compileDoubleCompare):
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileNonStringCellOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitNonStringCellOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillDouble):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToNumber):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
(JSC::DFG::SpeculativeJIT::nonSpeculativeUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileIntegerCompare):
(JSC::DFG::SpeculativeJIT::compileDoubleCompare):
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileNonStringCellOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitNonStringCellOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureAbstractValue.h:
(StructureAbstractValue):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* dfg/DFGValidate.cpp:
(DFG):
(Validate):
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::reportValidationContext):
* dfg/DFGValidate.h:
* dfg/DFGValueSource.cpp:
(JSC::DFG::ValueSource::dump):
* dfg/DFGValueSource.h:
(JSC::DFG::ValueSource::ValueSource):
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
(JSC::DFG::VirtualRegisterAllocationPhase::run):
* runtime/FunctionExecutableDump.cpp: Added.
(JSC):
(JSC::FunctionExecutableDump::dump):
* runtime/FunctionExecutableDump.h: Added.
(JSC):
(FunctionExecutableDump):
(JSC::FunctionExecutableDump::FunctionExecutableDump):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):
* runtime/JSGlobalData.h:
(JSC):
(DFG):
(JSGlobalData):
* runtime/Options.h:
(JSC):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141069
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 07:57:46 +0000 (07:57 +0000)]
[Qt] Build fix
https://bugs.webkit.org/show_bug.cgi?id=108142
Patch by Jae Hyun Park <jae.park@company100.net> on 2013-01-28
Reviewed by Gyuyoung Kim.
Build fix. Though StorageManager was added to WK2 in r141024,
it is not added to Target.pri for qt port.
* Target.pri:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141068
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 07:48:48 +0000 (07:48 +0000)]
[Texmap] Refactor code related to debug border and repaint count.
https://bugs.webkit.org/show_bug.cgi?id=105787
Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-28
Reviewed by Noam Rosenthal.
It is a follow-up patch not to change layout test results.
The previous patch sets GraphicsLayer::m_usingTiledLayer to true when using a
backing store. When the variable is true, dumpLayer() adds (usingTiledLayer 1),
but most of ports don't set m_usingTiledLayer to true. So we don't use
m_usingTiledLayer to match the test results of other ports.
After this patch, Texture Mapper draws debug visuals for a tiled backing
with different color from safari.
No new tests. Debug feature, not covered in tests.
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCountIfNeeded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141067
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
esprehn@chromium.org [Tue, 29 Jan 2013 07:47:20 +0000 (07:47 +0000)]
Handle createShadowSubtree inside of ensureUserAgentShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=108116
Reviewed by Dimitri Glazkov.
Instead of making everyone create the UserAgentShadowRoot manually all
over, centralize it in ensureUserAgentShadowRoot() and add a notification
Element::didAddUserAgentShadowRoot that lets elements fill in the subtree.
This lets us get rid of lots of code duplication.
No new tests, just refactoring.
* dom/Element.cpp:
(WebCore::Element::ensureUserAgentShadowRoot):
* dom/Element.h:
(WebCore::Element::didAddUserAgentShadowRoot):
(Element):
* html/HTMLDetailsElement.cpp:
(WebCore::DetailsSummaryElement::create):
(WebCore::HTMLDetailsElement::create):
(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
* html/HTMLDetailsElement.h:
(HTMLDetailsElement):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::willAddAuthorShadowRoot):
(WebCore::HTMLMediaElement::createMediaControls):
* html/HTMLMediaElement.h:
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::create):
(WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):
* html/HTMLMeterElement.h:
(HTMLMeterElement):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::create):
(WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):
* html/HTMLProgressElement.h:
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::create):
(WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
* html/HTMLSummaryElement.h:
(HTMLSummaryElement):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::create):
(WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):
* html/HTMLTextAreaElement.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelMuteButtonElement::create):
(WebCore::MediaControlVolumeSliderMuteButtonElement::create):
(WebCore::MediaControlPlayButtonElement::create):
(WebCore::MediaControlOverlayPlayButtonElement::create):
(WebCore::MediaControlSeekForwardButtonElement::create):
(WebCore::MediaControlSeekBackButtonElement::create):
(WebCore::MediaControlRewindButtonElement::create):
(WebCore::MediaControlReturnToRealtimeButtonElement::create):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlPanelVolumeSliderElement::create):
(WebCore::MediaControlFullscreenVolumeSliderElement::create):
(WebCore::MediaControlFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
* html/shadow/MediaControlsBlackBerry.cpp:
(WebCore::MediaControlFullscreenPlayButtonElement::create):
(WebCore::MediaControlFullscreenFullscreenButtonElement::create):
(WebCore::MediaControlFullscreenTimelineElement::create):
(WebCore::MediaControlAudioMuteButtonElement::create):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::create):
* svg/SVGTRefElement.h:
(SVGTRefElement):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::create):
* svg/SVGUseElement.h:
(SVGUseElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141066
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 07:44:58 +0000 (07:44 +0000)]
Coordinated Graphics: Refactor code related to debug border and repaint count.
https://bugs.webkit.org/show_bug.cgi?id=107910
Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-28
Reviewed by Noam Rosenthal.
There are two big changes:
1. CoordinatedGraphicsLayer sends debugging visuals to UI Process.
2. When updating a backing store, increment a repaint count.
In addition, we don't use QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
environment. EFL, GTK and QT will use WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
after http://webkit.org/b/107198.
* Shared/CoordinatedGraphics/CoordinatedLayerInfo.h:
(WebKit::CoordinatedLayerInfo::CoordinatedLayerInfo):
(CoordinatedLayerInfo):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::removeAllTiles):
(WebKit::CoordinatedBackingStore::updateTile):
(WebKit::CoordinatedBackingStore::texture):
(WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
(WebKit::CoordinatedBackingStore::adjustedTransformForRect):
(WebKit::CoordinatedBackingStore::paintToTextureMapper):
(WebKit):
(WebKit::CoordinatedBackingStore::drawBorder):
Override TextureMapperPlatformLayer::drawBorder() to draw the border
for each tile.
(WebKit::CoordinatedBackingStore::drawRepaintCounter):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
(CoordinatedBackingStoreTile):
(CoordinatedBackingStore):
(WebKit::CoordinatedBackingStore::rect):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::setLayerRepaintCount):
(WebKit):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::setLayerRepaintCount):
(WebKit):
(WebKit::LayerTreeRenderer::setLayerState):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setShowDebugBorder):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::setDebugBorder):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::setLayerRepaintCount):
(WebKit):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141065
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wangxianzhu@chromium.org [Tue, 29 Jan 2013 07:40:28 +0000 (07:40 +0000)]
Re-enable WebFrameTest.DivScrollIntoEditableTest
https://bugs.webkit.org/show_bug.cgi?id=98558
Reviewed by Adam Barth.
* tests/WebFrameTest.cpp: Fixed several issues (onload script, the maximum scale factor, etc.) of WebFrameTest.DivScrollIntoEditableTest and enable it.
* tests/data/get_scale_for_zoom_into_editable_test.html: Moved the logic of onload script (which seems not to work) into WebFrameTest.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141064
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rgf748@motorola.com [Tue, 29 Jan 2013 07:31:43 +0000 (07:31 +0000)]
HTMLOutputElement::htmlFor should be readonly
https://bugs.webkit.org/show_bug.cgi?id=101898
Reviewed by Kentaro Hara.
Source/WebCore:
The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html
No new tests. Modified existing test fast/dom/HTMLOutputElement/dom-settable-token-list.html
to work as expected.
* GNUmakefile.list.am: Removed JSHTMLOutputElementCustom.cpp
* Target.pri: Ditto
* UseJSC.cmake: Ditto
* UseV8.cmake: Removed V8HTMLOutputElementCustom.cpp
* WebCore.gypi: Removed V8HTMLOutputElementCustom.cpp
* WebCore.vcproj/WebCore.vcproj: Removed JSHTMLOutputElementCustom.cpp
* WebCore.vcxproj/WebCore.vcxproj: Ditto
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
* WebCore.xcodeproj/project.pbxproj: Ditto
* bindings/js/JSBindingsAllInOne.cpp: Ditto
* bindings/js/JSHTMLOutputElementCustom.cpp: Removed.
* bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Removed.
* html/HTMLOutputElement.idl: Made htmlFor attribute readonly.
LayoutTests:
The spec says htmlFor should be readonly, but WebKit implements it as no-readonly.
Spec: http://dev.w3.org/html5/spec-preview/the-output-element.html
Modified tests according to new behavior.
* fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
* fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js: Test for attribute htmlFor is readonly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141063
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 07:29:26 +0000 (07:29 +0000)]
Fix disambiguation popup for new-style page scale
https://bugs.webkit.org/show_bug.cgi?id=107391
Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-28
Reviewed by Adam Barth.
This patch corrects various coordinate conversion for disambiguation
popup for the new-style page scale mode.
Source/WebCore:
New unit test: WebFrameTest.DisambiguationPopupPageScale
* page/TouchDisambiguation.cpp:
(WebCore::findGoodTouchTargets):
* page/TouchDisambiguation.h:
(WebCore):
Source/WebKit/chromium:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::handleInputEvent):
* tests/WebFrameTest.cpp:
* tests/data/disambiguation_popup_page_scale.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141062
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 29 Jan 2013 07:14:20 +0000 (07:14 +0000)]
Remove support from ArgumentEncoder for deprecated encode functions
https://bugs.webkit.org/show_bug.cgi?id=108155
Reviewed by Dan Bernstein.
* Platform/CoreIPC/ArgumentEncoder.h:
(CoreIPC::ArgumentEncoder::encode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141061
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keishi@webkit.org [Tue, 29 Jan 2013 07:05:30 +0000 (07:05 +0000)]
[Chromium] Reverting change to chromium/TestExpectation in r141056.
Unreviewed. Gardening.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141060
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 06:59:42 +0000 (06:59 +0000)]
Collapse testing for a list of PLATFORM() into OS() and USE() tests
https://bugs.webkit.org/show_bug.cgi?id=108018
Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-01-28
Reviewed by Eric Seidel.
No functional change as "OS(DARWIN) && USE(CF)" equals to the
following platforms: MAC, WX, QT and CHROMIUM. CHROMIUM
is not using JavaScriptCore.
* runtime/DatePrototype.cpp:
(JSC):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141059
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 06:55:27 +0000 (06:55 +0000)]
Unreviewed, rolling out r141049.
http://trac.webkit.org/changeset/141049
https://bugs.webkit.org/show_bug.cgi?id=108151
Caused some indexed tests to crash. (Requested by keishi on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-28
Source/WebCore:
* Modules/indexeddb/IDBCallbacks.h:
(WebCore::IDBCallbacks::onUpgradeNeeded):
(WebCore::IDBCallbacks::onSuccess):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
(WebCore::IDBOpenDBRequest::onSuccess):
* Modules/indexeddb/IDBOpenDBRequest.h:
(IDBOpenDBRequest):
Source/WebKit/chromium:
* public/WebIDBCallbacks.h:
(WebKit):
* src/IDBCallbacksProxy.cpp:
(WebKit::IDBCallbacksProxy::onUpgradeNeeded):
* src/IDBCallbacksProxy.h:
(IDBCallbacksProxy):
* src/WebIDBCallbacksImpl.cpp:
(WebKit::WebIDBCallbacksImpl::onSuccess):
(WebKit::WebIDBCallbacksImpl::onUpgradeNeeded):
* src/WebIDBCallbacksImpl.h:
(WebIDBCallbacksImpl):
* tests/IDBAbortOnCorruptTest.cpp:
(WebCore::MockIDBCallbacks::onSuccess):
* tests/IDBDatabaseBackendTest.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141058
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Tue, 29 Jan 2013 06:52:51 +0000 (06:52 +0000)]
Layout Test http/tests/workers/terminate-during-sync-operation.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=79013
Reviewed by David Levin.
Source/WebCore:
We need to use an isolated copy because we're going to use it on a
different thread.
* Modules/webdatabase/AbstractDatabase.cpp:
(WebCore::AbstractDatabase::AbstractDatabase):
LayoutTests:
This test shouldn't be flaky anymore.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141057
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keishi@webkit.org [Tue, 29 Jan 2013 06:50:22 +0000 (06:50 +0000)]
[Chromium] Rebaselining after 141039.
Unreviewed. Gardening.
* platform/chromium/TestExpectations:
* platform/chromium/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt: Added.
* platform/chromium/compositing/layer-creation/fixed-position-in-view-dynamic-expected.txt: Added.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-expected.txt: Added.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
* platform/chromium/compositing/overflow/content-gains-scrollbars-expected.txt:
* platform/chromium/compositing/overflow/overflow-scrollbar-layers-expected.txt:
* platform/chromium/compositing/overflow/resize-painting-expected.txt:
* platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/content-gains-scrollbars-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/content-gains-scrollbars-expected.txt.
* platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/overflow-scrollbar-layers-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/overflow-scrollbar-layers-expected.txt.
* platform/chromium/platform/chromium/virtual/gpu/compositedscrolling/overflow/resize-painting-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/resize-painting-expected.txt.
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-in-view-dynamic-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
* platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/content-gains-scrollbars-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/content-gains-scrollbars-expected.txt.
* platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/overflow-scrollbar-layers-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/overflow-scrollbar-layers-expected.txt.
* platform/chromium/platform/chromium/virtual/softwarecompositing/overflow/resize-painting-expected.txt: Copied from LayoutTests/platform/chromium/compositing/overflow/resize-painting-expected.txt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141056
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 06:35:58 +0000 (06:35 +0000)]
Expose isRadioButton and isCheckbox API in chromium-webkit glue layer.
https://bugs.webkit.org/show_bug.cgi?id=108031
Patch by Raman Kumar <ramankk@chromium.org> on 2013-01-28
Reviewed by Adam Barth.
In chromium, to know if an InputElement is radiobutton or a checkbox,
we are checking for formControlType (a string comparision), which is
very slow. Exposing these API to chromium will make them faster.
* public/WebInputElement.h:
(WebInputElement):
* src/WebInputElement.cpp:
(WebKit::WebInputElement::isRadioButton):
(WebKit):
(WebKit::WebInputElement::isCheckbox):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141055
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shinyak@chromium.org [Tue, 29 Jan 2013 06:22:28 +0000 (06:22 +0000)]
[Shadow] Gesture event is not fired in ShadowDOM
https://bugs.webkit.org/show_bug.cgi?id=107797
Reviewed by Dimitri Glazkov.
Source/WebCore:
Gesture event (e.g. touchstart) is not fired in ShadowDOM.
We have to run event retargetting algorithm to retarget touchTarget, however it is not implemented yet (Bug 107800).
Until it's implemented, we use the shadow ancestor node of touchTarget in Document treescope as touchTarget
for backward compatibility. If a touch event is fired in nested ShadowDOM, touchTarget will be always element in
document tree, so an event listener in ShadowDOM will get a wrong touchTarget. However we prioritized
the correctness of document tree.
Test: fast/dom/shadow/touch-event.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent): Allows us to take elements in ShadowDOM.
LayoutTests:
* fast/dom/shadow/touch-event-expected.txt: Added.
* fast/dom/shadow/touch-event.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141054
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aelias@chromium.org [Tue, 29 Jan 2013 06:19:10 +0000 (06:19 +0000)]
Make page scale shrink FrameView in applyPageScaleInCompositor mode
https://bugs.webkit.org/show_bug.cgi?id=107424
Reviewed by Levi Weintraub.
If applyPageScaleFactorInCompositor is enabled (Chromium-only setting),
instead of the entire document expanding as the user pinch zooms, the
viewport shrinks instead. This patch applies the pageScaleFactor to
visibleContentRect to get this behavior, and simplifies Chromium's
resize logic to stop hiding the true viewport size from WebCore.
I verified that the scaling makes sense for all the callers of
visibleContentRect. The exceptions are clip-layer size,
layout size in non-fixed-layout mode, and text autosizing, which need
the original unscaled size. Therefore I added a new method
unscaledVisibleContentSize() to ScrollView/FrameView.
This patch also modifies Page::setPageScaleFactor to perform no
invalidates or layout when applyPageScaleFactorInCompositor is true,
and also writes pageScaleFactor into HistoryItems instead of using
frameScaleFactor.
Since all behavior changes are tied to applyPageScaleFactorInCompositor,
this patch should be a no-op for non-Chromium ports.
Source/Platform:
* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):
(WebKit::WebLayerTreeView::adjustEventPointForPinchZoom):
Source/WebCore:
New unit tests in WebFrameTest.cpp.
* loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
Use pageScaleFactor here because frameScaleFactor always returns 1
with our setting.
* page/FrameView.cpp:
(WebCore::FrameView::visibleContentScaleFactor):
(WebCore):
* page/FrameView.h:
(FrameView):
* page/Page.cpp:
(WebCore::Page::setPageScaleFactor): Make setPageScaleFactor stop
invalidating/layouting as this is handled by our compositor.
* platform/ScrollView.cpp:
(WebCore::ScrollView::unscaledVisibleContentSize): This new method
just returns the original visible rect without pageScaleFactor being
applied.
(WebCore):
(WebCore::ScrollView::visibleContentRect): This now is divided by
pageScaleFactor if our setting is active.
(WebCore::ScrollView::layoutSize):
* platform/ScrollView.h:
(WebCore::ScrollView::visibleContentScaleFactor): Returns
pageScaleFactor if the visible rect is scaled, 1 normally.
(ScrollView):
(WebCore::ScrollView::layoutWidth):
(WebCore::ScrollView::layoutHeight):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::updateRootLayerPosition): Clip layer
should use unscaled size, because it's above the root scroll layer
on the layer tree (i.e. page scale isn't applied on it).
* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processSubtree): Text autosizer should use
unscaled size, because it cares about physical screen size.
Source/WebKit/chromium:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scaledSize): Returns the post page-scale size
similar to what visibleContentRect() now returns, except that it may
be at a different scale than the current one.
(WebKit::WebViewImpl::size): Back to returning density-independent
size without any tricks, not the "layoutSize()" fake viewport.
(WebKit::WebViewImpl::resize):
(WebKit::WebViewImpl::handleInputEvent): No need to apply
implTransform anymore as WebKit knows the true scroll offset; just
divide event coords by pageScaleFactor.
(WebKit::WebViewImpl::clampOffsetAtScale): Make this method support
applyPageScaleFactorInCompositor. This is used to pre-clamp scroll
offsets at a given viewport size.
(WebKit::WebViewImpl::setPageScaleFactorPreservingScrollOffset): Make
this method support applyPageScaleFactorInCompositor (don't scale
scroll offsets as they are now scale-independent).
(WebKit::WebViewImpl::setPageScaleFactor): Make this method always use
clampOffsetAtScale instead of bypassing it, since it's now supported.
Also notify the compositor to update its state.
(WebKit::WebViewImpl::contentsSize): Convenience method, removed
difference between scaled and unscaled.
(WebKit::WebViewImpl::layoutSize): This method returned the "fake"
size we used to give FrameView. Now no longer used for much.
(WebKit::WebViewImpl::computePageScaleFactorLimits):
(WebKit::WebViewImpl::didChangeContentsSize): Remove unnecessary
resize() now that we can give the true size to FrameView.
(WebKit::WebViewImpl::updateLayerTreeViewport): Use layoutSize()
directly now that FrameView no longer uses it.
* src/WebViewImpl.h:
(WebViewImpl):
* tests/WebFrameTest.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141053
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 29 Jan 2013 06:05:29 +0000 (06:05 +0000)]
Disable default use of the Plug-in XPCService until we can
figure out how to deal with the 32-bit one.
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::shouldUseXPC):
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141052
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 29 Jan 2013 05:58:15 +0000 (05:58 +0000)]
Plug-ins should initialize their sandbox at creation time
https://bugs.webkit.org/show_bug.cgi?id=108098
Reviewed by Anders Carlsson.
Add the ability to add string key/value pairs to process creation parameters
to allow the plugin process to get passed the plugin path which in turn allows
the plugin to initialize its sandbox at the correct time.
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm:
* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(NetworkServiceInitializer):
* PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
(WebKit::PluginProcessMainDelegate::getExtraData):
(PluginProcessMainDelegate):
* PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm:
* PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm:
* PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(WebKit):
(PluginServiceInitializerDelegate):
(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(WebKit::PluginServiceInitializerDelegate::getExtraData):
(PluginServiceInitializer):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeProcess):
(WebKit::PluginProcess::initializePluginProcess):
(WebKit::PluginProcess::initializeProcessName):
(WebKit::PluginProcess::initializeSandbox):
* PluginProcess/PluginProcess.h:
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess):
(WebKit::PluginProcess::platformInitializeProcess):
(WebKit::PluginProcess::initializeProcessName):
(WebKit::PluginProcess::initializeSandbox):
* Shared/ChildProcess.h:
(ChildProcessInitializationParameters):
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h:
(ChildProcessMainDelegate):
(WebKit::ChildProcessMain):
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
(WebKit::ChildProcessMainDelegate::getExtraData):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h:
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h:
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Added.
(XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Added.
(WebKit::XPCServiceInitializerDelegate::~XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):
(WebKit::XPCServiceInitializerDelegate::getClientIdentifier):
(WebKit::XPCServiceInitializerDelegate::getClientProcessName):
(WebKit::XPCServiceInitializerDelegate::getExtraData):
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h:
(PluginProcessCreationParameters):
* UIProcess/Launcher/ProcessLauncher.h:
(LaunchOptions):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
(WebKit::connectToReExecService):
(WebKit::createService):
(WebKit::createProcess):
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit::PluginProcessProxy::platformInitializePluginProcess):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm:
* WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm:
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141051
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Tue, 29 Jan 2013 05:48:01 +0000 (05:48 +0000)]
Static size inference for JavaScript objects
https://bugs.webkit.org/show_bug.cgi?id=108093
Reviewed by Phil Pizlo.
../JavaScriptCore:
* API/JSObjectRef.cpp:
* JavaScriptCore.order:
* JavaScriptCore.xcodeproj/project.pbxproj: Pay the tax man.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode): op_new_object and op_create_this now
have an extra inferredInlineCapacity argument. This is the statically
inferred inline capacity, just from analyzing source text. op_new_object
also gets a pointer to an allocation profile. (For op_create_this, the
profile is in the construtor function.)
(JSC::CodeBlock::CodeBlock): Link op_new_object.
(JSC::CodeBlock::stronglyVisitStrongReferences): Mark our profiles.
* bytecode/CodeBlock.h:
(CodeBlock): Removed some dead code. Added object allocation profiles.
* bytecode/Instruction.h:
(JSC): New union type, since an instruction operand may point to an
object allocation profile now.
* bytecode/ObjectAllocationProfile.h: Added.
(JSC):
(ObjectAllocationProfile):
(JSC::ObjectAllocationProfile::offsetOfAllocator):
(JSC::ObjectAllocationProfile::offsetOfStructure):
(JSC::ObjectAllocationProfile::ObjectAllocationProfile):
(JSC::ObjectAllocationProfile::isNull):
(JSC::ObjectAllocationProfile::initialize):
(JSC::ObjectAllocationProfile::structure):
(JSC::ObjectAllocationProfile::inlineCapacity):
(JSC::ObjectAllocationProfile::clear):
(JSC::ObjectAllocationProfile::visitAggregate):
(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount): New class
for tracking a prediction about object allocation: structure, inline
capacity, allocator to use.
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName): Updated instruction sizes.
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(JSC):
(JSC::UnlinkedCodeBlock::addObjectAllocationProfile):
(JSC::UnlinkedCodeBlock::numberOfObjectAllocationProfiles):
(UnlinkedCodeBlock): Unlinked support for allocation profiles.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate): Kill all remaining analyses at the
end of codegen, since this is our last opportunity.
(JSC::BytecodeGenerator::BytecodeGenerator): Added a static property
analyzer to bytecode generation. It tracks initializing assignments and
makes a guess about how many will happen.
(JSC::BytecodeGenerator::newObjectAllocationProfile):
(JSC):
(JSC::BytecodeGenerator::emitProfiledOpcode):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitDirectPutById):
(JSC::BytecodeGenerator::emitPutGetterSetter):
(JSC::BytecodeGenerator::emitGetArgumentByVal):
(JSC::BytecodeGenerator::emitGetByVal): Added hooks to the static property
analyzer, so it can observe allocations and stores.
(JSC::BytecodeGenerator::emitCreateThis): Factored this into a helper
function because it was a significant amount of logic, and I wanted to
add to it.
(JSC::BytecodeGenerator::emitNewObject):
(JSC::BytecodeGenerator::emitExpectedFunctionSnippet):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstruct): Added a hook to profiled opcodes
to track their stores, in case a store kills a profiled allocation. Since
profiled opcodes are basically the only interesting stores we do, this
is a convenient place to notice any store that might kill an allocation.
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator): As above.
* bytecompiler/StaticPropertyAnalysis.h: Added.
(JSC):
(StaticPropertyAnalysis):
(JSC::StaticPropertyAnalysis::create):
(JSC::StaticPropertyAnalysis::addPropertyIndex):
(JSC::StaticPropertyAnalysis::record):
(JSC::StaticPropertyAnalysis::propertyIndexCount):
(JSC::StaticPropertyAnalysis::StaticPropertyAnalysis): Simple helper
class for tracking allocations and stores.
* bytecompiler/StaticPropertyAnalyzer.h: Added.
(StaticPropertyAnalyzer):
(JSC::StaticPropertyAnalyzer::StaticPropertyAnalyzer):
(JSC::StaticPropertyAnalyzer::createThis):
(JSC::StaticPropertyAnalyzer::newObject):
(JSC::StaticPropertyAnalyzer::putById):
(JSC::StaticPropertyAnalyzer::mov):
(JSC::StaticPropertyAnalyzer::kill): Helper class for observing allocations
and stores and making an inline capacity guess. The heuristics here are
intentionally minimal because we don't want this one class to try to
re-create something like a DFG or a runtime analysis. If we discover that
we need those kinds of analyses, we should just replace this class with
something else.
This class tracks multiple registers that alias the same object -- that
happens a lot, when moving locals into temporary registers -- but it
doesn't track control flow or multiple objects that alias the same register.
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute): Updated for rename.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): Updated for inline capacity and
allocation profile.
* dfg/DFGNode.h:
(JSC::DFG::Node::hasInlineCapacity):
(Node):
(JSC::DFG::Node::inlineCapacity):
(JSC::DFG::Node::hasFunction): Give the graph a good way to represent
inline capacity for an allocation.
* dfg/DFGNodeType.h:
(DFG): Updated for rename.
* dfg/DFGOperations.cpp: Updated for interface change.
* dfg/DFGOperations.h: We pass the inline capacity to the slow case as
an argument. This is the simplest way, since it's stored as a bytecode operand.
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate): Updated for rename.
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID): Fixed a horrible off-by-one-half bug that only
appears when doing an inline cached load for property number 64 on a 32-bit
system. In JSVALUE32_64 land, "offsetRelativeToPatchedStorage" is the
offset of the 64bit JSValue -- but we'll actually issue two loads, one for
the payload at that offset, and one for the tag at that offset + 4. We need
to ensure that both loads have a compact representation, or we'll corrupt
the instruction stream.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateJSArray):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::emitAllocateJSObject):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Lots of refactoring to support
passing an allocator to our allocation function, and/or passing a Structure
as a register instead of an immediate.
* heap/MarkedAllocator.h:
(DFG):
(MarkedAllocator):
(JSC::MarkedAllocator::offsetOfFreeListHead): Added an accessor to simplify
JIT code generation of allocation from an arbitrary allocator.
* jit/JIT.h:
(JSC):
* jit/JITInlines.h:
(JSC):
(JSC::JIT::emitAllocateJSObject):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this): Same refactoring as done for the DFG.
* jit/JITStubs.cpp:
(JSC::tryCacheGetByID): Fixed the same bug mentioned above.
(JSC::DEFINE_STUB_FUNCTION): Updated for interface changes.
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions): Updated for interface changes.
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm: Same refactoring as for the JITs.
* profiler/ProfilerBytecode.cpp:
* profiler/ProfilerBytecodes.cpp:
* profiler/ProfilerCompilation.cpp:
* profiler/ProfilerCompiledBytecode.cpp:
* profiler/ProfilerDatabase.cpp:
* profiler/ProfilerOSRExit.cpp:
* profiler/ProfilerOrigin.cpp:
* profiler/ProfilerProfiledBytecodes.cpp: Include ObjectConstructor.h
because that's where createEmptyObject() lives now.
* runtime/Executable.h:
(JSC::JSFunction::JSFunction): Updated for rename.
* runtime/JSCellInlines.h:
(JSC::allocateCell): Updated to match the allocator selection code in
the JIT, so it's clearer that both are correct.
* runtime/JSFunction.cpp:
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::createAllocationProfile):
(JSC::JSFunction::visitChildren):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
(JSC::JSFunction::getConstructData):
* runtime/JSFunction.h:
(JSC::JSFunction::offsetOfScopeChain):
(JSC::JSFunction::offsetOfExecutable):
(JSC::JSFunction::offsetOfAllocationProfile):
(JSC::JSFunction::allocationProfile):
(JSFunction):
(JSC::JSFunction::tryGetAllocationProfile):
(JSC::JSFunction::addAllocationProfileWatchpoint): Changed inheritorID
data member to be an ObjectAllocationProfile, which includes a pointer
to the desired allocator. This simplifies JIT code, since we don't have
to compute the allocator on the fly. I verified by code inspection that
JSFunction is still only 64 bytes.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::dateStructure): No direct pointer to the empty
object structure anymore, because now clients need to specify how much
inline capacity they want.
* runtime/JSONObject.cpp:
* runtime/JSObject.h:
(JSC):
(JSFinalObject):
(JSC::JSFinalObject::defaultInlineCapacity):
(JSC::JSFinalObject::maxInlineCapacity):
(JSC::JSFinalObject::createStructure): A little refactoring to try to
clarify where some of these constants derive from.
(JSC::maxOffsetRelativeToPatchedStorage): Used for bug fix, above.
* runtime/JSProxy.cpp:
(JSC::JSProxy::setTarget): Ugly, but effective.
* runtime/LiteralParser.cpp:
* runtime/ObjectConstructor.cpp:
(JSC::constructObject):
(JSC::constructWithObjectConstructor):
(JSC::callObjectConstructor):
(JSC::objectConstructorCreate): Updated for interface changes.
* runtime/ObjectConstructor.h:
(JSC::constructEmptyObject): Clarified your options for how to allocate
an empty object, to emphasize what things can actually vary.
* runtime/PropertyOffset.h: These constants have moved because they're
really higher level concepts to do with the layout of objects and the
collector. PropertyOffset is just an abstract number line, independent
of those things.
* runtime/PrototypeMap.cpp:
(JSC::PrototypeMap::emptyObjectStructureForPrototype):
(JSC::PrototypeMap::clearEmptyObjectStructureForPrototype):
* runtime/PrototypeMap.h:
(PrototypeMap): The map key is now a pair of prototype and inline capacity,
since Structure encodes inline capacity.
* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::copyPropertyTableForPinning):
* runtime/Structure.h:
(Structure):
(JSC::Structure::totalStorageSize):
(JSC::Structure::transitionCount):
(JSC::Structure::create): Fixed a nasty refactoring bug that only shows
up after enabling variable-sized inline capacities: we were passing our
type info where our inline capacity was expected. The compiler didn't
notice because both have type int :(.
../WebCore:
* ForwardingHeaders/runtime/ObjectConstructor.h: Added.
* bindings/js/JSInjectedScriptHostCustom.cpp:
* bindings/js/JSSQLResultSetRowListCustom.cpp: Include ObjectConstructor.h because
that's where createEmptyObject() is located now.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserialize): Updated for interface change.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141050
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alecflett@chromium.org [Tue, 29 Jan 2013 05:40:11 +0000 (05:40 +0000)]
IndexedDB: Pass metadata in to IDBOpenDBRequest.onUpgradeNeeded/onSuccess
https://bugs.webkit.org/show_bug.cgi?id=103920
Reviewed by Dimitri Glazkov.
Source/WebCore:
Update IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded to
pass through a metadata parameter. While there, remove the unused
IDBTransactionBackendInterface parameter to onUpgradeNeeded.
As this is another step in the IDB refactor, I've simplified future cleanup
work by making the WebKit API code still use the old API. This
will make it possible to outright remove code on the chromium side rather
than another three-step checkin.
No new tests, as this is more refactoring.
* Modules/indexeddb/IDBCallbacks.h:
(WebCore::IDBCallbacks::onUpgradeNeeded): new method signature.
(WebCore::IDBCallbacks::onSuccess): new method signature.
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded): use passed-in metadata.
(WebCore::IDBOpenDBRequest::onSuccess): use passed-in metadata.
* Modules/indexeddb/IDBOpenDBRequest.h:
(IDBOpenDBRequest):
Source/WebKit/chromium:
Support the new IDBCallbacks::onSuccess and IDBCallbacks::onUpgradeNeeded
while maintaining chromium compatibility by shimming in the old API
in the WebKit side. Future code will clean this up so that it is just a
pass-through as it was before.
* public/WebIDBCallbacks.h:
(WebKit):
(WebKit::WebIDBCallbacks::onSuccess): new method signature.
(WebKit::WebIDBCallbacks::onUpgradeNeeded): new method signature.
* src/IDBCallbacksProxy.cpp:
(WebKit::IDBCallbacksProxy::onSuccess): call on new method signature proxies through old API.
(WebKit):
(WebKit::IDBCallbacksProxy::onUpgradeNeeded): call on new method signature proxies through old API.
* src/IDBCallbacksProxy.h:
(IDBCallbacksProxy):
* src/WebIDBCallbacksImpl.cpp:
(WebKit::WebIDBCallbacksImpl::onSuccess): call on old WebKit proxy signature calls new API.
(WebKit):
(WebKit::WebIDBCallbacksImpl::onUpgradeNeeded): call on old WebKit proxy signature calls new API.
* src/WebIDBCallbacksImpl.h:
(WebIDBCallbacksImpl):
* tests/IDBAbortOnCorruptTest.cpp: new method signature.
(WebCore::MockIDBCallbacks::onSuccess):
* tests/IDBDatabaseBackendTest.cpp: new method signature.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141049
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 05:11:09 +0000 (05:11 +0000)]
Add window occlusion criteria to determine page visibility on Mac
https://bugs.webkit.org/show_bug.cgi?id=107494
Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-28
Reviewed by Simon Fraser.
Source/WebKit2:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::isViewVisible): Add window occlusion check.
* UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]): Remove self from the all views vector.
(-[WKView addWindowObserversForWindow:]): Register observer for
NSWindowWillOrderOffScreenNotification.
(-[WKView removeWindowObservers]): Unregister observer for
NSWindowWillOrderOffScreenNotification.
(-[WKView viewWillMoveToWindow:]): Disable occlusion notifications.
(-[WKView viewDidMoveToWindow]): Enable occlusion notifications.
(-[WKView _windowWillOrderOffScreen:]): Disable occlusion notifications.
(-[WKView _windowDidOrderOnScreen:]): Enable occlusion notifications.
This notification ensures that occlusion notifications are registered
correctly even if the NSWindow object is assigned a window number after
the viewDidMoveToWindow notification has been received. This occurs
for instance during application launch.
(-[WKView _setIsWindowOccluded:]):
(-[WKView _enableWindowOcclusionNotifications]):
(-[WKView _disableWindowOcclusionNotifications]):
(windowBecameVisible):
(windowBecameOccluded):
(+[WKView _registerWindowOcclusionNotificationHandlers]):
(+[WKView _unregisterWindowOcclusionNotificationHandlers]):
(+[WKView _allViews]):
(-[WKView _isWindowOccluded]):
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Add
self to the all views vector.
* UIProcess/API/mac/WKViewInternal.h:
WebKitLibraries:
Add enum constants to specify window occlusion notification type to
notification registration/unregistration methods. Add typedef for
window ID data passed to the window occlusion notification handler.
Add method to enable occlusion notifications for a particular window.
* WebKitSystemInterface.h: Add
WKOcclusionNotificationTypeWindowBecameVisible,
WKOcclusionNotificationTypeWindowBecameOccluded,
WKWindowID,
WKEnableWindowOcclusionNotifications().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141045
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keishi@webkit.org [Tue, 29 Jan 2013 04:47:23 +0000 (04:47 +0000)]
[Chromium] Rebaselining integer-modulo after r141031.
Unreviewed. Gardening.
* platform/chromium/fast/js/regress/integer-modulo-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141044
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 04:41:48 +0000 (04:41 +0000)]
[BlackBerry] Small animated zoom level adjustments are unnecessary
https://bugs.webkit.org/show_bug.cgi?id=108104
Patch by Andrew Lo <anlo@rim.com> on 2013-01-28
Reviewed by Rob Buis.
Internally reviewed by Mike Fenton.
Internal PR 285861.
If the difference between the target scale and current scale is
less than a given threshold, don't perform a zoom animation.
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141043
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 04:38:18 +0000 (04:38 +0000)]
fix multi-touch-inside-iframes Layout test
https://bugs.webkit.org/show_bug.cgi?id=108113
Patch by Min Qin <qinmin@chromium.org> on 2013-01-28
Reviewed by Adam Barth.
The ordering of OnLoad() of the 2 child iframes is racy.
Fixed by assigning title from the parent frame.
* fast/events/touch/multi-touch-inside-iframes.html:
* fast/events/touch/resources/multi-touch-inside-iframes2.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141042
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nghanavatian@rim.com [Tue, 29 Jan 2013 04:37:59 +0000 (04:37 +0000)]
[BlackBerry] Reduce the region that is spellchecked on keystroke
https://bugs.webkit.org/show_bug.cgi?id=108115
Reviewed by Rob Buis.
PR288217
Instead of blindly checking text until endOfDocument, we should be honoring the boundaries of
the VisibleSelection that is passed into SpellingHandler. Though this results in the same behavior
on focus, this dramatically reduces the region that is rechecked when a key is hit.
Internally reviewed by Mike Fenton.
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
* WebKitSupport/SpellingHandler.cpp:
(BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
* WebKitSupport/SpellingHandler.h:
(SpellingHandler):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141041
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 29 Jan 2013 04:32:00 +0000 (04:32 +0000)]
[TexMap] Enable debug borders and repaint counter via Settings.
https://bugs.webkit.org/show_bug.cgi?id=107198
Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-28
Reviewed by Benjamin Poulain.
Source/WebKit/efl:
If WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS is set to 1, set
showDebugBorders and showRepaintCounter in Settings to true.
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):
Source/WebKit/gtk:
If WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS is set to 1, set
showDebugBorders and showRepaintCounter in Settings to true.
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):
Source/WebKit/qt:
If WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS is set to 1, set
showDebugBorders and showRepaintCounter in Settings to true.
* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
Source/WebKit2:
Currently, if the environment variable WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS
is set to 1, only CoordinatedBacking shows debug borders and repaint counter.
This patch makes the environment variable change Settings.
In addition, Qt uses WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS instead of
QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS from now.
After Bug 105787, all backing stores and platform layers in TextureMapper can
show debug borders and repaint counter.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsSetProperty):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::initialize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141040
268f45cc-cd09-0410-ab3c-
d52691b4dbfc