WebKit-https.git
6 years agoUpdate the patch and the plan files of the graphics benchmark with the latest revision
commit-queue@webkit.org [Fri, 20 Nov 2015 23:14:52 +0000 (23:14 +0000)]
Update the patch and the plan files of the graphics benchmark with the latest revision
https://bugs.webkit.org/show_bug.cgi?id=151503

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-20
Reviewed by Ryosuke Niwa.

The time for each graphics test has been shortened from 30 seconds to 10
seconds. We need to update the graphics benchmark patch and plan files so
we can get the results faster. Also this will allow running the benchmark
also on the iOS performance bots.

* Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch:
* Scripts/webkitpy/benchmark_runner/data/plans/animometer.plan:

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

6 years agoA window with a hung tab waits 5s before becoming active
ggaren@apple.com [Fri, 20 Nov 2015 23:10:57 +0000 (23:10 +0000)]
A window with a hung tab waits 5s before becoming active
https://bugs.webkit.org/show_bug.cgi?id=151426

Reviewed by Sam Weinig.

This patch adds an optimization to skip the synchronous web process
message to check for a legacy scrollbar when we know that legacy
scrollbars are not enabled.

(Note that legacy scrollbars don't work quite right, due to
<rdar://problem/23585420> and <rdar://problem/23605296>. Still, I verified
with logging that we do the synchronous message when legacy scrollbars
are enabled.)

A consequence of this change is that we will no longer support
click-to-scroll-while-inactive behavior for scrollbars with custom looks
on systems with modern scrollbars. I spoke with Beth and Dan, and they
agreed that this is a reasonable change to make, since we don't support
click-to-scroll-while-inactive behavior for fully custom scrollbars either,
and since systems with modern scrollbars typically use swipe to scroll.

* UIProcess/Cocoa/WebViewImpl.h: Added some helper functions to explain
the behaviors we're checking for.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::mightBeginDragWhileInactive): Factored out from
shouldDelayWindowOrderingForEvent.

(WebKit::WebViewImpl::mightBeginScrollWhileInactive): New function.

(WebKit::WebViewImpl::acceptsFirstMouse): Moved this function next to
shouldDelayWindowOrderingForEvent because their responsibilities are
very similar. Added a fast path check for when we know that we will
not accept first mouse because we can't start a drag or scroll by
clicking while inactive.

(WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent): Refactored
to use the helper function. Behavior unchanged.

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

6 years agoA hung webpage pretends to be responsive if you scroll
ggaren@apple.com [Fri, 20 Nov 2015 23:10:02 +0000 (23:10 +0000)]
A hung webpage pretends to be responsive if you scroll
https://bugs.webkit.org/show_bug.cgi?id=151518

Reviewed by Sam Weinig.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::didReceiveEvent): Don't treat wheel events as
starting or stopping the responsiveness timer. Wheel events usually
process on the event dispatch thread, which responds even if the main
thread is hung.

Instead, send an out-of-band ping to the main thread to verify that
it is still responsive and we'll be able to paint and respond to clicks
after scrolling.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::sendMainThreadPing):
(WebKit::WebProcessProxy::didReceiveMainThreadPing):
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in: UI process support for pinging
the main thread in the web process.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::mainThreadPing):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in: Web process support for responding
to pings.

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

6 years agoAllow more buffer formats in the IOSurface pool
simon.fraser@apple.com [Fri, 20 Nov 2015 22:55:56 +0000 (22:55 +0000)]
Allow more buffer formats in the IOSurface pool
https://bugs.webkit.org/show_bug.cgi?id=151516

Reviewed by Tim Horton.
Source/WebCore:

Previously IOSurface::create was only looking in the pool for RGBA-format surfaces. Change that to
always look in the pool, and to cache all format types. We include format in the criteria used
to pick a surface from the pool.

* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::surfaceMatchesParameters):
(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::shouldCacheFormat):
(WebCore::IOSurfacePool::shouldCacheSurface):
(WebCore::IOSurfacePool::addSurface):
* platform/graphics/cg/IOSurfacePool.h:
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::surfaceFromPool):
(IOSurface::create):
(IOSurface::IOSurface):

Source/WebKit2:

Have RemoteLayerBackingStore go through a static function on IOSurface to return
a surface to the pool, rather than knowing about IOSurfacePool directly.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::Buffer::discard):

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

6 years ago[Win] Support High DPI drawing with CACFLayers
bfulgham@apple.com [Fri, 20 Nov 2015 22:35:01 +0000 (22:35 +0000)]
[Win] Support High DPI drawing with CACFLayers
https://bugs.webkit.org/show_bug.cgi?id=147242
<rdar://problem/19861992>

Reviewed by Simon Fraser.

* platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
(WebCore::WKCACFViewLayerTreeHost::initializeContext): Set correct content scale factor
for current screen, and apply an appropriate base transform to the CACFLayer so drawing
operations are done properly.

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

6 years agoB3 should have a Select opcode
fpizlo@apple.com [Fri, 20 Nov 2015 22:31:19 +0000 (22:31 +0000)]
B3 should have a Select opcode
https://bugs.webkit.org/show_bug.cgi?id=150762

Reviewed by Benjamin Poulain.

This cleans up our conditional move implementation - specifically so that it distinguishes between
comparing the low 32 bits of a GPR and all bits of a GPR - and fixes bugs with operand ordering. It
then adds a Select opcode to B3 and adds all of the strength reduction and lowering magic that it
needs. Finally this change implements FTL::Output::select() in terms of B3::Select.

This patch lets us run Kraken/imaging-gaussian-blur. Running that benchmark using FTL+B3 is a 17%
speed-up. The compile times go down dramatically (by about 7x) and code quality stays about the same.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::moveDoubleConditionally32):
(JSC::MacroAssembler::moveDoubleConditionally64):
(JSC::MacroAssembler::moveDoubleConditionallyTest32):
(JSC::MacroAssembler::moveDoubleConditionallyTest64):
(JSC::MacroAssembler::moveDoubleConditionallyDouble):
(JSC::MacroAssembler::lea):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::move):
(JSC::MacroAssemblerX86Common::moveConditionallyDouble):
(JSC::MacroAssemblerX86Common::zeroExtend32ToPtr):
(JSC::MacroAssemblerX86Common::moveConditionally32):
(JSC::MacroAssemblerX86Common::moveConditionallyTest32):
(JSC::MacroAssemblerX86Common::set32):
(JSC::MacroAssemblerX86Common::cmov):
(JSC::MacroAssemblerX86Common::moveConditionally): Deleted.
(JSC::MacroAssemblerX86Common::moveConditionallyTest): Deleted.
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branchNeg64):
(JSC::MacroAssemblerX86_64::moveConditionally64):
(JSC::MacroAssemblerX86_64::moveConditionallyTest64):
(JSC::MacroAssemblerX86_64::abortWithReason):
* assembler/X86Assembler.h:
(JSC::X86Assembler::cmovl_rr):
(JSC::X86Assembler::cmovl_mr):
(JSC::X86Assembler::cmovel_rr):
(JSC::X86Assembler::cmovnel_rr):
(JSC::X86Assembler::cmovpl_rr):
(JSC::X86Assembler::cmovnpl_rr):
(JSC::X86Assembler::cmovq_rr):
(JSC::X86Assembler::cmovq_mr):
(JSC::X86Assembler::cmoveq_rr):
(JSC::X86Assembler::cmovneq_rr):
(JSC::X86Assembler::cmovpq_rr):
(JSC::X86Assembler::cmovnpq_rr):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::createCompare):
(JSC::B3::Air::LowerToAir::createSelect):
(JSC::B3::Air::LowerToAir::marshallCCallArgument):
(JSC::B3::Air::LowerToAir::lower):
* b3/B3MoveConstants.cpp:
* b3/B3Opcode.cpp:
(WTF::printInternal):
* b3/B3Opcode.h:
* b3/B3ReduceStrength.cpp:
* b3/B3Validate.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::checkOpcode):
(JSC::B3::Value::typeFor):
* b3/B3Value.h:
* b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::dump):
(JSC::B3::ValueKey::materialize):
* b3/B3ValueKey.h:
(JSC::B3::ValueKey::ValueKey):
(JSC::B3::ValueKey::hash):
(JSC::B3::ValueKey::operator bool):
* b3/B3ValueKeyInlines.h:
(JSC::B3::ValueKey::ValueKey):
(JSC::B3::ValueKey::child):
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testTruncSExt32):
(JSC::B3::testBasicSelect):
(JSC::B3::testSelectTest):
(JSC::B3::testSelectCompareDouble):
(JSC::B3::testSelectDouble):
(JSC::B3::testSelectDoubleTest):
(JSC::B3::testSelectDoubleCompareDouble):
(JSC::B3::zero):
(JSC::B3::run):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::testIsZeroPtr):
(JSC::FTL::Output::testNonZeroPtr):
(JSC::FTL::Output::select):
(JSC::FTL::Output::extractValue):
(JSC::FTL::Output::fence):

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

6 years agoModern IDB: In the VersionChangeEvent for delete database calls, oldVersion should...
beidson@apple.com [Fri, 20 Nov 2015 22:14:56 +0000 (22:14 +0000)]
Modern IDB: In the VersionChangeEvent for delete database calls, oldVersion should be null instead of 0.
https://bugs.webkit.org/show_bug.cgi?id=151481

Reviewed by Sam Weinig.

Source/WebCore:

No new tests, covered by changes to:
    storage/indexeddb/modern/deletedatabase-1.html
    storage/indexeddb/modern/deletedatabase-2.html

* Modules/indexeddb/IDBVersionChangeEvent.h:
* Modules/indexeddb/IDBVersionChangeEvent.idl:

* Modules/indexeddb/client/IDBVersionChangeEventImpl.cpp:
(WebCore::IDBClient::IDBVersionChangeEvent::newVersion):
* Modules/indexeddb/client/IDBVersionChangeEventImpl.h:

* Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp:
(WebCore::LegacyVersionChangeEvent::newVersion):
* Modules/indexeddb/legacy/LegacyVersionChangeEvent.h:

LayoutTests:

* storage/indexeddb/modern/deletedatabase-1-expected.txt:
* storage/indexeddb/modern/deletedatabase-2-expected.txt:

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

6 years agoRemove NETWORK_PROCESS compile flag
achristensen@apple.com [Fri, 20 Nov 2015 22:10:52 +0000 (22:10 +0000)]
Remove NETWORK_PROCESS compile flag
https://bugs.webkit.org/show_bug.cgi?id=151512

Reviewed by Tim Horton.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WebKit2:

* CMakeLists.txt:
* NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
(NetworkProcessMain):
* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(NetworkServiceInitializer):
* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::filesInBlob):
* NetworkProcess/FileAPI/NetworkBlobRegistry.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::blobSize):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkLoad.cpp:
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkLoadClient.h:
* NetworkProcess/NetworkLoadParameters.cpp:
(WebKit::NetworkLoadParameters::NetworkLoadParameters):
* NetworkProcess/NetworkLoadParameters.h:
* NetworkProcess/NetworkProcess.cpp:
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/NetworkResourceLoader.messages.in:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::clearDiskCache):
* NetworkProcess/efl/NetworkProcessMainEfl.cpp:
(WebKit::NetworkProcessMainUnix):
* NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
(WebKit::NetworkProcessMainUnix):
* NetworkProcess/ios/NetworkProcessIOS.mm:
* NetworkProcess/mac/NetworkLoadMac.mm:
* NetworkProcess/mac/NetworkProcessMac.mm:
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync):
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformTerminate):
* NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
(WebKit::RemoteNetworkingContext::storageSession):
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::addCustomProtocol):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
(WebKit::CustomProtocolManager::supplementName):
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::registerScheme):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
* Shared/Network/NetworkProcessSupplement.h:
(WebKit::NetworkProcessSupplement::initialize):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
* Shared/ProcessExecutablePath.h:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* Shared/efl/ProcessExecutablePathEfl.cpp:
(WebKit::executablePathOfPluginProcess):
(WebKit::executablePathOfNetworkProcess):
(WebKit::executablePathOfDatabaseProcess):
* Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::executablePathOfPluginProcess):
(WebKit::executablePathOfNetworkProcess):
(WebKit::executablePathOfDatabaseProcess):
* Shared/mac/CookieStorageShim.h:
* Shared/mac/CookieStorageShim.mm:
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
* Shared/mac/CookieStorageShimLibrary.cpp:
* Shared/mac/CookieStorageShimLibrary.h:
* UIProcess/API/APISession.cpp:
(API::Session::~Session):
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextGetNetworkProcessIdentifier):
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_process_model_set):
(ewk_context_process_model_get):
(ewk_context_tls_error_policy_get):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::updateProcessSuppressionState):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::platformInvalidateContext):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::processTypeAsString):
(WebKit::ProcessLauncher::getProcessTypeFromString):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::computeProcessShimPath):
(WebKit::serviceName):
(WebKit::shouldLeakBoost):
(WebKit::createProcess):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::platformGetLaunchOptions):
* UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
(WebKit::NetworkProcessProxy::platformGetLaunchOptions):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setSessionID):
(WebKit::WebPageProxy::initializeWebPage):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::initializeClient):
(WebKit::WebProcessPool::networkingProcessConnection):
(WebKit::WebProcessPool::languageChanged):
(WebKit::WebProcessPool::setUsesNetworkProcess):
(WebKit::WebProcessPool::usesNetworkProcess):
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::getNetworkProcessConnection):
(WebKit::WebProcessPool::ensureDatabaseProcess):
(WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::setAdditionalPluginsDirectory):
(WebKit::WebProcessPool::networkProcessIdentifier):
(WebKit::WebProcessPool::setAlwaysUsesComplexTextCodePath):
(WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):
(WebKit::WebProcessPool::registerURLSchemeAsLocal):
(WebKit::WebProcessPool::setCacheModel):
(WebKit::WebProcessPool::setDefaultRequestTimeoutInterval):
(WebKit::WebProcessPool::createDownloadProxy):
(WebKit::WebProcessPool::useTestingNetworkSession):
(WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost):
(WebKit::WebProcessPool::requestNetworkingStatistics):
(WebKit::WebProcessPool::handleMessage):
* UIProcess/WebProcessPool.h:
(WebKit::WebProcessPool::sendToNetworkingProcess):
(WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPluginProcessConnection):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::getDatabaseProcessConnection):
(WebKit::WebProcessProxy::createDownloadProxy):
(WebKit::WebProcessProxy::didCancelProcessSuspension):
(WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState):
(WebKit::WebProcessProxy::didSetAssertionState):
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::throttler):
* UIProcess/WebProcessProxy.messages.in:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::cloneSessionData):
* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::initInspectorServer):
(WebKit::WebProcessPool::setIgnoreTLSErrors):
* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* WebKit2Prefix.h:
* WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::blobSize):
* WebProcess/FileAPI/BlobRegistryProxy.h:
* WebProcess/Network/NetworkProcessConnection.cpp:
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::networkProcessCrashed):
* WebProcess/Network/WebResourceLoadScheduler.h:
* WebProcess/Network/WebResourceLoader.cpp:
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::initializeBrowserFuncs):
(WebKit::netscapeBrowserFuncs):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::registerRedirect):
(WebKit::NetscapePlugin::urlRedirectResponse):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::resourceLoadScheduler):
(WebKit::WebPlatformStrategies::createBlobRegistry):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensureNetworkProcessConnection):
(WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
(WebKit::WebProcess::usesNetworkProcess):
(WebKit::WebProcess::networkConnection):
(WebKit::WebProcess::webResourceLoadScheduler):
(WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
(WebKit::WebProcess::prefetchDNS):
* WebProcess/WebProcess.h:
* config.h:

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

6 years ago[JSC] Add Air lowering to BitNot() for Xor(value, -1)
benjamin@webkit.org [Fri, 20 Nov 2015 22:07:05 +0000 (22:07 +0000)]
[JSC] Add Air lowering to BitNot() for Xor(value, -1)
https://bugs.webkit.org/show_bug.cgi?id=151474

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-20
Reviewed by Filip Pizlo.

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::not32):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::not64):
* assembler/X86Assembler.h:
(JSC::X86Assembler::notq_r):
(JSC::X86Assembler::notq_m):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::createGenericCompare):
(JSC::B3::Air::LowerToAir::lower):
* b3/B3ReduceStrength.cpp:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testNegValueSubOne):
(JSC::B3::testNegValueSubOne32):
(JSC::B3::testBitNotArg):
(JSC::B3::testBitNotImm):
(JSC::B3::testBitNotMem):
(JSC::B3::testBitNotArg32):
(JSC::B3::testBitNotImm32):
(JSC::B3::testBitNotMem32):
(JSC::B3::testBitNotOnBooleanAndBranch32):
(JSC::B3::int64Operands):
(JSC::B3::int32Operands):
(JSC::B3::run):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::bitNot):

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

