benjamin@webkit.org [Mon, 25 Aug 2014 04:06:35 +0000 (04:06 +0000)]
The inspector should not use the "after" pseudo element with the compatibility syntax
https://bugs.webkit.org/show_bug.cgi?id=136204
Reviewed by Darin Adler.
We should only use hte proper pseudo element syntax inside WebKit.
* Tools/PrettyPrinting/codemirror-additions.css:
* Tools/PrettyPrinting/populate/apple.css:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172900
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
burg@cs.washington.edu [Mon, 25 Aug 2014 03:53:33 +0000 (03:53 +0000)]
Remove unused method declarations replaced by WebPage::setViewState
https://bugs.webkit.org/show_bug.cgi?id=136180
Reviewed by Darin Adler.
* WebProcess/WebPage/WebPage.h:
Remove setFocused, setActive, setViewIsVisible. No longer used.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172899
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 25 Aug 2014 02:33:07 +0000 (02:33 +0000)]
ASSERT(extractable()) when storing a non-extractable key in IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=136202
rdar://problem/
17993967
Reviewed by Darin Adler.
Source/WebCore:
Test: crypto/subtle/rsa-indexeddb-non-exportable.html
Removed the obsolete assertion.
* crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::exportData):
* crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::exportData):
* crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::exportData):
LayoutTests:
* crypto/subtle/rsa-indexeddb-non-exportable-expected.txt: Added.
* crypto/subtle/rsa-indexeddb-non-exportable.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172898
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
burg@cs.washington.edu [Mon, 25 Aug 2014 00:26:14 +0000 (00:26 +0000)]
Web Inspector: Rename DOM.RGBA and remove workarounds in the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=136025
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
This workaround can be removed since it is no longer necessary.
* inspector/scripts/codegen/models.py:
(TypeReference.__init__):
(Type.raw_name):
(TypeDeclaration.__init__):
* inspector/scripts/tests/type-declaration-object-type.json: Remove related test input.
* inspector/scripts/tests/expected/type-declaration-object-type.json-result: Rebaseline.
Source/WebCore:
Rename DOM.RGBA to DOM.RGBAColor to avoid name clashes with headers on Windows CE.
This workaround used to be special-cased in the bindings generator.
Type names are not used in protocol messages, so this does not introduce legacy issues.
* inspector/protocol/DOM.json:
Source/WebInspectorUI:
Also rename DOM.RGBA in legacy protocol specifications.
* Versions/Inspector-iOS-6.0.json:
* Versions/Inspector-iOS-7.0.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172897
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 24 Aug 2014 22:07:29 +0000 (22:07 +0000)]
[GTK] Toggle buttons visually broken with GTK+ 3.13.7
https://bugs.webkit.org/show_bug.cgi?id=136130
Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2014-08-24
Reviewed by Martin Robinson.
No new tests. Hopefully covered by existing tests, and our tests only
run with GTK+ 3.6 anyway.
* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172896
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 24 Aug 2014 20:14:29 +0000 (20:14 +0000)]
GenericHashTraits::peek() is producing copies of passed-in temporary values
https://bugs.webkit.org/show_bug.cgi?id=131461
Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-08-24
Reviewed by Darin Adler.
Source/WTF:
* wtf/HashTraits.h:
(WTF::GenericHashTraits::peek): Make this method a template that passes through
the passed-in value without copying, achieved by using universal references and
std::forward<>().
Tools:
Add a test case that checks the number of copies and moves of the mapped objects
when calling HashMap::get(). Exactly one copy of the mapped value should be
performed when there exists a value that is mapped to the specified key, and
exactly one move and no copies of the empty value should be performed when there
isn't any mapped value for the specified key.
* TestWebKitAPI/Tests/WTF/CopyMoveCounter.h: Added.
(CopyMoveCounter::TestingScope::TestingScope):
(CopyMoveCounter::CopyMoveCounter):
(CopyMoveCounter::operator=):
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Sun, 24 Aug 2014 09:12:59 +0000 (09:12 +0000)]
[EFL] Introduce DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=135884
Reviewed by Gyuyoung Kim.
.:
Like GTK port, DEVELOPER_MODE can be good solution for developing, debugging and testing
instead of SHARED_CORE.
SHARED_CORE can reduce link time and memory consumption but it is slightly different
from release binary.
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitHelpers.cmake:
Moved fvisibility=hidden to OptionsEfl.cmake
Tools:
* Scripts/webkitdirs.pm: Turn on DEVELOPER_MODE for the EFL port.
(generateBuildSystemFromCMakeProject):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172894
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 24 Aug 2014 07:10:43 +0000 (07:10 +0000)]
build.webkit.org/dashboard unnecessarily loads results of hidden queues
https://bugs.webkit.org/show_bug.cgi?id=136195
Reviewed by Tim Horton.
This patch also makes it possible to avoid any automatic loading, as needed for metrics view.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:
Don't start an update just because a queue object was created. Periodic updates
are triggered by views, so it only makes sense to do the same for the initial update.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
Now that Trac object doesn't auto-load, start loading here.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js:
(QueueView): Calling _updateHiddenState right away was wrong, because it accesses
a data member added by subclasses later. With this.platform being undefined, it
always looked like this queue was not hidden.
(QueueView.prototype._updateHiddenState): Start an immediate update, too.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac): Don't load anything here, the client may choose to load a custom date range.
(Trac.prototype.startPeriodicUpdates): Added a function to start automatic loading.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172893
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 24 Aug 2014 01:35:16 +0000 (01:35 +0000)]
build.webkit.org/dashboard: Further improve Trac loading
https://bugs.webkit.org/show_bug.cgi?id=136174
Reviewed by Timothy Hatcher.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac.prototype._xmlTimelineURL): Passing -1 as "max" resulted in an off by one
error, the oldest commit within the range wasn't returned. The correct argument for
"no limit" is 0.
(Trac.prototype.load): Added a function to load a specific time range.
(Trac.prototype._loaded): Updated to support loading revisions that are arbitrarily
positioned with regards to ones that were already known.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172892
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sun, 24 Aug 2014 01:22:00 +0000 (01:22 +0000)]
build.webkit.org/dashboard: Make it possible to pull historic data from Buildbot
https://bugs.webkit.org/show_bug.cgi?id=136182
Reviewed by Timothy Hatcher.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
Make it possible to create a complete BuildbotIteration object with JSON, not only by
loading data from the network.
An iteration has three states:
1. Just created, it only knows the revision, and whether it's already finished.
BuildbotIteration constructor used to create these.
2. A complete JSON report loaded from buildbot. The new constructor form creates these.
3. Data about tests is fetched.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
Make it possible to pull all data from a buildbot queue. This needs to be better
optimized eventually, as it's somewhat slow.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Sat, 23 Aug 2014 20:39:07 +0000 (20:39 +0000)]
Random Gamepad cleanup
https://bugs.webkit.org/show_bug.cgi?id=136193
Reviewed by Sam Weinig.
No new tests (Not tested yet, and no change in behavior anyways)
- Use DOMWindow WeakPtrs when iterating
- More references instead of pointers
* Modules/gamepad/GamepadEvent.cpp:
(WebCore::GamepadEvent::GamepadEvent):
* Modules/gamepad/GamepadEvent.h:
(WebCore::GamepadEvent::create):
* Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
(WebCore::NavigatorGamepad::gamepadAtIndex): Deleted.
* Modules/gamepad/NavigatorGamepad.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::DOMWindow):
* page/DOMWindow.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 Aug 2014 09:24:44 +0000 (09:24 +0000)]
Unify GraphicsLayer::setContentsToMedia and setContentsToCanvas
https://bugs.webkit.org/show_bug.cgi?id=109658
Source/WebCore:
Patch by Byungseon Shin <sun.shin@lge.com> on 2014-08-23
Reviewed by Martin Robinson.
Based on patch originally written by Tim Horton.
Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.
* WebCore.exp.in:
Adjust exports.
* platform/graphics/GraphicsLayer.h:
Move ContentsLayerPurpose enum up out of GraphicsLayer platform implmentations
and into GraphicsLayer, so we can use it as a parameter.
Add ContentsLayerForPlugin.
(WebCore::GraphicsLayer::setContentsToPlatformLayer):
Remove setContentsToMedia and setContentsToCanvas, and replace them
with setContentsToPlatformLayer, which previously existed but was unused
and simply called setContentsToMedia.
setContentsToPlatformLayer takes a ContentsLayerPurpose, primarily
so that GraphicsLayerCA can know whether it needs to setNeedsDisplay
the layer when parenting it (canvas) or not (everything else).
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
Rename function setContentsToMedia -> setContentsToPlatformLayer.
Rename argument mediaLayer -> platformLayer.
Store the passed-in ContentsLayerPurpose.
Remove setContentsToCanvas.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
Remove updateContentsMediaLayer and updateContentsCanvas layer,
add updateContentsPlatformLayer.
* platform/graphics/ca/GraphicsLayerCA.h:
Do the same to the LayerChange enum.
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
(WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::syncPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::destroyPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
Fold these together in the same way as elsewhere.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
Do the same to the LayerChange enum.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::createPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::destroyPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerState):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
(WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
Rename canvasLayer -> platformLayer.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
Use the new setContentsToPlatformLayer, passing in the relevant ContentsLayerPurpose.
Source/WebKit2:
Patch by Byungseon Shin <sun.shin@lge.com> on 2014-08-23
Reviewed by Martin Robinson.
Based on patch originally written by Tim Horton.
Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):
Rename canvas -> platformLayer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 Aug 2014 08:16:51 +0000 (08:16 +0000)]
Web Inspector: Do not copy large module source strings
https://bugs.webkit.org/show_bug.cgi?id=136191
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-23
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::injectedScriptSource):
Source/WebCore:
* inspector/CommandLineAPIModule.cpp:
(WebCore::CommandLineAPIModule::source):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Sat, 23 Aug 2014 07:15:37 +0000 (07:15 +0000)]
Remove uses of CrossThreadTask in ThreadableWebSocketChannelClientWrapper, WorkerThreadableWebSocketChannel
https://bugs.webkit.org/show_bug.cgi?id=133954
Reviewed by Darin Adler.
Replace uses of CrossThreadTask with C++11 lambdas in the ThreadableWebSocketChannelClientWrapper
and WorkerThreadableWebSocketChannel classes.
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback): Deleted.
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
(WebCore::workerGlobalScopeDidSend): Deleted.
(WebCore::workerGlobalScopeDidGetBufferedAmount): Deleted.
(WebCore::workerGlobalScopeDidConnect): Deleted.
(WebCore::workerGlobalScopeDidReceiveMessage): Deleted.
(WebCore::workerGlobalScopeDidReceiveBinaryData): Deleted.
(WebCore::workerGlobalScopeDidUpdateBufferedAmount): Deleted.
(WebCore::workerGlobalScopeDidStartClosingHandshake): Deleted.
(WebCore::workerGlobalScopeDidClose): Deleted.
(WebCore::workerGlobalScopeDidReceiveMessageError): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSend): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadBufferedAmount): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadClose): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadFail): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadResume): Deleted.
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Sat, 23 Aug 2014 07:12:59 +0000 (07:12 +0000)]
Clean up build warnings: control reaches end of non-void function
https://bugs.webkit.org/show_bug.cgi?id=135889
Reviewed by Alexey Proskuryakov.
* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
* crypto/CryptoKey.cpp:
(WebCore::CryptoKey::type):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172886
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Sat, 23 Aug 2014 07:11:00 +0000 (07:11 +0000)]
[TexMap] Only notify of a required flush on the first layer property change
https://bugs.webkit.org/show_bug.cgi?id=136104
Reviewed by Martin Robinson.
The GraphicsLayer's client should only be notified that a flush is required
when the first change of one of the layer's properties is initiated, instead
of requesting the flush on every such change.
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::notifyChange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172885
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 23 Aug 2014 06:59:20 +0000 (06:59 +0000)]
Try to fix the Mac build using the internal SDK.
* bindings/objc/PublicDOMInterfaces.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172884
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 Aug 2014 06:32:59 +0000 (06:32 +0000)]
Remove LevelDB.
https://bugs.webkit.org/show_bug.cgi?id=136170
Patch by Renato Nagy <nagy.renato@stud.u-szeged.hu> on 2014-08-22
Reviewed by Gyuyoung Kim.
Source/ThirdParty:
* leveldb/AUTHORS: Removed.
* leveldb/LICENSE: Removed.
* leveldb/Makefile: Removed.
* leveldb/NEWS: Removed.
* leveldb/README: Removed.
* leveldb/TODO: Removed.
* leveldb/build_detect_platform: Removed.
* leveldb/db/builder.cc: Removed.
* leveldb/db/builder.h: Removed.
* leveldb/db/c.cc: Removed.
* leveldb/db/c_test.c: Removed.
* leveldb/db/corruption_test.cc: Removed.
* leveldb/db/db_bench.cc: Removed.
* leveldb/db/db_impl.cc: Removed.
* leveldb/db/db_impl.h: Removed.
* leveldb/db/db_iter.cc: Removed.
* leveldb/db/db_iter.h: Removed.
* leveldb/db/db_test.cc: Removed.
* leveldb/db/dbformat.cc: Removed.
* leveldb/db/dbformat.h: Removed.
* leveldb/db/dbformat_test.cc: Removed.
* leveldb/db/filename.cc: Removed.
* leveldb/db/filename.h: Removed.
* leveldb/db/filename_test.cc: Removed.
* leveldb/db/leveldb_main.cc: Removed.
* leveldb/db/log_format.h: Removed.
* leveldb/db/log_reader.cc: Removed.
* leveldb/db/log_reader.h: Removed.
* leveldb/db/log_test.cc: Removed.
* leveldb/db/log_writer.cc: Removed.
* leveldb/db/log_writer.h: Removed.
* leveldb/db/memtable.cc: Removed.
* leveldb/db/memtable.h: Removed.
* leveldb/db/repair.cc: Removed.
* leveldb/db/skiplist.h: Removed.
* leveldb/db/skiplist_test.cc: Removed.
* leveldb/db/snapshot.h: Removed.
* leveldb/db/table_cache.cc: Removed.
* leveldb/db/table_cache.h: Removed.
* leveldb/db/version_edit.cc: Removed.
* leveldb/db/version_edit.h: Removed.
* leveldb/db/version_edit_test.cc: Removed.
* leveldb/db/version_set.cc: Removed.
* leveldb/db/version_set.h: Removed.
* leveldb/db/version_set_test.cc: Removed.
* leveldb/db/write_batch.cc: Removed.
* leveldb/db/write_batch_internal.h: Removed.
* leveldb/db/write_batch_test.cc: Removed.
* leveldb/doc/bench/db_bench_sqlite3.cc: Removed.
* leveldb/doc/bench/db_bench_tree_db.cc: Removed.
* leveldb/doc/benchmark.html: Removed.
* leveldb/doc/doc.css: Removed.
* leveldb/doc/impl.html: Removed.
* leveldb/doc/index.html: Removed.
* leveldb/doc/log_format.txt: Removed.
* leveldb/doc/table_format.txt: Removed.
* leveldb/helpers/memenv/memenv.cc: Removed.
* leveldb/helpers/memenv/memenv.h: Removed.
* leveldb/helpers/memenv/memenv_test.cc: Removed.
* leveldb/include/leveldb/c.h: Removed.
* leveldb/include/leveldb/cache.h: Removed.
* leveldb/include/leveldb/comparator.h: Removed.
* leveldb/include/leveldb/db.h: Removed.
* leveldb/include/leveldb/env.h: Removed.
* leveldb/include/leveldb/filter_policy.h: Removed.
* leveldb/include/leveldb/iterator.h: Removed.
* leveldb/include/leveldb/options.h: Removed.
* leveldb/include/leveldb/slice.h: Removed.
* leveldb/include/leveldb/status.h: Removed.
* leveldb/include/leveldb/table.h: Removed.
* leveldb/include/leveldb/table_builder.h: Removed.
* leveldb/include/leveldb/write_batch.h: Removed.
* leveldb/port/README: Removed.
* leveldb/port/atomic_pointer.h: Removed.
* leveldb/port/port.h: Removed.
* leveldb/port/port_example.h: Removed.
* leveldb/port/port_posix.cc: Removed.
* leveldb/port/port_posix.h: Removed.
* leveldb/port/thread_annotations.h: Removed.
* leveldb/port/win/stdint.h: Removed.
* leveldb/table/block.cc: Removed.
* leveldb/table/block.h: Removed.
* leveldb/table/block_builder.cc: Removed.
* leveldb/table/block_builder.h: Removed.
* leveldb/table/filter_block.cc: Removed.
* leveldb/table/filter_block.h: Removed.
* leveldb/table/filter_block_test.cc: Removed.
* leveldb/table/format.cc: Removed.
* leveldb/table/format.h: Removed.
* leveldb/table/iterator.cc: Removed.
* leveldb/table/iterator_wrapper.h: Removed.
* leveldb/table/merger.cc: Removed.
* leveldb/table/merger.h: Removed.
* leveldb/table/table.cc: Removed.
* leveldb/table/table_builder.cc: Removed.
* leveldb/table/table_test.cc: Removed.
* leveldb/table/two_level_iterator.cc: Removed.
* leveldb/table/two_level_iterator.h: Removed.
* leveldb/util/arena.cc: Removed.
* leveldb/util/arena.h: Removed.
* leveldb/util/arena_test.cc: Removed.
* leveldb/util/bloom.cc: Removed.
* leveldb/util/bloom_test.cc: Removed.
* leveldb/util/cache.cc: Removed.
* leveldb/util/cache_test.cc: Removed.
* leveldb/util/coding.cc: Removed.
* leveldb/util/coding.h: Removed.
* leveldb/util/coding_test.cc: Removed.
* leveldb/util/comparator.cc: Removed.
* leveldb/util/crc32c.cc: Removed.
* leveldb/util/crc32c.h: Removed.
* leveldb/util/crc32c_test.cc: Removed.
* leveldb/util/env.cc: Removed.
* leveldb/util/env_posix.cc: Removed.
* leveldb/util/env_test.cc: Removed.
* leveldb/util/filter_policy.cc: Removed.
* leveldb/util/hash.cc: Removed.
* leveldb/util/hash.h: Removed.
* leveldb/util/histogram.cc: Removed.
* leveldb/util/histogram.h: Removed.
* leveldb/util/logging.cc: Removed.
* leveldb/util/logging.h: Removed.
* leveldb/util/mutexlock.h: Removed.
* leveldb/util/options.cc: Removed.
* leveldb/util/posix_logger.h: Removed.
* leveldb/util/random.h: Removed.
* leveldb/util/status.cc: Removed.
* leveldb/util/testharness.cc: Removed.
* leveldb/util/testharness.h: Removed.
* leveldb/util/testutil.cc: Removed.
* leveldb/util/testutil.h: Removed.
Source/WebCore:
* CMakeLists.txt:
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
* Modules/indexeddb/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::canRunTransaction):
(WebCore::doScopesOverlap): Deleted.
* Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Removed.
* Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Removed.
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Removed.
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Removed.
* Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Removed.
* Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h: Removed.
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed.
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed.
* Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Removed.
* Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Removed.
* Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Removed.
* Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Removed.
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Removed.
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Removed.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/DatabaseStrategy.cpp:
(WebCore::DatabaseStrategy::createIDBFactoryBackend):
* platform/leveldb/LevelDBComparator.h: Removed.
* platform/leveldb/LevelDBDatabase.cpp: Removed.
* platform/leveldb/LevelDBDatabase.h: Removed.
* platform/leveldb/LevelDBIterator.h: Removed.
* platform/leveldb/LevelDBSlice.h: Removed.
* platform/leveldb/LevelDBTransaction.cpp: Removed.
* platform/leveldb/LevelDBTransaction.h: Removed.
* platform/leveldb/LevelDBWriteBatch.cpp: Removed.
* platform/leveldb/LevelDBWriteBatch.h: Removed.
Tools:
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/style/checker.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172883
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 Aug 2014 06:29:38 +0000 (06:29 +0000)]
.:
[EFL] Turn on ENABLE_GAMEPAD_DEPRECATED option.
https://bugs.webkit.org/show_bug.cgi?id=136110
Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-08-22
Reviewed by Gyuyoung Kim.
Turn on ENABLE_GAMEPAD_DEPRECATED option for the WK2 Efl.
* Source/cmake/OptionsEfl.cmake:
Source/WebCore:
[EFL] Fix build break caused by ENABLE_GAMEPAD_DEPRECATED.
https://bugs.webkit.org/show_bug.cgi?id=136110
Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-08-22
Reviewed by Gyuyoung Kim.
WebCore_INCLUDE_DIRECTORY for gamepad was removed from WK2 Efl in order to fix build break when ENABLE_GAMEPAD_DEPRECATED is on.
No new tests because no functional changes.
* PlatformEfl.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172882
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zoltan@webkit.org [Sat, 23 Aug 2014 04:34:23 +0000 (04:34 +0000)]
[EFL][WK2] Remove fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html from skipped list
https://bugs.webkit.org/show_bug.cgi?id=128732
Reviewed by Gyuyoung Kim.
* css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172881
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Sat, 23 Aug 2014 04:30:33 +0000 (04:30 +0000)]
Style invalidation does not work for adjacent node updates
https://bugs.webkit.org/show_bug.cgi?id=136145
Reviewed by Antti Koivisto.
Source/WebCore:
There were a bunch of cases in which the style would be in an inconsistent
state until the style resolver kicks in for the entire document.
For example, let's take the selector "foo.bar + target". When the class "bar"
changes, the element foo is invalidated. The element target is untouched.
Now, if the style of "target" is accessed, nodeOrItsAncestorNeedsStyleRecalc()
returns false and the old style is accessed.
At some point, when the style of the entire document is resolved, the node
"foo" is styled, and "target" is invalidated.
To fix the issue, this patch adds an extra flag keeping track of subtrees that
have any node needing style recalc: DirectChildNeedsStyleRecalcFlag.
When invalidating the node "foo", its parent is marked with
DirectChildNeedsStyleRecalcFlag to note that one of the child nodes has an invalid style.
When verifying the style state in nodeOrItsAncestorNeedsStyleRecalc(), we check that flag
in addition to the siblings dependencies to find if the node is part of a subtree that may
be invalid due to sibling selectors.
Similarly, in the style resolver, we use the flag to clear the style on all elements
that could potentially be invalid.
This patch removes the changes introduced by r172721
(The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element).
That bug was just a special case of what is solved here.
Tests: fast/selectors/attribute-direct-adjacent-style-update.html
fast/selectors/attribute-sibling-style-update.html
fast/selectors/class-direct-adjacent-style-update.html
fast/selectors/class-sibling-style-update.html
fast/selectors/first-child-direct-adjacent-style-update.html
fast/selectors/first-child-sibling-style-update.html
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
(WebCore::SelectorCompiler::setStyleOfSiblingsAffectedByEmpty): Deleted.
* dom/ContainerNode.h:
(WebCore::ContainerNode::directChildNeedsStyleRecalc):
(WebCore::ContainerNode::setDirectChildNeedsStyleRecalc):
Remove the special case for :empty.
* dom/Document.cpp:
(WebCore::nodeOrItsAncestorNeedsStyleRecalc):
* dom/Element.cpp:
(WebCore::checkForEmptyStyleChange):
(WebCore::checkForSiblingStyleChanges):
(WebCore::Element::setStyleOfSiblingsAffectedByEmpty): Deleted.
(WebCore::Element::rareDataStyleOfSiblingsAffectedByEmpty): Deleted.
* dom/Element.h:
(WebCore::Element::styleOfSiblingsAffectedByEmpty): Deleted.
* dom/ElementRareData.h:
(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::styleOfSiblingsAffectedByEmpty): Deleted.
(WebCore::ElementRareData::setStyleOfSiblingsAffectedByEmpty): Deleted.
* dom/Node.cpp:
(WebCore::markAncestorsWithChildNeedsStyleRecalc):
(WebCore::Node::setNeedsStyleRecalc):
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Deleted.
* dom/Node.h:
(WebCore::Node::clearChildNeedsStyleRecalc):
* style/StyleResolveTree.cpp:
(WebCore::Style::resetStyleForNonRenderedDescendants):
LayoutTests:
Add tests covering the basic cases: classes and attributes.
First-child covers the basic positional updates.
The tests have a version without any indirect adjacent ("~") because the marking
used for those is much more generic and having them hide some bugs.
Some tests are still failing. That is due to the style resolver not handling
direct siblings ("+") correctly when there are multiple of them. I will address
that separately.
* fast/selectors/attribute-direct-adjacent-style-update-expected.txt: Added.
* fast/selectors/attribute-direct-adjacent-style-update.html: Added.
* fast/selectors/attribute-sibling-style-update-expected.txt: Added.
* fast/selectors/attribute-sibling-style-update.html: Added.
* fast/selectors/class-direct-adjacent-style-update-expected.txt: Added.
* fast/selectors/class-direct-adjacent-style-update.html: Added.
* fast/selectors/class-sibling-style-update-expected.txt: Added.
* fast/selectors/class-sibling-style-update.html: Added.
* fast/selectors/first-child-direct-adjacent-style-update.html: Added.
* fast/selectors/first-child-sibling-style-update-expected.txt: Added.
* fast/selectors/first-child-sibling-style-update.html: Added.
* fast/selectors/placeholder-shown-sibling-style-update-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172880
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 Aug 2014 01:28:55 +0000 (01:28 +0000)]
Remove unused legacy InspectorFrontendHost methods
https://bugs.webkit.org/show_bug.cgi?id=136186
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-22
Reviewed by Andreas Kling.
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::recordActionTaken): Deleted.
(WebCore::JSInspectorFrontendHost::recordPanelShown): Deleted.
(WebCore::JSInspectorFrontendHost::recordSettingChanged): Deleted.
* inspector/InspectorFrontendHost.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172877
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 23 Aug 2014 00:43:27 +0000 (00:43 +0000)]
Remove unnecessary WTFString creation in Dictionary getter
https://bugs.webkit.org/show_bug.cgi?id=136184
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-22
Reviewed by Benjamin Poulain.
* bindings/js/Dictionary.cpp:
(WebCore::Dictionary::getWithUndefinedOrNullCheck):
* bindings/js/Dictionary.h:
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::getWithUndefinedOrNullCheck):
* bindings/js/JSDictionary.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172876
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 Aug 2014 23:04:04 +0000 (23:04 +0000)]
Unreviewed, rolling out r172866.
https://bugs.webkit.org/show_bug.cgi?id=136177
Broke iOS build (Requested by othermaciej on #webkit).
Reverted changeset:
"Replace use of WKCopyCFLocalizationPreferredName with
NSLocale public API"
https://bugs.webkit.org/show_bug.cgi?id=136082
http://trac.webkit.org/changeset/172866
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172875
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 22 Aug 2014 22:30:35 +0000 (22:30 +0000)]
Add proper support for letter-spacing to bopomofo Ruby
https://bugs.webkit.org/show_bug.cgi?id=136171
Reviewed by Sam Weinig.
Source/WebCore:
Added fast/ruby/bopomofo-letter-spacing.html
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
Alter the layout of bopomofo ruby so that the distance between the base characters is the max of
the letter-spacing between the characters and the minimum required width to hold two rows of
Ruby.
Push the bopomofo ruby into the letter-spacing to ensure that it comes right after the base character
and not after all the letter-spacing.
LayoutTests:
* fast/ruby/bopomofo-letter-spacing.html: Added.
* platform/mac/fast/ruby/bopomofo-expected.png:
* platform/mac/fast/ruby/bopomofo-expected.txt:
* platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png: Added.
* platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172874
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 22 Aug 2014 22:09:23 +0000 (22:09 +0000)]
Fix showing paint rects when selecting lines in the timeline
https://bugs.webkit.org/show_bug.cgi?id=136173
Reviewed by Joseph Pecoraro.
Fix the condition used to decide when to show the overlay.
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::shouldShowOverlay):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172873
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 22 Aug 2014 22:09:21 +0000 (22:09 +0000)]
Use the correct rect for paint flashing
https://bugs.webkit.org/show_bug.cgi?id=136169
Reviewed by Sam Weinig.
Use the rect we've converted to root document coordinates for paint flashing.
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didPaint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172872
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Fri, 22 Aug 2014 20:55:13 +0000 (20:55 +0000)]
Google Canvas2D maps are too slow and uncontrollable with Safari with full screen mode
https://bugs.webkit.org/show_bug.cgi?id=136168
Reviewed by Tim Horton.
When Google maps are using their 2D "lite" fallback and you're drawing in a huge
window such as fullscreen 4K, we would drop back to unaccelerated mode, thinking
that we'd exceeded the maximum IOSurface size.
Remove the hardcoded limit on IOSurface sizes, and instead ask the system
what it believe the maximum to be. This was significantly higher than our
limit on the systems I tested.
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer): Include our IOSurface wrapper, which
has a query for maximum size, and use that instead.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172871
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 22 Aug 2014 20:40:47 +0000 (20:40 +0000)]
Maybe fix Windows.
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::showPaintRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172870
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 22 Aug 2014 20:26:14 +0000 (20:26 +0000)]
Implement paint flashing in the WK1 InspectorOverlay page
https://bugs.webkit.org/show_bug.cgi?id=136138
Reviewed by Sam Weinig, Joseph Pecoraro.
Implement paint flashing for the WebKit1 InspectorOverlay via a second canvas in the overlay page.
We avoid allocating backing store for this canvas until we have paint rects.
Because this overlay page is weird and doesn't know how to paint itself, InspectorOverlay manages
an array of rects, and pushes them to the page when they change, before forcing a paint.
Because iOS doesn't use the InspectorOverlay page, stub out setShowPaintRects on its
WebKit WebInspectorClient, but don't yet implement paint flashing there.
Source/WebCore:
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::shouldShowOverlay):
(WebCore::InspectorOverlay::update):
(WebCore::buildObjectForRect):
(WebCore::InspectorOverlay::setShowingPaintRects):
(WebCore::InspectorOverlay::showPaintRect):
(WebCore::InspectorOverlay::updatePaintRectsTimerFired):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::InspectorOverlay::forcePaint):
(WebCore::quadToPath): Deleted.
(WebCore::drawOutlinedQuad): Deleted.
(WebCore::InspectorOverlay::drawOutline): Deleted.
* inspector/InspectorOverlay.h:
* inspector/InspectorOverlayPage.html:
* inspector/InspectorOverlayPage.js:
(updatePaintRects):
(reset):
(_drawShapeHighlight):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::didPaint):
Source/WebKit/ios:
* WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorClient::setShowPaintRects):
(WebInspectorClient::showPaintRect):
Source/WebKit/mac:
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172869
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 22 Aug 2014 20:10:21 +0000 (20:10 +0000)]
[iOS] Cleanup media code
https://bugs.webkit.org/show_bug.cgi?id=136163
Reviewed by Jer Noble.
No new tests, no functionality was changed.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_requestingPlay.
(WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Deleted.
(WebCore::HTMLMediaElement::parseAttribute): Don't call parseMediaPlayerAttribute.
(WebCore::HTMLMediaElement::playInternal): m_requestingPlay is dead, Jim.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Remove obsolete FIXME.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::attributeChanged): Deleted.
(WebCore::MediaPlayer::readyForPlayback): Deleted.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::attributeChanged): Deleted.
(WebCore::MediaPlayerPrivateInterface::readyForPlayback): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172868
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Fri, 22 Aug 2014 19:54:30 +0000 (19:54 +0000)]
REGRESSION(r163179): Sporadic crash in js/dom/line-column-numbers.html test
https://bugs.webkit.org/show_bug.cgi?id=136111
Reviewed by Filip Pizlo.
The problem was that we weren't properly handling VM::topVMEntryFrame in two ways.
First in the case where we get an exception of a stack overflow during setup of the direct
callee frame of a VM entry frame, we need to throw the exception in the caller's frame.
This requires unrolling topVMEntryFrame while creating the exception object. This is
accomplished with the renamed NativeCallFrameTracerWithRestore object. As part of this,
split the JIT rollback exception handling to call a new helper,
callLookupExceptionHandlerFromCallerFrame, which will unroll the callFrame and VMEntryFrame.
Second, when we unwind to find a handler, we also need to unwind topVMCallFrame for the
case where we end up (re)throwing another exception after entering the catch block, but
before another vmEntry call. Added VM::vmEntryFrameForThrow as a way similar to
VM::callFrameForThrow to pass the appropriate VMENtryFrame to the catch block.
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileExceptionHandlers):
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
* jit/JIT.cpp:
(JSC::JIT::privateCompileExceptionHandlers):
Split out the unroll cases to use the new helper callLookupExceptionHandlerFromCallerFrame()
to unwind both the callFrame and topVMEntryFrame.
* interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):
* jit/JITExceptions.cpp:
(JSC::genericUnwind):
Added VMEntryFrame as another component to unwind.
* interpreter/Interpreter.h:
(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(JSC::NativeCallFrameTracerWithRestore::NativeCallFrameTracerWithRestore):
(JSC::NativeCallFrameTracerWithRestore::~NativeCallFrameTracerWithRestore):
Renamed and changed to save and restore topCallFrame and topVMEntryFrame around the setting of
both values.
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::gotoNextFrame):
(JSC::StackVisitor::readNonInlinedFrame):
* interpreter/StackVisitor.h:
(JSC::StackVisitor::Frame::vmEntryFrame):
Added code to unwind the VMEntryFrame.
* jit/CCallHelpers.h:
(JSC::CCallHelpers::jumpToExceptionHandler): Updated comment to indicate that the value
the handler should use for VM::topEntryFrame is in VM::vmEntryFrameForThrow.
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_catch):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_catch):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
Added code to update VM::topVMEntryFrame from VM::vmEntryFrameForThrowOffset.
* jit/JITOperations.cpp:
* jit/JITOperations.h:
(JSC::operationThrowStackOverflowError):
(JSC::operationCallArityCheck):
(JSC::operationConstructArityCheck):
* runtime/VM.h:
(JSC::VM::vmEntryFrameForThrowOffset):
(JSC::VM::topVMEntryFrameOffset):
Added as the side channel to return the topVMEntryFrame that the handler should use.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172867
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Fri, 22 Aug 2014 19:39:51 +0000 (19:39 +0000)]
Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
https://bugs.webkit.org/show_bug.cgi?id=136082
Reviewed by Alexey Proskuryakov.
Source/WebCore:
* platform/mac/Language.mm:
(WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
with new WebCoreNSStringExtras helper.
* platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
WKCopyCFLocalizationPreferredName.
(preferredBundleLocalizationName): New helper - most preferred localization available
in the main bundle, canonicalized the way we like it.
(canonicalLocalizationName): Convert a lcalization name to a string with language and
country code, using default if necessary (e.g. "en" maps to "en_US").
* WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
* WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
* platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
* platform/mac/WebCoreSystemInterface.h: ditto
* platform/mac/WebCoreSystemInterface.mm: ditto
Source/WebKit/mac:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost): Get current
localization name using WebCore helper instead of SPI.
* Plugins/WebBasePluginPackage.mm: Fixed the include style for this
file.
(-[WebBasePluginPackage getPluginInfoFromPLists]): Get current
localization name using WebCore helper instead of SPI.
(+[WebBasePluginPackage preferredLocalizationName]): Deleted. This
helper no longer pulls its weight.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove mention of
WKCopyCFLocalizationPreferredName.
* WebKit.order: ditto
Source/WebKit2:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService): Remove accidental leftover retrieval
of the localization.
(WebKit::createProcess): Get current localization name from
CFBundle API instead of using SPI.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName
* mac/WebKit2.order: ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172866
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Fri, 22 Aug 2014 19:09:04 +0000 (19:09 +0000)]
[iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the iOS public SDK
https://bugs.webkit.org/show_bug.cgi?id=135945
Reviewed by Andy Estes.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Towards bringing up the iOS WebKit port using the iOS public SDK, disable the proprietary
iOS gesture and touch event code. For now we also temporarily disable ENABLE_TOUCH_EVENTS
and ENABLE_XSLT while we focus to get the rest of the port built using the public SDK. We'll
look to enable these features once we stabilize the build.
* Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the public SDK.
* Configurations/WebCore.xcconfig:
* DerivedSources.make: Conditionally generate derived sources for touch and gesture events as applicable and pass
define WTF_USE_APPLE_INTERNAL_SDK when generating bindings (if applicable). Make the logic for determining
whether WTF_PLATFORM_IOS is defined consistent with logic for determining whether WTF_USE_APPLE_INTERNAL_SDK and
ENABLE_ORIENTATION_EVENTS are defined. We should look to further cleanup this code.
* bindings/js/ios/TouchConstructors.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
* bindings/objc/DOMEvents.h: Write preprocessor logic in terms of ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS.
* bindings/objc/PublicDOMInterfaces.h: Include private header <WebKitAdditions/PublicDOMInterfacesIOS.h> when
it exists as opposed to assuming it exists when building for iOS.
* dom/Document.cpp:
(WebCore::Document::Document): Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)".
(WebCore::Document::prepareForDestruction): Ditto.
(WebCore::Document::removeAllEventListeners): Ditto.
* dom/Document.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
* dom/Document.idl: Ditto.
* dom/Touch.h: Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS)..
* dom/TouchEvent.h: Ditto.
* dom/TouchList.h: Ditto.
* dom/ios/TouchEvents.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
* history/CachedFrame.cpp: Add PLATFORM(IOS) guard.
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::SliderThumbElement): Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
(WebCore::SliderThumbElement::willDetachRenderers): Ditto.
* html/shadow/SliderThumbElement.h: Ditto.
* loader/EmptyClients.h: Ditto.
* platform/ios/PlatformEventFactoryIOS.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
Only include header <WebKitAdditions/PlatformTouchEventIOS.h> when building with ENABLE_TOUCH_EVENTS enabled.
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the public SDK.
* MigrateHeaders.make: Conditionally migrate headers for touch and gesture events.
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the public SDK.
* Shared/WebEventConversion.h: Write preprocessor logic in terms of ENABLE(IOS_TOUCH_EVENTS).
* WebProcess/WebPage/WebPage.h: Ditto.
Source/WTF:
* wtf/FeatureDefines.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172865
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 22 Aug 2014 19:07:17 +0000 (19:07 +0000)]
Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
https://bugs.webkit.org/show_bug.cgi?id=136136
Reviewed by Sam Weinig, Joseph Pecoraro.
Source/WebCore:
Allow InspectorClient to have a custom implementation of showPaintRect(). For
WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
which are parented in a document overlay, with 0.25s fade-out animations.
Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
it makes no sense to paint the paint rects directly into the context of the web page.
Now that the paint rects are painted into an overlay, the rectangles need to be converted
to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().
Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
be reimplemented in a later patch.
* WebCore.exp.in:
* inspector/InspectorClient.h:
(WebCore::InspectorClient::showPaintRect):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didPaintImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didPaint):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didPaint):
* inspector/InspectorPageAgent.h:
* page/FrameView.cpp:
(WebCore::FrameView::didPaintContents):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
Source/WebKit2:
Allow InspectorClient to have a custom implementation of showPaintRect(). For
WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
which are parented in a document overlay, with 0.25s fade-out animations.
Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
it makes no sense to paint the paint rects directly into the context of the web page.
Now that the paint rects are painted into an overlay, the rectangles need to be converted
to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().
Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
be reimplemented in a later patch.
* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::RepaintIndicatorLayerClient::RepaintIndicatorLayerClient):
(WebKit::RepaintIndicatorLayerClient::~RepaintIndicatorLayerClient):
(WebKit::RepaintIndicatorLayerClient::notifyAnimationEnded):
(WebKit::WebInspectorClient::WebInspectorClient):
(WebKit::WebInspectorClient::~WebInspectorClient):
(WebKit::WebInspectorClient::showPaintRect):
(WebKit::WebInspectorClient::animationEndedForLayer):
* WebProcess/WebCoreSupport/WebInspectorClient.h:
(WebKit::WebInspectorClient::WebInspectorClient): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172864
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 Aug 2014 18:59:49 +0000 (18:59 +0000)]
Enable fixed executable allocator for any ARM64 target.
https://bugs.webkit.org/show_bug.cgi?id=136162
Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-08-22
Reviewed by Michael Saboff.
The ARM64 macro assembler relies on near calls being implemented by BL
instructions, which have only 128MB offset range from PC. The
on-demand executable allocator cannot ensure that any two locations in
memory allocated for the JIT-compiled code are within this range.
However, the fixed executable allocator has a fixed 16MB memory pool for
ARM64.
* wtf/Platform.h:
Define ENABLE_EXECUTABLE_ALLOCATOR_FIXED if CPU(ARM64), and update
attached comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172863
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 Aug 2014 18:25:37 +0000 (18:25 +0000)]
Unreviewed, rolling out r172844.
https://bugs.webkit.org/show_bug.cgi?id=136164
re-applying WEBCORE_EXPORTS patch (Requested by
alexchristensen on #webkit).
Reverted changeset:
"Revert r172831, it broke the Windows build."
http://trac.webkit.org/changeset/172844
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172862
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 22 Aug 2014 18:18:54 +0000 (18:18 +0000)]
Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
https://bugs.webkit.org/show_bug.cgi?id=136137
<rdar://problem/
12567545>
Reviewed by Sam Weinig.
Source/WebCore:
Added fast/ruby/bopomofo.html and fast/ruby/bopomofo-rl.html.
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator RubyPosition):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
Add support for the new inter-character value for ruby-position and also
add support for a new font-size keyword, -webkit-ruby-text, that is used
to set a smart initial font size based off the type of ruby being presented.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyFontSize::determineRubyTextSizeMultiplier):
(WebCore::ApplyPropertyFontSize::applyValue):
Determine the Ruby text size multiplier when -webkit-ruby-text is specified
as the font size. For ruby-position of before/after, we use 50% of the parent
font size. For inter-character ruby, we default to 25% instead. If inter-character
Ruby is nested, we assume it's to display tone marks, and we use 100% to ensure
the tone mark is the same size and does not get smaller.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
(WebCore::StyleResolver::applyMatchedProperties):
* css/StyleResolver.h:
ruby-position is now the highest priority CSS property, and it is resolved
before all other properties to ensure that its value can be checked when
determining a smart default font size. adjustStyleForInterCharacterRuby is a new
function called to auto-adjust inter-character ruby text to be vertical writing mode when
encountered inside horizontal documents.
* css/html.css:
(ruby > rt):
Change the font-size from 50% to -webkit-ruby-text to allow us to customize it as
needed depending on what kind of Ruby we want to show.
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
* rendering/RenderRubyRun.h:
Add layout code to properly position vertical ruby text relative to a horizontal base.
* rendering/style/RenderStyleConstants.h:
Add the new inter-character constant for ruby-position.
* rendering/style/StyleRareInheritedData.h:
Increase the number of storage bits for RubyPosition from 1 to 2 now that we support 3 values.
LayoutTests:
* fast/ruby/bopomofo-rl.html: Added.
* fast/ruby/bopomofo.html: Added.
* platform/mac/fast/ruby/bopomofo-expected.png: Added.
* platform/mac/fast/ruby/bopomofo-expected.txt: Added.
* platform/mac/fast/ruby/bopomofo-rl-expected.png: Added.
* platform/mac/fast/ruby/bopomofo-rl-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172861
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jonlee@apple.com [Fri, 22 Aug 2014 17:56:08 +0000 (17:56 +0000)]
Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
https://bugs.webkit.org/show_bug.cgi?id=136157
Reviewed by Simon Fraser.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
Source/WebCore:
* Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Wrap in ENABLE(RUBBER_BANDING).
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
Source/WTF:
* wtf/FeatureDefines.h: Remove ENABLE(RUBBER_BANDING) logic for Mac platform.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172860
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Fri, 22 Aug 2014 12:40:22 +0000 (12:40 +0000)]
[GTK] install-dependencies don't installs Xvfb that is needed for the tests.
https://bugs.webkit.org/show_bug.cgi?id=136153
Reviewed by Martin Robinson.
* gtk/install-dependencies: Add Xvfb package to the list of dependencies necessary for running tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172858
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Fri, 22 Aug 2014 09:27:45 +0000 (09:27 +0000)]
[EFL] Apply eflsymbols.filter to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=136148
Reviewed by Csaba Osztrogonác.
eflsymbol filter hasn't been applied to WK2 port. Additionally clean up WK1 symbol
in the eflsymbols.filter.
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/eflsymbols.filter:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172857
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Fri, 22 Aug 2014 08:19:52 +0000 (08:19 +0000)]
[GTK] Add the Wayland protocol extension
https://bugs.webkit.org/show_bug.cgi?id=136102
Reviewed by Martin Robinson.
Add the Wayland protocol extension that allows mapping GtkWidget
objects (via an ID that's unique to that GtkWidget) to the
corresponding Wayland surface objects. This way the nested
compositor has the proper information about what GtkWidget has
to be updated when surfaces are committed by the LayerTreeHost.
* PlatformGTK.cmake:
* platform/graphics/wayland: Added.
* platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172856
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 22 Aug 2014 05:41:18 +0000 (05:41 +0000)]
[Win] Another unreviewed build fix.
* DumpRenderTree/config.h:
Defined WEBCORE_EXPORT on Windows.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172855
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 22 Aug 2014 05:38:50 +0000 (05:38 +0000)]
Animated GIFs scrolled out of view still cause titlebar blur to update, on tumblr.com page
https://bugs.webkit.org/show_bug.cgi?id=136139
Reviewed by Simon Fraser.
Source/WebCore:
The mechanism for pausing GIF images outside the viewport did not work for subframes.
Test: fast/repaint/no-animation-outside-viewport-subframe.html
* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):
Add a function for resuming animations as needed in all subframes.
This is used after scrolling instead of calling the RenderView function directly.
* page/FrameView.h:
* page/Page.cpp:
(WebCore::Page::resumeAnimatingImages):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::newImageAnimationFrameAvailable):
Determine the overall visible rect so that it is correct in subframes too.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
* rendering/RenderView.cpp:
(WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
LayoutTests:
* fast/repaint/no-animation-outside-viewport-subframe-expected.txt: Added.
* fast/repaint/no-animation-outside-viewport-subframe.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172854
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Fri, 22 Aug 2014 05:30:02 +0000 (05:30 +0000)]
r171362 accidentally increased the size of InlineCallFrame.
<https://webkit.org/b/136141>
Reviewed by Filip Pizlo.
r171362 increased the size of InlineCallFrame::kind to 2 bits. This increased
the size of InlineCallFrame from 72 to 80 though not intentionally. The fix
is to reduce the size of InlineCallFrame::stackOffset to 29 bits.
Also added an assert to ensure that we never set a value that exceeds the size
of InlineCallFrame::stackOffset.
* bytecode/CodeOrigin.h:
(JSC::InlineCallFrame::setStackOffset):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172853
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 22 Aug 2014 05:27:48 +0000 (05:27 +0000)]
[Win] Unreviewed build fix after r172849.
* WebKitPrefix.h:
Defined WEBCORE_EXPORT.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172852
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 22 Aug 2014 04:21:18 +0000 (04:21 +0000)]
More WEBCORE_EXPORT macros!
https://bugs.webkit.org/show_bug.cgi?id=136146
Reviewed by Benjamin Poulain.
* Modules/geolocation/GeolocationClient.h:
* Modules/mediastream/UserMediaClient.h:
* Modules/mediastream/UserMediaRequest.h:
* Modules/notifications/NotificationClient.h:
* Modules/speech/SpeechSynthesis.h:
* bindings/generic/RuntimeEnabledFeatures.h:
* bindings/js/DOMWrapperWorld.h:
* bindings/js/GCController.h:
* bindings/js/IDBBindingUtilities.h:
* bindings/js/JSDOMBinding.h:
* bindings/js/JSNodeCustom.h:
* bindings/js/JSNodeListCustom.h:
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/ScriptController.h:
* bindings/js/SerializedScriptValue.h:
* crypto/SerializedCryptoKeyWrap.h:
* css/LengthFunctions.h:
* css/StyleProperties.h:
* css/StyleSheetContents.h:
* dom/DeviceOrientationClient.h:
* dom/Range.h:
* dom/ScriptExecutionContext.h:
* dom/StyledElement.h:
* dom/TreeScope.h:
* dom/UIEventWithKeyState.h:
* dom/UserGestureIndicator.h:
* dom/UserTypingGestureIndicator.h:
* dom/ViewportArguments.h:
* editing/SmartReplace.h:
* editing/TextIterator.h:
* editing/VisiblePosition.h:
* editing/VisibleSelection.h:
* editing/VisibleUnits.h:
* editing/cocoa/HTMLConverter.h:
* editing/htmlediting.h:
* editing/mac/TextAlternativeWithRange.h:
* editing/mac/TextUndoInsertionMarkupMac.h:
* editing/markup.h:
* history/HistoryItem.cpp:
* history/PageCache.h:
* html/TimeRanges.h:
* html/parser/HTMLParserIdioms.h:
* inspector/InstrumentingAgents.h:
* loader/FrameLoader.h:
* loader/ResourceBuffer.h:
* loader/ResourceLoadScheduler.h:
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::originalRequest):
* loader/SubframeLoader.h:
* loader/SubresourceLoader.h:
* loader/TextResourceDecoder.h:
* loader/appcache/ApplicationCacheStorage.h:
* loader/cache/MemoryCache.h:
* loader/icon/IconDatabaseBase.h:
* loader/ios/DiskImageCacheIOS.h:
* page/Chrome.h:
* page/SecurityOrigin.h:
* page/SecurityPolicy.h:
* page/Settings.h:
* page/UserContentController.h:
* page/UserContentURLPattern.h:
* page/UserMessageHandlerDescriptor.h:
* page/ViewportConfiguration.h:
* page/VisitedLinkStore.h:
* page/WheelEventDeltaTracker.h:
* page/cocoa/UserAgent.h:
* page/scrolling/ScrollingConstraints.h:
* page/scrolling/ScrollingCoordinator.h:
* page/scrolling/ScrollingStateFixedNode.h:
* page/scrolling/ScrollingStateFrameScrollingNode.h:
* page/scrolling/ScrollingStateNode.h:
* page/scrolling/ScrollingStateOverflowScrollingNode.h:
* page/scrolling/ScrollingStateScrollingNode.h:
* page/scrolling/ScrollingStateStickyNode.h:
* page/scrolling/ScrollingStateTree.h:
* page/scrolling/ScrollingThread.h:
* page/scrolling/ScrollingTree.h:
* page/scrolling/ScrollingTreeOverflowScrollingNode.h:
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
* page/scrolling/mac/ScrollingTreeFixedNode.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeStickyNode.h:
* platform/Cursor.h:
* platform/DragImage.h:
* platform/FileSystem.h:
* platform/Language.h:
* platform/LinkHash.h:
* platform/LocalizedStrings.h:
* platform/Logging.h:
* platform/MemoryPressureHandler.h:
* platform/NotImplemented.h:
* platform/PlatformStrategies.h:
* platform/PublicSuffix.h:
* platform/RuntimeApplicationChecks.h:
* platform/RuntimeApplicationChecksIOS.h:
* platform/SchemeRegistry.h:
* platform/ScrollView.h:
* platform/ScrollableArea.h:
* platform/Scrollbar.h:
* platform/ScrollbarTheme.h:
* platform/SharedBuffer.h:
* platform/ThreadCheck.h:
* platform/ThreadGlobalData.h:
* platform/Timer.h:
* platform/URL.h:
* platform/UUID.h:
* platform/UserActivity.h:
* platform/Widget.h:
* platform/cf/CFURLExtras.h:
* platform/cf/RunLoopObserver.h:
* platform/cocoa/SystemVersion.h:
* platform/graphics/Color.h:
* platform/graphics/FloatRect.h:
* platform/graphics/FontCache.h:
* platform/graphics/GeometryUtilities.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/IntRect.h:
* platform/graphics/LayoutRect.h:
* platform/graphics/StringTruncator.h:
* platform/graphics/TextRun.h:
* platform/graphics/ca/TileController.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.h:
* platform/graphics/cg/GraphicsContextCG.h:
* platform/graphics/mac/ColorMac.h:
* platform/graphics/transforms/TransformationMatrix.h:
* platform/ios/FileSystemIOS.h:
* platform/ios/PlatformEventFactoryIOS.h:
* platform/ios/SelectionRect.h:
* platform/ios/SystemMemory.h:
* platform/ios/TileControllerMemoryHandlerIOS.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/mac/PlatformEventFactoryMac.h:
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/WebCoreNSURLExtras.h:
* platform/mac/WebNSAttributedStringExtras.h:
* platform/network/BlobRegistry.h:
* platform/network/CookieStorage.h:
* platform/network/DNS.h:
* platform/network/NetworkStateNotifier.h:
* platform/network/PlatformCookieJar.h:
* platform/network/ProxyServer.h:
* platform/network/ResourceErrorBase.h:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* platform/network/ResourceRequestBase.h:
* platform/network/ResourceResponseBase.h:
* platform/network/SynchronousLoaderClient.h:
* platform/network/cf/ResourceError.h:
* platform/network/cf/ResourceRequest.h:
* platform/network/cf/ResourceResponse.h:
* platform/network/ios/QuickLook.h:
* platform/network/mac/AuthenticationMac.h:
* platform/sql/SQLiteDatabase.cpp:
* platform/text/LocaleToScriptMapping.h:
* platform/text/TextBreakIterator.h:
* platform/text/TextEncoding.h:
(WebCore::TextEncoding::decode):
* platform/text/TextEncodingRegistry.h:
* platform/text/TextStream.h:
* rendering/RenderBlock.h:
* rendering/RenderBox.h:
* rendering/RenderEmbeddedObject.h:
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.h:
* rendering/RenderListItem.h:
* rendering/RenderObject.h:
* rendering/RenderText.h:
* rendering/RenderTextControl.h:
* rendering/RenderThemeIOS.h:
* rendering/RenderTreeAsText.h:
* rendering/RenderView.h:
* rendering/RenderWidget.h:
* rendering/ScrollBehavior.cpp:
* rendering/break_lines.cpp:
* rendering/style/RenderStyle.h:
* replay/UserInputBridge.h:
* storage/StorageEventDispatcher.h:
* storage/StorageMap.h:
* storage/StorageStrategy.h:
* storage/StorageTracker.h:
* testing/Internals.h:
* workers/WorkerThread.h:
Added more WEBCORE_EXPORT macros where needed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172849
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 22 Aug 2014 03:35:27 +0000 (03:35 +0000)]
ruby-base-merge-block-children-crash-2.html should not use render tree dump.
Unreviewed gardening.
* fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added.
* fast/ruby/ruby-base-merge-block-children-crash-2.html: restore previous version of the test.
* platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172847
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 Aug 2014 03:27:02 +0000 (03:27 +0000)]
Possible RetainPtr misuse in WKScriptMessage.mm - could leak
https://bugs.webkit.org/show_bug.cgi?id=136140
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-21
Reviewed by Darin Adler.
Adopt a copy into a RetainPtr to avoid leaking.
* UIProcess/API/Cocoa/WKScriptMessage.mm:
(-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172846
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 Aug 2014 03:22:23 +0000 (03:22 +0000)]
Web Inspector: RetainPtr misuse, CFRunLoopSource leak
https://bugs.webkit.org/show_bug.cgi?id=136143
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-08-21
Reviewed by Timothy Hatcher.
Adopt a Create into the RetainPtr to avoid leaking.
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::setupRunLoop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 22 Aug 2014 03:14:53 +0000 (03:14 +0000)]
Revert r172831, it broke the Windows build.
* wtf/ExportMacros.h:
... and many more.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172844
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 22 Aug 2014 03:07:09 +0000 (03:07 +0000)]
Remove flaky saturated reftest. UnitTest takes care of saturated arithmetics.
Unreviewed gardening.
* fast/dynamic/saturated-layout-arithmetic-expected.html: Removed.
* fast/dynamic/saturated-layout-arithmetic.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172843
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Fri, 22 Aug 2014 01:28:52 +0000 (01:28 +0000)]
Unreviewed build fix when RUBBER_BANDING is not enabled.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172842
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 22 Aug 2014 01:19:07 +0000 (01:19 +0000)]
[Win] WebCore.proj is not copying WebKit resource files.
https://bugs.webkit.org/show_bug.cgi?id=136142
<rdar://problem/
17733682>
Reviewed by Tim Horton.
* WebCore.vcxproj/WebCore.proj: Copy missing resource files during
post-build step.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172841
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 22 Aug 2014 00:25:25 +0000 (00:25 +0000)]
[EFL][WK2] Minibrowser : Add stop button to abort page load
https://bugs.webkit.org/show_bug.cgi?id=136122
Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-08-21
Reviewed by Gyuyoung Kim.
* MiniBrowser/efl/main.c:
(on_key_down):
(on_stop_button_clicked): Callback for stop button press.
(window_create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172840
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 21 Aug 2014 23:49:12 +0000 (23:49 +0000)]
Add a button to enable paint flashing in the web inspector
https://bugs.webkit.org/show_bug.cgi?id=136133
Reviewed by Tim Hatcher.
Add a button to the right of the layer borders button to turn on paint flashing.
Future patches will actually enable this feature.
* Localizations/en.lproj/localizedStrings.js: Tooltip strings.
* UserInterface/Images/PaintFlashing.svg: Added. "Paintbrush" icon.
* UserInterface/Views/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype.get navigationItems):
(WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172839
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 21 Aug 2014 23:11:12 +0000 (23:11 +0000)]
REGRESSION(r172808): It made 6 different tests fail on 32 bit platforms.
<https://webkit.org/b/136123>
Reviewed by Filip Pizlo.
The original patch in r172808 removed the code to skip the top scope in
the 64-bit port of JIT::emitResolveClosure() but not in the 32-bit port.
This patch fixes that and achieves parity.
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitResolveClosure):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172838
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 21 Aug 2014 23:09:32 +0000 (23:09 +0000)]
Try to fix the 32-bit build by using wildcards in the exported non-virtual thunks
for GraphicsLayerCA::platformCALayerAnimationStarted and GraphicsLayerCA::platformCALayerAnimationEnded.
* WebCore.exp.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172837
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 21 Aug 2014 22:43:18 +0000 (22:43 +0000)]
Add animationDidEnd callbacks on GraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=136084
Reviewed by Tim Horton.
Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
can add animations, and know when they finish.
Source/WebCore:
* WebCore.exp.in:
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::notifyAnimationStarted):
(WebCore::GraphicsLayerClient::notifyAnimationEnded):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
(WebCore::GraphicsLayerCA::platformCALayerAnimationEnded):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/PlatformCALayerClient.h:
(WebCore::PlatformCALayerClient::platformCALayerAnimationStarted):
(WebCore::PlatformCALayerClient::platformCALayerAnimationEnded):
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(-[WebAnimationDelegate animationDidStart:]):
(-[WebAnimationDelegate animationDidStop:finished:]):
(PlatformCALayerMac::animationStarted):
(PlatformCALayerMac::animationEnded):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::notifyAnimationStarted):
* rendering/RenderLayerBacking.h:
Source/WebKit2:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd):
* UIProcess/mac/RemoteLayerTreeHost.h:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::animationDidEnd):
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::acceleratedAnimationDidEnd):
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(-[WKAnimationDelegate animationDidStop:finished:]):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::animationStarted):
(WebKit::PlatformCALayerRemote::animationEnded):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
(WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
(WebKit::RemoteLayerTreeContext::animationDidStart):
(WebKit::RemoteLayerTreeContext::animationDidEnd):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidEnd):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172836
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Thu, 21 Aug 2014 21:34:21 +0000 (21:34 +0000)]
Enable SATURATED_LAYOUT_ARITHMETIC.
https://bugs.webkit.org/show_bug.cgi?id=136106
Reviewed by Simon Fraser.
SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
(No measurable performance regression on Mac.)
.:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Test: fast/dynamic/saturated-layout-arithmetic.html
* Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
Source/WTF:
* wtf/FeatureDefines.h:
LayoutTests:
* fast/dynamic/saturated-layout-arithmetic-expected.html: Added.
* fast/dynamic/saturated-layout-arithmetic.html: Added.
* fast/ruby/ruby-base-merge-block-children-crash-2.html: saturated arithmetics changes behavior. fix test case.
* scrollbars/scrollbar-large-overflow-rectangle.html: saturated arithmetics changes behavior. fix test case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172835
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 21 Aug 2014 21:30:24 +0000 (21:30 +0000)]
New ruby parsing rule breaks some real web sites.
https://bugs.webkit.org/show_bug.cgi?id=136062
Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-08-21
Reviewed by Ryosuke Niwa.
Source/WebCore:
An RP element should not auto close an RTC element.
The HTML5.1 spec was changed:
http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inbody
This was done at the following commit:
https://github.com/w3c/html/commit/
c61397b989b28235ee2228f280aa8d475f3b9ebf
This patch changed the RP element's behavior to follow the spec change.
Test: fast/ruby/rp-inside-rtc.html
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
LayoutTests:
html5lib-test was updated using my pull request:
https://github.com/darobin/html5lib-tests/pull/2
* fast/ruby/rp-inside-rtc-expected.html: Added.
* fast/ruby/rp-inside-rtc.html: Added.
* html5lib/resources/ruby.dat: The rp element should not auto close the rtc element.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172834
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 21 Aug 2014 20:29:43 +0000 (20:29 +0000)]
REGRESSION: CSS not() selector does not work when it appears after or within @supports
https://bugs.webkit.org/show_bug.cgi?id=136063
Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2014-08-21
Reviewed by Darin Adler.
Source/WebCore:
CSSParser changes its m_parsingMode to SupportsMode when it finds
"@supports" token. However, the mode will be never changed to
NormalMode. This changes parsing algorithm for "not" token forever,
and it cannot parse not pseudo class selector.
When we finish parsing @supports rule, we should change to normal
mode.
@media does the same thing. This patch changed CharacterEndMediaQuery
to CharacterEndConditionQuery, and we change parsing mode from
SupportsMode to NormalMode when the parser finished to parse
@supports rule.
Like "@-webkit-mediaquery", we cannot use '{' to
"@-webkit-supports-condition". Changed "@-webkit-supports-condition"
parsing rule and parseSupportsCondition() not to use '{'.
Tests: css3/supports-not-selector-cssom.html
css3/supports-not-selector.html
* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseSupportsCondition):
(WebCore::isCSSLetter):
(WebCore::CSSParser::realLex):
LayoutTests:
Test that @supports doesn't break "not" pseudo class selector.
* css3/supports-not-selector-cssom-expected.txt: Added.
* css3/supports-not-selector-cssom.html: Added.
* css3/supports-not-selector-expected.html: Added.
* css3/supports-not-selector.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172833
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Thu, 21 Aug 2014 20:08:57 +0000 (20:08 +0000)]
overflow:scroll elements should support rubber-banding
https://bugs.webkit.org/show_bug.cgi?id=91655
Reviewed by Sam Weinig and Darin Adler.
Source/WebCore:
This patch enables rubber-banding in overflow regions and it keeps latching
working as currently implemented.
We cannot return early here if there is no scroll delta. There won't be a scroll
delta in most cases during event.phase() == PlatformWheelEventPhaseEnded, but that
phase is required to be processed in order for rubber-banding to work properly.
* dom/Element.cpp:
(WebCore::Element::dispatchWheelEvent):
* page/EventHandler.cpp:
(WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis):
Add a setting for this, which will default to true. This allows us to disable the
feature in WebKit1 for now. There is a bug about making it work.
* page/Settings.in:
allowsHorizontalStretching() and allowsVerticalStretching() now take the
PlatformWheelEvent as a parameter, so that ScrollElasticityAutomatic can use the
event to decide whether or not stretching should be allowed in this case.
ScrollElasticityAutomatic will not allow stretching if it is a brand new gesture
that would result in a rubber-band. We don't want to rubber-band in that case
because we want the event to propagate up to a parent view. Also added some helper
functions just to make that code easier to read.
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::newGestureIsStarting):
(WebCore::ScrollingTreeFrameScrollingNodeMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::handleWheelEvent):
(WebCore::newGestureIsStarting):
(WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollAnimatorMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
* platform/mac/ScrollElasticityController.h:
* platform/mac/ScrollElasticityController.mm:
(WebCore::ScrollElasticityController::handleWheelEvent):
To opt into rubber-banding, all we have to do is implement overhangAmount and set
scroll elasticity. We'll choose ScrollElasticityAutomatic which means that we'll
only rubber-band in directions that can scroll and that we won't rubber-band for
new gestures when we're already pinned to the edge.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):
Source/WebKit/mac:
Disable rubber-banding in overflow areas for now.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
LayoutTests:
Re-baseline. Mostly these tests are different now that end end event is handled.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
This test requires a longer timeout to ensure that the rubber-band has ended.
* platform/mac/fast/scrolling/scroll-latched-nested-div.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172832
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 21 Aug 2014 19:51:21 +0000 (19:51 +0000)]
More WEBCORE_EXPORT macros.
https://bugs.webkit.org/show_bug.cgi?id=136129
Reviewed by Tim Horton.
Source/WebCore:
* Modules/geolocation/Geolocation.h:
* Modules/geolocation/GeolocationController.h:
* Modules/indexeddb/IDBDatabaseBackend.h:
* Modules/indexeddb/IDBDatabaseMetadata.h:
* Modules/indexeddb/IDBKey.h:
* Modules/indexeddb/IDBKeyData.h:
* Modules/indexeddb/IDBKeyPath.h:
* Modules/indexeddb/IDBKeyRange.h:
* Modules/indexeddb/IDBKeyRangeData.h:
* Modules/notifications/Notification.h:
* Modules/notifications/NotificationController.h:
* bindings/js/GCController.h:
* bridge/IdentifierRep.h:
* css/StyleProperties.h:
* dom/ExceptionCodePlaceholder.h:
* dom/KeyboardEvent.h:
* dom/MouseEvent.h:
* dom/MouseRelatedEvent.h:
* dom/Node.h:
(WebCore::Node::hasEditableStyle):
* dom/NodeTraversal.h:
* dom/Position.h:
(WebCore::Position::Position):
* dom/Range.h:
(WebCore::Range::startContainer):
(WebCore::Range::startOffset):
(WebCore::Range::endContainer):
(WebCore::Range::endOffset):
* editing/FrameSelection.h:
(WebCore::DragCaretController::clear):
* history/HistoryItem.h:
* history/PageCache.h:
* html/FormController.h:
* html/HTMLElement.h:
* html/HTMLFormElement.h:
* html/HTMLFrameOwnerElement.h:
* html/HTMLInputElement.h:
* html/HTMLMediaElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLPlugInElement.h:
* html/HTMLPlugInImageElement.h:
* html/HTMLSelectElement.h:
* html/HTMLTableCellElement.h:
* html/HTMLTextAreaElement.h:
* html/HTMLTextFormControlElement.h:
* html/HTMLVideoElement.h:
* html/ImageDocument.h:
* html/PluginDocument.h:
* html/forms/FileIconLoader.h:
* html/shadow/InsertionPoint.h:
* inspector/InspectorClient.h:
* inspector/InspectorController.h:
* inspector/InspectorFrontendClientLocal.h:
* inspector/InspectorInstrumentation.h:
* loader/FrameLoadRequest.h:
* loader/FrameLoader.h:
* loader/FrameLoaderStateMachine.h:
* loader/HistoryController.h:
* loader/LoaderStrategy.h:
* loader/NavigationAction.h:
* loader/NetscapePlugInStreamLoader.h:
* loader/ProgressTracker.h:
* loader/archive/cf/LegacyWebArchive.h:
* loader/cache/MemoryCache.h:
* loader/icon/IconController.h:
* loader/icon/IconDatabase.h:
* loader/icon/IconDatabaseBase.h:
* page/FocusController.h:
* page/Frame.h:
* page/FrameDestructionObserver.h:
Replaced WEBCORE_TESTING with WEBCORE_EXPORT.
* page/FrameTree.h:
* page/FrameView.h:
* page/Page.h:
* page/PageConsole.h:
* page/PageGroup.h:
* page/PageThrottler.h:
* page/PrintContext.h:
* page/scrolling/ScrollingConstraints.h:
* page/scrolling/ScrollingStateNode.h:
* platform/FileChooser.h:
* platform/GamepadProvider.h:
* platform/Length.h:
* platform/MIMETypeRegistry.h:
* platform/MemoryPressureHandler.h:
* platform/Pasteboard.h:
* platform/PlatformExportMacros.h:
Removed WEBCORE_TESTING, which I'm replacing with WEBCORE_EXPORT.
* platform/PlatformKeyboardEvent.h:
* platform/PlatformPasteboard.h:
* platform/PlatformSpeechSynthesisVoice.h:
* platform/PlatformSpeechSynthesizer.h:
* platform/audio/MediaSessionManager.h:
* platform/graphics/FloatPoint.h:
* platform/graphics/FloatQuad.h:
* platform/graphics/FloatRect.h:
* platform/graphics/FloatSize.h:
* platform/graphics/Font.h:
* platform/graphics/FontCache.h:
* platform/graphics/FontGlyphs.h:
* platform/graphics/FontPlatformData.h:
* platform/graphics/GlyphPageTreeNode.h:
* platform/graphics/Gradient.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/Icon.h:
* platform/graphics/Image.h:
* platform/graphics/ImageBuffer.h:
* platform/graphics/IntPoint.h:
* platform/graphics/IntRect.h:
* platform/graphics/IntSize.h:
* platform/graphics/LayoutRect.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/Path.h:
* platform/graphics/Region.h:
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/LayerFlushScheduler.h:
* platform/graphics/ca/LayerPool.h:
* platform/graphics/ca/PlatformCAFilters.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/cg/IOSurfacePool.h:
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/filters/FilterOperations.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/ios/LegacyTileCache.h:
* platform/ios/PlatformEventFactoryIOS.h:
* platform/ios/wak/FloatingPointEnvironment.h:
* platform/mac/HIDGamepadProvider.h:
* platform/mock/MockMediaStreamCenter.h:
* platform/network/FormData.h:
* platform/network/HTTPHeaderMap.h:
* platform/network/NetworkStorageSession.h:
* platform/network/ProtectionSpaceBase.h:
* platform/network/cocoa/ProtectionSpaceCocoa.h:
(WebCore::ProtectionSpace::encodingRequiresPlatformData):
* platform/network/ios/QuickLook.h:
* platform/text/TextBreakIterator.h:
* plugins/PluginData.h:
* plugins/PluginMainThreadScheduler.h:
* rendering/HitTestLocation.h:
* rendering/HitTestResult.h:
* rendering/InlineBox.h:
Added more WEBCORE_EXPORT macros, which don't do anything yet.
Source/WTF:
* wtf/ExportMacros.h:
Removed WTF_TESTING which isn't used.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172831
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Thu, 21 Aug 2014 15:47:21 +0000 (15:47 +0000)]
[GTK] Load the llvmpipe (Mesa) libraries when running the tests with Xvfb.
https://bugs.webkit.org/show_bug.cgi?id=134070
Reviewed by Martin Robinson.
* Scripts/webkitpy/port/base.py:
(Port.__init__): Set default _jhbuild_wrapper variable.
(Port._should_use_jhbuild): Implement generic check.
* Scripts/webkitpy/port/efl.py: Rename to jhbuild_wrapper variable
to make it consistent with the other ports.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__): Use the new _should_use_jhbuild() method.
(GtkPort.setup_environ_for_server): Get the path for llvmpipe_libgl_path by
querying the jhbuild with printenv. Also check that the path contains
the libraries we expect. Preload this path only for XvfbDriver.
* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver.check_driver): Check for the jhbuild wrapper and use it.
(XvfbDriver._start): The environment for llvmpipe_libgl_path is now
configured at setup_environ_for_server()
* Scripts/webkitpy/port/xvfbdriver_unittest.py:
(XvfbDriverTest.make_driver): Get the port default environment.
(XvfbDriverTest.test_start_no_pixel_tests): The expected log now
should include the environment that is passed when running Xvfb.
(XvfbDriverTest.test_start_pixel_tests): Ditto.
(XvfbDriverTest.test_start_arbitrary_worker_number): Ditto.
(XvfbDriverTest.test_start_next_worker): Ditto.
* gtk/jhbuild.modules: Rename checkoutdir to generic "Mesa" to
prevent future problems when the version is raised. Add also a
comment with a warning.
* gtk/jhbuildrc: The path LLVMPIPE_LIBGL_PATH should be the one
that has the llvm optimized Gallium libGL libraries.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172830
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 21 Aug 2014 12:29:37 +0000 (12:29 +0000)]
Fix countFailures of RunLLINTCLoopTests and Run32bitJSCTests.
https://bugs.webkit.org/show_bug.cgi?id=136125
Patch by Renato Nagy <nagy.renato@stud.u-szeged.hu> on 2014-08-21
Reviewed by Csaba Osztrogonác.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunLLINTCLoopTests.countFailures):
(Run32bitJSCTests.countFailures):
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(RunLLINTCLoopTestsTest):
(RunLLINTCLoopTestsTest.assertResults):
(RunLLINTCLoopTestsTest.test_failures):
(RunLLINTCLoopTestsTest.test_failure):
(RunLLINTCLoopTestsTest.test_no_failure):
(Run32bitJSCTestsTest):
(Run32bitJSCTestsTest.assertResults):
(Run32bitJSCTestsTest.test_failures):
(Run32bitJSCTestsTest.test_failure):
(Run32bitJSCTestsTest.test_no_failure):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172829
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vjaquez@igalia.com [Thu, 21 Aug 2014 10:51:03 +0000 (10:51 +0000)]
[GTK] WebkitWebProcess crashing navigating away from ogg video element
https://bugs.webkit.org/show_bug.cgi?id=135348
Reviewed by Philippe Normand.
Source/WebCore:
Let GraphicsLayerTextureMapper know it needs to detach the platform
layer when a MediaPlayerPrivateGStreamerBase is destroyed.
No new test since media/restore-from-page-cache.html covers it.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
Source/WebKit2:
When a page is cached, by default doesn't recreate the backing store
(an optimization added in r89316).
Not all the ports uses that optimization. For example IOS port doesn't
use it (r161185).
In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
processes video buffers, also display them, because it is a
TextureMapperPlatformLayer too.
Nevertheless, in r153937, when a page is cached, the player is
destroyed. But our player has a backing store and the render tree
doesn't know that the player has gone. Hence, when the page is redraw,
the TextureMapper tree visits the video element, which doesn't exist
anymore, a segmentation fault occurs.
So, as our media player renders, and as we cannot trust that the
player exists when a page is painted, we cannot rely in the r89316
optimization.
Disabling the backing stores optimization fixes the problem.
Covered by existing tests.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformSetCacheModel): Enable the backing store
clearing when page caching for GTK.
LayoutTests:
* platform/gtk/TestExpectations: Enable
media/restore-from-page-cache.html,
plugins/netscape-plugin-page-cache-works.html and
animations/resume-after-page-cache.html. They should pass correctly.
Skip compositing/iframes/page-cache-layer-tree.html since we disable
that optimization.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172828
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 21 Aug 2014 09:32:35 +0000 (09:32 +0000)]
[EFL][WK2] Websocket Layout Tests passed in latest build.
https://bugs.webkit.org/show_bug.cgi?id=136100
Unreviewed gardening.
Websocket Layout Tests passed in latest build, possibly because r172438 (https://bugs.webkit.org/show_bug.cgi?id=135831) in version
172796.
Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-08-21
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172827
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 21 Aug 2014 03:33:18 +0000 (03:33 +0000)]
CSS: Implement the :placeholder-shown pseudo-class from Selectors Level 4
https://bugs.webkit.org/show_bug.cgi?id=118162
Reviewed by Antti Koivisto.
Source/WebCore:
Previously, HTMLTextFormControlElement was using some mix of its own state
and style to change the visibility of the placeholder. That approach was a little
bit too fragile, and we do not want the style to depends on the renderer() since
that creates circular dependencies.
The biggest change here is refactoring HTMLTextFormControlElement to have
1) An explicit "visible placeholder" state.
2) Separate the textUpdate() from the visibilityUpdate().
3) Remove the dependencies between the Element's style and the placeholder's style.
This is done by simply using display:none; on the placeholder so that its parent's visibility
is irrelevant.
When matching the selector, the style is set as unique since style sharing does not deal with
the changes of HTMLTextFormControlElement.
Tests: fast/css/placeholder-shown-basics.html
fast/selectors/placeholder-shown-long-adjacent-backtracking.html
fast/selectors/placeholder-shown-sibling-style-update.html
fast/selectors/placeholder-shown-style-update.html
fast/selectors/placeholder-shown-with-input-basics.html
fast/selectors/placeholder-shown-with-textarea-basics.html
* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
Add the CSS Selector description for CSSOM.
* css/CSSSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorCheckerTestFunctions.h:
(WebCore::isPlaceholderShown):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* css/html.css:
(::-webkit-input-placeholder):
Previously, the display was forced through the UA stylesheet. Since the display is now part
of the placeholder visibility, it is explicitly handled by HTMLTextFormControlElement and
its subclasses.
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::updateValue):
(WebCore::HTMLTextAreaElement::setValueCommon):
(WebCore::HTMLTextAreaElement::updatePlaceholderText):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
(WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
(WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
(WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
(WebCore::HTMLTextFormControlElement::selectionDirection):
(WebCore::HTMLTextFormControlElement::restoreCachedSelection):
(WebCore::HTMLTextFormControlElement::parseAttribute):
(WebCore::HTMLTextFormControlElement::hidePlaceholder):
(WebCore::HTMLTextFormControlElement::showPlaceholderIfNecessary):
* html/HTMLTextFormControlElement.h:
(WebCore::HTMLTextFormControlElement::isPlaceholderVisible):
(WebCore::HTMLTextFormControlElement::cachedSelectionDirection):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::updatePlaceholderText):
(WebCore::TextFieldInputType::subtreeHasChanged):
(WebCore::TextFieldInputType::updateInnerTextValue):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::styleDidChange):
* testing/Internals.cpp:
(WebCore::Internals::visiblePlaceholder):
LayoutTests:
Add basic test coverage for common operations: styling, querySelector, CSSOM.
The layout test failure of placeholder-shown-sibling-style-update.html seems unrelated
to this patch, it fails in many more cases. This will be investigated separately, the failure
are used as expected values for now.
* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:
* fast/css/placeholder-shown-basics-expected.html: Added.
* fast/css/placeholder-shown-basics.html: Added.
* fast/selectors/placeholder-shown-long-adjacent-backtracking-expected.txt: Added.
* fast/selectors/placeholder-shown-long-adjacent-backtracking.html: Added.
* fast/selectors/placeholder-shown-sibling-style-update-expected.txt: Added.
* fast/selectors/placeholder-shown-sibling-style-update.html: Added.
* fast/selectors/placeholder-shown-style-update-expected.txt: Added.
* fast/selectors/placeholder-shown-style-update.html: Added.
* fast/selectors/placeholder-shown-with-input-basics-expected.txt: Added.
* fast/selectors/placeholder-shown-with-input-basics.html: Added.
* fast/selectors/placeholder-shown-with-textarea-basics-expected.txt: Added.
* fast/selectors/placeholder-shown-with-textarea-basics.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172826
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Thu, 21 Aug 2014 03:24:33 +0000 (03:24 +0000)]
Unreviewed, EFL build fix since r172814.
* WebKitTestRunner/config.h: Define WEBCORE_EXPORT.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172825
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 21 Aug 2014 02:29:47 +0000 (02:29 +0000)]
Fix how CodeBlock dumps the opcode op_profile_type
https://bugs.webkit.org/show_bug.cgi?id=136088
Patch by Saam Barati <sbarati@apple.com> on 2014-08-20
Reviewed by Filip Pizlo.
op_profile_type was modified to receive two extra arguments,
but its dump in CodeBlock::dumpBytecode wasn't changed to
account for this, so it broke CodeBlock::dumpBytecode when
op_profile_type was in the stream of bytecode instructions.
CodeBlock::dumpBytecode now accounts for the change in
op_profile_type's arity.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172822
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 21 Aug 2014 01:03:20 +0000 (01:03 +0000)]
Rename HighFidelityTypeProfiling variables for more clarity
https://bugs.webkit.org/show_bug.cgi?id=135899
Patch by Saam Barati <sbarati@apple.com> on 2014-08-20
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Many names that are used in the type profiling infrastructure
prefix themselves with "HighFidelity" or include the words "high"
and/or "fidelity" in some way. But the words "high" and "fidelity" don't
add anything descriptive to the names surrounding type profiling.
So this patch removes all uses of "HighFidelity" and its variants.
Most renamings change "HighFidelity*" to "TypeProfiler*" or simply
drop the prefix "HighFidelity" all together. Now, almost all names
in relation to type profiling contain in them "TypeProfiler" or
"TypeProfiling" or some combination of the words "type" and "profile".
This patch also changes how we check if type profiling is enabled:
We no longer call vm::isProfilingTypesWithHighFidelity. We now just
check that vm::typeProfiler is not null.
This patch also changes all calls to TypeProfilerLog::processLogEntries
to use ASCIILiteral to form WTFStrings instead of vanilla C string literals.
* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecode/TypeLocation.h:
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedCodeBlock::typeProfilerExpressionInfoForBytecodeOffset):
(JSC::UnlinkedCodeBlock::addTypeProfilerExpressionInfo):
(JSC::UnlinkedCodeBlock::highFidelityTypeProfileExpressionInfoForBytecodeOffset): Deleted.
(JSC::UnlinkedCodeBlock::addHighFidelityTypeProfileExpressionInfo): Deleted.
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedFunctionExecutable::typeProfilingStartOffset):
(JSC::UnlinkedFunctionExecutable::typeProfilingEndOffset):
(JSC::UnlinkedFunctionExecutable::highFidelityTypeProfilingStartOffset): Deleted.
(JSC::UnlinkedFunctionExecutable::highFidelityTypeProfilingEndOffset): Deleted.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitTypeProfilerExpressionInfo):
(JSC::BytecodeGenerator::emitProfileType):
(JSC::BytecodeGenerator::emitHighFidelityTypeProfilingExpressionInfo): Deleted.
(JSC::BytecodeGenerator::emitProfileTypesWithHighFidelity): Deleted.
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::isProfilingTypesWithHighFidelity): Deleted.
* bytecompiler/NodesCodegen.cpp:
(JSC::ThisNode::emitBytecode):
(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::EmptyVarExpression::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode):
* heap/Heap.cpp:
(JSC::Heap::collect):
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::recompileAllJSFunctionsForTypeProfiling):
(Inspector::InspectorRuntimeAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorRuntimeAgent::enableTypeProfiler):
(Inspector::InspectorRuntimeAgent::disableTypeProfiler):
(Inspector::InspectorRuntimeAgent::setTypeProfilerEnabledState):
(Inspector::InspectorRuntimeAgent::enableHighFidelityTypeProfiling): Deleted.
(Inspector::InspectorRuntimeAgent::disableHighFidelityTypeProfiling): Deleted.
(Inspector::InspectorRuntimeAgent::setHighFidelityTypeProfilingEnabledState): Deleted.
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/protocol/Runtime.json:
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompile):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_profile_type):
(JSC::JIT::emit_op_profile_types_with_high_fidelity): Deleted.
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_profile_type):
(JSC::JIT::emit_op_profile_types_with_high_fidelity): Deleted.
* jit/JITOperations.cpp:
* jsc.cpp:
(functionDumpTypesForAllVariables):
* llint/LLIntSlowPaths.cpp:
* llint/LowLevelInterpreter.asm:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* runtime/Executable.cpp:
(JSC::ScriptExecutable::ScriptExecutable):
(JSC::ProgramExecutable::ProgramExecutable):
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::ProgramExecutable::initializeGlobalProperties):
* runtime/Executable.h:
(JSC::ScriptExecutable::typeProfilingStartOffset):
(JSC::ScriptExecutable::typeProfilingEndOffset):
(JSC::ScriptExecutable::highFidelityTypeProfilingStartOffset): Deleted.
(JSC::ScriptExecutable::highFidelityTypeProfilingEndOffset): Deleted.
* runtime/HighFidelityLog.cpp: Removed.
* runtime/HighFidelityLog.h: Removed.
* runtime/HighFidelityTypeProfiler.cpp: Removed.
* runtime/HighFidelityTypeProfiler.h: Removed.
* runtime/Options.h:
* runtime/SymbolTable.cpp:
(JSC::SymbolTable::prepareForTypeProfiling):
(JSC::SymbolTable::uniqueIDForVariable):
(JSC::SymbolTable::uniqueIDForRegister):
(JSC::SymbolTable::prepareForHighFidelityTypeProfiling): Deleted.
* runtime/SymbolTable.h:
* runtime/TypeProfiler.cpp: Added.
(JSC::TypeProfiler::logTypesForTypeLocation):
(JSC::TypeProfiler::insertNewLocation):
(JSC::TypeProfiler::getTypesForVariableAtOffsetForInspector):
(JSC::descriptorMatchesTypeLocation):
(JSC::TypeProfiler::findLocation):
* runtime/TypeProfiler.h: Added.
(JSC::QueryKey::QueryKey):
(JSC::QueryKey::isHashTableDeletedValue):
(JSC::QueryKey::operator==):
(JSC::QueryKey::hash):
(JSC::QueryKeyHash::hash):
(JSC::QueryKeyHash::equal):
(JSC::TypeProfiler::functionHasExecutedCache):
(JSC::TypeProfiler::typeLocationCache):
* runtime/TypeProfilerLog.cpp: Added.
(JSC::TypeProfilerLog::initializeLog):
(JSC::TypeProfilerLog::~TypeProfilerLog):
(JSC::TypeProfilerLog::processLogEntries):
* runtime/TypeProfilerLog.h: Added.
(JSC::TypeProfilerLog::LogEntry::structureIDOffset):
(JSC::TypeProfilerLog::LogEntry::valueOffset):
(JSC::TypeProfilerLog::LogEntry::locationOffset):
(JSC::TypeProfilerLog::TypeProfilerLog):
(JSC::TypeProfilerLog::recordTypeInformationForLocation):
(JSC::TypeProfilerLog::logEndPtr):
(JSC::TypeProfilerLog::logStartOffset):
(JSC::TypeProfilerLog::currentLogEntryOffset):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::enableTypeProfiler):
(JSC::VM::disableTypeProfiler):
(JSC::VM::dumpTypeProfilerData):
(JSC::VM::enableHighFidelityTypeProfiling): Deleted.
(JSC::VM::disableHighFidelityTypeProfiling): Deleted.
(JSC::VM::dumpHighFidelityProfilingTypes): Deleted.
* runtime/VM.h:
(JSC::VM::typeProfilerLog):
(JSC::VM::typeProfiler):
(JSC::VM::isProfilingTypesWithHighFidelity): Deleted.
(JSC::VM::highFidelityLog): Deleted.
(JSC::VM::highFidelityTypeProfiler): Deleted.
Source/WebInspectorUI:
Change a reference in a comment to a JavaScriptCore file to its
newly renamed variant.
* UserInterface/Models/ScriptSyntaxTree.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172820
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 20 Aug 2014 23:55:05 +0000 (23:55 +0000)]
Fix the release build after r172806.
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Add a missing semicolon.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172818
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 20 Aug 2014 22:55:29 +0000 (22:55 +0000)]
Remove HTMLInputElement's suggestedValue
https://bugs.webkit.org/show_bug.cgi?id=136094
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-20
Reviewed by Darin Adler.
Source/WebCore:
That code is Chrome specific. It is unused now.
* WebCore.exp.in:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::setValueFromRenderer):
(WebCore::HTMLInputElement::suggestedValue): Deleted.
(WebCore::HTMLInputElement::setSuggestedValue): Deleted.
* html/HTMLInputElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
* html/HTMLTextFormControlElement.h:
(WebCore::HTMLTextFormControlElement::isEmptySuggestedValue): Deleted.
* html/InputType.cpp:
(WebCore::InputType::canSetSuggestedValue): Deleted.
* html/InputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::updateInnerTextValue):
(WebCore::TextFieldInputType::canSetSuggestedValue): Deleted.
* html/TextFieldInputType.h:
* testing/Internals.cpp:
(WebCore::Internals::suggestedValue): Deleted.
(WebCore::Internals::setSuggestedValue): Deleted.
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
LayoutTests:
* fast/forms/suggested-value-after-setvalue-expected.txt: Removed.
* fast/forms/suggested-value-after-setvalue.html: Removed.
* fast/forms/suggested-value-expected.txt: Removed.
* fast/forms/suggested-value.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172817
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Wed, 20 Aug 2014 22:39:44 +0000 (22:39 +0000)]
WebAudio FFT analysis uses incorrect scaling
https://bugs.webkit.org/show_bug.cgi?id=136120
Reviewed by Tim Horton.
Source/WebCore:
This is a port of Blink r166687 (author rtoy)
https://codereview.chromium.org/
156993002
Currently, for a fixed sine-wave input, the peak FFT amplitude changes
depending on the selected FFT size. This is incorrect; the FFT amplitude
should not appreciably change when the FFT size changes.
Layout test added to verify the FFT result stays approximately constant,
independent of the FFT size used.
When this test is run using an older version of WebKit, the peak varies
from about -44 dB (FFT size 32) to -7 dB (FFT size 2048). With this CL,
the peak is about -7 dB. (It's not 0 dB because of the Blackman window that is applied.)
Note: this change may break existing applications that depended on this strange scaling effect.
Test: webaudio/realtimeanalyser-fft-scaling.html
* Modules/webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::doFFTAnalysis):
LayoutTests:
Test from Blink r166687.
* webaudio/realtimeanalyser-fft-scaling.html: Added.
* webaudio/realtimeanalyser-fft-scaling-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172816
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Wed, 20 Aug 2014 21:56:55 +0000 (21:56 +0000)]
Introducing WEBCORE_EXPORT macro.
https://bugs.webkit.org/show_bug.cgi?id=136108
Reviewed by Antti Koivisto.
Source/WebCore:
This should eventually replace WebCore.exp.in.
* platform/PlatformExportMacros.h:
Define WEBCORE_EXPORT to nothing to not cause problems while I'm working on it.
* Modules/encryptedmedia/CDM.h:
* Modules/speech/DOMWindowSpeechSynthesis.h:
* Modules/webdatabase/DatabaseManager.h:
* Modules/webdatabase/DatabaseTracker.h:
* accessibility/AXObjectCache.h:
* bindings/js/DOMWrapperWorld.h:
* bridge/jsc/BridgeJSC.h:
* bridge/runtime_method.h:
* bridge/runtime_object.h:
* bridge/runtime_root.h:
* css/CSSComputedStyleDeclaration.h:
* css/CSSParserMode.h:
* css/CSSValue.h:
* css/DOMWindowCSS.h:
* css/StyleSheetContents.h:
* dom/CharacterData.h:
* dom/ClientRect.h:
* dom/ClientRectList.h:
* dom/ContainerNode.h:
* dom/ContextDestructionObserver.h:
* dom/DOMImplementation.h:
* dom/DataTransfer.h:
* dom/DeviceMotionData.h:
* dom/DeviceOrientationData.h:
* dom/Document.h:
(WebCore::Document::setAnnotatedRegionsDirty):
* dom/DocumentMarker.h:
* dom/DocumentMarkerController.h:
* dom/DocumentStyleSheetCollection.h:
* dom/Element.h:
* dom/Event.h:
(WebCore::Event::create):
* dom/EventListenerMap.h:
* editing/DictationAlternative.h:
* editing/EditCommand.h:
* editing/EditingStyle.h:
* editing/Editor.h:
* editing/mac/AlternativeTextUIController.h:
* history/BackForwardController.h:
* history/BackForwardList.h:
* history/CachedFrame.h:
* loader/CookieJar.h:
* loader/CrossOriginPreflightResultCache.h:
* loader/DocumentLoader.h:
* loader/DocumentWriter.h:
* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCacheHost.h:
* loader/appcache/ApplicationCacheStorage.h:
* loader/archive/ArchiveResource.h:
* loader/cache/CachedImage.h:
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceHandle.h:
* loader/cache/CachedResourceLoader.h:
* page/Chrome.h:
* page/ContextMenuController.h:
* page/DOMWindow.h:
* page/DOMWindowExtension.h:
* page/DragController.h:
* page/EventHandler.h:
* page/animation/AnimationController.h:
* page/scrolling/AsyncScrollingCoordinator.h:
* platform/CalculationValue.h:
* platform/ContentFilter.h:
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
* platform/CrossThreadCopier.h:
* platform/Cursor.h:
* platform/DatabaseStrategy.h:
* platform/DisplaySleepDisabler.h:
* platform/DragData.h:
* platform/LocalizedStrings.h:
* platform/audio/AudioHardwareListener.h:
* platform/audio/AudioSession.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
* platform/graphics/BitmapImage.h:
* platform/graphics/Color.h:
* platform/graphics/DisplayRefreshMonitor.h:
* platform/graphics/transforms/AffineTransform.h:
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/ios/WebVideoFullscreenModelMediaElement.h:
* platform/ios/wak/WAKView.mm:
* platform/ios/wak/WKContentObservation.h:
* platform/ios/wak/WKView.h:
* platform/ios/wak/WebCoreThread.h:
* platform/ios/wak/WebCoreThreadMessage.h:
* platform/mac/BlockExceptions.h:
* platform/mock/DeviceOrientationClientMock.h:
* platform/network/AuthenticationChallengeBase.h:
* platform/network/BlobData.h:
* platform/network/BlobDataFileReference.h:
* platform/network/BlobRegistry.h:
* platform/network/BlobRegistryImpl.h:
* platform/network/CredentialBase.h:
* platform/network/CredentialStorage.h:
* platform/network/PlatformCookieJar.h:
* platform/network/cf/AuthenticationChallenge.h:
* platform/network/cocoa/CredentialCocoa.h:
* platform/network/mac/CertificateInfo.h:
* platform/sql/SQLiteDatabase.h:
(WebCore::SQLiteDatabase::disableThreadingChecks):
* platform/sql/SQLiteDatabaseTracker.h:
* platform/sql/SQLiteStatement.h:
* platform/sql/SQLiteTransaction.h:
* platform/text/BidiContext.h:
Added WEBCORE_EXPORT macros.
Source/WebKit2:
* config.h:
Added stub definition of WEBCORE_EXPORT defined to nothing to be able to compile with WebCore headers.
Tools:
* TestWebKitAPI/config.h:
Added stub definition of WEBCORE_EXPORT defined to nothing to be able to compile with WebCore headers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172814
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 20 Aug 2014 21:43:35 +0000 (21:43 +0000)]
URTBF after r172799.
* disassembler/ARM64/A64DOpcode.cpp:
* disassembler/ARM64Disassembler.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172813
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 20 Aug 2014 21:43:33 +0000 (21:43 +0000)]
<https://webkit.org/b/136119> WebKit1 plug-in test failures in production builds after r172595
Reviewed by Alexey Proskuryakov.
* WebKit.xcodeproj/project.pbxproj: Add the symlinks at the top level of WebKitLegacy.framework
even in Production builds. Add the symlinks in the right locations too.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172812
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Wed, 20 Aug 2014 21:07:36 +0000 (21:07 +0000)]
Move DiskCacheMonitor to WebCore so that WebKit1 clients can use it as well
https://bugs.webkit.org/show_bug.cgi?id=135896
Reviewed by Andreas Kling.
Source/WebCore:
Refactor code and move it to WebCore.
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* loader/ResourceLoader.h:
Make willCacheResponse protected so that SubresourceLoader can override it.
* loader/SubresourceLoader.h:
* loader/cocoa/DiskCacheMonitorCocoa.h: Added.
Mostly the same as the existing NetworkDiskCacheMonitor class in WebKit2. In the
CFNetwork callback block, it calls a virtual function that is overridden by
NetworkDiskCacheMonitor to send a message to WebContent process.
(WebCore::DiskCacheMonitor::~DiskCacheMonitor):
(WebCore::DiskCacheMonitor::resourceRequest):
(WebCore::DiskCacheMonitor::sessionID):
* loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::tryGetFileBackedSharedBufferFromCFURLCachedResponse):
Copied from NetworkResourceLoader::tryGetFileBackedSharedBufferFromCFURLCachedResponse.
(WebCore::DiskCacheMonitor::monitorFileBackingStoreCreation):
(WebCore::DiskCacheMonitor::DiskCacheMonitor):
(WebCore::DiskCacheMonitor::resourceBecameFileBacked):
Replace the cached resource data with the contents of the file backed buffer. This is
used in WebKit1 (and also for any resource loads that happen from the WebContent
process).
* loader/cocoa/SubresourceLoaderCocoa.mm: Added.
(WebCore::SubresourceLoader::willCacheResponse):
Override willCacheresponse from ResourceLoader to listen for disk cache notifications.
Source/WebKit2:
* NetworkProcess/mac/NetworkDiskCacheMonitor.h:
Inherit from WebCore::DiskCacheMonitor which has the bulk of the functionality now.
(WebKit::NetworkDiskCacheMonitor::~NetworkDiskCacheMonitor):
* NetworkProcess/mac/NetworkDiskCacheMonitor.mm:
(WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
(WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
(WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked):
Override virtual method and send the data to the WebContent process as before.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172811
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 20 Aug 2014 21:02:24 +0000 (21:02 +0000)]
Cleanup MediaSession
https://bugs.webkit.org/show_bug.cgi?id=136116
Reviewed by Brent Fulgham.
MediaSessionManagerClient interface isn't used, remove it.
No new tests, this doesn't change behavior.
* WebCore.exp.in:
* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::addSession):
(WebCore::MediaSessionManager::removeSession):
(WebCore::MediaSessionManager::sessionWillBeginPlayback):
(WebCore::MediaSessionManager::addClient): Deleted.
(WebCore::MediaSessionManager::removeClient): Deleted.
* platform/audio/MediaSessionManager.h:
(WebCore::MediaSessionManagerClient::~MediaSessionManagerClient): Deleted.
(WebCore::MediaSessionManagerClient::MediaSessionManagerClient): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172809
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 20 Aug 2014 20:47:45 +0000 (20:47 +0000)]
Stop implicitly skipping a function's own activation when walking the scope chain
https://bugs.webkit.org/show_bug.cgi?id=136118
Reviewed by Geoffrey Garen.
Remove the current logic that implicitly skips a function's
own activation when walking the scope chain. This is ground
work for ensuring that all closed variable access is made
through the function's activation. This leads to a further
10% regression on earley, but we're already tracking the
overall performance regression.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getScope):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGHeapLocation.h:
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitResolveClosure):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSScope.cpp:
(JSC::JSScope::abstractResolve):
* runtime/JSScope.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172808
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Wed, 20 Aug 2014 20:28:24 +0000 (20:28 +0000)]
REGRESSION: Web Inspector crashes when reloading apple.com with Timeline recording active
https://bugs.webkit.org/show_bug.cgi?id=136034
Reviewed by Mark Lam.
DebuggerCallFrame::positionForCallFrame is trying to unwind starting somewhere in the middle
of the stack. Hardened StackVisitor to skip over the frames between the current top frame
and the requested start frame.
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::StackVisitor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172807
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 20 Aug 2014 20:19:50 +0000 (20:19 +0000)]
[MSE] add additional SourceBuffer and MediaSource logging
https://bugs.webkit.org/show_bug.cgi?id=136114
Reviewed by Brent Fulgham.
No new tests, this adds debug-only logging.
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setReadyState): Fix a typo.
(WebCore::MediaSource::streamEndedWithError): Log the error.
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Log when parsing fails.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Log error.
(WebCore::SourceBuffer::sourceBufferPrivateDidEndStream): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment): Log.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Log error.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172806
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 20 Aug 2014 19:46:07 +0000 (19:46 +0000)]
[Win] JavaScriptCore.dll is missing version information.
https://bugs.webkit.org/show_bug.cgi?id=136105
<rdar://problem/
18075852>
Reviewed by Dean Jackson.
* JavaScriptCore.vcxproj/JavaScriptCorePreBuild.cmd: Add missing step to generate
version information for intermediary build path.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172805
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 20 Aug 2014 19:27:48 +0000 (19:27 +0000)]
Fix a memory leak in TypeSet
https://bugs.webkit.org/show_bug.cgi?id=135913
Patch by Saam Barati <sbarati@apple.com> on 2014-08-20
Reviewed by Filip Pizlo.
Currently, TypeSet unconditionally allocates memory for its member
variable m_structureHistory, but never deallocates it. Change this
from being a pointer that is unconditionally allocated to a member
variable that will be deallocated when TypeSet itself is deallocated.
* runtime/TypeSet.cpp:
(JSC::TypeSet::TypeSet):
(JSC::TypeSet::addTypeInformation):
(JSC::TypeSet::seenTypes):
(JSC::TypeSet::displayName):
(JSC::TypeSet::allStructureRepresentations):
(JSC::StructureShape::leastCommonAncestor):
* runtime/TypeSet.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172804
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 20 Aug 2014 19:10:38 +0000 (19:10 +0000)]
import-w3c-tests doesn't import .svg support files
https://bugs.webkit.org/show_bug.cgi?id=135928
Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-08-20
Reviewed by Bem Jones-Bey.
This patch fixes the W3C import script to not treat all
files with an xml mimetype as convertible tests, which
was causing SVG support files to not be imported.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.find_importable_tests):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172803
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 20 Aug 2014 18:37:41 +0000 (18:37 +0000)]
Unreviewed, rolling out r172798.
https://bugs.webkit.org/show_bug.cgi?id=136113
Broke builds (Requested by msaboff on #webkit).
Reverted changeset:
"Introducing WEBCORE_EXPORT macro."
https://bugs.webkit.org/show_bug.cgi?id=136108
http://trac.webkit.org/changeset/172798
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172802
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 20 Aug 2014 18:11:15 +0000 (18:11 +0000)]
[Win] Assertion fails when running JSC stress tests.
https://bugs.webkit.org/show_bug.cgi?id=136103
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-08-20
Reviewed by Darin Adler.
Use unsigned bitfield member instead of enum bitfield member to avoid negative values.
* bytecode/CodeOrigin.h: Use unsigned bitfield member.
(JSC::InlineCallFrame::specializationKind): Compile fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172801
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Wed, 20 Aug 2014 18:05:02 +0000 (18:05 +0000)]
fast/multicol/mixed-opacity-fixed-test.html fails in compositing mode
https://bugs.webkit.org/show_bug.cgi?id=136109
* platform/mac-wk2/TestExpectations: Updated test expectations to a non-flaky failure,
and to point to the new bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172800
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 20 Aug 2014 17:59:10 +0000 (17:59 +0000)]
Enable ARM64 disassembler on EFL
https://bugs.webkit.org/show_bug.cgi?id=136089
Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-08-20
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
* CMakeLists.txt:
Added disassembler/ARM64Disassembler.cpp and
disassembler/ARM64/A64DOpcode.cpp to JavaScriptCore_SOURCES.
* disassembler/ARM64/A64DOpcode.cpp:
Added USE(ARM64_DISASSEMBLER) guard around implementation.
* disassembler/ARM64/A64DOpcode.h:
(JSC::ARM64Disassembler::A64DOpcode::appendUnsignedImmediate64):
(JSC::ARM64Disassembler::A64DOpcode::appendPCRelativeOffset):
Made format strings portable by changing "%llx" to "%" PRIx64 for
uint64_t arguments.
Source/WTF:
* wtf/Platform.h:
Enable WTF_USE_ARM64_DISASSEMBLER for EFL as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172799
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Wed, 20 Aug 2014 17:56:27 +0000 (17:56 +0000)]
Introducing WEBCORE_EXPORT macro.
https://bugs.webkit.org/show_bug.cgi?id=136108
Reviewed by Antti Koivisto.
This should eventually replace WebCore.exp.in.
* platform/PlatformExportMacros.h:
Define WEBCORE_EXPORT to nothing to not cause problems while I'm working on it.
* Modules/encryptedmedia/CDM.h:
* Modules/speech/DOMWindowSpeechSynthesis.h:
* Modules/webdatabase/DatabaseManager.h:
* Modules/webdatabase/DatabaseTracker.h:
* accessibility/AXObjectCache.h:
* bindings/js/DOMWrapperWorld.h:
* bridge/jsc/BridgeJSC.h:
* bridge/runtime_method.cpp:
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
* bridge/runtime_root.h:
* css/CSSComputedStyleDeclaration.h:
* css/CSSParserMode.h:
* css/CSSValue.h:
* css/DOMWindowCSS.h:
* css/StyleSheetContents.h:
* dom/CharacterData.h:
* dom/ClientRect.h:
* dom/ClientRectList.h:
* dom/ContainerNode.h:
* dom/ContextDestructionObserver.h:
* dom/DOMImplementation.h:
* dom/DataTransfer.h:
* dom/DeviceMotionData.h:
* dom/DeviceOrientationData.h:
* dom/Document.h:
(WebCore::Document::setAnnotatedRegionsDirty):
* dom/DocumentMarker.h:
* dom/DocumentMarkerController.h:
* dom/DocumentStyleSheetCollection.h:
* dom/Element.h:
* dom/Event.h:
(WebCore::Event::create):
* dom/EventListenerMap.h:
* editing/DictationAlternative.h:
* editing/EditCommand.h:
* editing/EditingStyle.h:
* editing/Editor.h:
* editing/mac/AlternativeTextUIController.h:
* history/BackForwardController.h:
* history/BackForwardList.h:
* history/CachedFrame.h:
* loader/CookieJar.h:
* loader/CrossOriginPreflightResultCache.h:
* loader/DocumentLoader.h:
* loader/DocumentWriter.h:
* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCacheHost.h:
* loader/appcache/ApplicationCacheStorage.h:
* loader/archive/ArchiveResource.h:
* loader/cache/CachedImage.h:
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceHandle.h:
* loader/cache/CachedResourceLoader.h:
* page/Chrome.h:
* page/ContextMenuController.h:
* page/DOMWindow.h:
* page/DOMWindowExtension.h:
* page/DragController.h:
* page/EventHandler.h:
* page/animation/AnimationController.h:
* page/scrolling/AsyncScrollingCoordinator.h:
* platform/CalculationValue.h:
* platform/ContentFilter.h:
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
* platform/CrossThreadCopier.h:
* platform/Cursor.h:
* platform/DatabaseStrategy.h:
* platform/DisplaySleepDisabler.h:
* platform/DragData.h:
* platform/LocalizedStrings.h:
* platform/audio/AudioHardwareListener.h:
* platform/audio/AudioSession.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
* platform/graphics/BitmapImage.h:
* platform/graphics/Color.h:
* platform/graphics/DisplayRefreshMonitor.h:
* platform/graphics/transforms/AffineTransform.h:
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/ios/WebVideoFullscreenModelMediaElement.h:
* platform/ios/wak/WAKView.mm:
* platform/ios/wak/WKContentObservation.h:
* platform/ios/wak/WKView.h:
* platform/ios/wak/WebCoreThread.h:
* platform/ios/wak/WebCoreThreadMessage.h:
* platform/mac/BlockExceptions.h:
* platform/mock/DeviceOrientationClientMock.h:
* platform/network/AuthenticationChallengeBase.h:
* platform/network/BlobData.h:
* platform/network/BlobDataFileReference.h:
* platform/network/BlobRegistry.h:
* platform/network/BlobRegistryImpl.h:
* platform/network/CredentialBase.h:
* platform/network/CredentialStorage.h:
* platform/network/PlatformCookieJar.h:
* platform/network/cf/AuthenticationChallenge.h:
* platform/network/cocoa/CredentialCocoa.h:
* platform/network/mac/CertificateInfo.h:
* platform/sql/SQLiteDatabase.h:
(WebCore::SQLiteDatabase::disableThreadingChecks):
* platform/sql/SQLiteDatabaseTracker.h:
* platform/sql/SQLiteStatement.h:
* platform/sql/SQLiteTransaction.h:
* platform/text/BidiContext.h:
Added WEBCORE_EXPORT macros.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172798
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Wed, 20 Aug 2014 14:44:56 +0000 (14:44 +0000)]
Dashed/dotted borders do not paint.
https://bugs.webkit.org/show_bug.cgi?id=135898
Reviewed by Simon Fraser.
Source/WebCore:
Remove the empty line checks for drawLines. There's no need to protect the graphics
context from empty lines.
Tests: fast/borders/border-painting-dashed-at-all.html
fast/borders/border-painting-dashed.html
fast/borders/border-painting-dotted-at-all.html
fast/borders/border-painting-dotted.html
fast/borders/border-painting-double-at-all.html
fast/borders/border-painting-double.html
fast/borders/border-painting-groove-at-all.html
fast/borders/border-painting-inset-at-all.html
fast/borders/border-painting-inset.html
fast/borders/border-painting-outset-at-all.html
fast/borders/border-painting-outset.html
fast/borders/border-painting-ridge-at-all.html
fast/borders/border-painting-solid-at-all.html
fast/borders/border-painting-solid.html
fast/borders/hidpi-border-painting-groove.html
fast/borders/hidpi-border-painting-ridge.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::drawBorderLineRect): Deleted.
(WebCore::drawBorderLine): Deleted.
LayoutTests:
*-at-all files test that we always paint borders.
The other set of files test that borders are painted properly. They take
advantage of the fact that borders with radius use a different painting code path.
* TestExpectations:
* fast/borders/border-painting-dashed-at-all-expected.html: Added.
* fast/borders/border-painting-dashed-at-all.html: Added.
* fast/borders/border-painting-dashed-expected.html: Added.
* fast/borders/border-painting-dashed.html: Added.
* fast/borders/border-painting-dotted-at-all-expected.html: Added.
* fast/borders/border-painting-dotted-at-all.html: Added.
* fast/borders/border-painting-dotted-expected.html: Added.
* fast/borders/border-painting-dotted.html: Added.
* fast/borders/border-painting-double-at-all-expected.html: Added.
* fast/borders/border-painting-double-at-all.html: Added.
* fast/borders/border-painting-double-expected.html: Added.
* fast/borders/border-painting-double.html: Added.
* fast/borders/border-painting-groove-at-all-expected.html: Added.
* fast/borders/border-painting-groove-at-all.html: Added.
* fast/borders/border-painting-inset-at-all-expected.html: Added.
* fast/borders/border-painting-inset-at-all.html: Added.
* fast/borders/border-painting-inset-expected.html: Added.
* fast/borders/border-painting-inset.html: Added.
* fast/borders/border-painting-outset-at-all-expected.html: Added.
* fast/borders/border-painting-outset-at-all.html: Added.
* fast/borders/border-painting-outset-expected.html: Added.
* fast/borders/border-painting-outset.html: Added.
* fast/borders/border-painting-ridge-at-all-expected.html: Added.
* fast/borders/border-painting-ridge-at-all.html: Added.
* fast/borders/border-painting-solid-at-all-expected.html: Added.
* fast/borders/border-painting-solid-at-all.html: Added.
* fast/borders/border-painting-solid-expected.html: Added.
* fast/borders/border-painting-solid.html: Added.
* fast/borders/hidpi-border-painting-groove-expected.html: Added.
* fast/borders/hidpi-border-painting-groove.html: Added.
* fast/borders/hidpi-border-painting-ridge-expected.html: Added.
* fast/borders/hidpi-border-painting-ridge.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172797
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Wed, 20 Aug 2014 04:32:12 +0000 (04:32 +0000)]
Ignore usemap attributes without '#' in img element
https://bugs.webkit.org/show_bug.cgi?id=133336
Reviewed by Ryosuke Niwa.
HTML5 specification says we should ignore usemap attributes without #.
http://www.w3.org/TR/html5/infrastructure.html#valid-hash-name-reference
Source/WebCore:
Test: fast/dom/replaced-image-map-valid-hash-name.html
* dom/TreeScope.cpp:
(WebCore::TreeScope::getImageMap):
LayoutTests:
* fast/dom/replaced-image-map-valid-hash-name-expected.txt: Added.
* fast/dom/replaced-image-map-valid-hash-name.html: Added.
* fast/images/image-map-multiple-xhtml.xhtml: Modified usemap attribute value to use '#'.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172796
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 20 Aug 2014 03:02:16 +0000 (03:02 +0000)]
update-webkit should not check for the presence of Apple’s Internal directory
Last part of https://bugs.webkit.org/show_bug.cgi?id=135815
Reviewed by Tim Horton.
* Scripts/update-webkit:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172795
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 20 Aug 2014 02:38:46 +0000 (02:38 +0000)]
REGRESSION(r172401): for-in optimization no longer works at all
https://bugs.webkit.org/show_bug.cgi?id=136056
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Roll this back in, along with a fix to make proxies work. Previously, for-in over proxies
would instacrash every time.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::pushIndexedForInScope):
(JSC::BytecodeGenerator::pushStructureForInScope):
* bytecompiler/BytecodeGenerator.h:
(JSC::ForInContext::ForInContext):
(JSC::StructureForInContext::StructureForInContext):
(JSC::IndexedForInContext::IndexedForInContext):
(JSC::ForInContext::base): Deleted.
* bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitMultiLoopBytecode):
* runtime/JSProxy.cpp:
(JSC::JSProxy::getStructurePropertyNames):
(JSC::JSProxy::getGenericPropertyNames):
* tests/stress/for-in-base-reassigned-later-and-change-structure.js: Added.
(foo):
* tests/stress/for-in-base-reassigned-later.js: Added.
(foo):
* tests/stress/for-in-base-reassigned.js: Added.
(foo):
* tests/stress/for-in-proxy-target-changed-structure.js: Added.
(deleteAll):
(foo):
* tests/stress/for-in-proxy.js: Added.
(foo):
LayoutTests:
This just needs a rebase because the number of calls into the DOM has changed and so the
number of console messages about security stuff has now changed.
* http/tests/security/cross-frame-access-enumeration-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172794
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ljaehun.lim@samsung.com [Wed, 20 Aug 2014 02:17:57 +0000 (02:17 +0000)]
Unreviewed, fix EFL build after r17275
Fix error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
* runtime/JSDataViewPrototype.cpp:
Add #if COMPILER(CLANG) and #endif.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172793
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Wed, 20 Aug 2014 00:36:13 +0000 (00:36 +0000)]
Crash in jsc-layout-tests.yaml/js/script-tests/reentrant-caching.js
https://bugs.webkit.org/show_bug.cgi?id=136080
Reviewed by Mark Lam.
Update VM::topVMEntryFrame via NativeCallFrameTracer() when we pass the caller's frame
to NativeCallFrameTracer() as the callee's frame may be the first callee from an entry
frame. In that case, the caller will have the prior VM entry frame.
The new NativeCallFrameTracer with a VMEntryFrame parameter should be used when throwing
an exception from a caller frame. The value to use for the VMEntryFrame should be a
value possibly modified by CallFrame::callerFrame(&*VMEntryFrame) used to find the caller.
* interpreter/Interpreter.h:
(JSC::NativeCallFrameTracer::NativeCallFrameTracer): Added a new constructor that takes a
VMEntryFrame. Added an ASSERT to both constructors to check that the updated topCallFrame
is below the current vmEntryFrame.
* jit/JITOperations.cpp:
(JSC::operationThrowStackOverflowError):
(JSC::operationCallArityCheck):
(JSC::operationConstructArityCheck):
Set VM::topVMEntryFrame to the possibly updated VMEntryFrame after getting the caller's frame.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172792
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Tue, 19 Aug 2014 23:55:36 +0000 (23:55 +0000)]
Remove PurgeableBuffer since it is not very useful any more
https://bugs.webkit.org/show_bug.cgi?id=135939
Reviewed by Andreas Kling.
Source/WebCore:
The usefulness of having purgeable memory for cached resources has diminished now that
WebKit uses file backed resources when possible. Since this is read only memory, it is in
essence "purgeable". Having the PurgeableBuffer code adds additional complexity that we
don't need. e.g. on my Mac, I am not seeing any entry for "WebCore purgeable data" when I
run vmmap against the web processes that I have running. It is used on iOS, however even
there much of the purgeable memory we create gets replaced by file backed memory once we get
the notification from CFNetwork.
No new tests because no functional changes.
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorPageAgent.cpp:
(WebCore::prepareCachedResourceBuffer):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::subresource):
* loader/ResourceBuffer.cpp:
(WebCore::ResourceBuffer::hasPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::setShouldUsePurgeableMemory): Deleted.
(WebCore::ResourceBuffer::createPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::releasePurgeableBuffer): Deleted.
* loader/ResourceBuffer.h:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFinishLoading):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
* loader/cache/CachedCSSStyleSheet.h:
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::image):
(WebCore::CachedImage::imageForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::destroyDecodedData):
(WebCore::CachedImage::canUseDiskImageCache):
* loader/cache/CachedImage.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::isSafeToMakePurgeable): Deleted.
(WebCore::CachedResource::makePurgeable): Deleted.
(WebCore::CachedResource::isPurgeable): Deleted.
(WebCore::CachedResource::wasPurged): Deleted.
* loader/cache/CachedResource.h:
(WebCore::CachedResource::resourceBuffer):
(WebCore::CachedResource::purgePriority): Deleted.
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::script):
(WebCore::CachedScript::destroyDecodedData):
* loader/cache/CachedScript.h:
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::resourceForRequestImpl):
(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::makeResourcePurgeable): Deleted.
* loader/cache/MemoryCache.h:
(WebCore::MemoryCache::TypeStatistic::TypeStatistic):
(WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction): Deleted.
* platform/PurgePriority.h: Removed.
* platform/PurgeableBuffer.h: Removed.
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::size):
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::clear):
(WebCore::SharedBuffer::copy):
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::adoptPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::createPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::releasePurgeableBuffer): Deleted.
* platform/SharedBuffer.h:
(WebCore::SharedBuffer::hasPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::shouldUsePurgeableMemory): Deleted.
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::SharedBuffer):
* platform/mac/PurgeableBufferMac.cpp: Removed.
* platform/mac/SharedBufferMac.mm:
(WebCore::SharedBuffer::createCFData):
* platform/soup/SharedBufferSoup.cpp:
Source/WebKit/mac:
* Misc/WebCache.mm:
(+[WebCache statistics]):
Source/WebKit/win:
* WebCache.cpp:
(WebCache::statistics):
Source/WebKit2:
* WebProcess/WebProcess.cpp:
(WebKit::getWebCoreMemoryCacheStatistics):
Source/WTF:
* wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
* wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172790
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Tue, 19 Aug 2014 23:38:51 +0000 (23:38 +0000)]
[Cocoa] Offline Assembler build phase fails when $BUILT_PRODUCTS_DIR contains spaces
https://bugs.webkit.org/show_bug.cgi?id=136086
Reviewed by Filip Pizlo.
Enclosed arguments to asm.rb containing $BUILT_PRODUCTS_DIR in double quotes so that they don't get split on
whitespace. Also let Xcode have its way with an unrelated part of the project file.
* JavaScriptCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172783
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 19 Aug 2014 23:33:33 +0000 (23:33 +0000)]
Expose injected bundle SPI to get a node's URL element, get the visible selection range of that
element, and snapshot that range
https://bugs.webkit.org/show_bug.cgi?id=136076
Patch by Peyton Randolph <prandolph@apple.com> on 2014-08-19
Reviewed by Tim Horton.
* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
(WKBundleHitTestResultCopyURLElementHandle): Added.
* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
* WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
(WKBundleNodeHandleCopyVisibleRange): Added.
* WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
* WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
(WKBundleRangeHandleGetBoundingRectInWindowCoordinates): Added.
(WKBundleRangeHandleCopySnapshotWithOptions): Added.
* WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::visibleRange): Added.
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::boundingRectInWindowCoordinates): Added.
(WebKit::InjectedBundleRangeHandle::renderedImage): Added.
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::urlElementHandle): Added.
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@172780
268f45cc-cd09-0410-ab3c-
d52691b4dbfc