Timeline
Nov 19, 2015:
- 11:02 PM Changeset in webkit [192677] by
-
- 2 edits in trunk/Source/WebCore
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.
- 10:02 PM Changeset in webkit [192676] by
-
- 2 edits in trunk/Source/JavaScriptCore
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 <Joseph Pecoraro> on 2015-11-19
Reviewed by Brian Burg.
- inspector/JSGlobalObjectInspectorController.h:
Value accidentally got flipped when moving to initializer syntax.
- 8:51 PM Changeset in webkit [192675] by
-
- 8 edits in trunk
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:
- 8:36 PM Changeset in webkit [192674] by
-
- 2 edits in trunk/Tools
Unreviewed, install llvm-static on Fedora to fix build now FTL is enabled
- gtk/install-dependencies:
- 7:52 PM Changeset in webkit [192673] by
-
- 112 edits1 copy in trunk
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
- 6:45 PM Changeset in webkit [192672] by
-
- 2 edits in trunk/Source/WebCore
[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):
- 6:37 PM Changeset in webkit [192671] by
-
- 44 edits3 adds in trunk
[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):
- 5:28 PM Changeset in webkit [192670] by
-
- 2 edits in trunk/LayoutTests
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:
- 5:20 PM Changeset in webkit [192669] by
-
- 6 edits in trunk/PerformanceTests
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.
- 5:13 PM Changeset in webkit [192668] by
-
- 2 edits in trunk/Source/WebKit2
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.
- 4:51 PM Changeset in webkit [192667] by
-
- 111 edits1 delete in trunk
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):
- 4:50 PM Changeset in webkit [192666] by
-
- 2 edits in trunk/LayoutTests
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:
- 3:35 PM Changeset in webkit [192665] by
-
- 7 edits in trunk/Source/JavaScriptCore
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):
- 3:32 PM Changeset in webkit [192664] by
-
- 4 edits9 adds in trunk/Source/JavaScriptCore
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.
- 3:14 PM Changeset in webkit [192663] by
-
- 2 edits in trunk/LayoutTests
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:
- 3:00 PM Changeset in webkit [192662] by
-
- 13 edits2 adds in trunk/Source
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
killLinecommand 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):
- 2:54 PM Changeset in webkit [192661] by
-
- 10 edits4 adds in trunk/Source/JavaScriptCore
[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.
- 2:29 PM Changeset in webkit [192660] by
-
- 13 edits2 adds in trunk
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:
- 2:18 PM Changeset in webkit [192659] by
-
- 3 edits in trunk/Source/JavaScriptCore
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):
- 2:05 PM Changeset in webkit [192658] by
-
- 2 edits in trunk/Source/JavaScriptCore
[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):
- 1:39 PM Changeset in webkit [192657] by
-
- 2 edits in trunk/LayoutTests
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:
- 1:25 PM Changeset in webkit [192656] by
-
- 2 edits in trunk/Source/JavaScriptCore
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):
- 1:04 PM Changeset in webkit [192655] by
-
- 2 edits in trunk/LayoutTests
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:
- 1:00 PM Changeset in webkit [192654] by
-
- 3 edits in trunk/Source/JavaScriptCore
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):
- 12:43 PM Changeset in webkit [192653] by
-
- 2 edits in trunk/LayoutTests
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:
- 12:29 PM Changeset in webkit [192652] by
-
- 3 edits in trunk/LayoutTests
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:
- 12:26 PM Changeset in webkit [192651] by
-
- 2 edits in trunk/Source/JavaScriptCore
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):
- 12:20 PM Changeset in webkit [192650] by
-
- 2 edits in trunk/LayoutTests
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:
- 12:03 PM Changeset in webkit [192649] by
-
- 4 edits in trunk/Source/JavaScriptCore
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):
- 12:01 PM Changeset in webkit [192648] by
-
- 6 edits in branches/safari-601.1.46-branch/Source
Merged r192284. rdar://problem/22846841
- 11:59 AM Changeset in webkit [192647] by
-
- 24 edits in branches/safari-601.1.46-branch/Source
Merged r192138. rdar://problem/22846841
- 11:57 AM Changeset in webkit [192646] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merged r189637. rdar://problem/22846841
- 11:57 AM Changeset in webkit [192645] by
-
- 45 edits4 adds in trunk
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:
- 11:55 AM Changeset in webkit [192644] by
-
- 7 edits in branches/safari-601.1.46-branch/Source
Merged r190574. rdar://problem/22846841
- 11:52 AM Changeset in webkit [192643] by
-
- 4 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merged r189635. rdar://problem/22846841
- 11:50 AM Changeset in webkit [192642] by
-
- 4 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merged r189628. rdar://problem/22846841
- 11:29 AM Changeset in webkit [192641] by
-
- 7 edits4 adds in trunk
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.
- 11:28 AM Changeset in webkit [192640] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 11:16 AM Changeset in webkit [192639] by
-
- 4 edits3 adds in trunk
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.
- 11:15 AM Changeset in webkit [192638] by
-
- 2 edits in trunk/Tools
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.
- 11:06 AM Changeset in webkit [192637] by
-
- 2 edits in trunk/LayoutTests
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:
- 10:43 AM Changeset in webkit [192636] by
-
- 10 edits3 deletes in tags/Safari-602.1.12/Source/JavaScriptCore
Roll out r192436. rdar://problem/23599078
- 10:42 AM Changeset in webkit [192635] by
-
- 3 edits in trunk/Tools
[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.
- 10:31 AM Changeset in webkit [192634] by
-
- 2 edits in trunk/Source/WebCore
[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):
- 10:19 AM Changeset in webkit [192633] by
-
- 2 edits in trunk/LayoutTests
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:
- 10:00 AM Changeset in webkit [192632] by
-
- 4 edits in trunk/Source/JavaScriptCore
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):
- 9:45 AM Changeset in webkit [192631] by
-
- 8 edits4 deletes in trunk
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
- 9:42 AM Changeset in webkit [192630] by
-
- 3 edits in trunk/Tools
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.
- 9:42 AM Changeset in webkit [192629] by
-
- 2 edits in trunk/Source/WebKit2
[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):
- 9:38 AM Changeset in webkit [192628] by
-
- 8 edits in trunk/Source
[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):
- 7:50 AM Changeset in webkit [192627] by
-
- 2 edits in trunk/LayoutTests
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
- 4:54 AM Changeset in webkit [192626] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed CLOOP buildfix after r192624.
- runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):
- runtime/MemoryStatistics.h:
- 4:01 AM Changeset in webkit [192625] by
-
- 3 edits in trunk/Source/JavaScriptCore
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:
- 3:58 AM Changeset in webkit [192624] by
-
- 2 edits in trunk/Source/JavaScriptCore
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):
- 3:37 AM Changeset in webkit [192623] by
-
- 3 edits in trunk/Source/WebKit/win
Unreviewed speculative buildfix after r192601.
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
- WebCoreSupport/WebFrameLoaderClient.h:
- 2:06 AM Changeset in webkit [192622] by
-
- 8 edits7 adds in trunk
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.
- 1:21 AM Changeset in webkit [192621] by
-
- 10 edits in trunk
[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.
- 1:14 AM Changeset in webkit [192620] by
-
- 4 edits in trunk
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):
- 12:38 AM Changeset in webkit [192619] by
-
- 15 edits in trunk/Source/JavaScriptCore
[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):
- 12:19 AM Changeset in webkit [192618] by
-
- 7 edits4 adds in trunk
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.
- 12:17 AM Changeset in webkit [192617] by
-
- 5 edits in trunk/Tools
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.
- 12:05 AM Changeset in webkit [192616] by
-
- 8 edits in trunk/Source/WebInspectorUI
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.
Nov 18, 2015:
- 10:30 PM Changeset in webkit [192615] by
-
- 4 edits2 adds in trunk
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.
- 10:27 PM Changeset in webkit [192614] by
-
- 3 edits in trunk/Source/WebInspectorUI
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.
- 9:47 PM Changeset in webkit [192613] by
-
- 2 edits in trunk/Source/WebInspectorUI
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):
- 9:44 PM Changeset in webkit [192612] by
-
- 9 edits in trunk/Source/WebInspectorUI
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.
- 8:48 PM Changeset in webkit [192611] by
-
- 2 edits in trunk/Websites/perf.webkit.org
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.
- 8:36 PM Changeset in webkit [192610] by
-
- 17 edits1 copy7 adds in trunk
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.
- 8:15 PM Changeset in webkit [192609] by
-
- 3 edits in trunk/Source/JavaScriptCore
[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.
- 8:14 PM Changeset in webkit [192608] by
-
- 3 edits2 adds in trunk
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.
- 7:20 PM Changeset in webkit [192607] by
-
- 10 edits in trunk/Source/WebCore
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.
- 7:09 PM Changeset in webkit [192606] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix typos in r192605
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileUpsilon):
- 6:48 PM Changeset in webkit [192605] by
-
- 16 edits in trunk/Source/JavaScriptCore
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):
- 5:42 PM Changeset in webkit [192604] by
-
- 6 edits5 adds in trunk
[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:
- 5:26 PM Changeset in webkit [192603] by
-
- 4 edits in trunk/Source/JavaScriptCore
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:
- 5:24 PM Changeset in webkit [192602] by
-
- 15 edits6 adds in trunk
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.
- 5:17 PM Changeset in webkit [192601] by
-
- 33 edits in trunk/Source
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:
- 4:54 PM Changeset in webkit [192600] by
-
- 11 edits3 adds in trunk/Source/JavaScriptCore
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.
- 4:30 PM Changeset in webkit [192599] by
-
- 8 edits in trunk/Source/JavaScriptCore
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):
- 4:20 PM Changeset in webkit [192598] by
-
- 4 edits in trunk/Tools
[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.
- 4:03 PM Changeset in webkit [192597] by
-
- 11 edits3 deletes in trunk/Source/JavaScriptCore
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
- 4:01 PM Changeset in webkit [192596] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[JSC] TailCalls should not trigger assertion failures when running with the jsc profiler on.
https://bugs.webkit.org/show_bug.cgi?id=151359
Reviewed by Geoffrey Garen.
If we have the profiler on when parsing tail calls in the dfg we would emit a CountExecutions node
following a TailCall node as our bytecode for tail calls always emits a op_ret following an op_tail_call.
This trips assertions that no nodes follow a terminal in a basic block. This patch fixes this issue by
not emiting a CountExecutions when we have a tail call that is terminal i.e. the tail caller is not
inlined into another function or the tail caller is inlined but is in tail position itself.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleVarargsCall):
(JSC::DFG::ByteCodeParser::parseBlock):
- tests/stress/tail-call-profiler.js: Added.
(tail):
(inlineTail):
(inlineTailVarArgs):
(inlineTailTernary):
(body):
- 3:48 PM Changeset in webkit [192595] by
-
- 3 edits in trunk/Source/WebCore
ResourceUsageOverlay should have better accounting for reclaimable memory.
<https://webkit.org/b/151407>
Reviewed by Anders Carlsson.
Add code to inspect the purgeable state of VM regions when traversing the
web process VM map, and track reclaimable regions of memory separately.
Memory categories that have some amount of reclaimable memory are now
displayed with the reclaimable amount in brackets, e.g "123.45 MB [56.78MB]"
- page/ResourceUsageOverlay.h:
- page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::ResourceUsageOverlay::platformDraw):
(WebCore::TagInfo::TagInfo):
(WebCore::pagesPerVMTag):
(WebCore::runSamplerThread):
(WebCore::dirtyPagesPerVMTag): Deleted.
- 3:47 PM Changeset in webkit [192594] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Probes sidebar panel sections should use NavigationBar
https://bugs.webkit.org/show_bug.cgi?id=151373
Reviewed by Brian Burg.
Replaces image elements with a NavigationBar instance. The "Clear samples"
button is disabled when no samples exist in the probe set.
- Localizations/en.lproj/localizedStrings.js:
New navigation item labels.
- UserInterface/Models/ProbeSet.js:
(WebInspector.ProbeSet.prototype._sampleCollected):
Dispatch new event WebInspector.ProbeSet.Event.SampleAdded.
- UserInterface/Views/DetailsSection.css:
(.details-section > .header > .options > .navigation-bar):
(.details-section > .header > .options > .navigation-bar > .item):
Define consistent style for showing a NavigationBar inside the section header.
- UserInterface/Views/DetailsSection.js:
(WebInspector.DetailsSection):
Add "options" class name in the base class.
- UserInterface/Views/ProbeDetailsSidebarPanel.css:
(.details-section.probe-set .options > :matches(.probe-remove, .probe-clear-samples, .probe-add)): Deleted.
(.details-section.probe-set .options > .probe-clear-samples): Deleted.
(.details-section.probe-set .options > .probe-remove): Deleted.
(.details-section.probe-set .options > .probe-add): Deleted.
Remove <img> button styles.
- UserInterface/Views/ProbeSetDetailsSection.js:
(WebInspector.ProbeSetDetailsSection):
(WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked.createProbeFromEnteredExpression):
(WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._probeSetSamplesChanged):
Update "Clear samples" enabled state.
(WebInspector.ProbeSetDetailsSection.prototype._probeSetHasSamples):
Helper function to check if the probe set is empty.
- 3:21 PM Changeset in webkit [192593] by
-
- 4 edits in trunk/Source/WebKit2
Clean up / optimize NetworkCacheSubresourcesEntry
https://bugs.webkit.org/show_bug.cgi?id=151405
Reviewed by Antti Koivisto.
Clean up / optimize NetworkCacheSubresourcesEntry:
- Remove m_sourceStorageRecord data member
- Avoid copying the Key when constructing it
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::encodeAsSubresourcesRecord):
- NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
(WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
- NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
- 3:17 PM Changeset in webkit [192592] by
-
- 4 edits3 adds in trunk
Web Inspector: Client Blocked Resource Requests causes Crash under InspectorPageAgent::cachedResource
https://bugs.webkit.org/show_bug.cgi?id=151398
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-18
Reviewed by Brian Burg.
Source/WebCore:
Test: inspector/network/client-blocked-load.html
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResource):
Gracefully handle null request.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::cachedResource):
ASSERT if someone tried to pass a null URL.
LayoutTests:
- inspector/network/client-blocked-load-expected.txt: Added.
- inspector/network/client-blocked-load.html: Added.
- 3:14 PM Changeset in webkit [192591] by
-
- 19 edits1 add in trunk/Source/JavaScriptCore
[JSC] Make LBasicBlock into an alias for B3::BasicBlock. #ifdef anything that does not compile
https://bugs.webkit.org/show_bug.cgi?id=151381
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-18
Reviewed by Filip Pizlo.
- JavaScriptCore.xcodeproj/project.pbxproj:
- ftl/FTLAbbreviatedTypes.h:
- ftl/FTLAbbreviations.h:
- ftl/FTLAbstractHeap.cpp:
(JSC::FTL::AbstractHeap::decorateInstruction):
(JSC::FTL::IndexedAbstractHeap::IndexedAbstractHeap):
- ftl/FTLAbstractHeap.h:
(JSC::FTL::AbstractHeap::AbstractHeap):
- ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLB3Output.h:
(JSC::FTL::Output::newBlock):
(JSC::FTL::Output::insertNewBlocksBefore):
(JSC::FTL::Output::addIncomingToPhi):
(JSC::FTL::Output::Output): Deleted.
(JSC::FTL::Output::initialize): Deleted.
- ftl/FTLCommonValues.cpp:
(JSC::FTL::CommonValues::CommonValues):
- ftl/FTLCommonValues.h:
- ftl/FTLIntrinsicRepository.cpp:
- ftl/FTLIntrinsicRepository.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutById):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateDirectArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToLLVM::compileTailCall):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileForwardVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileIn):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInstanceOf):
(JSC::FTL::DFG::LowerDFGToLLVM::getById):
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):
(JSC::FTL::DFG::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):
(JSC::FTL::DFG::LowerDFGToLLVM::crash):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::Output):
- ftl/FTLOutput.h:
(JSC::FTL::Output::addIncomingToPhi):
- ftl/FTLState.cpp:
(JSC::FTL::State::dumpState):
- ftl/FTLValueRange.cpp:
(JSC::FTL::ValueRange::decorateInstruction):
- ftl/FTLValueRange.h:
(JSC::FTL::ValueRange::ValueRange):
- 3:05 PM Changeset in webkit [192590] by
-
- 12 edits1 add in trunk/Source/JavaScriptCore
Implement the B3 equivalent of FTLCompile
https://bugs.webkit.org/show_bug.cgi?id=151370
Reviewed by Benjamin Poulain.
This adds a B3 version of FTLCompile and gets the data structures related to installing an FTL
compilation (i.e. the finalizer and JITCode) to be aware of B3. That requires stubbing a lot of stuff
out and also simplifying a lot of code around having everything inside a single contiguous chunk of
JIT code rather than some opaque JIT code handles plus miscellaneous side-codes. This compiles but
crashes because lowering isn't done yet.
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/B3Procedure.cpp:
(JSC::B3::Procedure::addDataSection):
(JSC::B3::Procedure::calleeSaveRegisters):
(JSC::B3::Procedure::addValueIndex):
- b3/B3Procedure.h:
(JSC::B3::Procedure::code):
- ftl/FTLB3Compile.cpp: Added.
(JSC::FTL::compile):
- ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
- ftl/FTLExceptionHandlerManager.cpp:
(JSC::FTL::ExceptionHandlerManager::callOperationExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::lazySlowPathExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::getByIdOSRExit):
- ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::~JITCode):
(JSC::FTL::JITCode::initializeB3Code):
(JSC::FTL::JITCode::initializeExitThunks):
(JSC::FTL::JITCode::addDataSection):
(JSC::FTL::JITCode::initializeAddressForCall):
(JSC::FTL::JITCode::initializeArityCheckEntrypoint):
(JSC::FTL::JITCode::addressForCall):
(JSC::FTL::JITCode::contains):
(JSC::FTL::JITCode::exitThunks):
(JSC::FTL::JITCode::ftl):
- ftl/FTLJITCode.h:
(JSC::FTL::JITCode::b3Code):
(JSC::FTL::JITCode::handles):
(JSC::FTL::JITCode::dataSections):
- ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::codeSize):
(JSC::FTL::JITFinalizer::finalizeFunction):
- ftl/FTLJITFinalizer.h:
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::gatherRegistersToSpillForCallIfException):
- 3:04 PM Changeset in webkit [192589] by
-
- 13 edits in trunk/Source
Expose WebCore's AudioPlaybackRequiresUserGesture setting to WebKit & WebKit2
https://bugs.webkit.org/show_bug.cgi?id=151274
Reviewed by Anders Carlsson.
Source/WebKit/mac:
Add a WebKit preference key, WebKitAudioPlaybackRequiresUserGesture, and a matching WebPreference
property, and transfer those preferences to WebCore's settings when they change.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences audioPlaybackRequiresUserGesture]):
(-[WebPreferences setAudioPlaybackRequiresUserGesture:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
Add a new, private, WKWebViewConfiguration property, _requiresUserActionForAudioPlayback,
and use that configuration property to set WebCore's AudioPlaybackRequiresUserGesture setting
during page creation.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAudioPlaybackRequiresUserGesture): Add legacy C API for setting this new WK preference.
(WKPreferencesGetAudioPlaybackRequiresUserGesture): Ditto.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Set the page configuration value from preferences.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]): Default the value of the new configuration property to YES for iOS.
(-[WKWebViewConfiguration copyWithZone:]): Copy the value across.
(-[WKWebViewConfiguration _requiresUserActionForAudioPlayback]): Simple getter.
(-[WKWebViewConfiguration _setRequiresUserActionForAudioPlayback:]): Simple setter.
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Set WebCore's audioPlaybackRequiresUserGesture Setting.
- 2:30 PM Changeset in webkit [192588] by
-
- 1 edit1 add in trunk/Websites/webkit.org
Adding a maintenance file for the old WordPress blog.
Reviewed by Timothy Hatcher.
- blog/wp-content/maintenance.php: Added.
- 2:21 PM Changeset in webkit [192587] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, skip additional mediastream tests that crash when painting a mock video source.
These tests were not skipped previously because the crashes are timing-dependent and do not
always reproduce. See https://bugs.webkit.org/show_bug.cgi?id=151353 for more details.
- platform/mac/TestExpectations:
- 2:01 PM Changeset in webkit [192586] by
-
- 4 edits in trunk/Source/JavaScriptCore
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.
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:
- 1:46 PM Changeset in webkit [192585] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Timeline Recording across page navigations behaves poorly
https://bugs.webkit.org/show_bug.cgi?id=151112
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-11-18
Reviewed by Timothy Hatcher.
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameStartedLoading): Deleted.
Don't reset the execution stopwatch on page navigation.
If a timeline is actively being recorded on the frontend
then all new timestamps suddenly downshifted towards zero
introduces bad data.
- 1:36 PM Changeset in webkit [192584] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Watch Expressions details section should use NavigationBar
https://bugs.webkit.org/show_bug.cgi?id=151377
Reviewed by Timothy Hatcher.
Replaces image elements with a NavigationBar instance. The refresh and
clear buttons are disabled if no watch expressions exist.
- Localizations/en.lproj/localizedStrings.js:
New navigation item labels.
- UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
(.details-section.watch-expressions .options > *): Deleted.
(.details-section.watch-expressions .options > *:active): Deleted.
(.details-section.watch-expressions .options > .watch-expression-add): Deleted.
(.details-section.watch-expressions .options > .watch-expression-clear): Deleted.
(.details-section.watch-expressions .options > .watch-expression-refresh): Deleted.
Remove <img> button styles.
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.presentPopoverOverTargetElement):
Use the navigation item element.
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._updateWatchExpressionsNavigationBar):
Enable/disable refresh and clear buttons.
- 11:47 AM Changeset in webkit [192583] by
-
- 6 edits in trunk/Source
[iOS] ASSERTION FAILED: temporaryFilePath.last() == '/' in WebCore::openTemporaryFile()
https://bugs.webkit.org/show_bug.cgi?id=151392
<rdar://problem/23595341>
Reviewed by Alexey Proskuryakov.
Workaround <rdar://problem/23579077> where confstr(_CS_DARWIN_USER_TEMP_DIR, ..., ...) retrieves
the path to the user temporary directory without a trailing slash in the iOS simulator.
Source/WebCore:
- platform/mac/FileSystemMac.mm:
(WebCore::openTemporaryFile): Add a path separator (/) between the directory path and filename.
Source/WebKit2:
- Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::createHandleForTemporaryFile): Add a path separator (/) between the directory path and filename.
Source/WTF:
- wtf/DataLog.cpp:
(WTF::initializeLogFileOnce):
- 11:07 AM Changeset in webkit [192582] by
-
- 4 edits in trunk/Source/WebCore
Null dereference in Performance::Performance(WebCore::Frame*)
https://bugs.webkit.org/show_bug.cgi?id=151390
Reviewed by Brady Eidson.
Based on the stack trace, it appears the DocumentLoader can be null
when constructing the Performance object. This patch thus adds a null
check before trying to dereference it.
No new tests, was not able to reproduce.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::navigator):
(WebCore::DOMWindow::performance):
- page/Performance.cpp:
(WebCore::Performance::Performance):
(WebCore::Performance::scriptExecutionContext):
- page/Performance.h:
- 11:02 AM Changeset in webkit [192581] by
-
- 5 edits in trunk/Source
Versioning.
- 10:59 AM Changeset in webkit [192580] by
-
- 1 copy in tags/Safari-602.1.12
New tag.
- 10:29 AM Changeset in webkit [192579] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, skip remaining mediastream tests that crash when painting a mock video source.
- platform/mac/TestExpectations:
- 10:24 AM Changeset in webkit [192578] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo][MediaFoundation] The main thread can sometimes be blocked forever when ending a media session.
https://bugs.webkit.org/show_bug.cgi?id=151387
Reviewed by Alex Christensen.
This happens because the main thread is waiting for the sample scheduler thread to finish,
but sometimes it never does. This can be resolved by emptying the scheduler's sample queue
before requesting the scheduler thread to finish. This will make sure the scheduler thread
returns to its main loop quickly, and can handle the termination request.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopScheduler):
- 9:40 AM Changeset in webkit [192577] by
-
- 2 edits in trunk/LayoutTests
Marking two new mediastream/RTCPeerConnection tests as crashing on debug during investigation.
https://bugs.webkit.org/show_bug.cgi?id=151304
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:25 AM Changeset in webkit [192576] by
-
- 2 edits in trunk/LayoutTests
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:
- 6:52 AM Changeset in webkit [192575] by
-
- 5 edits6 adds in trunk
WebRTC: Initial testing of updated RTCPeerConnection API
https://bugs.webkit.org/show_bug.cgi?id=151304
Reviewed by Eric Carlson.
Source/WebCore:
Add an empty implementation of MediaEndpointPeerConnection which
realizes the PeerConnectionBackend interface. This makes it possible
to construct an RTCPeerConnection and do initial testing.
Tests: fast/mediastream/RTCPeerConnection-overloaded-operations-params.html
fast/mediastream/RTCPeerConnection-overloaded-operations.html
Also unskip three existing RTCPeerConnection tests on GTK.
- CMakeLists.txt:
- Modules/mediastream/MediaEndpointPeerConnection.cpp: Added.
(WebCore::createMediaEndpointPeerConnection):
(WebCore::MediaEndpointPeerConnection::MediaEndpointPeerConnection):
(WebCore::MediaEndpointPeerConnection::createOffer):
(WebCore::MediaEndpointPeerConnection::createAnswer):
(WebCore::MediaEndpointPeerConnection::setLocalDescription):
(WebCore::MediaEndpointPeerConnection::localDescription):
(WebCore::MediaEndpointPeerConnection::currentLocalDescription):
(WebCore::MediaEndpointPeerConnection::pendingLocalDescription):
(WebCore::MediaEndpointPeerConnection::setRemoteDescription):
(WebCore::MediaEndpointPeerConnection::remoteDescription):
(WebCore::MediaEndpointPeerConnection::currentRemoteDescription):
(WebCore::MediaEndpointPeerConnection::pendingRemoteDescription):
(WebCore::MediaEndpointPeerConnection::setConfiguration):
(WebCore::MediaEndpointPeerConnection::addIceCandidate):
(WebCore::MediaEndpointPeerConnection::getStats):
(WebCore::MediaEndpointPeerConnection::stop):
(WebCore::MediaEndpointPeerConnection::markAsNeedingNegotiation):
- Modules/mediastream/MediaEndpointPeerConnection.h: Added.
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
Add two new tests and unskip three old ones (details below).
- fast/mediastream/RTCPeerConnection-overloaded-operations-expected.txt: Added.
- fast/mediastream/RTCPeerConnection-overloaded-operations-params-expected.txt: Added.
- fast/mediastream/RTCPeerConnection-overloaded-operations-params.html: Added.
Feeds some good but mostly bad input to the overloaded operations to verify JS built-ins
argument checking.
- fast/mediastream/RTCPeerConnection-overloaded-operations.html: Added.
Verifies that the correct overloaded operation is invoked. For examaple, createOffer()
without arguments should invoke the promise based function, but the same operation with
two function arguments should invoke the legacy callback version.
- platform/gtk/TestExpectations:
Unskip fast/mediastream/RTCIceCandidate.html, fast/mediastream/RTCPeerConnection.html
and fast/mediastream/RTCSessionDescription.html.
- 5:48 AM WebKitGTK/2.10.x edited by
- Propose r192574 (diff)
- 5:25 AM Changeset in webkit [192574] by
-
- 2 edits in trunk/Source/WebCore
[Cairo] SolidStroke broken in drawLine after r191658
https://bugs.webkit.org/show_bug.cgi?id=151385
Patch by Alejandro G. Castro <alex@igalia.com> on 2015-11-18
Reviewed by Carlos Garcia Campos.
Fix the drawLine function after r191658, we have to make sure the
color is set when line is SolidStroke.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLine):
- 4:53 AM Changeset in webkit [192573] by
-
- 5 edits4 adds in trunk
[CSS Grid Layout] inline margins not honored when not using stretch in row-axis alignment
https://bugs.webkit.org/show_bug.cgi?id=151323
Reviewed by Sergio Villar Senin.
Source/WebCore:
There are some situations where we avoid to compute the inline-axis
margins when computing the logical width of a box. One of those situations
is when we have set an override width; this only affects for now to flex
and grid items. We also follow this approach when setting the logical
width based on the restrictions of 'auto' value in the 'min-width'
property.
This behavior is not correct, since there is no reason to avoid
computing this margins, in the general case. I think this logic was
designed as an optimization for flexbox, which was already computing
the margins by its own, but it's not applicable in the general case, so
grid needs these margins to be computed properly.
For the shrink-to-fit behavior we can add some grid related logic to the
already defined RenderBox function "sizesLogicalWidthToFitContent",
so we avoid the override width.
Tests: fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding.html
fast/css-grid-layout/min-width-height-auto-and-margins.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
- rendering/RenderGrid.cpp:
(WebCore::defaultAlignmentChangedFromStretchInRowAxis):
(WebCore::selfAlignmentChangedFromStretchInRowAxis):
(WebCore::RenderGrid::styleDidChange):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
(WebCore::selfAlignmentChangedFromStretchInColumnAxis): Deleted.
(WebCore::RenderGrid::computeMarginLogicalHeightForChild): Deleted.
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching): Deleted.
LayoutTests:
Tests to verify that margins are computed properly on grid items
using an alignment value different than stretch or when min-width
is auto.
- fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding-expected.txt: Added.
- fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding.html: Added.
- fast/css-grid-layout/min-width-height-auto-and-margins-expected.txt: Added.
- fast/css-grid-layout/min-width-height-auto-and-margins.html: Added.
- 4:43 AM Changeset in webkit [192572] by
-
- 3 edits1 delete in trunk/Tools
[GTK] Update xserver version in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=151383
Reviewed by Alejandro G. Castro.
In r192568 I assumed the bots would have a recent enough Xvfb
to use the -displayfd option, but I forgot we build our own
xserver just for Xvfb. The version we build is too old, so
we could just use an updated version (the same bots have
installed, for example) to use the -displayfd option.
- gtk/jhbuild.modules: Update xserver to 1.16.4.
- gtk/patches/xserver-fix-glx-init.patch: Deleted.
- gtk/patches/xserver-remove-bogus-dependencies.patch: Updated to
apply on 1.16.4.
- 3:30 AM Changeset in webkit [192571] by
-
- 2 edits in trunk/LayoutTests
WebRTC: [GTK] Skip failing MediaStream tests
https://bugs.webkit.org/show_bug.cgi?id=151360
Reviewed by Eric Carlson.
- platform/gtk/TestExpectations:
Two tests skipped. Awaits resolution of https://webkit.org/b/151344.
- 3:12 AM Changeset in webkit [192570] by
-
- 4 edits2 adds in trunk
AX: Shadow DOM video player controls menus need aria-owns on the trigger buttons
https://bugs.webkit.org/show_bug.cgi?id=127065
Patch by Aaron Chu <arona.chu@gmail.com> on 2015-11-18
Reviewed by Darin Adler.
Source/WebCore:
Test: media/accessibility-closed-captions-has-aria-owns.html
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.buildCaptionMenu):
- Modules/mediacontrols/mediaControlsBase.js:
(Controller.prototype.createControls):
(Controller.prototype.buildCaptionMenu):
LayoutTests:
- media/accessibility-closed-captions-has-aria-owns-expected.txt: Added.
- media/accessibility-closed-captions-has-aria-owns.html: Added.
- 3:02 AM Changeset in webkit [192569] by
-
- 3 edits in trunk/Tools
Unreviewed. Fix webkitpy tests after r192568.
Instead of ignoring exception when closing mock fds, use a helper
function that the unit test can override to do nothing.
- Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_close_pipe):
(XvfbDriver._xvfb_run):
- Scripts/webkitpy/port/xvfbdriver_unittest.py:
(XvfbDriverTest.make_driver):
- 1:05 AM Changeset in webkit [192568] by
-
- 3 edits in trunk/Tools
[XvfbDriver] Fail to run all layout tests when X server started with -displayfd option
https://bugs.webkit.org/show_bug.cgi?id=151135
Reviewed by Darin Adler.
The XvfbDriver uses the x server command line to check the
displays that are currently in use. This doesn't work when X
server was started with -displayfd option. This option is used to let
the server find the display id available that is written to the
given file descriptor. With this option xorg doesn't need to
create the lock files in tmp either. The -displayfd option is also
available in Xvfb, so we could use it too. That would simplify the
code, fixing also race conditions between the check for available
displays and Xvfb opening the connection, we wouldn't need to wait
for 4 seconds after launching Xvfb, and all lock files we are
using won't be needed either.
- Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_pipe): Helper function to create the pipe, only
needed to be overriden by unit tests.
(XvfbDriver._xvfb_read_display_id): Helper function to read from
the pipe, only needed to be overriden by unit tests.
(XvfbDriver._xvfb_run): Run Xvfb with -displayfd option, using a
pipe to read the display id.
(XvfbDriver._start): Call _xvfb_run() and remove the code to run
Xvfb for a given display.
(XvfbDriver.stop): Remove code to release and delete file locks.
- Scripts/webkitpy/port/xvfbdriver_unittest.py:
(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_start):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_stop):
(XvfbDriverTest.assertDriverStartSuccessful): Deleted.
(XvfbDriverTest): Deleted.
(XvfbDriverTest.test_stop.FakeXvfbProcess): Deleted.