6 years agoSuper use should be recorded in per-function scope
utatane.tea@gmail.com [Fri, 20 Nov 2015 21:19:57 +0000 (21:19 +0000)]
Super use should be recorded in per-function scope
https://bugs.webkit.org/show_bug.cgi?id=151500

Reviewed by Geoffrey Garen.

"super" use is prohibited under the non-constructor / non-class-method-related functions.
This "super" use should be recorded in per-function scope to check its incorrect use after
parsing a function.
Currently, we accidentally record it to a lexical current scope. So when using "super" inside
a block scope, our "super" use guard miss it.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):
* parser/Parser.h:
(JSC::Parser::currentVariableScope):
(JSC::Parser::currentFunctionScope):
(JSC::Parser::declareVariable):
* tests/stress/super-in-lexical-scope.js: Added.
(testSyntax):
(testSyntaxError):
(testSyntaxError.test):

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

6 years agoAddressing missed review feedback for:
beidson@apple.com [Fri, 20 Nov 2015 21:14:58 +0000 (21:14 +0000)]
Addressing missed review feedback for:
Modern IDB: Make in-memory ObjectStore cursors work.
https://bugs.webkit.org/show_bug.cgi?id=151196

Reviewed by Darin Adler.

* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::maybeOpenCursor):
* Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
(WebCore::IDBServer::MemoryObjectStoreCursor::create): Deleted.
* Modules/indexeddb/server/MemoryObjectStoreCursor.h:

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

6 years agoCaching of properties on objects that have named property getters is sometimes incorrect
cdumez@apple.com [Fri, 20 Nov 2015 20:45:12 +0000 (20:45 +0000)]
Caching of properties on objects that have named property getters is sometimes incorrect
https://bugs.webkit.org/show_bug.cgi?id=151453
<rdar://problem/23049343>

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Add new GetOwnPropertySlotIsImpureForPropertyAbsence TypeInfo flag to be
used by objects that have a non-'OverrideBuiltins' named property getter.
This flag prevents caching of properties that are missing as a named
property with this name may later become available.

Objects with an 'OverrideBuiltins' named property getter will keep using
the GetOwnPropertySlotIsImpure TypeInfo flag, which prevents all property
caching since named properties can override own properties or properties
on the prototype.

* bytecode/ComplexGetStatus.cpp:
(JSC::ComplexGetStatus::computeFor):
* bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::isStillValid):
* jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::tryRepatchIn):
* jsc.cpp:
* runtime/JSTypeInfo.h:
(JSC::TypeInfo::getOwnPropertySlotIsImpure):
(JSC::TypeInfo::getOwnPropertySlotIsImpureForPropertyAbsence):
(JSC::TypeInfo::prohibitsPropertyCaching): Deleted.
* runtime/Structure.h:

Source/WebCore:

In r188590, we dropped the JSC::GetOwnPropertySlotIsImpure TypeInfo flag for
interfaces that have a non-'OverrideBuiltins' named property getter in order
to allow caching of properties returns by GetOwnPropertySlot(). We assumed
this was safe as it was no longer possible for named properties to override
own properties (or properties on the prototype).

However, there is an issue when we cache the non-existence of a property.
Even though at one point the property did not exist, a named property with
this name may later become available. In such case, caching would cause us
to wrongly report a property as missing.

To address the problem, this patch introduces a new
GetOwnPropertySlotIsImpureForPropertyAbsence TypeInfo flag and uses it for
interfaces that have a non-'OverrideBuiltins' named property getter. This
will cause us to not cache the fact that a property is missing on such
objects, while maintaining the performance win from r188590 in the common
case.

Test: fast/dom/NamedNodeMap-named-getter-caching.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
* bindings/scripts/test/JS/JSTestEventTarget.h:
* bindings/scripts/test/JS/JSTestOverrideBuiltins.h:

LayoutTests:

Add layout test to make sure caching does not cause NamedNodeMap's
named property getter to sometimes wrongly report a property as
missing.

* fast/dom/NamedNodeMap-named-getter-caching-expected.txt: Added.
* fast/dom/NamedNodeMap-named-getter-caching.html: Added.

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

6 years agoRemove chartPointRadius from interactive chart component
rniwa@webkit.org [Fri, 20 Nov 2015 20:40:26 +0000 (20:40 +0000)]
Remove chartPointRadius from interactive chart component
https://bugs.webkit.org/show_bug.cgi?id=151480

Reviewed by Darin Adler.

Replaced the parameter by CSS rules.

* public/v2/chart-pane.css:
(.chart .dot):
(.chart .dot.foreground):
(.chart .highlight):
(.chart .extent):
* public/v2/index.html:
* public/v2/interactive-chart.js:
(App.InteractiveChartComponent.Ember.Component.extend._constructGraphIfPossible):
(App.InteractiveChartComponent.Ember.Component.extend._highlightedItemsChanged):

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

6 years agoPerf dashboard's runs API uses more than 128MB of memory
rniwa@webkit.org [Fri, 20 Nov 2015 20:39:34 +0000 (20:39 +0000)]
Perf dashboard's runs API uses more than 128MB of memory
https://bugs.webkit.org/show_bug.cgi?id=151478

Reviewed by Andreas Kling.

Don't fetch all query results at once to avoid using twice as much memory as needed.
Use iterative API to format each result at a time.

This change is also a 5% runtime performance gain.

* public/api/runs.php:
(RunsGenerator::__construct): Takes a Database instance instead of a list of configurations. The latter is
no longer needed as we pass in each configuration type explicitly to fetch_runs.
(RunsGenerator::fetch_runs): Renamed from add_runs since it now executes the database query via execute_query.
Also moved the logic to compute the last modified time here.
(RunsGenerator::execute_query): Moved from fetch_runs_for_config. Use Database::query instead of query_and_fetch_all.
(RunsGeneratorForTestGroup):
(RunsGeneratorForTestGroup::__construct):
(RunsGeneratorForTestGroup::execute_query): Moved from fetch_runs_for_config_and_test_group.

* public/include/db.php:
(generate_data_file): Lock the file to avoid corruption.

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

6 years agoPerf dashboard always fetches charts JSON twice
rniwa@webkit.org [Fri, 20 Nov 2015 20:35:18 +0000 (20:35 +0000)]
Perf dashboard always fetches charts JSON twice
https://bugs.webkit.org/show_bug.cgi?id=151483

Reviewed by Andreas Kling.

Only re-generate "runs" JSON via /api/runs/ when the cache doesn't exist in /data/ or the cached JSON is
obsolete (shouldRefetch is set true) or corrupt (the second closure).

* public/v2/app.js:
(App.Pane._fetch):

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

6 years agoBack-buffer to front-buffer copy fails for some buffer formats
simon.fraser@apple.com [Fri, 20 Nov 2015 20:05:05 +0000 (20:05 +0000)]
Back-buffer to front-buffer copy fails for some buffer formats
https://bugs.webkit.org/show_bug.cgi?id=151475
rdar://problem/23617899

Reviewed by Tim Horton.

Source/WebCore:

Fix some fo the bitsPerComponent/bitsPerPixel options in IOSurface::ensurePlatformContext()
for RGB10 buffers. Fix IOSurface::format() to return the new formats.

Implement IOSurface::copyToSurface(), which does a synchronous copy between
surfaces.

* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::create):
(IOSurface::ensurePlatformContext):
(IOSurface::format):
(IOSurface::copyToSurface):

Source/WebKit2:

When displaying RemoteLayerBackingStore, we copy the back buffer to the front
buffer before painting the updated regions. For buffers using Format::RGB10A8,
the CGImage-based copy fails, so in this case, use IOSurface::copyToSurface().

Reorganized RemoteLayerBackingStore::drawInContext() to make this a bit easier
to understand. First, we either copy the entire surface over, or paint the backImage.
Then we clip to the dirty rects, and clear them, then paint the layer contents.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):

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

6 years agoSimple line layout: Add text-indent support.
zalan@apple.com [Fri, 20 Nov 2015 19:20:57 +0000 (19:20 +0000)]
Simple line layout: Add text-indent support.
https://bugs.webkit.org/show_bug.cgi?id=151472

Reviewed by Simon Fraser.

This enables us to use simple line layout on text-indent content.

Source/WebCore:

Test: fast/text/simple-line-text-indent.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::updateLineConstrains):
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::canUseForStyle): Deleted.

LayoutTests:

* fast/text/simple-line-text-indent-expected.html: Added.
* fast/text/simple-line-text-indent.html: Added.

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

6 years agoModern IDB: IDBFactory.deleteDatabase() support.
beidson@apple.com [Fri, 20 Nov 2015 18:55:42 +0000 (18:55 +0000)]
Modern IDB: IDBFactory.deleteDatabase() support.
https://bugs.webkit.org/show_bug.cgi?id=151456

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/deletedatabase-1.html
       storage/indexeddb/modern/deletedatabase-2.html

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::hasPendingActivity):
(WebCore::IDBClient::IDBDatabase::didCommitOrAbortTransaction):
* Modules/indexeddb/client/IDBDatabaseImpl.h:

* Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::onDeleteDatabaseSuccess):
(WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
* Modules/indexeddb/client/IDBOpenDBRequestImpl.h:

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::hasPendingActivity): Deleted.

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::deleteDatabase):
(WebCore::IDBServer::IDBServer::deleteUniqueIDBDatabase):
* Modules/indexeddb/server/IDBServer.h:

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::hasAnyPendingCallbacks):
(WebCore::IDBServer::UniqueIDBDatabase::maybeDeleteDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::handleDelete):
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChangeForUpgrade):
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::invokeDeleteOrRunTransactionTimer):
(WebCore::IDBServer::UniqueIDBDatabase::deleteOrRunTransactionsTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformActivateTransactionInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::invokeTransactionScheduler): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::transactionSchedulingTimerFired): Deleted.
* Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::identifier):
(WebCore::IDBServer::UniqueIDBDatabase::deletePending):

* Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::deleteDatabaseSuccess):
* Modules/indexeddb/shared/IDBResultData.h:

LayoutTests:

* storage/indexeddb/modern/deletedatabase-1-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-1.html: Added.
* storage/indexeddb/modern/deletedatabase-2-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-2.html: Added.
* storage/indexeddb/modern/deletedatabase-request-event-expected.txt:
* storage/indexeddb/modern/deletedatabase-request-event.html:

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

6 years agoModern IDB: Get IDBRequest.readyState right.
beidson@apple.com [Fri, 20 Nov 2015 18:55:11 +0000 (18:55 +0000)]
Modern IDB: Get IDBRequest.readyState right.
https://bugs.webkit.org/show_bug.cgi?id=151484

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/request-readystate.html

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::readyState):

LayoutTests:

* storage/indexeddb/modern/request-readystate-expected.txt: Added.
* storage/indexeddb/modern/request-readystate.html: Added.

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

6 years agoUnreviewed, fix installation of ninja-build after the previous commit
mcatanzaro@igalia.com [Fri, 20 Nov 2015 15:17:36 +0000 (15:17 +0000)]
Unreviewed, fix installation of ninja-build after the previous commit

* gtk/install-dependencies:

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

6 years agoChanging some imported/w3c/web-platform-tests/html/semantics expectations from Timeou...
youenn.fablet@crf.canon.fr [Fri, 20 Nov 2015 15:01:27 +0000 (15:01 +0000)]
Changing some imported/w3c/web-platform-tests/html/semantics expectations from Timeout/Failure to Pass
https://bugs.webkit.org/show_bug.cgi?id=151492

Unreviewed.

* TestExpectations: Removing timeout/failure expectations.
* platform/efl/TestExpectations: Removing no longer needed pass expectation.

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

6 years ago[GTK] install-dependencies should run installer exactly once
mcatanzaro@igalia.com [Fri, 20 Nov 2015 14:41:50 +0000 (14:41 +0000)]
[GTK] install-dependencies should run installer exactly once
https://bugs.webkit.org/show_bug.cgi?id=151477

Reviewed by Carlos Garcia Campos.

* gtk/install-dependencies:

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

6 years ago[EFL] Enable FTL JIT by default on X86_64
ossy@webkit.org [Fri, 20 Nov 2015 11:38:10 +0000 (11:38 +0000)]
[EFL] Enable FTL JIT by default on X86_64
https://bugs.webkit.org/show_bug.cgi?id=143822

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/OptionsEfl.cmake:

Tools:

* Scripts/build-jsc:
* Scripts/run-javascriptcore-tests:
* Scripts/webkitperl/FeatureList.pm:
* efl/jhbuild.modules:
* gtk/jhbuildrc:
* jhbuild/jhbuildrc_common.py:
(init):

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

6 years agoUnskip mediastream tests after crash was fixed
ddkilzer@apple.com [Fri, 20 Nov 2015 09:33:23 +0000 (09:33 +0000)]
Unskip mediastream tests after crash was fixed
<https://bugs.webkit.org/show_bug.cgi?id=151353>

* platform/mac/TestExpectations: Bug 151462 fixed the crash, so
unskip the tests again.

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

6 years agoUse HTTPHeaderName as much as possible in XMLHttpRequest
youenn.fablet@crf.canon.fr [Fri, 20 Nov 2015 09:25:56 +0000 (09:25 +0000)]
Use HTTPHeaderName as much as possible in XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=151438

Reviewed by Darin Adler.

Removing XMLHttpRequest::setRequestHeaderInternal and XMLHttpRequest::getRequestHeader.
Using directly HTTPHeaderMap.add, HTTPHeaderMap.set and HTTPHeaderMap.get.

No change in behavior.

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::setRequestHeader):
(WebCore::XMLHttpRequest::getAllResponseHeaders):
* xml/XMLHttpRequest.h:

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

6 years agoMediaStream: Fix mock video source crash
eric.carlson@apple.com [Fri, 20 Nov 2015 09:06:05 +0000 (09:06 +0000)]
MediaStream: Fix mock video source crash
https://bugs.webkit.org/show_bug.cgi?id=151462

Reviewed by Alexey Proskuryakov.

No new tests, this fixes existing tests.

* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::drawText): Declare the String used to intialize a
  StringView explicitly so it outlives the StringView.

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

6 years agoREGRESSION (r192460,r192677): Fix all the builds
ddkilzer@apple.com [Fri, 20 Nov 2015 08:09:16 +0000 (08:09 +0000)]
REGRESSION (r192460,r192677): Fix all the builds

* platform/spi/cocoa/QuartzCoreSPI.h: Check different.

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

6 years agoREGRESSION (r192460): Fix tvOS build again
ddkilzer@apple.com [Fri, 20 Nov 2015 07:02:23 +0000 (07:02 +0000)]
REGRESSION (r192460): Fix tvOS build again

* platform/spi/cocoa/QuartzCoreSPI.h: Update version check.
This will probably need to be backed out in the future.

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

6 years agoREGRESSION(r189433) Web Inspector: JSContext inspection exceptions should include...
commit-queue@webkit.org [Fri, 20 Nov 2015 06:02:09 +0000 (06:02 +0000)]
REGRESSION(r189433) Web Inspector: JSContext inspection exceptions should include native call frames by default
https://bugs.webkit.org/show_bug.cgi?id=151479

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-19
Reviewed by Brian Burg.

* inspector/JSGlobalObjectInspectorController.h:
Value accidentally got flipped when moving to initializer syntax.

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

6 years agoWebRTC: Initial testing of updated RTCPeerConnection API
adam.bergkvist@ericsson.com [Fri, 20 Nov 2015 04:51:18 +0000 (04:51 +0000)]
WebRTC: Initial testing of updated RTCPeerConnection API
https://bugs.webkit.org/show_bug.cgi?id=151304

Reviewed by Eric Carlson.

Source/WebCore:

Remove faulty ASSERT since the selector argument to
RTCPeerConnection.getStats() is nullable. Also use
pointers instead of a ref (for the same reason).

Tests: Unskip two crashing tests.

* Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::getStats):
* Modules/mediastream/MediaEndpointPeerConnection.h:
* Modules/mediastream/PeerConnectionBackend.h:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::privateGetStats):

LayoutTests:

Unskip two previously crashing tests.
fast/mediastream/RTCPeerConnection-overloaded-operations.html
fast/mediastream/RTCPeerConnection-overloaded-operations-params.html

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

6 years agoUnreviewed, install llvm-static on Fedora to fix build now FTL is enabled
mcatanzaro@igalia.com [Fri, 20 Nov 2015 04:36:05 +0000 (04:36 +0000)]
Unreviewed, install llvm-static on Fedora to fix build now FTL is enabled

* gtk/install-dependencies:

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

6 years agoUnreviewed, rolling out r192667 and r192668.
commit-queue@webkit.org [Fri, 20 Nov 2015 03:52:56 +0000 (03:52 +0000)]
Unreviewed, rolling out r192667 and r192668.
https://bugs.webkit.org/show_bug.cgi?id=151476

broke api tests (Requested by alexchristensen on #webkit).

Reverted changesets:

"Remove the non-NetworkProcess configurations"
https://bugs.webkit.org/show_bug.cgi?id=151418
http://trac.webkit.org/changeset/192667

"Fix GTK Build after r192667."
http://trac.webkit.org/changeset/192668

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

6 years ago[EFL][GTK] context_menu API test failed after r192333
hs85.jeong@samsung.com [Fri, 20 Nov 2015 02:45:09 +0000 (02:45 +0000)]
[EFL][GTK] context_menu API test failed after r192333
https://bugs.webkit.org/show_bug.cgi?id=151437

Reviewed by Carlos Garcia Campos.

EFL,GTK port didn't use the share Menu.

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):

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

6 years ago[ES6] Add support for rest parameters
sbarati@apple.com [Fri, 20 Nov 2015 02:37:47 +0000 (02:37 +0000)]
[ES6] Add support for rest parameters
https://bugs.webkit.org/show_bug.cgi?id=38408

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch implements rest parameters from the ES6 spec.
http://www.ecma-international.org/ecma-262/6.0/index.html#sec-function-definitions

We implement the rest parameter as a new AST node. This AST node
lowers to "op_new_array X, op_copy_rest X". Note
that the op_copy_rest opcode does not have a result.
The bulk of this patch is implementing op_copy_rest.
This patch implements this in all four tiers in a straight forward way.
The opcode is implemented as a C call that will read the pertinent
arguments from the call frame and fill them into the array.

* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecode/Instruction.h:
(JSC::Instruction::Instruction):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::invalidateForInContextForLocal):
(JSC::BytecodeGenerator::emitRestParameter):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::AssignmentElementNode::toString):
(JSC::RestParameterNode::collectBoundIdentifiers):
(JSC::RestParameterNode::toString):
(JSC::RestParameterNode::bindValue):
(JSC::RestParameterNode::emit):
(JSC::SpreadExpressionNode::emitBytecode):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNode.h:
(JSC::DFG::Node::setEpoch):
(JSC::DFG::Node::numberOfArgumentsToSkip):
(JSC::DFG::Node::dumpChildren):
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCreateClonedArguments):
(JSC::DFG::SpeculativeJIT::compileCopyRest):
(JSC::DFG::SpeculativeJIT::compileNotifyWrite):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateClonedArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCopyRest):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewObject):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_out_of_band_arguments):
(JSC::JIT::emit_op_copy_rest):
* jit/JITOperations.h:
* llint/LowLevelInterpreter.asm:
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createBindingLocation):
(JSC::ASTBuilder::createRestParameter):
(JSC::ASTBuilder::createAssignmentElement):
* parser/NodeConstructors.h:
(JSC::AssignmentElementNode::AssignmentElementNode):
(JSC::RestParameterNode::RestParameterNode):
(JSC::DestructuringAssignmentNode::DestructuringAssignmentNode):
* parser/Nodes.h:
(JSC::DestructuringPatternNode::isBindingNode):
(JSC::DestructuringPatternNode::isRestParameter):
(JSC::DestructuringPatternNode::emitDirectBinding):
(JSC::RestParameterNode::name):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::declareRestOrNormalParameter):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseFormalParameters):
* parser/Parser.h:
(JSC::Parser::strictMode):
(JSC::Parser::isValidStrictMode):
(JSC::Parser::declareParameter):
(JSC::Parser::breakIsValid):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::operatorStackPop):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* tests/es6.yaml:
* tests/stress/rest-parameter-and-default-arguments.js: Added.
(assert):
(shouldThrowTDZ):
(foo):
(baz):
(i.shouldThrowTDZ):
* tests/stress/rest-parameter-basics.js: Added.
(assert):
(foo):
(bar):
(capture):
(baz):
(jaz):
(kaz):
(raz):
(restLength):
(testArgumentsObject):
(strictModeLikeArgumentsObject):
* tests/stress/rest-parameter-inlined.js: Added.
(assert):
(bar):
(foo):
(baz):
(jaz):

LayoutTests:

* js/parser-syntax-check-expected.txt:
* js/script-tests/parser-syntax-check.js:
(catch):

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

6 years agoMarking imported/w3c/html-templates/parsing-html-templates/creating-an-element-for...
ryanhaddad@apple.com [Fri, 20 Nov 2015 01:28:30 +0000 (01:28 +0000)]
Marking imported/w3c/html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document.html as flaky crasher
https://bugs.webkit.org/show_bug.cgi?id=151469

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

6 years agoCalculate the graphics benchmark test gain adaptively
commit-queue@webkit.org [Fri, 20 Nov 2015 01:20:48 +0000 (01:20 +0000)]
Calculate the graphics benchmark test gain adaptively
https://bugs.webkit.org/show_bug.cgi?id=151208

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-19
Reviewed by Darin Adler.

We need to calculate the gain of the graphics benchmark tests adaptively
and get rid of the gain and limits parameters we have to choose manually
for every test. We are going to use the classic Ziegler–Nichols method for
calculating the gain and integral and derivative times. We are going to
try moving on a cubic curve during the manual stage from y0 to reach ysp.
We also going to use a saturation actuator to ensure the system does not
fluctuate.

* Animometer/resources/extensions.js:
(ResultsTable.prototype._isNoisyMeasurement): Fix a parameter name.
(ResultsTable.prototype._isNoisyTest): Since score is a member of testResults, we need to limit our search to frame rate and complexity.
(ResultsTable.prototype._showTest): Pass the correct parameter to _isNoisyMeasurement().

* Animometer/resources/strings.js: Fix the indentation and name and value of a string.

* Animometer/runner/resources/tests.js: Remove all the manual gains and limits parameters which had to be passed to every test.

* Animometer/tests/resources/main.js:
(BenchmarkState.prototype.currentStage): Fix an enum name.
(Benchmark): Get rid of manual gain and limits.
(Benchmark.prototype.update): Simplify the calculation by having all the times in ms.

* Animometer/tests/resources/math.js:
(PIDController): Get rid of the manual gain and limits and the magic numbers for Ti and Td.
(PIDController.prototype._yPosition): Tells whether the test current output is moving towards the set-point or away from it.
(PIDController.prototype._distanceUltimate): Calculates the ultimate distance from y0 after time t using a cubic formula.
(PIDController.prototype._distance): Calculates the distance of y relative to y0.
(PIDController.prototype._gainIncrement): Decides how much the proportional gain should be increased during the manual gain stage.
(PIDController.prototype._updateStage): Updates the stage of the controller based on its current stage and the system output.
(PIDController.prototype._tuneP): Tunes the system before calculating the PID controller gains.
(PIDController.prototype._tunePID): PID tuning function.
(PIDController.prototype._tune):
(PIDController.prototype._saturate):
(PIDController.prototype.tune): Manages calculating the controller parameters. It then returns a PID tuning value.
(PIDController.prototype._sat): Deleted. We may need to return it back but the limits have to be calculated adaptively not manually.

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

6 years agoFix GTK Build after r192667.
achristensen@apple.com [Fri, 20 Nov 2015 01:13:17 +0000 (01:13 +0000)]
Fix GTK Build after r192667.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):
(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):
(toWebKitProcessModel): Deleted.
(injectedBundleDirectory): Deleted.

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

6 years agoRemove the non-NetworkProcess configurations
commit-queue@webkit.org [Fri, 20 Nov 2015 00:51:43 +0000 (00:51 +0000)]
Remove the non-NetworkProcess configurations
https://bugs.webkit.org/show_bug.cgi?id=151418

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-19
Reviewed by Geoffrey Garen.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WebKit2:

This patch assumes ENABLE(NETWORK_PROCESS) is always 1, usesNetworkProcess is always true,
and ProcessModel is always ProcessModelMultipleSecondaryProcesses.  It does this by removing
the checks and the code that would be executed with other configurations.

* CMakeLists.txt:
* NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
(NetworkProcessMain):
* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(NetworkServiceInitializer):
* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::filesInBlob):
* NetworkProcess/FileAPI/NetworkBlobRegistry.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::blobSize):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkLoad.cpp:
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkLoadClient.h:
* NetworkProcess/NetworkLoadParameters.cpp:
(WebKit::NetworkLoadParameters::NetworkLoadParameters):
* NetworkProcess/NetworkLoadParameters.h:
* NetworkProcess/NetworkProcess.cpp:
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/NetworkResourceLoader.messages.in:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::clearDiskCache):
* NetworkProcess/efl/NetworkProcessMainEfl.cpp:
(WebKit::NetworkProcessMainUnix):
* NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
(WebKit::NetworkProcessMainUnix):
* NetworkProcess/ios/NetworkProcessIOS.mm:
* NetworkProcess/mac/NetworkLoadMac.mm:
* NetworkProcess/mac/NetworkProcessMac.mm:
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformTerminate):
* NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
(WebKit::RemoteNetworkingContext::storageSession):
* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKInspectorToggleJavaScriptProfiling):
(WKContextSetProcessModel):
(WKContextGetProcessModel):
(WKContextSetUsesNetworkProcess):
(WKGraphicsContextGetCGContext):
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::addCustomProtocol):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
(WebKit::CustomProtocolManager::supplementName):
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::registerScheme):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
* Shared/Network/NetworkProcessSupplement.h:
(WebKit::NetworkProcessSupplement::initialize):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
* Shared/ProcessExecutablePath.h:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* Shared/efl/ProcessExecutablePathEfl.cpp:
(WebKit::executablePathOfPluginProcess):
(WebKit::executablePathOfNetworkProcess):
(WebKit::executablePathOfDatabaseProcess):
* Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::executablePathOfPluginProcess):
(WebKit::executablePathOfNetworkProcess):
(WebKit::executablePathOfDatabaseProcess):
* Shared/mac/CookieStorageShim.h:
* Shared/mac/CookieStorageShim.mm:
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
* Shared/mac/CookieStorageShimLibrary.cpp:
* Shared/mac/CookieStorageShimLibrary.h:
* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/APISession.cpp:
(API::Session::~Session):
* UIProcess/API/C/WKAPICast.h:
(WebKit::toAPI):
(WebKit::toFontSmoothingLevel):
(WebKit::toProcessModel): Deleted.
* UIProcess/API/C/WKContext.cpp:
(WKContextGetCacheModel):
(WKContextSetMaximumNumberOfProcesses):
(WKContextSetJavaScriptGarbageCollectorTimerEnabled):
(WKContextUseTestingNetworkSession):
(WKContextSetProcessModel): Deleted.
(WKContextGetProcessModel): Deleted.
(WKContextSetUsesNetworkProcess): Deleted.
* UIProcess/API/C/WKContext.h:
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextGetNetworkProcessIdentifier):
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup initWithInjectedBundleURL:]):
* UIProcess/API/Cocoa/WKProcessPool.mm:
* UIProcess/API/efl/ewk_context.cpp:
(ewk_context_process_model_set):
(ewk_context_process_model_get):
(ewk_context_tls_error_policy_get):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::updateProcessSuppressionState):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::platformInvalidateContext):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::invalidate):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::processTypeAsString):
(WebKit::ProcessLauncher::getProcessTypeFromString):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::computeProcessShimPath):
(WebKit::serviceName):
(WebKit::shouldLeakBoost):
(WebKit::createProcess):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/Network/mac/NetworkProcessProxyMac.mm:
(WebKit::NetworkProcessProxy::platformGetLaunchOptions):
* UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
(WebKit::NetworkProcessProxy::platformGetLaunchOptions):
* UIProcess/ProcessModel.h: Removed.
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::shouldTerminate):
(WebKit::WebCookieManagerProxy::refWebContextSupplement):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::inspectorProcessPool):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::setSessionID):
(WebKit::WebPageProxy::initializeWebPage):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::create):
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::initializeClient):
(WebKit::WebProcessPool::setDownloadClient):
(WebKit::WebProcessPool::setMaximumNumberOfProcesses):
(WebKit::WebProcessPool::networkingProcessConnection):
(WebKit::WebProcessPool::languageChanged):
(WebKit::WebProcessPool::textCheckerStateChanged):
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::getNetworkProcessConnection):
(WebKit::WebProcessPool::ensureDatabaseProcess):
(WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
(WebKit::WebProcessPool::processDidCachePage):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::postMessageToInjectedBundle):
(WebKit::WebProcessPool::setAdditionalPluginsDirectory):
(WebKit::WebProcessPool::networkProcessIdentifier):
(WebKit::WebProcessPool::setAlwaysUsesComplexTextCodePath):
(WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):
(WebKit::WebProcessPool::registerURLSchemeAsLocal):
(WebKit::WebProcessPool::setCacheModel):
(WebKit::WebProcessPool::setDefaultRequestTimeoutInterval):
(WebKit::WebProcessPool::createDownloadProxy):
(WebKit::WebProcessPool::addMessageReceiver):
(WebKit::WebProcessPool::useTestingNetworkSession):
(WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost):
(WebKit::WebProcessPool::requestWebContentStatistics):
(WebKit::WebProcessPool::requestNetworkingStatistics):
(WebKit::WebProcessPool::handleMessage):
(WebKit::WebProcessPool::setProcessModel): Deleted.
(WebKit::WebProcessPool::setUsesNetworkProcess): Deleted.
(WebKit::WebProcessPool::usesNetworkProcess): Deleted.
(WebKit::WebProcessPool::ensureSharedWebProcess): Deleted.
* UIProcess/WebProcessPool.h:
(WebKit::WebProcessPool::sendToNetworkingProcess):
(WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary):
(WebKit::WebProcessPool::sendToAllProcessesRelaunchingThemIfNecessary):
(WebKit::WebProcessPool::sendToOneProcess):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::getPluginProcessConnection):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::getDatabaseProcessConnection):
(WebKit::WebProcessProxy::updateTextCheckerState):
(WebKit::WebProcessProxy::didSaveToPageCache):
(WebKit::WebProcessProxy::didCancelProcessSuspension):
(WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState):
(WebKit::WebProcessProxy::didSetAssertionState):
(WebKit::WebProcessProxy::createDownloadProxy): Deleted.
* UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::throttler):
* UIProcess/WebProcessProxy.messages.in:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::cloneSessionData):
* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::initInspectorServer):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::setIgnoreTLSErrors):
* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* WebKit2.xcodeproj/project.pbxproj:
* WebKit2Prefix.h:
* WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::registerFileBlobURL):
(WebKit::BlobRegistryProxy::registerBlobURL):
(WebKit::BlobRegistryProxy::unregisterBlobURL):
(WebKit::BlobRegistryProxy::registerBlobURLForSlice):
(WebKit::BlobRegistryProxy::blobSize):
* WebProcess/FileAPI/BlobRegistryProxy.h:
* WebProcess/Network/NetworkProcessConnection.cpp:
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::networkProcessCrashed):
* WebProcess/Network/WebResourceLoadScheduler.h:
* WebProcess/Network/WebResourceLoader.cpp:
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::initializeBrowserFuncs):
(WebKit::netscapeBrowserFuncs):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::registerRedirect):
(WebKit::NetscapePlugin::urlRedirectResponse):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::resourceLoadScheduler):
(WebKit::WebPlatformStrategies::loadResourceSynchronously):
(WebKit::WebPlatformStrategies::createPingHandle):
(WebKit::WebPlatformStrategies::createBlobRegistry):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
(WebKit::WebFrame::source):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::ensureNetworkProcessConnection):
(WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
(WebKit::WebProcess::destroyPrivateBrowsingSession):
(WebKit::WebProcess::pluginProcessConnectionManager):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::setInjectedBundleParameters):
(WebKit::WebProcess::networkConnection):
(WebKit::WebProcess::webResourceLoadScheduler):
(WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
(WebKit::WebProcess::setEnhancedAccessibility):
(WebKit::WebProcess::prefetchDNS):
(WebKit::WebProcess::didCreateDownload): Deleted.
(WebKit::WebProcess::didDestroyDownload): Deleted.
(WebKit::WebProcess::downloadProxyConnection): Deleted.
(WebKit::WebProcess::downloadsAuthenticationManager): Deleted.
(WebKit::WebProcess::downloadManager): Deleted.
(WebKit::WebProcess::usesNetworkProcess): Deleted.
(WebKit::WebProcess::downloadRequest): Deleted.
(WebKit::WebProcess::resumeDownload): Deleted.
(WebKit::WebProcess::cancelDownload): Deleted.
* WebProcess/WebProcess.h:
(WebKit::WebProcess::textCheckerState):
(WebKit::WebProcess::eventDispatcher):
* WebProcess/WebProcess.messages.in:
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformTerminate):
(WebKit::WebProcess::setIgnoreTLSErrors):
(WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):
(WebKit::getCacheDiskFreeSize): Deleted.
(WebKit::setSoupSessionAcceptLanguage): Deleted.
(WebKit::languageChanged): Deleted.
* config.h:

Tools:

* TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):

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

6 years agoSkip more mediastream tests that crash when painting a mock video source.
ryanhaddad@apple.com [Fri, 20 Nov 2015 00:50:57 +0000 (00:50 +0000)]
Skip more mediastream tests that crash when painting a mock video source.
https://bugs.webkit.org/show_bug.cgi?id=151353

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

6 years agoB3 should have a story for Ext/Trunc strength reduction
fpizlo@apple.com [Thu, 19 Nov 2015 23:35:50 +0000 (23:35 +0000)]
B3 should have a story for Ext/Trunc strength reduction
https://bugs.webkit.org/show_bug.cgi?id=151464

Reviewed by Geoffrey Garen.

The LLVM shift operations require the shift amount to have the same type as the shift base. The B3
shift operations require the shift amount to be an Int32. DFG concurs with this. But the initial
lowering should involve pretending the FTLOutput's shift operations still take an LLVM-style shift
amount so that we don't regress FTL->LLVM performance. That means emitting an extra Trunc. That means
that we want to be able to constant fold Trunc and be able to fold Trunc(ZExt).

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3ReduceStrength.cpp:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testSwitchChillDiv):
(JSC::B3::testTruncFold):
(JSC::B3::testZExt32):
(JSC::B3::testZExt32Fold):
(JSC::B3::testSExt32):
(JSC::B3::testSExt32Fold):
(JSC::B3::testTruncZExt32):
(JSC::B3::testTruncSExt32):
(JSC::B3::zero):
(JSC::B3::run):
* ftl/FTLB3Output.cpp:
(JSC::FTL::Output::store):
(JSC::FTL::Output::baseIndex):
(JSC::FTL::Output::branch):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::bitAnd):
(JSC::FTL::Output::bitOr):
(JSC::FTL::Output::bitXor):
(JSC::FTL::Output::shl):
(JSC::FTL::Output::aShr):
(JSC::FTL::Output::lShr):
(JSC::FTL::Output::bitNot):
(JSC::FTL::Output::insertElement):
(JSC::FTL::Output::address):
(JSC::FTL::Output::baseIndex):

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

6 years agoCreate correctness tests for binary snippet operators.
mark.lam@apple.com [Thu, 19 Nov 2015 23:32:09 +0000 (23:32 +0000)]
Create correctness tests for binary snippet operators.
https://bugs.webkit.org/show_bug.cgi?id=151465

Reviewed by Geoffrey Garen.

Implement a common infrastructure for generating and running tests on binary
operators.  Also re-implemented the op_add, op_sub, and op_mul tests to be based
on this new infrastructure.

* tests/stress/op_add.js:
* tests/stress/op_mul.js:
* tests/stress/op_sub.js:
- These were reimplemented using binary-op-test.js.

* tests/stress/op_div.js: Added.
* tests/stress/op_mod.js: Added.

* tests/stress/op_bitand.js: Added.
* tests/stress/op_bitor.js: Added.
* tests/stress/op_bitxor.js: Added.

* tests/stress/op_lshift.js: Added.
* tests/stress/op_rshift.js: Added.
* tests/stress/op_urshift.js: Added.

* tests/stress/resources/binary-op-test.js: Added.
- Common code for generating and running tests.

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

6 years agojs/regress/script-tests/ftl-object-sub.js needs more iterations for benchmarking.
mark.lam@apple.com [Thu, 19 Nov 2015 23:14:55 +0000 (23:14 +0000)]
js/regress/script-tests/ftl-object-sub.js needs more iterations for benchmarking.
https://bugs.webkit.org/show_bug.cgi?id=151411

Reviewed by Filip Pizlo.

Previously, in r192392, I reduced the test iteration count to make the layout
test happy and not time out.  Unfortunately, this defeats the use of this test
for benchmarking.  I've changed it to now use different iteration counts
depending on who is running it.  run-jsc-stress-tests is fine with the higher
iteration count.

Since this test is slow and only meant to test the FTL, I also changed the run
configuration to be runFTLNoCJIT to minimize the slowness hit when running jsc
stress tests.

* js/regress/script-tests/ftl-object-sub.js:

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

6 years agoWeb Inspector: yank/kill shortcuts (CTRL+Y, K) don't work in Console / QuickConsole
bburg@apple.com [Thu, 19 Nov 2015 23:00:41 +0000 (23:00 +0000)]
Web Inspector: yank/kill shortcuts (CTRL+Y, K) don't work in Console / QuickConsole
https://bugs.webkit.org/show_bug.cgi?id=151157

Reviewed by Joseph Pecoraro.

CodeMirror maintains its own editor buffer and implements its own
`killLine` command but doesn't implement the yank command. So, text
that is "killed" with CTRL-k inside a CodeMirror instance isn't
Source/WebCore:

added to Editor's kill ring. Subsequent yank commands won't match
up with the killed text, instead returning text from a prior kill
that was handled by Editor (i.e., in a contenteditable or form input).

This patch adds a host function so that the Inspector frontend can
append "missed" killed text to Editor's kill ring. Subsequent
yanks handled by Editor will then match the text killed by CodeMirror.

No new tests, because we need to use both InspectorFrontendHost
and TestRunner.execCommand, but the latter is not available in
the inspector context where we would need to simulate a kill.

* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::killText):

    Added. This appends the killed text to the kill ring, starting
    a new sequence if necessary. Unlike Editor, Inspector waits
    until the next kill command to clear the existing sequence.

* inspector/InspectorFrontendHost.h:
* inspector/InspectorFrontendHost.idl:

Source/WebInspectorUI:

added to WebCore's kill ring. Subsequent yank commands won't match
up with the killed text, instead returning text from a prior kill
that was handled by WebCore (i.e., in a contenteditable or form input).

This patch adds a host function so that the Inspector frontend can
append "missed" killed text to WebCore's kill ring. Subsequent
yanks handled by WebCore will then match the text killed by CodeMirror.

In the frontend, we implement our own key binding handler for
CTRL-k that captures killed text, detects whether the kill
should start a new sequence, and sends it to WebCore. Because this
involves several flags and listeners, and we want this behavior for
all editable CodeMirror instances, the text kill handling is
factored into its own CodeMirrorTextKillController.

To add this behavior to all instances, this patch centralizes the
code that constructs a base CodeMirror instance, and attaches the
CodeMirrorTextKillController to all instances. The shortcut
does nothing when its CodeMirror instance is read-only.

The particulars of the kill controller are documented inline.

No new tests, because we need to use both InspectorFrontendHost
and TestRunner.execCommand, but the latter is not available in
the inspector context where we would need to simulate a kill.

* UserInterface/Controllers/CodeMirrorTextKillController.js: Added.
(WebInspector.CodeMirrorTextKillController):
(WebInspector.CodeMirrorTextKillController.prototype._handleKillLine):
(WebInspector.CodeMirrorTextKillController.prototype._handleTextChange):
(WebInspector.CodeMirrorTextKillController.prototype._handleEditorBlur):
(WebInspector.CodeMirrorTextKillController.prototype._handleSelectionOrCaretChange):
* UserInterface/Main.html:
* UserInterface/Protocol/InspectorFrontendHostStub.js:
(window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.killText): Add a stub to avoid check-before-use.
* UserInterface/Views/BreakpointActionView.js:
(WebInspector.BreakpointActionView.prototype._updateBody):
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor):
* UserInterface/Views/CodeMirrorEditor.js: Added.
(WebInspector.CodeMirrorEditor.create):
(WebInspector.CodeMirrorEditor):
* UserInterface/Views/ConsolePrompt.js:
(WebInspector.ConsolePrompt):
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor):

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

6 years ago[JSC] Fix AssignmentElement parsing
commit-queue@webkit.org [Thu, 19 Nov 2015 22:54:46 +0000 (22:54 +0000)]
[JSC] Fix AssignmentElement parsing
https://bugs.webkit.org/show_bug.cgi?id=151026

Patch by Caitlin Potter <caitp@igalia.com> on 2015-11-19
Reviewed by Geoffrey Garen.

When parsing an AssignmentPattern, any LeftHandSideExpression which
is a valid assignment target is acceptable.

Additionally, this change minimizes the amount of time spent
re-parsing ObjectLiteral and ArrayLiterals, by parsing as an
Expression first (the common case), and re-parsing only if the
result is a valid ObjectLiteral or ArrayLiteral followed by an `=`,
or if an error specifically indicates that the expression could
have been parsed as an AssignmentPattern.

* bytecompiler/NodesCodegen.cpp:
(JSC::AssignmentElementNode::collectBoundIdentifiers):
(JSC::AssignmentElementNode::bindValue):
(JSC::AssignmentElementNode::toString):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::isAssignmentLocation):
(JSC::ASTBuilder::isObjectLiteral):
(JSC::ASTBuilder::isArrayLiteral):
(JSC::ASTBuilder::isObjectOrArrayLiteral):
(JSC::ASTBuilder::createAssignmentElement):
* parser/NodeConstructors.h:
(JSC::AssignmentElementNode::AssignmentElementNode):
* parser/Nodes.h:
(JSC::ExpressionNode::isObjectLiteral):
(JSC::ExpressionNode::isArrayLiteral):
(JSC::AssignmentElementNode::assignmentTarget):
(JSC::AssignmentElementNode::divotStart):
(JSC::AssignmentElementNode::divotEnd):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::createAssignmentElement):
(JSC::Parser<LexerType>::parseBindingOrAssignmentElement):
(JSC::Parser<LexerType>::parseAssignmentElement):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parseProperty):
* parser/Parser.h:
(JSC::Parser::ExpressionErrorClassifier::ExpressionErrorClassifier):
(JSC::Parser::ExpressionErrorClassifier::~ExpressionErrorClassifier):
(JSC::Parser::ExpressionErrorClassifier::classifyExpressionError):
(JSC::Parser::ExpressionErrorClassifier::indicatesPossiblePattern):
(JSC::Parser::classifyExpressionError):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::operatorStackPop):
* tests/es6.yaml:
* tests/es6/destructuring_assignment_non_simple_target.js: Added.
(test.):
(test):
* tests/es6/destructuring_initializer_scoping.js: Added.
(test.tester):
* tests/stress/destructuring-assignment-syntax.js: Added.
(testSyntax):
(testSyntaxError):
* tests/stress/rest-elements.js:
(shouldThrow): Deleted.

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

6 years agoSimple line layout: Add word-spacing support.
zalan@apple.com [Thu, 19 Nov 2015 22:29:21 +0000 (22:29 +0000)]
Simple line layout: Add word-spacing support.
https://bugs.webkit.org/show_bug.cgi?id=151420

Reviewed by Antti Koivisto.

Source/WebCore:

This enables us to use simple line layout on word-spacing content.

Test: fast/text/simple-line-wordspacing.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::canUseForStyle): Deleted.
* rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):
(WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):
* rendering/SimpleLineLayoutTextFragmentIterator.h:

LayoutTests:

Some rebaselining is needed since inline box layout does not compute text run width properly (see webkit.org/b/151452)

* fast/text/simple-line-wordspacing-expected.html: Added.
* fast/text/simple-line-wordspacing.html: Added.
* platform/mac/css1/text_properties/word_spacing-expected.txt:
* platform/mac/fast/css/word-space-extra-expected.txt:
* platform/mac/fast/text/atsui-negative-spacing-features-expected.txt:
* platform/mac/fast/text/atsui-spacing-features-expected.txt:
* platform/mac/fast/text/basic/004-expected.txt:
* platform/mac/fast/text/basic/005-expected.txt:
* platform/mac/fast/text/word-space-expected.txt:
* platform/mac/svg/custom/svg-fonts-word-spacing-expected.txt:

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

6 years agoFTL->B3 lowering should support integer comparisons with the opcode abstracted and...
fpizlo@apple.com [Thu, 19 Nov 2015 22:18:15 +0000 (22:18 +0000)]
FTL->B3 lowering should support integer comparisons with the opcode abstracted and a few other things
https://bugs.webkit.org/show_bug.cgi?id=151463

Reviewed by Geoffrey Garen.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::signExt):
(JSC::FTL::Output::zeroExt):
(JSC::FTL::Output::zeroExtPtr):
(JSC::FTL::Output::fpToInt):
(JSC::FTL::Output::fpToUInt):
(JSC::FTL::Output::fpToInt32):
(JSC::FTL::Output::baseIndex):
(JSC::FTL::Output::absolute):
(JSC::FTL::Output::load32NonNegative):
(JSC::FTL::Output::equal):
(JSC::FTL::Output::notEqual):
(JSC::FTL::Output::above):
(JSC::FTL::Output::lessThan):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::doubleEqual):
(JSC::FTL::Output::doubleNotEqualOrUnordered):
(JSC::FTL::Output::doubleLessThan):
(JSC::FTL::Output::icmp): Deleted.
(JSC::FTL::Output::fcmp): Deleted.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCompareLess):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCompareLessEq):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCompareGreater):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCompareGreaterEq):
(JSC::FTL::DFG::LowerDFGToLLVM::compileLogicalNot):
(JSC::FTL::DFG::LowerDFGToLLVM::baseIndex):
(JSC::FTL::DFG::LowerDFGToLLVM::compare):
(JSC::FTL::DFG::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::DFG::LowerDFGToLLVM::nonSpeculativeCompare):

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

6 years ago[JSC] When the iterated allocator is forced to spill, nuke the Moves that were alread...
benjamin@webkit.org [Thu, 19 Nov 2015 22:05:36 +0000 (22:05 +0000)]
[JSC] When the iterated allocator is forced to spill, nuke the Moves that were already proven to be useless
https://bugs.webkit.org/show_bug.cgi?id=151461

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-19
Reviewed by Filip Pizlo.

Previously, when we had to spill, we were just inserting new Spill() and Fill()
in code while everything else remained identical.

Coalescing moves is a big part of the algorithm and takes a non-trivial time.
Since we were never removing Moves until reaching a successful coloring, we were
paying that cost with every single iteration.

With this patch, I keep a copy of the coalescing aliases when we make the first
potential spill decision. Before doing that, we have only simplified and coalesced
vertices that are provably colorable regardless of the other vertices' colors
(because their degree is <K, potentially after other edges were removed by simplification).

If we end up actually spilling, I use the old aliases to simplify the blocks if possible.

This is a 5% progression on "testComplex(64, 384)".

* b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::getAliasWhenSpilling):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::coalesce):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::selectSpill):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::assignColors):
(JSC::B3::Air::addSpillAndFillToProgram):
(JSC::B3::Air::iteratedRegisterCoalescingOnType):
(JSC::B3::Air::iteratedRegisterCoalescing):

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

6 years agoMarking storage/indexeddb/modern/cursor-4.html as flaky on mac-wk1
ryanhaddad@apple.com [Thu, 19 Nov 2015 21:39:50 +0000 (21:39 +0000)]
Marking storage/indexeddb/modern/cursor-4.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151448

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

6 years agoFix FTL->B3 lowering of Phi
fpizlo@apple.com [Thu, 19 Nov 2015 21:25:38 +0000 (21:25 +0000)]
Fix FTL->B3 lowering of Phi
https://bugs.webkit.org/show_bug.cgi?id=151460

Reviewed by Geoffrey Garen.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compilePhi):

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

6 years agoMarking storage/indexeddb/modern/cursor-3.html as flaky on mac-wk1
ryanhaddad@apple.com [Thu, 19 Nov 2015 21:04:35 +0000 (21:04 +0000)]
Marking storage/indexeddb/modern/cursor-3.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151448

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

6 years agoFTL->B3 lowering should support lazy slow paths, patchpoints, all integer comparisons...
fpizlo@apple.com [Thu, 19 Nov 2015 21:00:53 +0000 (21:00 +0000)]
FTL->B3 lowering should support lazy slow paths, patchpoints, all integer comparisons, and more load/stores
https://bugs.webkit.org/show_bug.cgi?id=151459

Reviewed by Benjamin Poulain.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::absolute):
(JSC::FTL::Output::load8SignExt32):
(JSC::FTL::Output::load8ZeroExt32):
(JSC::FTL::Output::load16SignExt32):
(JSC::FTL::Output::load16ZeroExt32):
(JSC::FTL::Output::load32):
(JSC::FTL::Output::load64):
(JSC::FTL::Output::loadPtr):
(JSC::FTL::Output::loadDouble):
(JSC::FTL::Output::store32):
(JSC::FTL::Output::store64):
(JSC::FTL::Output::storePtr):
(JSC::FTL::Output::storeDouble):
(JSC::FTL::Output::ascribeRange):
(JSC::FTL::Output::nonNegative32):
(JSC::FTL::Output::load32NonNegative):
(JSC::FTL::Output::icmp):
(JSC::FTL::Output::equal):
(JSC::FTL::Output::notEqual):
(JSC::FTL::Output::above):
(JSC::FTL::Output::aboveOrEqual):
(JSC::FTL::Output::below):
(JSC::FTL::Output::belowOrEqual):
(JSC::FTL::Output::greaterThan):
(JSC::FTL::Output::greaterThanOrEqual):
(JSC::FTL::Output::lessThan):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::fcmp):
(JSC::FTL::Output::doubleEqual):
(JSC::FTL::Output::speculateMul):
(JSC::FTL::Output::patchpoint):
(JSC::FTL::Output::trap):
(JSC::FTL::Output::anchor):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):

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

6 years agoSkip 4 more mediastream tests that crash when painting a mock video source.
ryanhaddad@apple.com [Thu, 19 Nov 2015 20:43:48 +0000 (20:43 +0000)]
Skip 4 more mediastream tests that crash when painting a mock video source.
https://bugs.webkit.org/show_bug.cgi?id=151353

Unreviewed test gardening

* platform/mac/TestExpectations:

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

6 years agoBroadening scope of failure expectation for http/tests/navigation/forward-and-cancel...
ryanhaddad@apple.com [Thu, 19 Nov 2015 20:29:03 +0000 (20:29 +0000)]
Broadening scope of failure expectation for http/tests/navigation/forward-and-cancel.html on Mac
https://bugs.webkit.org/show_bug.cgi?id=140217

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

6 years agoFTL->B3 lowering should support absolute(), double comparisons, and intToDouble()
fpizlo@apple.com [Thu, 19 Nov 2015 20:26:54 +0000 (20:26 +0000)]
FTL->B3 lowering should support absolute(), double comparisons, and intToDouble()
https://bugs.webkit.org/show_bug.cgi?id=151457

Reviewed by Benjamin Poulain.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::fpToInt32):
(JSC::FTL::Output::fpToUInt32):
(JSC::FTL::Output::intToFP):
(JSC::FTL::Output::intToDouble):
(JSC::FTL::Output::unsignedToFP):
(JSC::FTL::Output::unsignedToDouble):
(JSC::FTL::Output::intCast):
(JSC::FTL::Output::baseIndex):
(JSC::FTL::Output::absolute):
(JSC::FTL::Output::load8SignExt32):
(JSC::FTL::Output::load8ZeroExt32):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::fcmp):
(JSC::FTL::Output::doubleEqual):
(JSC::FTL::Output::doubleNotEqualOrUnordered):
(JSC::FTL::Output::doubleLessThan):
(JSC::FTL::Output::doubleLessThanOrEqual):
(JSC::FTL::Output::doubleGreaterThan):
(JSC::FTL::Output::doubleGreaterThanOrEqual):
(JSC::FTL::Output::doubleEqualOrUnordered):
(JSC::FTL::Output::doubleNotEqual):
(JSC::FTL::Output::doubleLessThanOrUnordered):
(JSC::FTL::Output::doubleLessThanOrEqualOrUnordered):
(JSC::FTL::Output::doubleGreaterThanOrUnordered):
(JSC::FTL::Output::doubleGreaterThanOrEqualOrUnordered):
(JSC::FTL::Output::isZero32):
(JSC::FTL::Output::notZero32):

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

6 years agoMarking http/tests/xmlhttprequest/workers/methods-async.html as flaky on Yosemite WK2
ryanhaddad@apple.com [Thu, 19 Nov 2015 20:20:21 +0000 (20:20 +0000)]
Marking http/tests/xmlhttprequest/workers/methods-async.html as flaky on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=151455

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

6 years agoFTL->B3 lowering should support checked int math
fpizlo@apple.com [Thu, 19 Nov 2015 20:03:22 +0000 (20:03 +0000)]
FTL->B3 lowering should support checked int math
https://bugs.webkit.org/show_bug.cgi?id=151451

Reviewed by Saam Barati.

Adds lowering of ArithAdd/Sub/Mul to CheckAdd/Sub/Mul. Includes a nice refactoring of the OSR exit
code that made this a lot easier. Also needed to implement a few other ops in FTL::Output.

I ended up renaming "check" to "speculate" in FTL::Output, because it already had a thing called
"check". The FTL terminology for side-exit is "speculate", so I think that this is appropriate.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::sensibleDoubleToInt):
(JSC::FTL::Output::signExt):
(JSC::FTL::Output::zeroExt):
(JSC::FTL::Output::zeroExtPtr):
(JSC::FTL::Output::fpToInt):
(JSC::FTL::Output::fpToUInt):
(JSC::FTL::Output::unsignedToFP):
(JSC::FTL::Output::unsignedToDouble):
(JSC::FTL::Output::intCast):
(JSC::FTL::Output::castToInt32):
(JSC::FTL::Output::fpCast):
(JSC::FTL::Output::intToPtr):
(JSC::FTL::Output::ptrToInt):
(JSC::FTL::Output::unreachable):
(JSC::FTL::Output::speculate):
(JSC::FTL::Output::speculateAdd):
(JSC::FTL::Output::speculateSub):
(JSC::FTL::Output::speculateMul):
(JSC::FTL::Output::trap):
(JSC::FTL::Output::check): Deleted.
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitArgumentsForPatchpointIfWillCatchException):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::blessSpeculation):
(JSC::FTL::DFG::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):

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

6 years agoModern IDB: IDBObjectStore.deleteIndex() support.
beidson@apple.com [Thu, 19 Nov 2015 19:57:18 +0000 (19:57 +0000)]
Modern IDB: IDBObjectStore.deleteIndex() support.
https://bugs.webkit.org/show_bug.cgi?id=150911

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/deleteindex-1.html
       storage/indexeddb/modern/deleteindex-2.html

* Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::deleteIndex):
(WebCore::IDBClient::IDBConnectionToServer::didDeleteIndex):
* Modules/indexeddb/client/IDBConnectionToServer.h:
* Modules/indexeddb/client/IDBConnectionToServerDelegate.h:

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::didDeleteIndexInfo):
* Modules/indexeddb/client/IDBDatabaseImpl.h:

* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::markAsDeleted):
* Modules/indexeddb/client/IDBIndexImpl.h:

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::index):
(WebCore::IDBClient::IDBObjectStore::deleteIndex):

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::deleteIndex):
(WebCore::IDBClient::IDBTransaction::deleteIndexOnServer):
(WebCore::IDBClient::IDBTransaction::didDeleteIndexOnServer):
* Modules/indexeddb/client/IDBTransactionImpl.h:

* Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::createTransactionOperation):

* Modules/indexeddb/server/IDBBackingStore.h:

* Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::didDeleteIndex):
* Modules/indexeddb/server/IDBConnectionToClient.h:
* Modules/indexeddb/server/IDBConnectionToClientDelegate.h:

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::deleteIndex):
* Modules/indexeddb/server/IDBServer.h:

* Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::indexDeleted):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
* Modules/indexeddb/server/MemoryBackingStoreTransaction.h:

* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::deleteIndex):
* Modules/indexeddb/server/MemoryIDBBackingStore.h:

* Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::clearIndexValueStore):
* Modules/indexeddb/server/MemoryIndex.h:

* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::maybeRestoreDeletedIndex):
(WebCore::IDBServer::MemoryObjectStore::takeIndexByName):
(WebCore::IDBServer::MemoryObjectStore::deleteIndex):
* Modules/indexeddb/server/MemoryObjectStore.h:

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteIndex):
* Modules/indexeddb/server/UniqueIDBDatabase.h:

* Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didDeleteIndex):
* Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:

* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex):
* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:

* Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::loggingString):
* Modules/indexeddb/shared/IDBDatabaseInfo.h:

* Modules/indexeddb/shared/IDBIndexInfo.cpp:
(WebCore::IDBIndexInfo::loggingString):
* Modules/indexeddb/shared/IDBIndexInfo.h:

* Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::hasIndex):
(WebCore::IDBObjectStoreInfo::deleteIndex):
(WebCore::IDBObjectStoreInfo::loggingString):
* Modules/indexeddb/shared/IDBObjectStoreInfo.h:

* Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::deleteIndexSuccess):
* Modules/indexeddb/shared/IDBResultData.h:

* Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didDeleteIndex):
(WebCore::InProcessIDBServer::createIndex):
(WebCore::InProcessIDBServer::deleteIndex):
* Modules/indexeddb/shared/InProcessIDBServer.h:

LayoutTests:

* storage/indexeddb/modern/deleteindex-1-expected.txt: Added.
* storage/indexeddb/modern/deleteindex-1.html: Added.
* storage/indexeddb/modern/deleteindex-2-expected.txt: Added.
* storage/indexeddb/modern/deleteindex-2.html: Added.
* storage/indexeddb/modern/index-get-count-failures.html:

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

6 years agoREGRESSION(r8780): Backwards delete by word incorrectly appends deleted text to kill...
bburg@apple.com [Thu, 19 Nov 2015 19:29:59 +0000 (19:29 +0000)]
REGRESSION(r8780): Backwards delete by word incorrectly appends deleted text to kill ring, should be prepend
https://bugs.webkit.org/show_bug.cgi?id=151300

Reviewed by Darin Adler.

Source/WebCore:

Over 11 years ago, someone was in a big hurry to fix a bunch
of emacs keybindings bugs, and accidentally regressed the kill ring
behavior for backwards-delete-word. It should prepend to the beginning.

This patch fixes the regression and cleans up the kill ring-related
code in Editor and commands. It also adds some tests to cover the
regressed code a bit better.

Tests: editing/pasteboard/emacs-killring-alternating-append-prepend.html
       editing/pasteboard/emacs-killring-backward-delete-prepend.html

* editing/Editor.cpp:

    Use more explicit names for insertion mode parameters and member variables.

(WebCore::Editor::deleteWithDirection):
(WebCore::Editor::performDelete):
(WebCore::Editor::addRangeToKillRing):
(WebCore::Editor::addTextToKillRing):

    Only one call site for now, but another will be added in a dependent fix.

(WebCore::Editor::addToKillRing): Deleted.
* editing/Editor.h:
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::TypingCommand):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::doApply):
* editing/TypingCommand.h:
* platform/mac/KillRingMac.mm:
(WebCore::KillRing::append):
(WebCore::KillRing::prepend):

    It turns out that the native API implicitly clears the kill sequence when
    alternating between prepend and append operations. Its behavior does not match
    what Sublime Text or Emacs do in this case. Clear the previous operation flag
    to prevent this behavior from happening.

LayoutTests:

* editing/pasteboard/emacs-killring-alternating-append-prepend-expected.txt: Added.
* editing/pasteboard/emacs-killring-alternating-append-prepend.html: Added.
* editing/pasteboard/emacs-killring-backward-delete-prepend-expected.txt: Added.
* editing/pasteboard/emacs-killring-backward-delete-prepend.html: Added.

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

6 years agoTatechuyoko in ruby sits too high
mmaxfield@apple.com [Thu, 19 Nov 2015 19:16:31 +0000 (19:16 +0000)]
Tatechuyoko in ruby sits too high
https://bugs.webkit.org/show_bug.cgi?id=151309
<rdar://problem/23536621>

Reviewed by Darin Adler.

Source/WebCore:

When combining text, we ask what the text's width is in order to determine if it fits in the
column. However, when we do that, we were not setting the font's orientation to horizontal.
This means that, for CJK text, the "width" which was returned was actually the height of the
glyph, and the GlyphOverflow data was similarly garbled.

We actually already were creating a corrected FontDescription, and using it in two places.
However, we weren't using it in the last place, which was causing this bug.

Test: fast/text/text-combine-placement.html

* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::width):
* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::combineText):

LayoutTests:

* fast/text/resources/tatechuyoko.svg: Added.
* fast/text/text-combine-placement-expected.html: Added.
* fast/text/text-combine-placement.html: Added.

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

6 years agoLayoutTestRelay processes leak on iOS testers
ap@apple.com [Thu, 19 Nov 2015 19:15:43 +0000 (19:15 +0000)]
LayoutTestRelay processes leak on iOS testers
https://bugs.webkit.org/show_bug.cgi?id=151447

Reviewed by Tim Horton.

* BuildSlaveSupport/kill-old-processes: Added LayoutTestRelay.

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

6 years agoMarking storage/indexeddb/modern/aborted-put.html as flaky on mac-wk1
ryanhaddad@apple.com [Thu, 19 Nov 2015 19:06:35 +0000 (19:06 +0000)]
Marking storage/indexeddb/modern/aborted-put.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151389

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

6 years ago[Win] webkitpy is applying abspath to DOS paths, yielding invalid paths
bfulgham@apple.com [Thu, 19 Nov 2015 18:42:17 +0000 (18:42 +0000)]
[Win] webkitpy is applying abspath to DOS paths, yielding invalid paths
https://bugs.webkit.org/show_bug.cgi?id=151156

Unreviewed test fix.

I tracked down the cause of the test regression on the Windows builders. Once I fixed that,
I realized that the new 'abs_results_directory' value was not needed, so this change reverts
that code.

* Scripts/webkitpy/port/base.py:
(Port.to.start_websocket_server): We don't need a special directory variable on Cygwin anymore.
(Port.abs_results_directory): Deleted.
* Scripts/webkitpy/port/win.py:
(WinPort.__init__): Deleted.
(WinPort.abs_results_directory): Deleted.
(WinPort.results_directory): Deleted.

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

6 years ago[EFL] http/tests/navigation/useragent test failed after r192459.
hs85.jeong@samsung.com [Thu, 19 Nov 2015 18:31:21 +0000 (18:31 +0000)]
[EFL] http/tests/navigation/useragent test failed after r192459.
https://bugs.webkit.org/show_bug.cgi?id=151340

Reviewed by Gyuyoung Kim.

We need the convert process the predifined value to string.

* platform/efl/UserAgentEfl.cpp:
(WebCore::versionForUAString):

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

6 years agoexplicit_timeout should be false when testharness test is run in browser
youenn.fablet@crf.canon.fr [Thu, 19 Nov 2015 18:19:17 +0000 (18:19 +0000)]
explicit_timeout should be false when testharness test is run in browser
https://bugs.webkit.org/show_bug.cgi?id=151382

Reviewed by Darin Adler.

* resources/testharnessreport.js:

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

6 years agoJIT snippet generator JumpLists should be returned as references.
mark.lam@apple.com [Thu, 19 Nov 2015 18:00:18 +0000 (18:00 +0000)]
JIT snippet generator JumpLists should be returned as references.
https://bugs.webkit.org/show_bug.cgi?id=151445

Reviewed by Gavin Barraclough.

The JumpLists were being returned by value.  As a result, new jumps added to
them in the client are actually added to a temporary copy and promptly discarded.
Those jumps never get linked, resulting in infinite loops in DFG generated code
that used the snippets.

* jit/JITAddGenerator.h:
(JSC::JITAddGenerator::endJumpList):
(JSC::JITAddGenerator::slowPathJumpList):
* jit/JITMulGenerator.h:
(JSC::JITMulGenerator::endJumpList):
(JSC::JITMulGenerator::slowPathJumpList):
* jit/JITSubGenerator.h:
(JSC::JITSubGenerator::endJumpList):
(JSC::JITSubGenerator::slowPathJumpList):

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

6 years agoUnreviewed, rolling out r192622.
commit-queue@webkit.org [Thu, 19 Nov 2015 17:45:02 +0000 (17:45 +0000)]
Unreviewed, rolling out r192622.
https://bugs.webkit.org/show_bug.cgi?id=151446

This test is failing on multiple mac testers (Requested by
ryanhaddad on #webkit).

Reverted changeset:

"Add a test for media control dropoff"
https://bugs.webkit.org/show_bug.cgi?id=151287
http://trac.webkit.org/changeset/192622

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

6 years agobuild.webkit.org/dashboard: Move layoutTestResultsDirectoryURLForIteration implementa...
ap@apple.com [Thu, 19 Nov 2015 17:42:19 +0000 (17:42 +0000)]
build.webkit.org/dashboard: Move layoutTestResultsDirectoryURLForIteration implementation to base class
https://bugs.webkit.org/show_bug.cgi?id=151425

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot.prototype.layoutTestResultsDirectoryURLForIteration):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot.prototype.layoutTestResultsDirectoryURLForIteration): Deleted.

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

6 years ago[EFL] Fix Wreturn-type clang warning in EWK2UnitTestBase.cpp
ossy@webkit.org [Thu, 19 Nov 2015 17:42:17 +0000 (17:42 +0000)]
[EFL] Fix Wreturn-type clang warning in EWK2UnitTestBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=151444

Reviewed by Darin Adler.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):

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

6 years ago[EFL] Fix -Winconsistent-missing-override clang warnings
ossy@webkit.org [Thu, 19 Nov 2015 17:38:43 +0000 (17:38 +0000)]
[EFL] Fix -Winconsistent-missing-override clang warnings
https://bugs.webkit.org/show_bug.cgi?id=151443

Reviewed by Darin Adler.

Source/WebCore:

* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::delegatedScrollRequested):
(WebCore::EmptyChromeClient::scheduleAnimation):

Source/WebKit2:

* Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
* UIProcess/CoordinatedGraphics/WebView.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
(WebKit::CoordinatedDrawingArea::layerTreeStateIsFrozen):
(WebKit::CoordinatedDrawingArea::layerTreeHost):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(WebKit::CoordinatedLayerTreeHost::layerTreeContext):
(WebKit::CoordinatedLayerTreeHost::pauseRendering):
(WebKit::CoordinatedLayerTreeHost::resumeRendering):

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

6 years agoSkip more mediastream tests that crash when painting a mock video source.
ddkilzer@apple.com [Thu, 19 Nov 2015 15:50:01 +0000 (15:50 +0000)]
Skip more mediastream tests that crash when painting a mock video source.

Fix covered by: <https://bugs.webkit.org/show_bug.cgi?id=151353>

* platform/mac/TestExpectations: Skip:
- fast/mediastream/delayed-permission-denied.html
- fast/mediastream/MediaStreamTrack-kind.html
- fast/mediastream/RTCPeerConnection-overloaded-operations.html

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

6 years agoUnreviewed CLOOP buildfix after r192624.
ossy@webkit.org [Thu, 19 Nov 2015 12:54:32 +0000 (12:54 +0000)]
Unreviewed CLOOP buildfix after r192624.

* runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):
* runtime/MemoryStatistics.h:

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

6 years agoRemove unused LLVM API functions
ossy@webkit.org [Thu, 19 Nov 2015 12:01:44 +0000 (12:01 +0000)]
Remove unused LLVM API functions
https://bugs.webkit.org/show_bug.cgi?id=151184

Reviewed by Filip Pizlo.

* ftl/FTLAbbreviations.h:
(JSC::FTL::typeOf): Deleted.
(JSC::FTL::getElementType): Deleted.
(JSC::FTL::getNamedFunction): Deleted.
(JSC::FTL::removeFunctionAttr): Deleted.
(JSC::FTL::getLinkage): Deleted.
(JSC::FTL::setVisibility): Deleted.
(JSC::FTL::isDeclaration): Deleted.
(JSC::FTL::linkModules): Deleted.
(JSC::FTL::getValueName): Deleted.
(JSC::FTL::getNamedGlobal): Deleted.
(JSC::FTL::getFirstGlobal): Deleted.
(JSC::FTL::getNextGlobal): Deleted.
(JSC::FTL::createMemoryBufferWithContentsOfFile): Deleted.
(JSC::FTL::parseBitcodeInContext): Deleted.
(JSC::FTL::disposeMemoryBuffer): Deleted.
(JSC::FTL::getParamTypes): Deleted.
(JSC::FTL::constIntToPtr): Deleted.
(JSC::FTL::constBitCast): Deleted.
* llvm/LLVMAPIFunctions.h:

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

6 years agoRemove unnecessary PLATFORM(EFL) macro in globalMemoryStatistics()
gyuyoung.kim@webkit.org [Thu, 19 Nov 2015 11:58:38 +0000 (11:58 +0000)]
Remove unnecessary PLATFORM(EFL) macro in globalMemoryStatistics()
https://bugs.webkit.org/show_bug.cgi?id=151301

Reviewed by Csaba Osztrogonác.

EXECUTABLE_ALLOCATOR_FIXED is enabled on EFL port. So we don't need to keep
PLATFORM(EFL) macro anymore. Besides ENABLE(EXECUTABLE_ALLOCATOR_FIXED) guard
isn't related with ExecutableAllocator::committedByteCount() closely. So this patch
removes it as well.

* runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):

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

6 years agoUnreviewed speculative buildfix after r192601.
ossy@webkit.org [Thu, 19 Nov 2015 11:37:58 +0000 (11:37 +0000)]
Unreviewed speculative buildfix after r192601.

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
* WebCoreSupport/WebFrameLoaderClient.h:

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

6 years agoAdd a test for media control dropoff
jonlee@apple.com [Thu, 19 Nov 2015 10:06:21 +0000 (10:06 +0000)]
Add a test for media control dropoff
https://bugs.webkit.org/show_bug.cgi?id=151287
rdar://problem/23544666

Reviewed by Dean Jackson.

Source/WebCore:

Test: media/controls/inline-elements-dropoff-order.html

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-timeline-container.dropped): Override the
display:none since we want the container to remain visible but acting
as a flexible width space to push the other elements to the ends of the
inline flexbox. We will want to refactor the CSS rules so that all of the
components in the timeline are keyed off of the container's dropped class
rather than having each individual component have that class attached.
(audio::-webkit-media-controls-panel.hidden): Deleted. Consolidate a
couple rules.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateLayoutForDisplayedWidth): Also attach the
"dropped" class on the timeline box. Add the captions button for reporting
media control state.
* testing/Internals.cpp:
(WebCore::Internals::setMockMediaPlaybackTargetPickerState): Extend this to
also take "DeviceNotAvailable" to update the mock device's availability.

* testing/Internals.cpp: Update to use a reference to Page.
(WebCore::Internals::resetToConsistentState): Reset mock enabled setting for
each test.
* testing/Internals.h:
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::resetInternalsObject): Update to use a reference to Page.

LayoutTests:

The test takes a video element and resizes it to multiple widths. It
checks for the existence of the dropped or hidden class on each of the
media controls. The tests are run twice; once with wireless target
availability, and once without. If the platform does not support wireless
playback, it only goes through the tests once.

Test assumes that setMockMediaPlaybackTargetPickerEnabled is set to true at the beginning
of the test.

* media/controls/controls-test-helpers.js:
(ControlsTest.prototype.setup): Create the console box first before
checking to see the testRunner is available so that the failure
message appears when trying to run the test manually.
* media/controls/inline-elements-dropoff-order-expected.txt: Added.
* media/controls/inline-elements-dropoff-order.html: Added.
* platform/mac-mavericks/media/controls/inline-elements-dropoff-order-expected.txt: Added.
* platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt: Added.

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

6 years ago[Streams API] Implement IsReadableStreamDisturbed according to spec
calvaris@igalia.com [Thu, 19 Nov 2015 09:21:47 +0000 (09:21 +0000)]
[Streams API] Implement IsReadableStreamDisturbed according to spec
https://bugs.webkit.org/show_bug.cgi?id=151356

Reviewed by Darin Adler.

Source/WebCore:

Implemente IsReadableStreamDisturbed according to the spec. This is an internal function to be used by other
internal implementations.

The function is exported as internals to be tested.

Test: streams/reference-implementation/abstract-ops.html.

* Modules/streams/ReadableStream.js:
(initializeReadableStream):
* Modules/streams/ReadableStreamInternals.js:
(cancelReadableStream):
(readFromReadableStreamReader):
(isReadableStreamDisturbed):
* bindings/js/WebCoreBuiltinNames.h:
* testing/Internals.cpp:
(WebCore::Internals::isReadableStreamDisturbed):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* streams/reference-implementation/abstract-ops-expected.txt: Updated expectations.
* streams/reference-implementation/abstract-ops.html: Use internals to export IsReadableStreamDisturbed to the
tests.

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

6 years agoXHR should not combine empty content-type value with default one
youenn.fablet@crf.canon.fr [Thu, 19 Nov 2015 09:14:36 +0000 (09:14 +0000)]
XHR should not combine empty content-type value with default one
https://bugs.webkit.org/show_bug.cgi?id=147784

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:

Source/WebCore:

Previously, XHR was testing whether a "Content-Type" was set using setRequestHeader by checking whether a "Content-Type" header value was empty.
This now tests whether "Content-Type" request header is set using either HTTPHeaderMap::contains or checking whether a "Content-Type" header value is null.

Test: http/tests/xmlhttprequest/post-empty-content-type.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):

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

6 years ago[JSC] Add bitwise Double-Int conversion to B3
commit-queue@webkit.org [Thu, 19 Nov 2015 08:38:17 +0000 (08:38 +0000)]
[JSC] Add bitwise Double-Int conversion to B3
https://bugs.webkit.org/show_bug.cgi?id=151432

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-19
Reviewed by Filip Pizlo.

This is needed for boxing/unboxing doubles.

* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::bitwiseCastConstant):
* b3/B3Const64Value.h:
* b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::bitwiseCastConstant):
* b3/B3ConstDoubleValue.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3Opcode.cpp:
(WTF::printInternal):
* b3/B3Opcode.h:
* b3/B3ReduceStrength.cpp:
* b3/B3Validate.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::bitwiseCastConstant):
(JSC::B3::Value::effects):
(JSC::B3::Value::typeFor):
* b3/B3Value.h:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testDoubleArgToInt64BitwiseCast):
(JSC::B3::testDoubleImmToInt64BitwiseCast):
(JSC::B3::testTwoBitwiseCastOnDouble):
(JSC::B3::testBitwiseCastOnDoubleInMemory):
(JSC::B3::testInt64BArgToDoubleBitwiseCast):
(JSC::B3::testInt64BImmToDoubleBitwiseCast):
(JSC::B3::testTwoBitwiseCastOnInt64):
(JSC::B3::testBitwiseCastOnInt64InMemory):
(JSC::B3::int64Operands):
(JSC::B3::run):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::bitCast):

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

6 years agoModern IDB: Populate indexes created in object stores that already have records.
beidson@apple.com [Thu, 19 Nov 2015 08:19:56 +0000 (08:19 +0000)]
Modern IDB: Populate indexes created in object stores that already have records.
https://bugs.webkit.org/show_bug.cgi?id=151421

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/index-4.html
      storage/indexeddb/modern/index-5.html

* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::createIndex):
(WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords):
* Modules/indexeddb/server/MemoryObjectStore.h:

LayoutTests:

* storage/indexeddb/modern/index-4-expected.txt: Added.
* storage/indexeddb/modern/index-4.html: Added.
* storage/indexeddb/modern/index-5-expected.txt: Added.
* storage/indexeddb/modern/index-5.html: Added.

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

6 years agoWPT server should use its own testharness.js file and generate a warning when it...
youenn.fablet@crf.canon.fr [Thu, 19 Nov 2015 08:17:44 +0000 (08:17 +0000)]
WPT server should use its own testharness.js file and generate a warning when it does not match WebKit version
https://bugs.webkit.org/show_bug.cgi?id=150332

Reviewed by Darin Adler and Ryosuke Niwa.

Removing testharness.js overwriting from LayoutTests/resources to LayoutTests/imported/w3c/web-platform-tests/resources.
Adding support for file comparison in python filesystem.
#NousSommesUnis.

* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.compare): Adding compare as a wrapper around filecmp.cmp.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.compare): Adding a mock compare.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__): Removed testharness.js as file to copy from WK to WPT.
(WebPlatformTestServer._copy_webkit_test_files): Added warning generation when WK testharness.js is not matching WPT version.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:
(TestWebPlatformTestServer.test_previously_spawned_instance): Updated tests to add testharness.js to mock filesystem.
(TestWebPlatformTestServer.test_corrupted_subserver_files): Ditto.

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

6 years agoWeb Inspector: Convert remaining timeline views to use View base class
mattbaker@apple.com [Thu, 19 Nov 2015 08:05:01 +0000 (08:05 +0000)]
Web Inspector: Convert remaining timeline views to use View base class
https://bugs.webkit.org/show_bug.cgi?id=151410

Reviewed by Timothy Hatcher.

Converted timeline views to use View base class. Mostly mechanical
changes (override View.prototype.layout, use let in more places).

* UserInterface/Views/LayoutTimelineOverviewGraph.js:
(WebInspector.LayoutTimelineOverviewGraph.prototype.layout):
(WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout): Deleted.

* UserInterface/Views/NetworkTimelineOverviewGraph.js:
(WebInspector.NetworkTimelineOverviewGraph.prototype.layout.createBar):
(WebInspector.NetworkTimelineOverviewGraph.prototype.layout):
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar): Deleted.
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout): Deleted.

* UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
(WebInspector.RenderingFrameTimelineOverviewGraph.prototype.layout):
(WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout): Deleted.

* UserInterface/Views/ScriptTimelineOverviewGraph.js:
(WebInspector.ScriptTimelineOverviewGraph.prototype.layout.createBar):
(WebInspector.ScriptTimelineOverviewGraph.prototype.layout):
(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar): Deleted.
(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout): Deleted.

* UserInterface/Views/TimelineOverview.js:
Extend View.
(WebInspector.TimelineOverview):
Add ruler as a subview.
(WebInspector.TimelineOverview.prototype.set startTime):
(WebInspector.TimelineOverview.prototype.set currentTime):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype.set endTime):
(WebInspector.TimelineOverview.prototype.set scrollStartTime):
(WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineOverview.prototype.get timelineRuler):
(WebInspector.TimelineOverview.prototype.canShowTimeline):
(WebInspector.TimelineOverview.prototype.layout):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):
(WebInspector.TimelineOverview._handleGestureStart):
(WebInspector.TimelineOverview.prototype._handleGestureChange):
(WebInspector.TimelineOverview.prototype._timelineAdded):
(WebInspector.TimelineOverview.prototype._timelineRemoved):
(WebInspector.TimelineOverview.prototype.get element): Deleted.
(WebInspector.TimelineOverview.prototype.updateLayout): Deleted.

* UserInterface/Views/TimelineOverviewGraph.js:
Extend view.
(WebInspector.TimelineOverviewGraph):
(WebInspector.TimelineOverviewGraph.prototype.needsLayout):
(WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
(WebInspector.TimelineOverviewGraph.prototype.updateLayout): Deleted.
(WebInspector.TimelineOverviewGraph.prototype.updateLayoutIfNeeded): Deleted.
(WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout.update): Deleted.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
Add overview as a subview.
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
Use View.prototype.replaceSubview to swap overview graphs.

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

6 years agoWeb Inspector: Storage tab shouldn't hide cookies for .example.com when inspected...
bburg@apple.com [Thu, 19 Nov 2015 06:30:38 +0000 (06:30 +0000)]
Web Inspector: Storage tab shouldn't hide cookies for .example.com when inspected page is foo.bar.example.com
https://bugs.webkit.org/show_bug.cgi?id=151408

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

The regex should allow multiple subdomains to match a cookie for domain .example.com.

Test: inspector/page/filter-cookies-for-domain.html

* UserInterface/Models/CookieStorageObject.js:
(WebInspector.CookieStorageObject.cookieDomainMatchesResourceDomain):

    Also make the group non-capturing. We don't use the match.

(WebInspector.CookieStorageObject.prototype.saveIdentityToCookie):
(WebInspector.CookieStorageObject):
* UserInterface/Test.html:

LayoutTests:

* inspector/page/filter-cookies-for-domain-expected.txt: Added.
* inspector/page/filter-cookies-for-domain.html: Added.

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

6 years agoWeb Inspector: move cookie url matching out of CookieStorageContentView and clean...
bburg@apple.com [Thu, 19 Nov 2015 06:27:21 +0000 (06:27 +0000)]
Web Inspector: move cookie url matching out of CookieStorageContentView and clean up some code
https://bugs.webkit.org/show_bug.cgi?id=151424

Reviewed by Timothy Hatcher.

Move the code that decides whether a cookie matches a resource URL to a model class.
This will make it possible to test this code easily without pulling Views into tests.

* UserInterface/Models/CookieStorageObject.js:
(WebInspector.CookieStorageObject.cookieMatchesResourceURL):
(WebInspector.CookieStorageObject.cookieDomainMatchesResourceDomain):
(WebInspector.CookieStorageObject.prototype.saveIdentityToCookie):
(WebInspector.CookieStorageObject):
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype.update): use Promises.
(WebInspector.CookieStorageContentView.prototype._rebuildTable):
(WebInspector.CookieStorageContentView.prototype._filterCookies):

    Use Array.filter() and Array.some() to express this logic more directly.

(WebInspector.CookieStorageContentView.cookieMatchesResourceURL): Deleted.
(WebInspector.CookieStorageContentView.cookieDomainMatchesResourceDomain): Deleted.
(WebInspector.CookieStorageContentView.prototype.update.callback): Deleted.

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

6 years agoWeb Inspector: Clear watch expressions button using wrong icon
mattbaker@apple.com [Thu, 19 Nov 2015 05:47:24 +0000 (05:47 +0000)]
Web Inspector: Clear watch expressions button using wrong icon
https://bugs.webkit.org/show_bug.cgi?id=151422

Reviewed by Timothy Hatcher.

Updated "clear" button to use trashcan image. This was broken by
https://bugs.webkit.org/show_bug.cgi?id=151377.

* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):

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

6 years agoWeb Inspector: Reduce synchronous view layouts
mattbaker@apple.com [Thu, 19 Nov 2015 05:44:32 +0000 (05:44 +0000)]
Web Inspector: Reduce synchronous view layouts
https://bugs.webkit.org/show_bug.cgi?id=151058

Reviewed by Timothy Hatcher.

Replace calls to View.updateLayout with needsLayout, when a synchronous layout
isn't absolutely necessary.

* UserInterface/Models/BackForwardEntry.js:
(WebInspector.BackForwardEntry.prototype.prepareToShow):

* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype.updateLayout): Deleted.
View subclasses shouldn't override updateLayout.

* UserInterface/Views/ButtonNavigationItem.js:
(WebInspector.ButtonNavigationItem.prototype.set label):

* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
(WebInspector.ContentBrowser.prototype._currentContentViewDidChange):
(WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):

* UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView.prototype._queryFinished):
Just update DataGrid's layout, not the whole view. The grid is the only subview
so the result is identical, but the intent is cleared this way.
(WebInspector.DatabaseTableContentView.prototype.updateLayout): Deleted.
View subclasses shouldn't override updateLayout.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
(WebInspector.LogContentView.prototype.promptDidChangeHeight): Deleted.
Unused code.

* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.set width):
(WebInspector.Sidebar.prototype.set collapsed):

* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype._contentWillPopulate):
Add TextEditor as a subview.
(WebInspector.TextResourceContentView.prototype.updateLayout): Deleted.
View subclasses shouldn't override updateLayout.

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

6 years agoInternal perf dashboard takes forever to load
rniwa@webkit.org [Thu, 19 Nov 2015 04:48:42 +0000 (04:48 +0000)]
Internal perf dashboard takes forever to load
https://bugs.webkit.org/show_bug.cgi?id=151430

Rubber-stamped by Antti Koivisto.

Fix a few performance problems with the perf dashboard v2 UI.

* public/v2/app.js:
(App.DashboardRow._createPane): Set "inDashboard" to true.
(App.Pane._fetch): Immediately show the cached chart instead of waiting for the refetched data which invokes
a PHP JSON API. Also don't fetch the analysis tasks when the chart is shown in the dashboard since we don't
show annotate charts in the dashboard.

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

6 years agoModern IDB:Make in-memory Index cursors work.
beidson@apple.com [Thu, 19 Nov 2015 04:36:00 +0000 (04:36 +0000)]
Modern IDB:Make in-memory Index cursors work.
https://bugs.webkit.org/show_bug.cgi?id=151278

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/index-cursor-1.html
       storage/indexeddb/modern/index-cursor-2.html
       storage/indexeddb/modern/index-cursor-3.html

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::openKeyCursor):

* Modules/indexeddb/server/IndexValueEntry.cpp:
(WebCore::IDBServer::IndexValueEntry::removeKey):
(WebCore::IDBServer::IndexValueEntry::Iterator::Iterator):
(WebCore::IDBServer::IndexValueEntry::Iterator::key):
(WebCore::IDBServer::IndexValueEntry::Iterator::isValid):
(WebCore::IDBServer::IndexValueEntry::Iterator::invalidate):
(WebCore::IDBServer::IndexValueEntry::Iterator::operator++):
(WebCore::IDBServer::IndexValueEntry::begin):
(WebCore::IDBServer::IndexValueEntry::reverseBegin):
(WebCore::IDBServer::IndexValueEntry::find):
(WebCore::IDBServer::IndexValueEntry::reverseFind):
* Modules/indexeddb/server/IndexValueEntry.h:
(WebCore::IDBServer::IndexValueEntry::Iterator::Iterator):
(WebCore::IDBServer::IndexValueEntry::unique):

* Modules/indexeddb/server/IndexValueStore.cpp:
(WebCore::IDBServer::IndexValueStore::removeEntriesWithValueKey):
(WebCore::IDBServer::IndexValueStore::lowestKeyWithRecordInRange):
(WebCore::IDBServer::IndexValueStore::lowestIteratorInRange):
(WebCore::IDBServer::IndexValueStore::highestReverseIteratorInRange):
(WebCore::IDBServer::IndexValueStore::find):
(WebCore::IDBServer::IndexValueStore::reverseFind):
(WebCore::IDBServer::IndexValueStore::Iterator::Iterator):
(WebCore::IDBServer::IndexValueStore::Iterator::nextIndexEntry):
(WebCore::IDBServer::IndexValueStore::Iterator::operator++):
(WebCore::IDBServer::IndexValueStore::Iterator::invalidate):
(WebCore::IDBServer::IndexValueStore::Iterator::isValid):
(WebCore::IDBServer::IndexValueStore::Iterator::key):
(WebCore::IDBServer::IndexValueStore::Iterator::primaryKey):
* Modules/indexeddb/server/IndexValueStore.h:
(WebCore::IDBServer::IndexValueStore::Iterator::Iterator):

* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::openCursor):

* Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::cursorDidBecomeClean):
(WebCore::IDBServer::MemoryIndex::cursorDidBecomeDirty):
(WebCore::IDBServer::MemoryIndex::objectStoreCleared):
(WebCore::IDBServer::MemoryIndex::notifyCursorsOfValueChange):
(WebCore::IDBServer::MemoryIndex::notifyCursorsOfAllRecordsChanged):
(WebCore::IDBServer::MemoryIndex::putIndexKey):
(WebCore::IDBServer::MemoryIndex::removeRecord):
(WebCore::IDBServer::MemoryIndex::removeEntriesWithValueKey):
(WebCore::IDBServer::MemoryIndex::maybeOpenCursor):
* Modules/indexeddb/server/MemoryIndex.h:
(WebCore::IDBServer::MemoryIndex::valueStore):
(WebCore::IDBServer::MemoryIndex::objectStore):

* Modules/indexeddb/server/MemoryIndexCursor.cpp: Added.
(WebCore::IDBServer::MemoryIndexCursor::MemoryIndexCursor):
(WebCore::IDBServer::MemoryIndexCursor::~MemoryIndexCursor):
(WebCore::IDBServer::MemoryIndexCursor::currentData):
(WebCore::IDBServer::MemoryIndexCursor::iterate):
(WebCore::IDBServer::MemoryIndexCursor::indexRecordsAllChanged):
(WebCore::IDBServer::MemoryIndexCursor::indexValueChanged):
* Modules/indexeddb/server/MemoryIndexCursor.h:

* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::indexForIdentifier):
(WebCore::IDBServer::MemoryObjectStore::valueForKey):
* Modules/indexeddb/server/MemoryObjectStore.h:

* Modules/indexeddb/shared/IDBCursorInfo.cpp:
(WebCore::IDBCursorInfo::objectStoreCursor):
(WebCore::IDBCursorInfo::indexCursor):
(WebCore::IDBCursorInfo::IDBCursorInfo):
(WebCore::IDBCursorInfo::isDirectionNoDuplicate):
(WebCore::IDBCursorInfo::isolatedCopy):
* Modules/indexeddb/shared/IDBCursorInfo.h:
(WebCore::IDBCursorInfo::objectStoreIdentifier):

LayoutTests:

* storage/indexeddb/modern/cursor-1-expected.txt:
* storage/indexeddb/modern/index-cursor-1-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-1.html: Added.
* storage/indexeddb/modern/index-cursor-2-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-2.html: Added.
* storage/indexeddb/modern/index-cursor-3-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-3.html: Added.

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

6 years ago[JSC] Add some missing load/store to FTLB3Output
benjamin@webkit.org [Thu, 19 Nov 2015 04:15:04 +0000 (04:15 +0000)]
[JSC] Add some missing load/store to FTLB3Output
https://bugs.webkit.org/show_bug.cgi?id=151427

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-18
Reviewed by Filip Pizlo.

* ftl/FTLB3Output.cpp:
(JSC::FTL::Output::load8SignExt32):
(JSC::FTL::Output::load8ZeroExt32):
(JSC::FTL::Output::load16SignExt32):
(JSC::FTL::Output::load16ZeroExt32):
(JSC::FTL::Output::loadFloatToDouble):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::load32):
(JSC::FTL::Output::loadPtr):
(JSC::FTL::Output::loadDouble):
(JSC::FTL::Output::load8SignExt32): Deleted.
(JSC::FTL::Output::load8ZeroExt32): Deleted.
(JSC::FTL::Output::load16SignExt32): Deleted.
(JSC::FTL::Output::load16ZeroExt32): Deleted.
(JSC::FTL::Output::loadFloatToDouble): Deleted.

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

6 years agoAssertion failure in RenderTreePosition::computeNextSibling
antti@apple.com [Thu, 19 Nov 2015 04:14:24 +0000 (04:14 +0000)]
Assertion failure in RenderTreePosition::computeNextSibling
https://bugs.webkit.org/show_bug.cgi?id=151337
rdar://problem/23250075

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/html/details-mathml-crash.html

* html/ads: Added.
* style/StyleResolveTree.cpp:
(WebCore::Style::resolveChildAtShadowBoundary):

    Factor common code for resolving child here from resolveShadowTree.

(WebCore::Style::resolveShadowTree):

    We don't need StyleResolverParentPusher because shadow tree uses different style resolver anyway.

(WebCore::Style::resolveSlotAssignees):

    This needs to call renderTreePosition.invalidateNextSibling() if there is a renderer already.
    Achieve this by calling the new common function resolveChildAtShadowBoundary.

LayoutTests:

Test case by Pranjal Jumde.

* fast/html/details-mathml-crash-expected.txt: Added.
* fast/html/details-mathml-crash.html: Added.

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

6 years agoWebGL slow video to texture
jer.noble@apple.com [Thu, 19 Nov 2015 03:20:11 +0000 (03:20 +0000)]
WebGL slow video to texture
https://bugs.webkit.org/show_bug.cgi?id=129626

Reviewed by Dean Jackson.

Support a direct GPU-to-GPU copy of video textures. Add a new AVPlayerItemVideoOutput which,
when lazily-created, will emit CVPixelBuffers which are guaranteed to be compatible with
OpenGL framebuffers. Then, use a CVOpenGLTextureCache object to convert those CVPixelBuffers
to OpenGL textures. Once the video frame is in an OpenGL texture, use an OpenGL framebuffer
to copy the underlying video texture memory to the destination texture.

The copy step uses glTexImage2D, which requires format and type parameters, so change the
signature of copyVideoTextureToPlatformTexture() to pass those parameters in.

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::copyVideoTextureToPlatformTexture): Changed signature.
* html/HTMLVideoElement.h:
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImage2D): Changed signature.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::copyVideoTextureToPlatformTexture): Changed signature.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::copyVideoTextureToPlatformTexture): Changed signature.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createOpenGLVideoOutput): Create an OpenGL-compatible
    AVPlayerItemVideoOutput.
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyOpenGLVideoOutput): Destroy same.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastOpenGLImage): Cache the current frame, if available.
(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture): Convert the
    current frame to a texture, and use that texture to render into the destination texture.

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

6 years agoFix typos in r192605
benjamin@webkit.org [Thu, 19 Nov 2015 03:09:51 +0000 (03:09 +0000)]
Fix typos in r192605

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileUpsilon):

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

6 years agoFTL should be able to compile a small function with B3
benjamin@webkit.org [Thu, 19 Nov 2015 02:48:48 +0000 (02:48 +0000)]
FTL should be able to compile a small function with B3
https://bugs.webkit.org/show_bug.cgi?id=151423

Patch by Filip Pizlo  <fpizlo@apple.com> and Benjamin Poulain <bpoulain@apple.com> on 2015-11-18
Reviewed by Filip Pizlo.

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* ftl/FTLAbbreviatedTypes.h:
* ftl/FTLB3Output.cpp:
(JSC::FTL::Output::Output):
(JSC::FTL::Output::~Output):
(JSC::FTL::Output::initialize):
(JSC::FTL::Output::appendTo):
(JSC::FTL::Output::lockedStackSlot):
(JSC::FTL::Output::load):
(JSC::FTL::Output::store):
(JSC::FTL::Output::branch):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::newBlock):
(JSC::FTL::Output::setOrigin):
(JSC::FTL::Output::origin):
(JSC::FTL::Output::framePointer):
(JSC::FTL::Output::constBool):
(JSC::FTL::Output::constInt32):
(JSC::FTL::Output::constIntPtr):
(JSC::FTL::Output::constInt64):
(JSC::FTL::Output::constDouble):
(JSC::FTL::Output::upsilon):
(JSC::FTL::Output::phi):
(JSC::FTL::Output::add):
(JSC::FTL::Output::sub):
(JSC::FTL::Output::mul):
(JSC::FTL::Output::neg):
(JSC::FTL::Output::doubleAdd):
(JSC::FTL::Output::doubleSub):
(JSC::FTL::Output::doubleMul):
(JSC::FTL::Output::doubleDiv):
(JSC::FTL::Output::doubleNeg):
(JSC::FTL::Output::bitAnd):
(JSC::FTL::Output::bitOr):
(JSC::FTL::Output::bitXor):
(JSC::FTL::Output::shl):
(JSC::FTL::Output::aShr):
(JSC::FTL::Output::lShr):
(JSC::FTL::Output::load64):
(JSC::FTL::Output::store32):
(JSC::FTL::Output::store64):
(JSC::FTL::Output::storePtr):
(JSC::FTL::Output::storeDouble):
(JSC::FTL::Output::addPtr):
(JSC::FTL::Output::address):
(JSC::FTL::Output::below):
(JSC::FTL::Output::isZero32):
(JSC::FTL::Output::notZero32):
(JSC::FTL::Output::isZero64):
(JSC::FTL::Output::notZero64):
(JSC::FTL::Output::isNull):
(JSC::FTL::Output::notNull):
(JSC::FTL::Output::testIsZero32):
(JSC::FTL::Output::testNonZero32):
(JSC::FTL::Output::testIsZero64):
(JSC::FTL::Output::testNonZero64):
(JSC::FTL::Output::testIsZeroPtr):
(JSC::FTL::Output::testNonZeroPtr):
(JSC::FTL::Output::call):
(JSC::FTL::Output::operation):
(JSC::FTL::Output::jump):
(JSC::FTL::Output::branch):
(JSC::FTL::Output::ret):
(JSC::FTL::Output::unreachable):
(JSC::FTL::Output::check):
(JSC::FTL::Output::anchor):
(JSC::FTL::Output::addIncomingToPhi):
(JSC::FTL::Output::~Output): Deleted.
(JSC::FTL::Output::appendTo): Deleted.
(JSC::FTL::Output::param): Deleted.
(JSC::FTL::Output::load): Deleted.
(JSC::FTL::Output::store): Deleted.
(JSC::FTL::Output::store16): Deleted.
* ftl/FTLCommonValues.cpp:
(JSC::FTL::CommonValues::CommonValues):
(JSC::FTL::CommonValues::initializeConstants):
* ftl/FTLCommonValues.h:
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
(JSC::FTL::DFG::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBlock):
(JSC::FTL::DFG::LowerDFGToLLVM::safelyInvalidateAfterTermination):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileUpsilon):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePhi):
(JSC::FTL::DFG::LowerDFGToLLVM::compileToThis):
(JSC::FTL::DFG::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStrCat):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutById):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutGetterSetterById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateActivation):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateScopedArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateClonedArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToLLVM::compileToStringOrCallStringConstructor):
(JSC::FTL::DFG::LowerDFGToLLVM::compileToPrimitive):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToLLVM::compileTailCall):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileLoadVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::compileIn):
(JSC::FTL::DFG::LowerDFGToLLVM::compileHasIndexedProperty):
(JSC::FTL::DFG::LowerDFGToLLVM::compileHasGenericProperty):
(JSC::FTL::DFG::LowerDFGToLLVM::compileHasStructureProperty):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetDirectPname):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetPropertyEnumerator):
(JSC::FTL::DFG::LowerDFGToLLVM::compileToIndexString):
(JSC::FTL::DFG::LowerDFGToLLVM::didOverflowStack):
(JSC::FTL::DFG::LowerDFGToLLVM::allocatePropertyStorage):
(JSC::FTL::DFG::LowerDFGToLLVM::reallocatePropertyStorage):
(JSC::FTL::DFG::LowerDFGToLLVM::getById):
(JSC::FTL::DFG::LowerDFGToLLVM::nonSpeculativeCompare):
(JSC::FTL::DFG::LowerDFGToLLVM::contiguousPutByValOutOfBounds):
(JSC::FTL::DFG::LowerDFGToLLVM::switchStringSlow):
(JSC::FTL::DFG::LowerDFGToLLVM::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToLLVM::sensibleDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):
(JSC::FTL::DFG::LowerDFGToLLVM::jsValueToStrictInt52):
(JSC::FTL::DFG::LowerDFGToLLVM::doubleToStrictInt52):
(JSC::FTL::DFG::LowerDFGToLLVM::vmCall):
(JSC::FTL::DFG::LowerDFGToLLVM::callCheck):
(JSC::FTL::DFG::LowerDFGToLLVM::lowBlock):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::callStackmap):
(JSC::FTL::DFG::LowerDFGToLLVM::probe):
(JSC::FTL::DFG::LowerDFGToLLVM::crash):
(JSC::FTL::lowerDFGToLLVM):
(JSC::FTL::DFG::LowerDFGToLLVM::vmCallNoExceptions): Deleted.
* ftl/FTLOutput.cpp:
(JSC::FTL::Output::sensibleDoubleToInt):
* ftl/FTLOutput.h:
(JSC::FTL::Output::ceil64):
(JSC::FTL::Output::ctlz32):
(JSC::FTL::Output::addWithOverflow32):
(JSC::FTL::Output::subWithOverflow32):
(JSC::FTL::Output::mulWithOverflow32):
(JSC::FTL::Output::addWithOverflow64):
(JSC::FTL::Output::subWithOverflow64):
(JSC::FTL::Output::mulWithOverflow64):
(JSC::FTL::Output::doubleAbs):
(JSC::FTL::Output::doubleSin):
(JSC::FTL::Output::doubleCos):
(JSC::FTL::Output::doublePow):
(JSC::FTL::Output::doublePowi):
(JSC::FTL::Output::doubleSqrt):
(JSC::FTL::Output::doubleLog):
(JSC::FTL::Output::call):
(JSC::FTL::Output::trap):
* ftl/FTLState.cpp:
(JSC::FTL::State::State): Deleted.
* ftl/FTLState.h:
* ftl/FTLWeight.h:
(JSC::FTL::Weight::frequencyClass):

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

6 years ago[WK1] Crash loading Blink layout test fast/dom/Window/property-access-on-cached-windo...
jiewen_tan@apple.com [Thu, 19 Nov 2015 01:42:12 +0000 (01:42 +0000)]
[WK1] Crash loading Blink layout test fast/dom/Window/property-access-on-cached-window-after-frame-removed.html
https://bugs.webkit.org/show_bug.cgi?id=150198
<rdar://problem/23136026>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: fast/dom/Window/property-access-on-cached-window-after-frame-removed.html

Properties of a contentWindow could be accessed even if the frame who owns the window is
detached. Therefore, check whether the document loader is still alive before using it.

* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds):

Tools:

* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::inspectorTestStubURL):
Since WebInspectorUI.framework is not available for iOS, the framework
and corresponding functions are disabled in iOS.

LayoutTests:

* fast/dom/Window/666869-expected.txt: Added.
* fast/dom/Window/666869.html: Added.
Test case is from Mozilla.
* fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt: Added.
* fast/dom/Window/property-access-on-cached-window-after-frame-removed.html: Added.
* fast/dom/Window/resources/window-property-collector.js: Added.
(collectProperties):
(emitExpectedResult):
(collectPropertiesHelper):
Test case is from Blink r168256:
https://codereview.chromium.org/131113003
* platform/mac-wk2/TestExpectations:

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

6 years agoThere is a bug when default parameter values are mixed with destructuring parameter...
sbarati@apple.com [Thu, 19 Nov 2015 01:26:36 +0000 (01:26 +0000)]
There is a bug when default parameter values are mixed with destructuring parameter values
https://bugs.webkit.org/show_bug.cgi?id=151369

Reviewed by Geoffrey Garen and Mark Lam.

Relanding this after a rollout.

This patch changes our parser to no longer declare destructuring
parameters as "var"s. This is a weird bug that just happened
to work in a world without default parameter values. In a world with
default parameter values this is just completely wrong. It would
incorrectly transform this program:
```function foo(a = function() { b = 40; }, {b}) { a(); return b; }; foo(undefined, {b: 42}); // Should return 40```
into
```function foo(a = function() { b = 40; }, {b}) { var b; a(); return b; }; foo(undefined, {b:42}); // Returns 42, not 40.```
Which is wrong because we end up with two distinct bindings of "b" when
there should only be one.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseDestructuringPattern):
* parser/Parser.h:
(JSC::Scope::declareParameter):
(JSC::Scope::getUsedVariables):
(JSC::Parser::strictMode):
(JSC::Parser::isValidStrictMode):
(JSC::Parser::declareParameter):
(JSC::Parser::breakIsValid):
(JSC::Scope::declareBoundParameter): Deleted.
(JSC::Parser::declareBoundParameter): Deleted.
* tests/stress/es6-default-parameters.js:

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

6 years agoMediaStream: Implement MediaDevices.getSupportedConstraints
eric.carlson@apple.com [Thu, 19 Nov 2015 01:24:02 +0000 (01:24 +0000)]
MediaStream: Implement MediaDevices.getSupportedConstraints
https://bugs.webkit.org/show_bug.cgi?id=151394

Reviewed by Brent Fulgham.

Source/WebCore:

Test: fast/mediastream/MediaDevices-getSupportedConstraints.html

* CMakeLists.txt: Add MediaTrackSupportedConstraints and JSMediaTrackSupportedConstraintsCustom.

* DerivedSources.make: Ditto.

* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::getSupportedConstraints): New.
* Modules/mediastream/MediaDevices.h:
* Modules/mediastream/MediaDevices.idl:

* Modules/mediastream/MediaTrackSupportedConstraints.h: Added. Wrapper around a
  RealtimeMediaSourceSupportedConstraints.
(WebCore::MediaTrackSupportedConstraints::create):
(WebCore::MediaTrackSupportedConstraints::supportsWidth):
(WebCore::MediaTrackSupportedConstraints::supportsHeight):
(WebCore::MediaTrackSupportedConstraints::supportsAspectRatio):
(WebCore::MediaTrackSupportedConstraints::supportsFrameRate):
(WebCore::MediaTrackSupportedConstraints::supportsFacingMode):
(WebCore::MediaTrackSupportedConstraints::supportsVolume):
(WebCore::MediaTrackSupportedConstraints::supportsSampleRate):
(WebCore::MediaTrackSupportedConstraints::supportsSampleSize):
(WebCore::MediaTrackSupportedConstraints::supportsEchoCancellation):
(WebCore::MediaTrackSupportedConstraints::supportsDeviceId):
(WebCore::MediaTrackSupportedConstraints::supportsGroupId):
(WebCore::MediaTrackSupportedConstraints::MediaTrackSupportedConstraints):
* Modules/mediastream/MediaTrackSupportedConstraints.idl: Added.

* WebCore.xcodeproj/project.pbxproj: Add JSMediaTrackSupportedConstraintsCustom.cpp,
  RealtimeMediaSourceSupportedConstraints.h, and MediaTrackSupportedConstraints.*.

A MediaTrackSupportedConstraints only contains the properties supported by the currently
available capture devices, so implement getOwnPropertySlot and getOwnPropertyNames so
we don't have to declare any attributes in the idl file.
* bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp: Added.
(WebCore::JSMediaTrackSupportedConstraints::getOwnPropertySlotDelegate):
(WebCore::JSMediaTrackSupportedConstraints::getOwnPropertyNames):

* platform/mediastream/RealtimeMediaSourceCenter.h:
* platform/mediastream/RealtimeMediaSourceSupportedConstraints.h: Added.
(WebCore::RealtimeMediaSourceSupportedConstraints::RealtimeMediaSourceSupportedConstraints):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsWidth):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsWidth):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsHeight):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsHeight):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsAspectRatio):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsAspectRatio):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsFrameRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFrameRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsFacingMode):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFacingMode):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsVolume):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsVolume):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsSampleRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsSampleRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsSampleSize):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsSampleSize):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsEchoCancellation):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsEchoCancellation):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsDeviceId):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsDeviceId):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsGroupId):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsGroupId):

* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::RealtimeMediaSourceCenterMac): Initialize supported constraints.
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:

* platform/mock/MockRealtimeMediaSource.cpp: Delete some dead code.

* platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::MockRealtimeMediaSourceCenter): Initialize supported constraints.
* platform/mock/MockRealtimeMediaSourceCenter.h:

LayoutTests:

* fast/mediastream/MediaDevices-getSupportedConstraints-expected.txt: Added.
* fast/mediastream/MediaDevices-getSupportedConstraints.html: Added.

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

6 years agoProgress towards implementing Downloads with NETWORK_SESSION
commit-queue@webkit.org [Thu, 19 Nov 2015 01:17:14 +0000 (01:17 +0000)]
Progress towards implementing Downloads with NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=151414

Reviewed begrudgingly by Brady Eidson.

Source/WebCore:

There is no change in behavior except that SessionIDs are sent across IPC and passed as parameters,
and they are not used yet.

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-18

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::continueAfterContentPolicy):
Removed an unused default. Compiler warnings will let us know if we add an unhandled case to this switch.
* loader/EmptyClients.h:
* loader/FrameLoaderClient.h:
Pass SessionIDs around.

Source/WebKit/mac:

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-18

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::detachedFromParent3):
(WebFrameLoaderClient::convertMainResourceLoadToDownload):

Source/WebKit2:

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-18

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::storageSession):
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::didReceiveChallenge):
(WebKit::NetworkLoad::didReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::downloadRequest):
(WebKit::NetworkProcess::resumeDownload):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::didConvertHandleToDownload):
(WebKit::NetworkResourceLoader::abort):
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/NetworkSession.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(toNSURLSessionResponseDisposition):
(-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[NetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[NetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[NetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[NetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
(-[NetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
* Shared/Downloads/Download.h:
* Shared/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):
(WebKit::DownloadManager::resumeDownload):
(WebKit::DownloadManager::cancelDownload):
(WebKit::DownloadManager::downloadFinished):
(WebKit::DownloadManager::didCreateDownload):
* Shared/Downloads/DownloadManager.h:
(WebKit::DownloadManager::isDownloading):
(WebKit::DownloadManager::activeDownloadCount):
* Shared/Downloads/mac/DownloadMac.mm:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
(WebKit::Download::resume):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::download):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::canCachePage):
(WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
(WebKit::WebFrameLoaderClient::createFrame):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
(WebKit::WebFrame::source):
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadRequest):
(WebKit::WebProcess::resumeDownload):
(WebKit::WebProcess::releasePageCache):
(WebKit::WebProcess::fetchWebsiteData):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

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

6 years agoSnippefy op_mul for the baseline JIT.
mark.lam@apple.com [Thu, 19 Nov 2015 00:54:37 +0000 (00:54 +0000)]
Snippefy op_mul for the baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=151393

Reviewed by Geoffrey Garen.

Benchmarks shows that perf is neutral on x86 and x86_64 with the DFG enabled.

With the DFG disabled (relying on the baseline JIT for perf), LongSpider
3d-morph shows a 7.6% regression.  However, there are other benchmarks that shows
a progression e.g. on Kraken, audio-beat-detection and audio-fft.

Upon inspection of the generated code for 3d-morph, the only differences is the
added use of a scratch register for the result as well as a jump around the
code that handles double types.  It does not look like we're generating bad code.
I'll consider the perf acceptable in aggregate.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:

* bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generate):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::boxInt32):
* jit/IntrinsicEmitter.cpp:
(JSC::AccessCase::emitIntrinsicGetter):
- Changed AssemblyHelpers::boxInt32() to take a TagRegistersMode.
  The pre-existing boxInt32() always assume that the tag registers are not
  available.  Since we should assume we have tag registers by default, I also
  changed all the other clients to explicitly specify a more of
  DoNotHaveTagRegisters.  That is except for the snippet generators that do have
  the tag registers.

* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::compileBinaryArithOpSlowCase):
(JSC::JIT::emit_op_div):
(JSC::JIT::emitSlow_op_add):
(JSC::JIT::emit_op_mul):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emit_op_sub):
(JSC::JIT::compileBinaryArithOp): Deleted.
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emitBinaryDoubleOp):
(JSC::JIT::emit_op_div):
(JSC::JIT::emit_op_mul): Deleted.
(JSC::JIT::emitSlow_op_mul): Deleted.
* jit/JITMulGenerator.cpp: Added.
(JSC::JITMulGenerator::generateFastPath):
* jit/JITMulGenerator.h: Added.
(JSC::JITMulGenerator::JITMulGenerator):
(JSC::JITMulGenerator::didEmitFastPath):
(JSC::JITMulGenerator::endJumpList):
(JSC::JITMulGenerator::slowPathJumpList):

* tests/stress/op_mul.js: Added.
(o1.valueOf):
(generateScenarios):
(printScenarios):
(testCases.func):
(func):
(initializeTestCases):
(stringifyIfNeeded):
(isIdentical):
(runTest):
- Tests that JIT op_mul results are equivalent to the expected values as
  defined by the LLINT.

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

6 years agoRemove some unnecessary jumps in snippet code.
mark.lam@apple.com [Thu, 19 Nov 2015 00:30:37 +0000 (00:30 +0000)]
Remove some unnecessary jumps in snippet code.
https://bugs.webkit.org/show_bug.cgi?id=151415

Reviewed by Geoffrey Garen.

Previously, the snippet generators always emit a jump at the end of the fast
path.  In the baseline JIT and FTL, this results in a jump to the very next
instruction.  I've change it to assume that the fast path will just fall thru,
and let the client decide instead if it wants/needs a jump or not after the fast
path.

I also changed the generators to provide a didEmitFastPath() query explicitly
declare if they actually generated the fast path, instead of having the client
infer it from an empty endJumpList.

Benchmarks show that perf is neutral with this change (tested on x86_64).

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* jit/JITAddGenerator.cpp:
(JSC::JITAddGenerator::generateFastPath):
* jit/JITAddGenerator.h:
(JSC::JITAddGenerator::didEmitFastPath):
(JSC::JITAddGenerator::endJumpList):
(JSC::JITAddGenerator::slowPathJumpList):
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_add):
(JSC::JIT::emit_op_sub):
* jit/JITSubGenerator.cpp:
(JSC::JITSubGenerator::generateFastPath):
* jit/JITSubGenerator.h:
(JSC::JITSubGenerator::didEmitFastPath):
(JSC::JITSubGenerator::endJumpList):
(JSC::JITSubGenerator::slowPathJumpList):

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

6 years ago[Mac] Swipe tests depend on user preferences
ap@apple.com [Thu, 19 Nov 2015 00:20:41 +0000 (00:20 +0000)]
[Mac] Swipe tests depend on user preferences
https://bugs.webkit.org/show_bug.cgi?id=151403

Reviewed by Tim Horton.

* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: (WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/mac/main.mm: (setDefaultsToConsistentValuesForTesting):
Override these preferences to match the default for a new OS X installation.

* DumpRenderTree/mac/DumpRenderTree.mm: (setDefaultsToConsistentValuesForTesting):
Swipe tests are not enabled in WK1, but let's override the default anyway.

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

6 years agoUnreviewed, rolling out r192436 and r192586.
commit-queue@webkit.org [Thu, 19 Nov 2015 00:03:26 +0000 (00:03 +0000)]
Unreviewed, rolling out r192436 and r192586.
https://bugs.webkit.org/show_bug.cgi?id=151417

Caused a hang in the inspector and a crash @ google.com.
(Requested by saamyjoon on #webkit).

Reverted changesets:

"Allow any LeftHandSideExpression as a valid
AssignmentElement"
https://bugs.webkit.org/show_bug.cgi?id=151026
http://trac.webkit.org/changeset/192436

"There is a bug when default parameter values are mixed with
destructuring parameter values"
https://bugs.webkit.org/show_bug.cgi?id=151369
http://trac.webkit.org/changeset/192586

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