Timeline



Apr 13, 2017:

11:51 PM Changeset in webkit [215358] by webkit@devinrousso.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Implement autocompletion for CSS variables
https://bugs.webkit.org/show_bug.cgi?id=154441

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype.completionControllerCompletionsNeeded):
Add CSS variables to the list of matching completions based on those defined in the current
node's computed style.

9:47 PM Changeset in webkit [215357] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: No context menu available via ENABLE_INSPECTOR_SERVER
https://bugs.webkit.org/show_bug.cgi?id=170705

Patch by Ross Kirsling <Ross Kirsling> on 2017-04-13
Reviewed by Joseph Pecoraro.

Reintroduce old SoftContextMenu class (removed in r157278) and apply various fixes:

  • Remove legacy globals and prototype extensions.
  • Align JS/CSS style with current front-end code.
  • Update UI and fix UX to replicate the macOS native context menu.
  • Scripts/copy-user-interface-resources.pl:

Add copyright line for Sony Interactive Entertainment.

  • UserInterface/Base/InspectorFrontendHostStub.js:

(WebInspector.InspectorFrontendHostStub.prototype.showContextMenu):
Use SoftContextMenu.

  • UserInterface/Main.html:

Include SoftContextMenu.

  • UserInterface/Views/SoftContextMenu.css: Added.

(.soft-context-menu-glass-pane):
(.soft-context-menu):
(.soft-context-menu > .item):
(.soft-context-menu > .item.disabled):
(.soft-context-menu > .item.highlighted):
(.soft-context-menu > .item > .checkmark):
(.soft-context-menu > .item > .label):
(.soft-context-menu > .item > .submenu-arrow):
(.soft-context-menu > .separator):
(.soft-context-menu > .separator > .line):

  • UserInterface/Views/SoftContextMenu.js: Added.

(WebInspector.SoftContextMenu):
(WebInspector.SoftContextMenu.prototype.show):
(WebInspector.SoftContextMenu.prototype._consumeEvent):
(WebInspector.SoftContextMenu.prototype._parentGlassPaneElement):
(WebInspector.SoftContextMenu.prototype._createMenuItem):
(WebInspector.SoftContextMenu.prototype._createSeparator):
(WebInspector.SoftContextMenu.prototype._repositionMenuOnScreen):
(WebInspector.SoftContextMenu.prototype._showSubMenu):
(WebInspector.SoftContextMenu.prototype._hideSubMenu):
(WebInspector.SoftContextMenu.prototype._menuItemContextMenu):
(WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
(WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
(WebInspector.SoftContextMenu.prototype._menuItemMouseOver):
(WebInspector.SoftContextMenu.prototype._menuItemMouseOut):
(WebInspector.SoftContextMenu.prototype._menuKeyDown):
(WebInspector.SoftContextMenu.prototype._glassPaneMouseDown):
(WebInspector.SoftContextMenu.prototype._focus):
(WebInspector.SoftContextMenu.prototype._triggerAction):
(WebInspector.SoftContextMenu.prototype._highlightMenuItem):
(WebInspector.SoftContextMenu.prototype._highlightPrevious):
(WebInspector.SoftContextMenu.prototype._highlightNext):
(WebInspector.SoftContextMenu.prototype._discardMenu):
(WebInspector.SoftContextMenu.prototype._discardSubMenus):

9:46 PM Changeset in webkit [215356] by jfbastien@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

WebAssembly: fix windows build
https://bugs.webkit.org/show_bug.cgi?id=170832

Reviewed by Mark Lam.

My previous patch re-declared isIOS which AssemblerCommon.h
already provided, and which was already included by Options.cpp.

  • runtime/Options.cpp:
9:33 PM Changeset in webkit [215355] by mitz@apple.com
  • 12 edits
    3 adds in trunk

[Cocoa] Allow clients to specify in _WKProcessPoolConfiguration additional directory sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=170387

Reviewed by Sam Weinig.

Source/WebKit2:

Test: TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm

Added an additionalReadAccessAllowedURLs property to _WKProcessPoolConfiguration.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode): Encode the new

additionalSandboxExtensionHandles member.

(WebKit::WebProcessCreationParameters::decode): Decode it.

  • Shared/WebProcessCreationParameters.h: Added additionalSandboxExtensionHandles member.
  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy): Copy new m_additionalReadAccessAllowedPaths member.

  • UIProcess/API/APIProcessPoolConfiguration.h: Added m_additionalReadAccessAllowedPaths member and accessor functions.
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: Declared new additionalReadAccessAllowedURLs property whose value is an array of URLs to which the Web Content process will be given read access.
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration additionalReadAccessAllowedURLs]): New getter that returns

an array of file URLs from the ProcessPoolConfiguration's additionalReadAccessAllowedPaths().

(-[_WKProcessPoolConfiguration setAdditionalReadAccessAllowedURLs:]): New setter that checks

that the given URLs are file URLs and populates the ProcessPoolConfiguration's
additionalReadAccessAllowedPaths with their paths.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::resolvePathsForSandboxExtensions): Populate the new

m_resolvedPaths.additionalWebProcessSandboxExtensionPaths with resolved paths from the
ProcessPoolConfiguration's additionalReadAccessAllowedPaths.

(WebKit::WebProcessPool::createNewWebProcess): Populate the WebProcessCreationParameters's

additionalSandboxExtensionHandles member with read-only sandbox extensions created from
the resolved paths.

  • UIProcess/WebProcessPool.h: Added additionalWebProcessSandboxExtensionPaths member to the Paths struct.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Consume the additional sandbox extensions.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Added.

(TEST):

  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Added.

(-[AdditionalReadAccessAllowedURLsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[AdditionalReadAccessAllowedURLsPlugIn dealloc]):
(-[AdditionalReadAccessAllowedURLsPlugIn readStringFromURL:completionHandler:]):

  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Added.
9:25 PM Changeset in webkit [215354] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

WTF installs an extra copy of a header outside /usr/local/include/wtf

  • WTF.xcodeproj/project.pbxproj: Demoted PriorityQueue.h from Private to Project.
7:10 PM Changeset in webkit [215353] by sbarati@apple.com
  • 21 edits
    30 adds in trunk

WebAssembly: We should be able to postMessage a JSWebAssemblyModule
https://bugs.webkit.org/show_bug.cgi?id=170573

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch adds a callback to JSRunLoopTimer to notify
clients that a timer has been set. This is used inside
WorkerRunLoop in WebCore so that its RunLoop can perform
an iteration when it sees that a timer got set.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/JSRunLoopTimer.cpp:

(JSC::JSRunLoopTimer::scheduleTimer):
(JSC::JSRunLoopTimer::addTimerSetNotification):
(JSC::JSRunLoopTimer::removeTimerSetNotification):

  • runtime/JSRunLoopTimer.h:
  • wasm/WasmCodeBlock.cpp:

(JSC::Wasm::CodeBlock::~CodeBlock):

  • wasm/WasmCodeBlock.h:
  • wasm/WasmModule.cpp:

(JSC::Wasm::Module::~Module):
(JSC::Wasm::Module::signatureIndexFromFunctionIndexSpace):
(JSC::Wasm::makeValidationCallback):
(JSC::Wasm::Module::validateSync):
(JSC::Wasm::Module::validateAsync):
(JSC::Wasm::Module::validateSyncImpl): Deleted.
(JSC::Wasm::Module::makeValidationCallback): Deleted.

  • wasm/WasmModule.h:

(JSC::Wasm::Module::validateSync): Deleted.
(JSC::Wasm::Module::validateAsync): Deleted.
(JSC::Wasm::Module::signatureIndexFromFunctionIndexSpace): Deleted.
(JSC::Wasm::Module::nonNullCodeBlock): Deleted.

  • wasm/js/JSWebAssemblyCodeBlock.cpp:

(JSC::JSWebAssemblyCodeBlock::create):

  • wasm/js/JSWebAssemblyCodeBlock.h:

(JSC::JSWebAssemblyCodeBlock::create): Deleted.

  • wasm/js/JSWebAssemblyModule.cpp:

(JSC::JSWebAssemblyModule::source):

  • wasm/js/JSWebAssemblyModule.h:

(JSC::JSWebAssemblyModule::source): Deleted.

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::callWebAssemblyFunction):

  • wasm/js/WebAssemblyModulePrototype.cpp:

Source/WebCore:

This patch's main purpose is to implement postMessage of JSWebAssemblyModule.
The spec text describing the behavior is: https://github.com/WebAssembly/design/blob/master/JS.md#structured-clone-of-a-webassemblymodule
We only allow for JSWebAssemblyModule to be serialized in the postMessage
context. More work needs to be done to make it valid to store a module in
IndexDB.

All that is needed to serialize a JSWebAssemblyModule is grab a Ref
to its underlying Wasm::Module. So, when doing a postMessage, all we
do is grab this Ref, and then re-create the JSWebAssemblyModule from
the Wasm::Module in the new VM/global object. Because the code for
Wasm::Module is VM-independent, this is all that's needed. This turned
out nicely, because it requires little knowledge from WebCore about
what it means to clone a JSWebAssemblyModule.

The second significant part of this patch is teaching WorkerRunLoop about
the various timers inside JSC. Before, the WorkerRunLoop wouldn't always
wake up to address JSC timers. I noticed this bug when I was writing
tests to make sure that Wasm was running concurrently in different
workers. The bug is that the WorkerRunLoop's message queue has no insight
into a timer being scheduled. This effected the PromiseDeferredTimer that
Wasm uses, as well as the various GC timers that Heap uses. Now, WorkerRunLoop
will set itself up to be notified when timers are set. When a timer is
set, the WorkerRunLoop will perform an iteration to to reset its top
level MessageQueue timeout to be no longer than the next timer fire date.

Tests: storage/indexeddb/wasm-exceptions.html

workers/wasm-hashset-many.html
workers/wasm-hashset.html
workers/wasm-long-compile-many.html
workers/wasm-long-compile.html

  • ForwardingHeaders/heap/GCActivityCallback.h: Added.
  • ForwardingHeaders/runtime/JSRunLoopTimer.h: Added.
  • ForwardingHeaders/runtime/PromiseDeferredTimer.h: Added.
  • ForwardingHeaders/wasm: Added.
  • ForwardingHeaders/wasm/js: Added.
  • ForwardingHeaders/wasm/js/JSWebAssemblyModule.h: Added.
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/js/SerializedScriptValue.h:
  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::addTimerSetNotification):
(WebCore::WorkerScriptController::removeTimerSetNotification):

  • bindings/js/WorkerScriptController.h:
  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::runInMode):

LayoutTests:

  • storage/indexeddb/resources/wasm-exceptions.js: Added.

(const._fail):
(const.isNotA.assert.isNotA):
(const):
(switch.typeof):
(Builder):
(Builder.prototype.setChecked):
(Builder.prototype.setPreamble):
(Builder.prototype._functionIndexSpaceKeyHash):
(Builder.prototype._registerFunctionToIndexSpace):
(Builder.prototype._getFunctionFromIndexSpace):
(Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
(Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.const.codeBuilder.End.switch.case.string_appeared_here.e):
(Builder.prototype._registerSectionBuilders.this.Unknown):
(prepareDatabase):
(testDatabase):

  • storage/indexeddb/wasm-exceptions-expected.txt: Added.
  • storage/indexeddb/wasm-exceptions.html: Added.
  • workers/wasm-hashset: Added.
  • workers/wasm-hashset-expected.txt: Added.
  • workers/wasm-hashset-many-expected.txt: Added.
  • workers/wasm-hashset-many.html: Added.
  • workers/wasm-hashset.html: Added.
  • workers/wasm-hashset/many-test.js: Added.

(reallyDone):
(console.log):
(console.error):
(console.assert):
(i.worker.onmessage):
(Module.print):
(Module.printErr):
(Module.canvas):
(Module.setStatus):
(Module):
(setValue):
(getValue):
(allocate):
(getMemory):
(Pointer_stringify):
(AsciiToString):
(stringToAscii):
(UTF8ArrayToString):
(UTF8ToString):
(stringToUTF8Array):
(stringToUTF8):
(lengthBytesUTF8):
(demangle):
(demangleAll):
(stackTrace):
(alignUp):
(updateGlobalBuffer):
(updateGlobalBufferViews):
(abortOnCannotGrowMemory):
(enlargeMemory):
(getTotalMemory):
(callRuntimeCallbacks):
(preRun):
(ensureInitRuntime):
(preMain):
(exitRuntime):
(postRun):
(addOnPreRun):
(addOnInit):
(addOnPreMain):
(addOnExit):
(addOnPostRun):
(intArrayFromString):
(intArrayToString):
(writeStringToMemory):
(writeArrayToMemory):
(writeAsciiToMemory):
(Math.string_appeared_here):
(addRunDependency):
(removeRunDependency):
(integrateWasmJS.asm2wasmImports.string_appeared_here):
(integrateWasmJS.lookupImport):
(integrateWasmJS.mergeMemory):
(integrateWasmJS.fixImports):
(integrateWasmJS.getBinary):
(integrateWasmJS.doJustAsm):
(integrateWasmJS.receiveInstance):
(integrateWasmJS.):
(integrateWasmJS.doNativeWasm):
(integrateWasmJS.doWasmPolyfill):
(integrateWasmJS.Module.string_appeared_here):
(integrateWasmJS):
(_setErrNo):
(
ZSt18uncaught_exceptionv):
(EXCEPTIONS.deAdjust):
(EXCEPTIONS.addRef):
(EXCEPTIONS.decRef):
(EXCEPTIONS.clearRef):
(_cxa_find_matching_catch):
(
_gxx_personality_v0):
(_lock):
(_emscripten_memcpy_big):
(_gettimeofday):
(_abort):
(SYSCALLS):
(SYSCALLS.get getStr):
(SYSCALLS.get64):
(SYSCALLS.getZero):
(try.
_syscall146.printChar):
(_syscall146):
(
_syscall54):
(_unlock):
(
_syscall6):
(invoke_ii):
(invoke_iiii):
(invoke_v):
(_malloc.Module.string_appeared_here):
(getTempRet0.Module.string_appeared_here):
(_free.Module.string_appeared_here):
(_main.Module.string_appeared_here):
(setTempRet0.Module.string_appeared_here):
(establishStackSpace.Module.string_appeared_here):
(stackSave.Module.string_appeared_here):
(_memset.Module.string_appeared_here):
(_sbrk.Module.string_appeared_here):
(_emscripten_get_global_libc.Module.string_appeared_here):
(_memcpy.Module.string_appeared_here):
(_errno_location.Module.string_appeared_here):
(setThrew.Module.string_appeared_here):
(_fflush.Module.string_appeared_here):
(stackAlloc.Module.string_appeared_here):
(stackRestore.Module.string_appeared_here):
(_llvm_bswap_i32.Module.string_appeared_here):
(runPostSets.Module.string_appeared_here):
(dynCall_ii.Module.string_appeared_here):
(dynCall_iiii.Module.string_appeared_here):
(dynCall_v.Module.string_appeared_here):
(else.applyMemoryInitializer):
(else):
(else.useRequest):
(ExitStatus):
(dependenciesFulfilled):
(Module.string_appeared_here.Module.callMain.callMain.pad):
(Module.string_appeared_here.Module.callMain):
(run.doRun):
(run):
(exit):

  • workers/wasm-hashset/many-worker.js: Added.

(console.log):
(console.error):
(console.assert):
(Module.print):
(Module.printErr):
(Module.canvas):
(Module.setStatus):
(Module):
(setValue):
(getValue):
(allocate):
(getMemory):
(Pointer_stringify):
(AsciiToString):
(stringToAscii):
(UTF8ArrayToString):
(UTF8ToString):
(stringToUTF8Array):
(stringToUTF8):
(lengthBytesUTF8):
(demangle):
(demangleAll):
(stackTrace):
(alignUp):
(updateGlobalBuffer):
(updateGlobalBufferViews):
(abortOnCannotGrowMemory):
(enlargeMemory):
(getTotalMemory):
(callRuntimeCallbacks):
(preRun):
(ensureInitRuntime):
(preMain):
(exitRuntime):
(postRun):
(addOnPreRun):
(addOnInit):
(addOnPreMain):
(addOnExit):
(addOnPostRun):
(intArrayFromString):
(intArrayToString):
(writeStringToMemory):
(writeArrayToMemory):
(writeAsciiToMemory):
(Math.string_appeared_here):
(addRunDependency):
(removeRunDependency):
(integrateWasmJS.asm2wasmImports.string_appeared_here):
(integrateWasmJS.lookupImport):
(integrateWasmJS.mergeMemory):
(integrateWasmJS.fixImports):
(integrateWasmJS.getBinary):
(integrateWasmJS.doJustAsm):
(integrateWasmJS.receiveInstance):
(integrateWasmJS.doNativeWasm):
(integrateWasmJS.doWasmPolyfill):
(integrateWasmJS.Module.string_appeared_here):
(integrateWasmJS):
(_setErrNo):
(
ZSt18uncaught_exceptionv):
(EXCEPTIONS.deAdjust):
(EXCEPTIONS.addRef):
(EXCEPTIONS.decRef):
(EXCEPTIONS.clearRef):
(_cxa_find_matching_catch):
(
_gxx_personality_v0):
(_lock):
(_emscripten_memcpy_big):
(_gettimeofday):
(_abort):
(SYSCALLS):
(SYSCALLS.get getStr):
(SYSCALLS.get64):
(SYSCALLS.getZero):
(try.
_syscall146.printChar):
(_syscall146):
(
_syscall54):
(_unlock):
(
_syscall6):
(invoke_ii):
(invoke_iiii):
(invoke_v):
(_malloc.Module.string_appeared_here):
(getTempRet0.Module.string_appeared_here):
(_free.Module.string_appeared_here):
(_main.Module.string_appeared_here):
(setTempRet0.Module.string_appeared_here):
(establishStackSpace.Module.string_appeared_here):
(stackSave.Module.string_appeared_here):
(_memset.Module.string_appeared_here):
(_sbrk.Module.string_appeared_here):
(_emscripten_get_global_libc.Module.string_appeared_here):
(_memcpy.Module.string_appeared_here):
(_errno_location.Module.string_appeared_here):
(setThrew.Module.string_appeared_here):
(_fflush.Module.string_appeared_here):
(stackAlloc.Module.string_appeared_here):
(stackRestore.Module.string_appeared_here):
(_llvm_bswap_i32.Module.string_appeared_here):
(runPostSets.Module.string_appeared_here):
(dynCall_ii.Module.string_appeared_here):
(dynCall_iiii.Module.string_appeared_here):
(dynCall_v.Module.string_appeared_here):
(else.applyMemoryInitializer):
(else):
(else.useRequest):
(ExitStatus):
(dependenciesFulfilled):
(Module.string_appeared_here.Module.callMain.callMain.pad):
(Module.string_appeared_here.Module.callMain):
(run.doRun):
(run):
(exit):

  • workers/wasm-hashset/test.js: Added.

(reallyDone):
(console.log):
(console.error):
(console.assert):
(Module.print):
(Module.printErr):
(Module.canvas):
(Module.setStatus):
(Module):
(setValue):
(getValue):
(allocate):
(getMemory):
(Pointer_stringify):
(AsciiToString):
(stringToAscii):
(UTF8ArrayToString):
(UTF8ToString):
(stringToUTF8Array):
(stringToUTF8):
(lengthBytesUTF8):
(demangle):
(demangleAll):
(stackTrace):
(alignUp):
(updateGlobalBuffer):
(updateGlobalBufferViews):
(abortOnCannotGrowMemory):
(enlargeMemory):
(getTotalMemory):
(callRuntimeCallbacks):
(preRun):
(ensureInitRuntime):
(preMain):
(exitRuntime):
(postRun):
(addOnPreRun):
(addOnInit):
(addOnPreMain):
(addOnExit):
(addOnPostRun):
(intArrayFromString):
(intArrayToString):
(writeStringToMemory):
(writeArrayToMemory):
(writeAsciiToMemory):
(Math.string_appeared_here):
(addRunDependency):
(removeRunDependency):
(integrateWasmJS.asm2wasmImports.string_appeared_here):
(integrateWasmJS.lookupImport):
(integrateWasmJS.mergeMemory):
(integrateWasmJS.fixImports):
(integrateWasmJS.getBinary):
(integrateWasmJS.doJustAsm):
(integrateWasmJS.receiveInstance):
(integrateWasmJS.doNativeWasm):
(integrateWasmJS.doWasmPolyfill):
(integrateWasmJS.Module.string_appeared_here):
(integrateWasmJS):
(_setErrNo):
(
ZSt18uncaught_exceptionv):
(EXCEPTIONS.deAdjust):
(EXCEPTIONS.addRef):
(EXCEPTIONS.decRef):
(EXCEPTIONS.clearRef):
(_cxa_find_matching_catch):
(
_gxx_personality_v0):
(_lock):
(_emscripten_memcpy_big):
(_gettimeofday):
(_abort):
(SYSCALLS):
(SYSCALLS.get getStr):
(SYSCALLS.get64):
(SYSCALLS.getZero):
(try.
_syscall146.printChar):
(_syscall146):
(
_syscall54):
(_unlock):
(
_syscall6):
(invoke_ii):
(invoke_iiii):
(invoke_v):
(_malloc.Module.string_appeared_here):
(getTempRet0.Module.string_appeared_here):
(_free.Module.string_appeared_here):
(_main.Module.string_appeared_here):
(setTempRet0.Module.string_appeared_here):
(establishStackSpace.Module.string_appeared_here):
(stackSave.Module.string_appeared_here):
(_memset.Module.string_appeared_here):
(_sbrk.Module.string_appeared_here):
(_emscripten_get_global_libc.Module.string_appeared_here):
(_memcpy.Module.string_appeared_here):
(_errno_location.Module.string_appeared_here):
(setThrew.Module.string_appeared_here):
(_fflush.Module.string_appeared_here):
(stackAlloc.Module.string_appeared_here):
(stackRestore.Module.string_appeared_here):
(_llvm_bswap_i32.Module.string_appeared_here):
(runPostSets.Module.string_appeared_here):
(dynCall_ii.Module.string_appeared_here):
(dynCall_iiii.Module.string_appeared_here):
(dynCall_v.Module.string_appeared_here):
(else.applyMemoryInitializer):
(else):
(else.useRequest):
(ExitStatus):
(dependenciesFulfilled):
(Module.string_appeared_here.Module.callMain.callMain.pad):
(Module.string_appeared_here.Module.callMain):
(run.doRun):
(run):
(exit):

  • workers/wasm-hashset/worker.js: Added.

(console.log):
(console.error):
(console.assert):
(Module.print):
(Module.printErr):
(Module.canvas):
(Module.setStatus):
(Module):
(setValue):
(getValue):
(allocate):
(getMemory):
(Pointer_stringify):
(AsciiToString):
(stringToAscii):
(UTF8ArrayToString):
(UTF8ToString):
(stringToUTF8Array):
(stringToUTF8):
(lengthBytesUTF8):
(demangle):
(demangleAll):
(stackTrace):
(alignUp):
(updateGlobalBuffer):
(updateGlobalBufferViews):
(abortOnCannotGrowMemory):
(enlargeMemory):
(getTotalMemory):
(callRuntimeCallbacks):
(preRun):
(ensureInitRuntime):
(preMain):
(exitRuntime):
(postRun):
(addOnPreRun):
(addOnInit):
(addOnPreMain):
(addOnExit):
(addOnPostRun):
(intArrayFromString):
(intArrayToString):
(writeStringToMemory):
(writeArrayToMemory):
(writeAsciiToMemory):
(Math.string_appeared_here):
(addRunDependency):
(removeRunDependency):
(integrateWasmJS.asm2wasmImports.string_appeared_here):
(integrateWasmJS.lookupImport):
(integrateWasmJS.mergeMemory):
(integrateWasmJS.fixImports):
(integrateWasmJS.getBinary):
(integrateWasmJS.doJustAsm):
(integrateWasmJS.receiveInstance):
(integrateWasmJS.):
(integrateWasmJS.doNativeWasm):
(integrateWasmJS.doWasmPolyfill):
(integrateWasmJS.Module.string_appeared_here):
(integrateWasmJS):
(_setErrNo):
(
ZSt18uncaught_exceptionv):
(EXCEPTIONS.deAdjust):
(EXCEPTIONS.addRef):
(EXCEPTIONS.decRef):
(EXCEPTIONS.clearRef):
(_cxa_find_matching_catch):
(
_gxx_personality_v0):
(_lock):
(_emscripten_memcpy_big):
(_gettimeofday):
(_abort):
(SYSCALLS):
(SYSCALLS.get getStr):
(SYSCALLS.get64):
(SYSCALLS.getZero):
(try.
_syscall146.printChar):
(_syscall146):
(
_syscall54):
(_unlock):
(
_syscall6):
(invoke_ii):
(invoke_iiii):
(invoke_v):
(_malloc.Module.string_appeared_here):
(getTempRet0.Module.string_appeared_here):
(_free.Module.string_appeared_here):
(_main.Module.string_appeared_here):
(setTempRet0.Module.string_appeared_here):
(establishStackSpace.Module.string_appeared_here):
(stackSave.Module.string_appeared_here):
(_memset.Module.string_appeared_here):
(_sbrk.Module.string_appeared_here):
(_emscripten_get_global_libc.Module.string_appeared_here):
(_memcpy.Module.string_appeared_here):
(_errno_location.Module.string_appeared_here):
(setThrew.Module.string_appeared_here):
(_fflush.Module.string_appeared_here):
(stackAlloc.Module.string_appeared_here):
(stackRestore.Module.string_appeared_here):
(_llvm_bswap_i32.Module.string_appeared_here):
(runPostSets.Module.string_appeared_here):
(dynCall_ii.Module.string_appeared_here):
(dynCall_iiii.Module.string_appeared_here):
(dynCall_v.Module.string_appeared_here):
(else.applyMemoryInitializer):
(else):
(else.useRequest):
(ExitStatus):
(dependenciesFulfilled):
(Module.string_appeared_here.Module.callMain.callMain.pad):
(Module.string_appeared_here.Module.callMain):
(run.doRun):
(run):
(exit):

  • workers/wasm-long-compile-expected.txt: Added.
  • workers/wasm-long-compile-many-expected.txt: Added.
  • workers/wasm-long-compile-many.html: Added.
  • workers/wasm-long-compile.html: Added.
  • workers/wasm-resources: Added.
  • workers/wasm-resources/long-compile-many.js: Added.

(done):
(i.async.run):
(i.worker.onmessage):

  • workers/wasm-resources/long-compile-worker.js: Added.

(const._fail):
(const.isNotA.assert.isNotA):
(const):
(switch.typeof):
(Builder):
(Builder.prototype.setChecked):
(Builder.prototype.setPreamble):
(Builder.prototype._functionIndexSpaceKeyHash):
(Builder.prototype._registerFunctionToIndexSpace):
(Builder.prototype._getFunctionFromIndexSpace):
(Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
(Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.const.codeBuilder.End.switch.case.string_appeared_here.e):
(Builder.prototype._registerSectionBuilders.this.Unknown):

  • workers/wasm-resources/long-compile.js: Added.

(done):
(async.run):
(worker.onmessage):

6:56 PM Changeset in webkit [215352] by dino@apple.com
  • 4 edits
    2 adds in trunk

Large negative animation-delays may not work depending on machine uptime
https://bugs.webkit.org/show_bug.cgi?id=166962
<rdar://problem/30091526>

Reviewed by Tim Horton.

Source/WebCore:

If you set a really negative animation delay, it would cause
AnimationBase::m_startTime to become negative, because the delay
value was "bigger" than monotonicallyIncreasingTime.

However, the state machine was using -1 to mean that the start time
hadn't yet been set. Classic cmarrin!

Replace all the special values with std::optional, and use nullopt
to mean the value doesn't exist yet.

Test: animations/large-negative-delay.html

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::updateStateMachine):
(WebCore::AnimationBase::fireAnimationEventsIfNeeded):
(WebCore::AnimationBase::getTimeToNextEvent):
(WebCore::AnimationBase::freezeAtTime):
(WebCore::AnimationBase::getElapsedTime):

  • page/animation/AnimationBase.h: Use std::optional.

(WebCore::AnimationBase::paused):

LayoutTests:

  • animations/large-negative-delay-expected.txt: Added.
  • animations/large-negative-delay.html: Added.
5:09 PM Changeset in webkit [215351] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

Should use flushDirect() when flushing the scopeRegister due to needsScopeRegister().
https://bugs.webkit.org/show_bug.cgi?id=170661
<rdar://problem/31579046>

Reviewed by Filip Pizlo.

JSTests:

  • stress/regress-170661.js: Added.

Source/JavaScriptCore:

Previously, we were using flush() to flush the outermost frame's scopeRegister.
This is incorrect because flush() expects the VirtualRegister value passed to
it to be that of the top most inlined frame. In the event that we reach a
terminal condition while inside an inlined frame, flush() will end up flushing
the wrong register. The fix is simply to use flushDirect() instead.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flush):

4:54 PM Changeset in webkit [215350] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Remove unused SharedBuffer constructor
https://bugs.webkit.org/show_bug.cgi?id=170828

Reviewed by Brady Eidson.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::append):

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::create):

4:51 PM Changeset in webkit [215349] by commit-queue@webkit.org
  • 16 edits in trunk

Change Intl prototypes to plain objects
https://bugs.webkit.org/show_bug.cgi?id=168178

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2017-04-13
Reviewed by JF Bastien.

Source/JavaScriptCore:

  • builtins/StringPrototype.js:

(localeCompare): Create default Collator once instead of using prototype.

  • runtime/IntlCollatorPrototype.cpp:

(JSC::IntlCollatorPrototype::IntlCollatorPrototype):

  • runtime/IntlCollatorPrototype.h:
  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatPrototype::IntlDateTimeFormatPrototype):

  • runtime/IntlDateTimeFormatPrototype.h:
  • runtime/IntlNumberFormatPrototype.cpp:

(JSC::IntlNumberFormatPrototype::IntlNumberFormatPrototype):

  • runtime/IntlNumberFormatPrototype.h:
  • runtime/IntlObject.cpp:

(JSC::IntlObject::finishCreation): Don't set constructor on each prototype.

LayoutTests:

  • js/intl-collator-expected.txt:
  • js/intl-datetimeformat-expected.txt:
  • js/intl-numberformat-expected.txt:
  • js/script-tests/intl-collator.js:
  • js/script-tests/intl-datetimeformat.js:
  • js/script-tests/intl-numberformat.js:
4:44 PM Changeset in webkit [215348] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark fast/mediacapturefromelement/CanvasCaptureMediaStream-request-frame-events.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=169719

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:20 PM Changeset in webkit [215347] by Antti Koivisto
  • 5 edits
    2 adds in trunk

Don't invalidate composition for style changes in non-composited layers
https://bugs.webkit.org/show_bug.cgi?id=170805
<rdar://problem/31606185>

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/updates/animation-non-composited.html

In most cases they can't affect composition. Composition updates are expensive, this can
save a lot of work (tumblr.com animations hit this at the moment).

  • rendering/RenderElement.h:

(WebCore::RenderElement::createsGroup):
(WebCore::RenderElement::createsGroupForStyle):

Factor to a static function so we can test style directly.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerStyleChanged):
(WebCore::RenderLayerCompositor::styleChangeMayAffectIndirectCompositingReasons):

Test if style change might cause compositing change that can't be determined without compositing update.

  • rendering/RenderLayerCompositor.h:

LayoutTests:

  • compositing/updates/animation-non-composited-expected.txt: Added.
  • compositing/updates/animation-non-composited.html: Added.
4:20 PM Changeset in webkit [215346] by Jonathan Bedard
  • 2 edits in trunk/Tools

webkitpy: Ignore previously launched pid when system is under stress
https://bugs.webkit.org/show_bug.cgi?id=170741

Reviewed by David Kilzer.

We have seen cases where xcrun simctl launch will return a pid of a previous
process and the process will appear to be running even though it is crashing.
Ensure that the PID that simulator_process is receiving is not the pid of the
previously run process.

  • Scripts/webkitpy/port/simulator_process.py:

(SimulatorProcess._start): Check to make sure we aren't receiving an old PID.

4:13 PM Changeset in webkit [215345] by oliver@apple.com
  • 18 edits in trunk/Source

allocationSize should use safe arithmetic by default
https://bugs.webkit.org/show_bug.cgi?id=170804

Reviewed by JF Bastien.

Make all allocationSize() functions work in terms
of Checked<size_t>

Source/JavaScriptCore:

  • runtime/DirectArguments.h:

(JSC::DirectArguments::offsetOfSlot):
(JSC::DirectArguments::allocationSize):

  • runtime/HashMapImpl.h:

(JSC::HashMapBuffer::allocationSize):

  • runtime/JSArray.h:

(JSC::JSArray::allocationSize):

  • runtime/JSArrayBufferView.h:

(JSC::JSArrayBufferView::allocationSize):

  • runtime/JSAsyncFunction.h:

(JSC::JSAsyncFunction::allocationSize):

  • runtime/JSFixedArray.h:

(JSC::JSFixedArray::allocationSize):

  • runtime/JSFunction.h:

(JSC::JSFunction::allocationSize):

  • runtime/JSGeneratorFunction.h:

(JSC::JSGeneratorFunction::allocationSize):

  • runtime/JSModuleNamespaceObject.h:
  • runtime/JSObject.h:

(JSC::JSFinalObject::allocationSize):

  • runtime/JSWrapperObject.h:

(JSC::JSWrapperObject::allocationSize):

  • runtime/ScopedArguments.h:

(JSC::ScopedArguments::allocationSize):

  • runtime/VM.h:

(JSC::ScratchBuffer::allocationSize):

  • wasm/js/JSWebAssemblyCodeBlock.h:

(JSC::JSWebAssemblyCodeBlock::offsetOfImportStubs):
(JSC::JSWebAssemblyCodeBlock::allocationSize):

  • wasm/js/JSWebAssemblyInstance.h:

(JSC::JSWebAssemblyInstance::allocationSize):

Source/WTF:

  • wtf/text/StringImpl.h:

(WTF::StringImpl::allocationSize):
(WTF::StringImpl::tailOffset):

3:48 PM Changeset in webkit [215344] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark webrtc/video-mute.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170704

Unreviewed test gardening.

3:24 PM Changeset in webkit [215343] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark media/media-controls-timeline-updates-when-hovered.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=165553

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:15 PM Changeset in webkit [215342] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark media/track/track-cue-rendering-rtl.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170831

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:11 PM Changeset in webkit [215341] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark inspector/sampling-profiler/named-function-expression.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170830

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
2:48 PM Changeset in webkit [215340] by jfbastien@apple.com
  • 35 edits
    3 adds in trunk

WebAssembly: manage memory better
https://bugs.webkit.org/show_bug.cgi?id=170628

Reviewed by Keith Miller, Michael Saboff.

JSTests:

  • wasm/Builder.js: move a helper out so tests can use it

(export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):

  • wasm/WASM.js: add utilities to classify opcodes

(export.opcodes):
(export.const.memoryAccessInfo.op.const.sign):

  • wasm/function-tests/memory-access-past-4gib.js: Added. This test

fails before this patch.
(const.op.of.WASM.opcodes):

  • wasm/function-tests/memory-many.js: Added. This simple tests

just shouldn't crash. In verbose mode it's useful at determining
if the GC falls behind or not.

  • wasm/function-tests/memory-multiagent.js: Added. Emulate postMessage.

(const.startAgents.numAgentsToStart.a.agent.receiveBroadcast):
(const.startAgents.numAgentsToStart.a.write.const.idx.Math.random):
(const.broadcastToAgents):

  • wasm/js-api/extension-MemoryMode.js: verbose logging.

(testMemoryNoMax):
(testMemory):
(testInstanceNoMemory):
(testInstanceNoMax):
(testInstance):

  • wasm/utilities.js: move a utility here.

Source/JavaScriptCore:

WebAssembly fast memories weren't managed very well. This patch
refactors it and puts us in a good position to further improve our
fast memory handling in the future.

We now cache fast memories at a process granularity, but make sure
that they don't consume dirty pages. We add a cap to the total
number of allocated fast memories to avoid ASLR degradation.

We teach the GC about memories as a kind of resource it should
care about because it didn't have visibility into the amount of
memory each represented. This allows benchmarks which allocate
memories back-to-back to reliably get fast memories 100% of the
time, even on a system under load, which wasn't the case
before. This reliability yields roughly 8% perf bump on x86-64
WasmBench.

The GC heuristic is as follows: each time we allocate a fast
memory we notify the GC, which then keeps track of the total
number of fast memories allocated since it last GC'd. We
separately keep track of the total number of fast memories which
have ever existed at any point in time (cached + allocated). This
is a monotonically-increasing high watermark. The GC will force a
full collection if, since it last ran, half or more of the high
watermark of fast memories was allocated.

At the same time, if we fail obtaining a fast memory from the
cache we do a GC to try to find one. If that fails we'll allocate
a new one (this can also fail, then we go to slow memory). This
can also be improved, but it's a good start.

This currently disables fast memories on iOS because getting fast
memories isn't a guaranteed thing. Rather, we get quite a few of
them and achieve significant speedups, but benchmarks which
allocate memories back-to-back end up falling behind because the
GC can conservatively hold onto memories, which then yields a perf
cliff. That cliff isn't reliable, WasmBench gets roughly 10 of 18
fast memories when in theory it should get all of them fast (as
MacOS does). The patch significantly improves the state of iOS
though, and in a follow-up we could re-enable fast memories.

Part of this good positioning is a facility to pre-allocate fast
memories very early at startup, before any fragmentation
occurs. This is currently disabled but worked extremely reliably
on iOS. Once we fix the above issues we'll want to re-visit and
turn on pre-allocation.

We also avoid locking for fast memory identification when
performing signal handling. I'm very nervous about acquiring locks
in a signal handler because in general signals can happen when
we've messed up. This isn't the case with fast memories: we're
raising a signal on purpose and handling it. However this doesn't
mean we won't mess up elsewhere! This will get more complicated
once we add support for multiple threads sharing memories and
being able to grow their memories. One example: the code calls
CRASH(), which executes the following code in release:

*(int *)(uintptr_t)0xbbadbeef = 0;

This is a segfault, which our fast memory signal handler tries to
handle. It does so by first figuring out whether 0xbbadbeef is in
a fast memory region, reqiring a lock. If we CRASH() while holding
the lock then our thread self-deadlocks, giving us no crash report
and a bad user experience.

Avoiding a lock therefore it's not about speed or reduced
contention. In fact, I'd use something else than a FIFO if these
were a concern. We're also doing syscalls, which dwarf any locking
cost.

We now only allocate 4GiB + redzone of 64k * 128 for fast memories
instead of 8GiB. This patch reuses the logic from
B3::WasmBoundsCheck to perform bounds checks when accesses could
exceed the redzone. We'll therefore benefit from CSE goodness when
it reaches WasmBoundsCheck. See bug #163469.

  • b3/B3LowerToAir.cpp: fix a baaaaddd bug where unsigned->signed

conversion allowed out-of-bounds reads by -2GiB. I'll follow-up in
bug #170692 to prevent this type of bug once and for all.
(JSC::B3::Air::LowerToAir::lower):

  • b3/B3Validate.cpp: update WasmBoundsCheck validation.
  • b3/B3Value.cpp:

(JSC::B3::Value::effects): update WasmBoundsCheck effects.

  • b3/B3WasmBoundsCheckValue.cpp:

(JSC::B3::WasmBoundsCheckValue::WasmBoundsCheckValue):
(JSC::B3::WasmBoundsCheckValue::redzoneLimit):
(JSC::B3::WasmBoundsCheckValue::dumpMeta):

  • b3/B3WasmBoundsCheckValue.h:

(JSC::B3::WasmBoundsCheckValue::maximum):

  • b3/air/AirCustom.cpp:

(JSC::B3::Air::WasmBoundsCheckCustom::isValidForm):

  • b3/testb3.cpp:

(JSC::B3::testWasmBoundsCheck):

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::reportWebAssemblyFastMemoriesAllocated):
(JSC::Heap::webAssemblyFastMemoriesThisCycleAtThreshold):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didAllocateWebAssemblyFastMemories):
(JSC::Heap::shouldDoFullCollection):
(JSC::Heap::collectIfNecessaryOrDefer):

  • heap/Heap.h:
  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/Options.cpp:
  • runtime/Options.h:
  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::fixupPointerPlusOffset):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::emitLoadOp):
(JSC::Wasm::B3IRGenerator::emitStoreOp):
(JSC::Wasm::createJSToWasmWrapper):

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::trapHandler):

  • wasm/WasmMemory.cpp: Rewrite.

(JSC::Wasm::makeString):
(JSC::Wasm::Memory::initializePreallocations):
(JSC::Wasm::Memory::createImpl):
(JSC::Wasm::Memory::create):
(JSC::Wasm::Memory::~Memory):
(JSC::Wasm::Memory::fastMappedRedzoneBytes):
(JSC::Wasm::Memory::fastMappedBytes):
(JSC::Wasm::Memory::maxFastMemoryCount):
(JSC::Wasm::Memory::addressIsInActiveFastMemory):
(JSC::Wasm::Memory::grow):

  • wasm/WasmMemory.h:

(Memory::maxFastMemoryCount):
(Memory::addressIsInActiveFastMemory):

  • wasm/js/JSWebAssemblyInstance.cpp:

(JSC::JSWebAssemblyInstance::finishCreation):
(JSC::JSWebAssemblyInstance::visitChildren):
(JSC::JSWebAssemblyInstance::globalMemoryByteSize):

  • wasm/js/JSWebAssemblyInstance.h:
  • wasm/js/JSWebAssemblyMemory.cpp:

(JSC::JSWebAssemblyMemory::grow):
(JSC::JSWebAssemblyMemory::finishCreation):
(JSC::JSWebAssemblyMemory::visitChildren):

Source/WebCore:

Re-use a VM tag which was intended for JavaScript core, was then
used by our GC, and is now unused. If I don't do this then
WebAssembly fast memories will make vmmap look super weird because
it'll look like multi-gigabyte of virtual memory are allocated as
part of our process' regular memory!

Separately I need to update vmmap and other tools to print the
right name. Right now this tag gets identified as "JS garbage
collector".

  • page/ResourceUsageData.cpp:

(WebCore::ResourceUsageData::ResourceUsageData):

  • page/ResourceUsageData.h:
  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::HistoricResourceUsageData::HistoricResourceUsageData):

  • page/cocoa/ResourceUsageThreadCocoa.mm:

(WebCore::displayNameForVMTag):
(WebCore::categoryForVMTag):

Source/WTF:

Re-use a VM tag which was intended for JavaScript core, was then
used by our GC, and is now unused. If I don't do this then
WebAssembly fast memories will make vmmap look super weird because
it'll look like multi-gigabyte of virtual memory are allocated as
part of our process' regular memory!

Separately I need to update vmmap and other tools to print the
right name. Right now this tag gets identified as "JS garbage
collector".

  • wtf/OSAllocator.h:
  • wtf/VMTags.h:

Websites/webkit.org:

  • docs/b3/intermediate-representation.html: typos
2:41 PM Changeset in webkit [215339] by Ryan Haddad
  • 1 edit
    7 adds in trunk/LayoutTests

Add ios-simulator baseline for imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html.

Unreviewed test gardening.

  • platform/ios-simulator/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Added.
2:39 PM Changeset in webkit [215338] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/inspector/network/resource-request-headers.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170702

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:26 PM Changeset in webkit [215337] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Update the comments for the number of bits in RenderStyle::InheritedFlags.

Rubber-stamped by Zalan Bujtas

  • rendering/style/RenderStyle.h:
2:00 PM Changeset in webkit [215336] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark media/modern-media-controls/volume-support/volume-support-click.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=164229

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:58 PM Changeset in webkit [215335] by jmarcell@apple.com
  • 9 edits
    1 add in branches/safari-603-branch

Cherry-pick r211294. rdar://problem/31512298

1:08 PM Changeset in webkit [215334] by Jonathan Bedard
  • 6 edits
    2 adds in trunk/Tools

Build ImageDiff with host SDK
https://bugs.webkit.org/show_bug.cgi?id=168531

Reviewed by David Kilzer.

ImageDiff should be built and run with the host SDK, not the target SDK.
Build ImageDiff twice, once for the target SDK and once for the host
as an intermediate step towards building for only the host SDK.

  • ImageDiff/Makefile: Added.
  • Makefile: Add ImageDiff to list of targets.
  • Scripts/build-imagediff: Build bmalloc and WTF for the host.
  • Scripts/build-webkit: Build ImageDiff for host.
  • Scripts/webkitdirs.pm: Export extractNonMacOSHostConfiguration.

(extractNonMacOSHostConfiguration): Remove non-host configuration data from the array.

  • Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Added.
  • Scripts/webkitpy/port/base.py:

(Port.check_build): Attempt to build image diff if not found.
(Port.check_image_diff): Enable logging flag.
(Port._build_image_diff): Allow webkitpy to build image-diff during testing.

12:54 PM Changeset in webkit [215333] by BJ Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: RTL: goto arrow is floated to the wrong side
https://bugs.webkit.org/show_bug.cgi?id=170816

Reviewed by Matt Baker.

Float it to the other side if necessary.

  • UserInterface/Views/Main.css:

(.go-to-link):
(body[dir=ltr] .go-to-link:not(.dont-float)):
(body[dir=rtl] .go-to-link:not(.dont-float)):

12:42 PM Changeset in webkit [215332] by Chris Dumez
  • 3 edits in trunk/LayoutTests

LayoutTest svg/animations/animated-svg-image-outside-viewport-paused.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=170745

Reviewed by Tim Horton.

Test was relying on a setTimeout(30) and was flaky. Now use shouldBecomeEqual() to make the
test more robust.

  • svg/animations/animated-svg-image-outside-viewport-paused-expected.txt:
  • svg/animations/animated-svg-image-outside-viewport-paused.html:
12:34 PM Changeset in webkit [215331] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Addressing post-review comment after r215314.
https://bugs.webkit.org/show_bug.cgi?id=169015

Reviewed by Alexey Proskuryakov.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontDatabase::fontForPostScriptName):

12:19 PM Changeset in webkit [215330] by weinig@apple.com
  • 37 edits in trunk/Source/WebCore

[WebIDL] Add support for extended attributes on types in WebIDL
https://bugs.webkit.org/show_bug.cgi?id=170759

Reviewed by Alex Christensen.

  • Update parsing for WebIDL grammar changes.
  • Adds an extended attributes hash to IDLType that is filled according to the WebIDL annotated type rules.
  • Updates code generation to take advantage of IDLType's extended attribute simplifying some existing code.
  • Update IDLs in the project to adhere to the new grammar.


  • Modules/indexeddb/IDBFactory.idl:
  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBKeyRange.idl:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/websockets/WebSocket.idl:
  • crypto/parameters/AesCtrParams.idl:
  • crypto/parameters/AesKeyParams.idl:
  • crypto/parameters/Pbkdf2Params.idl:
  • crypto/parameters/RsaKeyGenParams.idl:
  • testing/TypeConversions.idl:

Update for grammar change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDefaultValue):
(GetBaseIDLType):
(GetIDLType):
(GetIntegerConversionConfiguration):
(GetStringConversionConfiguration):
(JSValueToNative):
(UnsafeToNative):
(NativeToJSValueDOMConvertNeedsState):
(NativeToJSValueDOMConvertNeedsGlobalObject):
(NativeToJSValue):
Remove the need for the type's context in many places since type
associated extended attributes are now on the type itself.

  • bindings/scripts/IDLParser.pm:

(copyExtendedAttributes):
Move up so it can be reused.

(isExtendedAttributeApplicableToTypes):
Add temporary predicated to indicate which attributes should be moved to types. This
logic should be moved to IDLAttributes.txt.

(moveExtendedAttributesApplicableToTypes):
Add helper to move attributes to the type's extended attributes hash if applicable.

(makeSimpleType):
Use initializer syntax to simplify.

(cloneType):
Support cloning types with extended attributes.

(typeByApplyingTypedefs):
When constructing the clone for a typedef application, move any applicable attributes
to the clone from the original type.

(parseDictionaryMember):
(parseTypedef):
(parseAttributeOrOperationRest):
(parseAttributeRest):
(parseOperationOrIterator):
(parseSpecialOperation):
(parseOptionalIterableInterface):
(parseMapLikeProperties):
(parseOptionalOrRequiredArgument):
(parseType):
(parseTypeWithExtendedAttributes):
(parseUnionMemberType):
(parseNonAnyType):
Update for new grammar, moving applicable attributes eagerly.

(assertNoExtendedAttributesInTypedef): Deleted.

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalCaller):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalCaller):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsAttributeWithClamp):
(WebCore::jsTestTypedefsAttributeWithClampGetter):
(WebCore::jsTestTypedefsAttributeWithClampInTypedef):
(WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter):
(WebCore::setJSTestTypedefsAttributeWithClamp):
(WebCore::setJSTestTypedefsAttributeWithClampFunction):
(WebCore::setJSTestTypedefsAttributeWithClampInTypedef):
(WebCore::setJSTestTypedefsAttributeWithClampInTypedefFunction):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefCaller):

  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestTypedefs.idl:

Update for new grammar. Add some new tests for uncovered cases.

11:53 AM Changeset in webkit [215329] by achristensen@apple.com
  • 4 edits in trunk/Source

Fix CMake build
https://bugs.webkit.org/show_bug.cgi?id=170815

Reviewed by Beth Dakin.

Source/WebCore:

  • platform/spi/cocoa/AVKitSPI.h:

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _setShouldCaptureAudioInUIProcess:]):

11:44 AM Changeset in webkit [215328] by jfbastien@apple.com
  • 2 edits in trunk/Source/WebCore

cmake-build-fix

11:28 AM Changeset in webkit [215327] by commit-queue@webkit.org
  • 9 edits in trunk

Remove RTCSignalingState::Closed
https://bugs.webkit.org/show_bug.cgi?id=170811

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-13
Reviewed by Eric Carlson.

Source/WebCore:

Covered by existing and rebased tests.

Adding RTCPeerConnection::isClosed to better match the isClosed internal slot in webrtc specification.
Using isClosed instead of checking signalingState value.
Implementing isClosed in terms of m_connectionState which has a Closed value.

  • Modules/mediastream/MediaEndpointPeerConnection.cpp:

(WebCore::MediaEndpointPeerConnection::setLocalDescriptionTask):
(WebCore::MediaEndpointPeerConnection::replaceTrackTask):

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::createOffer):
(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswer):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescription):
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescription):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addIceCandidate):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::create):
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::removeTrack):
(WebCore::RTCPeerConnection::queuedCreateOffer):
(WebCore::RTCPeerConnection::queuedCreateAnswer):
(WebCore::RTCPeerConnection::queuedSetLocalDescription):
(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
(WebCore::RTCPeerConnection::queuedAddIceCandidate):
(WebCore::RTCPeerConnection::setConfiguration):
(WebCore::RTCPeerConnection::createDataChannel):
(WebCore::RTCPeerConnection::doClose):
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::scheduleNegotiationNeededEvent):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::signalingState):

  • platform/mediastream/RTCSignalingState.h:

LayoutTests:

  • webrtc/connection-state.html:
10:54 AM Changeset in webkit [215326] by commit-queue@webkit.org
  • 3 edits in trunk

[WinCairo] Assign WEBKIT_LIBRARIES_DIR to CMAKE_PREFIX_PATH
https://bugs.webkit.org/show_bug.cgi?id=170797

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-04-13
Reviewed by Alex Christensen.

  • Source/cmake/FindCairo.cmake:
  • Source/cmake/OptionsWin.cmake:
10:39 AM Changeset in webkit [215325] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

BreakingContext::WordTrailingSpace cleanup.
https://bugs.webkit.org/show_bug.cgi?id=170750

Reviewed by Myles C. Maxfield.

No change in functionality.

  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

  • rendering/line/BreakingContext.h:

(WebCore::WordTrailingSpace::WordTrailingSpace):
(WebCore::WordTrailingSpace::width):
(WebCore::BreakingContext::handleText):

10:29 AM Changeset in webkit [215324] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

Remove compositing/masks/solid-color-masked.html expectation
https://bugs.webkit.org/show_bug.cgi?id=168054

Unreviewed test gardening.

  • platform/ios/TestExpectations: Remove compositing/masks/solid-color-masked.html.
9:54 AM Changeset in webkit [215323] by commit-queue@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add some more WebRTC tests
https://bugs.webkit.org/show_bug.cgi?id=170796

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-13
Reviewed by Eric Carlson.

  • webrtc/multi-video-expected.txt: Added.
  • webrtc/multi-video.html: Added.
  • webrtc/video-with-data-channel-expected.txt: Added.
  • webrtc/video-with-data-channel.html: Added.
9:40 AM Changeset in webkit [215322] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

[Readable Streams API] Implement cloneArrayBuffer in WebCore
https://bugs.webkit.org/show_bug.cgi?id=170008

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-04-13
Reviewed by Youenn Fablet.

Source/WebCore:

Implemented cloneArrayBuffer based on existing structuredCloneArrayBuffer
implementation. The code has been factorized so that both cloneArrayBuffer
and structuredCloneArrayBuffer rely on the same code (which is basically
the previous implementation of structuredCloneArrayBuffer + the ability
to clone only a part of considered buffer).

Test: streams/clone-array-buffer.html

  • Modules/streams/ReadableByteStreamInternals.js: Deleted cloneArrayBuffer JS implementation.
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::addBuiltinGlobals): Add cloneArrayBuffer private declaration.

  • bindings/js/StructuredClone.cpp:

(WebCore::cloneArrayBufferImpl): Added (mostly based on previous structuredCloneArrayBuffer).
(WebCore::cloneArrayBuffer): Added.
(WebCore::structuredCloneArrayBuffer): Updated.

  • bindings/js/StructuredClone.h: Added cloneArrayBuffer declaration.
  • bindings/js/WebCoreBuiltinNames.h: Added cloneArrayBuffer declaration.
  • testing/Internals.cpp: Added support for testing cloneArrayBuffer.
  • testing/Internals.h: Added support for testing cloneArrayBuffer.
  • testing/Internals.idl: Added support for testing cloneArrayBuffer.

LayoutTests:

Added test to check cloneArrayBuffer behaviour.

  • streams/clone-array-buffer-expected.txt: Added.
  • streams/clone-array-buffer.html: Added.
9:38 AM Changeset in webkit [215321] by commit-queue@webkit.org
  • 9 edits in trunk

onnegotiationneeded should only be called once
https://bugs.webkit.org/show_bug.cgi?id=170785

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-13
Reviewed by Alex Christensen.

Source/WebCore:

Covered by updated test.

Disabling explicit call to markAsNeedingNegotiation in case libwebrtc is used as libwebrtc is calling it.
Making sure removeTrack gets notified up to libwebrtc.

  • Modules/mediastream/PeerConnectionBackend.h:

(WebCore::PeerConnectionBackend::notifyRemovedTrack):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::removeTrack):
(WebCore::RTCPeerConnection::completeAddTransceiver):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::removeTrack):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::LibWebRTCPeerConnectionBackend::notifyRemovedTrack):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:

LayoutTests:

  • webrtc/negotiatedneeded-event-addStream.html:
9:37 AM Changeset in webkit [215320] by hyatt@apple.com
  • 4 edits
    2 adds in trunk

Rendering flexbox children across columns
https://bugs.webkit.org/show_bug.cgi?id=164166
<rdar://problem/29055587>

Reviewed by Zalan Bujtas.

Source/WebCore:

Added fast/multicol/flexbox-rows.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustForUnsplittableChild):

LayoutTests:

  • fast/multicol/flexbox-rows-expected.html: Added.
  • fast/multicol/flexbox-rows.html: Added.
8:28 AM Changeset in webkit [215319] by achristensen@apple.com
  • 6 edits in trunk

Clean up SharedBuffer public functions
https://bugs.webkit.org/show_bug.cgi?id=170795

Reviewed by Andreas Kling.

Source/WebCore:

Make some member functions that are now only used internally private.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::platformDataSize): Deleted.

  • platform/SharedBuffer.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:

(TestWebKitAPI::TEST_F):

7:17 AM Changeset in webkit [215318] by Yusuke Suzuki
  • 6 edits in trunk/Source

[JSC] Use proper ifdef guard for code using MachineContext
https://bugs.webkit.org/show_bug.cgi?id=170800

Reviewed by Carlos Alberto Lopez Perez.

Source/JavaScriptCore:

This patch drops MachineContext use if it is not available.
This situation can be considered like, building WebKit with musl.
In that case, we simply disable features that rely on MachineContext.
Examples are wasm fast memory, sampling profiler, and code profiling.

  • runtime/Options.cpp:

(JSC::overrideDefaults):

  • tools/CodeProfiling.cpp:

(JSC::CodeProfiling::begin):
(JSC::CodeProfiling::end):
Previously, PLATFORM(GTK) is excluded. But it is not obvious why it is excluded.
This patch just includes such platforms.

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::enableFastMemory):

Source/WTF:

SamplingProfiler and FastMemory rely on MachineContext feature.

  • wtf/Platform.h:
1:31 AM Changeset in webkit [215317] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Try to unflake a test.

  • http/tests/cache/disk-cache/disk-cache-media-small.html:

Apr 12, 2017:

11:55 PM Changeset in webkit [215316] by mitz@apple.com
  • 52 edits in trunk

[Mac] Future-proof .xcconfig files
https://bugs.webkit.org/show_bug.cgi?id=170802

Reviewed by Tim Horton.

Source/bmalloc:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/opus.xcconfig:

Source/WebCore:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebCore/PAL:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
  • Configurations/Version.xcconfig:

Source/WTF:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
11:38 PM Changeset in webkit [215315] by beidson@apple.com
  • 26 edits
    4 adds
    2 deletes in trunk

QuotaExceededError when saving to localStorage in private mode.
https://bugs.webkit.org/show_bug.cgi?id=157010

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Covered by changes to existing test).

LocalStorage in private browsing is now effectively SessionStorage.
It's ephemeral, per-tab, and copied over to tabs window.open()'ed from the current.

  • loader/EmptyClients.cpp:

(WebCore::EmptyStorageNamespaceProvider::createEphemeralLocalStorageNamespace):

  • page/Chrome.cpp:

(WebCore::Chrome::createWindow):

  • page/Page.cpp:

(WebCore::Page::ephemeralLocalStorage):
(WebCore::Page::setEphemeralLocalStorage):

  • page/Page.h:
  • page/SecurityOriginData.h:
  • storage/Storage.cpp:

(WebCore::Storage::length):
(WebCore::Storage::key):
(WebCore::Storage::getItem):
(WebCore::Storage::setItem):
(WebCore::Storage::removeItem):
(WebCore::Storage::clear):
(WebCore::Storage::contains):
(WebCore::Storage::isDisabledByPrivateBrowsing): Deleted.

  • storage/StorageMap.h:
  • storage/StorageNamespaceProvider.cpp:

(WebCore::StorageNamespaceProvider::localStorageArea):

  • storage/StorageNamespaceProvider.h:
  • storage/StorageType.h:

(WebCore::isLocalStorage):
(WebCore::isPersistentLocalStorage):

Source/WebKit:

  • Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::createEphemeralLocalStorageNamespace):
(WebKit::StorageNamespaceImpl::StorageNamespaceImpl):
(WebKit::StorageNamespaceImpl::~StorageNamespaceImpl):
(WebKit::StorageNamespaceImpl::copy):
(WebKit::StorageNamespaceImpl::close):

  • Storage/StorageNamespaceImpl.h:
  • Storage/WebStorageNamespaceProvider.cpp:

(WebKit::WebStorageNamespaceProvider::createEphemeralLocalStorageNamespace):

  • Storage/WebStorageNamespaceProvider.h:

Source/WebKit2:

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::StorageAreaMap::~StorageAreaMap):

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::createEphemeralLocalStorageNamespace):
(WebKit::StorageNamespaceImpl::storageArea):
(WebKit::StorageNamespaceImpl::ephemeralLocalStorageArea):
(WebKit::StorageNamespaceImpl::copy):

  • WebProcess/Storage/StorageNamespaceImpl.h:
  • WebProcess/Storage/WebStorageNamespaceProvider.cpp:

(WebKit::WebStorageNamespaceProvider::createEphemeralLocalStorageNamespace):

  • WebProcess/Storage/WebStorageNamespaceProvider.h:

LayoutTests:

  • platform/mac-wk2/TestExpectations:
  • storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt:
  • storage/domstorage/localstorage/private-browsing-affects-storage.html:
  • storage/domstorage/localstorage/resources/private-browsing-1.html: Added.
  • storage/domstorage/localstorage/resources/private-browsing-2.html: Added.
  • storage/domstorage/localstorage/resources/private-browsing-3.html: Added.
  • storage/domstorage/localstorage/resources/private-browsing-storage-2.html: Added.
  • storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt: Removed.
  • storage/domstorage/sessionstorage/private-browsing-affects-storage.html: Removed.
10:49 PM Changeset in webkit [215314] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Suppress font download dialog in new matching algorithm
https://bugs.webkit.org/show_bug.cgi?id=169015

Reviewed by Alexey Proskuryakov.

Not testable.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontDatabase::lookupPostScriptName):

9:29 PM Changeset in webkit [215313] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebKit2

Unreviewed, fix build failure on Ubuntu LTS GTK bot
https://bugs.webkit.org/show_bug.cgi?id=170781

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):

8:12 PM Changeset in webkit [215312] by commit-queue@webkit.org
  • 12 edits
    1 add in trunk

test262: test262/test/built-ins/NativeErrors/EvalError/proto.js
https://bugs.webkit.org/show_bug.cgi?id=170668

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-12
Reviewed by Keith Miller.

JSTests:

  • ChakraCore.yaml:
  • ChakraCore/test/Lib/error.baseline-jsc: Added.

This test does not match the spec.

  • test262.yaml:

Source/JavaScriptCore:

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
The Prototype? of NativeError Constructor's should be the %Error%.
https://tc39.github.io/ecma262/#sec-properties-of-the-nativeerror-constructors

LayoutTests:

  • ietestcenter/Javascript/15.2.3.2-2-12-expected.txt:
  • ietestcenter/Javascript/15.2.3.2-2-13-expected.txt:
  • ietestcenter/Javascript/15.2.3.2-2-14-expected.txt:
  • ietestcenter/Javascript/15.2.3.2-2-15-expected.txt:
  • ietestcenter/Javascript/15.2.3.2-2-16-expected.txt:
  • ietestcenter/Javascript/15.2.3.2-2-17-expected.txt:

These tests are now out of date.

7:51 PM Changeset in webkit [215311] by commit-queue@webkit.org
  • 9 edits in trunk

test262: test262/test/language/literals/regexp/u-dec-esc.js
https://bugs.webkit.org/show_bug.cgi?id=170687

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-12
Reviewed by Michael Saboff.

JSTests:

  • test262.yaml:

Source/JavaScriptCore:

  • yarr/YarrParser.h:

(JSC::Yarr::Parser::parseEscape):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPattern::errorMessage):
(JSC::Yarr::YarrPattern::compile):

  • yarr/YarrPattern.h:

In unicoe patterns, invalid backreferences are an error.

LayoutTests:

  • js/regexp-unicode-expected.txt:
  • js/script-tests/regexp-unicode.js:

Extend test to test invalid backreferences.

7:26 PM Changeset in webkit [215310] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

Move common stack allocation utilities out of AirAllocateStackByGraphColoring.cpp
https://bugs.webkit.org/show_bug.cgi?id=170799

Reviewed by Michael Saboff and Keith Miller.

When I added stack allocation to allocateRegistersByLinearScan, I reused a handful of
utility functions from AirAllocateStackByGraphColoring.cpp. I accomplished this by
putting their declarations in AirAllocateStackByGraphColoring.h.

That was pretty weird.

This patch moves a family of stack allocation helper functions out of
AirAllocateStackByGraphColoring.cpp and into the new AirStackAllocation.h|cpp. The
linear scan stack allocator no longer has to include the other stack allocator's
header, which addresses my OCD.

I moved the functions transitively reachable from the two functions that the linear
scan allocator needed. This forced me to give them better names (i.e. no "fooBarImpl")
and short descriptive comments. I think that such comments are useful in code that is
doing a convoluted version of some theoretical concept.

No behavior change.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • b3/air/AirAllocateRegistersAndStackByLinearScan.cpp:
  • b3/air/AirAllocateStackByGraphColoring.cpp:

(JSC::B3::Air::allocateStackByGraphColoring):
(JSC::B3::Air::allocateEscapedStackSlots): Deleted.
(JSC::B3::Air::updateFrameSizeBasedOnStackSlots): Deleted.

  • b3/air/AirAllocateStackByGraphColoring.h:
  • b3/air/AirStackAllocation.cpp: Added.

(JSC::B3::Air::attemptAssignment):
(JSC::B3::Air::assign):
(JSC::B3::Air::allocateAndGetEscapedStackSlotsWithoutChangingFrameSize):
(JSC::B3::Air::allocateEscapedStackSlots):
(JSC::B3::Air::updateFrameSizeBasedOnStackSlots):

  • b3/air/AirStackAllocation.h: Added.
5:40 PM Changeset in webkit [215309] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r215242-215243): [ios-simulator] API test WebKit1.AudioSessionCategoryIOS is failing
https://bugs.webkit.org/show_bug.cgi?id=170777
<rdar://problem/31592877>

Reviewed by Jer Noble.

No new tests, fixes an existing test.

  • platform/audio/cocoa/MediaSessionManagerCocoa.cpp:

(PlatformMediaSessionManager::updateSessionState): Pass parameters to lambda by reference.

5:36 PM Changeset in webkit [215308] by jmarcell@apple.com
  • 1 copy in tags/Safari-603.2.3

Tag Safari-603.2.3.

5:34 PM Changeset in webkit [215307] by jmarcell@apple.com
  • 1 delete in tags/Safari-603.2.3

Deleting tag.

4:41 PM Changeset in webkit [215306] by jmarcell@apple.com
  • 7 edits in trunk/Source

Versioning.

4:37 PM Changeset in webkit [215305] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.1.17

Tag Safari-604.1.17.

4:07 PM Changeset in webkit [215304] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebKit2

[MediaStream] rename -[WKWebView _stopMediaCapture]
https://bugs.webkit.org/show_bug.cgi?id=170791
<rdar://problem/31589204>

Reviewed by Youenn Fablet.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _muteMediaCapture]):
(-[WKWebView _stopMediaCapture]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
3:49 PM Changeset in webkit [215303] by jmarcell@apple.com
  • 5 edits in branches/safari-603-branch/Source

Versioning.

3:44 PM Changeset in webkit [215302] by Ryan Haddad
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix.

  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]):
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]):
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]):
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection):
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection):
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection):

3:44 PM Changeset in webkit [215301] by Jonathan Bedard
  • 6 edits in trunk/LayoutTests

Move expectation for compositing/iframes/iframe-size-from-zero.htm to top level

Unreviewed test gardening.

  • TestExpectations: Marked compositing/iframes/iframe-size-from-zero.html as flaky.
  • platform/ios-wk1/TestExpectations: Move test expectation to top level.
  • platform/mac-wk1/TestExpectations: Ditto.
  • platform/win/TestExpectations: Ditto.
  • platform/wk2/TestExpectations: Ditto.
3:34 PM Changeset in webkit [215300] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaStream] Set correct audio session category when capturing audio
https://bugs.webkit.org/show_bug.cgi?id=170736
<rdar://problem/31559405>

Unreviewed, update an assertion I missed in r215242.

  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::PlatformMediaSession):

3:26 PM Changeset in webkit [215299] by achristensen@apple.com
  • 5 edits in trunk

Remove unused SharedBuffer::wrapCFDataArray
https://bugs.webkit.org/show_bug.cgi?id=170794

Reviewed by Brady Eidson.

Source/WebCore:

It's unused since r215280.

  • platform/SharedBuffer.h:
  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::wrapCFDataArray): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:

(TestWebKitAPI::TEST_F):

3:23 PM Changeset in webkit [215298] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Add a C-API for creating a WKContextConfigurationRef with legacy options.
https://bugs.webkit.org/show_bug.cgi?id=170790

Reviewed by Alex Christensen.

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCreate):
(WKContextConfigurationCreateWithLegacyOptions):

  • UIProcess/API/C/WKContextConfigurationRef.h:
3:06 PM Changeset in webkit [215297] by jer.noble@apple.com
  • 10 edits in trunk/Source/WebKit2

[WK2] Do not pass microphone sandbox extension to WebProcess if capturing is happening in UIProcess.
https://bugs.webkit.org/show_bug.cgi?id=170781

Reviewed by Alex Christensen.

Simultaneously, allow clients to configure whether capturing will occur in the UIProcess through
_WKProcessPoolConfiguration.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationShouldCaptureAudioInUIProcess):
(WKContextConfigurationSetShouldCaptureAudioInUIProcess):

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _shouldCaptureAudioInUIProcess]):
(-[WKWebViewConfiguration _setShouldCaptureAudioInUIProcess:]):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration shouldCaptureAudioInUIProcess]):
(-[_WKProcessPoolConfiguration setShouldCaptureAudioInUIProcess:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):

2:59 PM Changeset in webkit [215296] by jmarcell@apple.com
  • 1 copy in tags/Safari-603.2.3

Tag Safari-603.2.3.

2:51 PM Changeset in webkit [215295] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Build fix.

  • WebView/WebViewData.h:
2:46 PM Changeset in webkit [215294] by Keith Rollin
  • 2 edits in trunk/Source/WebKit2

Add some missing NetworkResourceLoader logging
https://bugs.webkit.org/show_bug.cgi?id=170139

Reviewed by Alex Christensen.

Once execution enters the lambda in
NetworkResourceLoader::retrieveCacheEntry, there is little indication
of which exit point was taken. If flow enters into startNetworkLoad,
we'll get some logging from that function, but not from the others.
Add some logging so that we know what the result was from looking up
the resource in the cache.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::retrieveCacheEntry):

2:34 PM Changeset in webkit [215293] by jmarcell@apple.com
  • 4 edits in branches/safari-603-branch

Cherry-pick r215117. rdar://problem/31512298

2:22 PM Changeset in webkit [215292] by fpizlo@apple.com
  • 22 edits
    2 moves
    2 adds
    2 deletes in trunk

B3 -O1 should not allocateStackByGraphColoring
https://bugs.webkit.org/show_bug.cgi?id=170742

Reviewed by Keith Miller.

One of B3 -O1's longest running phases is allocateStackByGraphColoring. One approach to
this would be to make that phase cheaper. But it's weird that this phase reruns
liveness after register allocation already ran liveness. If only it could reuse the
liveness computed by register allocation then it would run a lot faster. At -O2, we do
not want this, since we run phases between register allocation and stack allocation,
and those phases are free to change the liveness of spill slots (in fact,
fixObviousSpills will both shorten and lengthen live ranges because of load and store
elimination, respectively). But at -O1, we don't really need to run any phases between
register and stack allocation.

This changes Air's backend in the following ways:

  • Linear scan does stack allocation. This means that we don't need to run allocateStackByGraphColoring at all. In reality, we reuse some of its innards, but we don't run the expensive part of it (liveness->interference->coalescing->coloring). This is a speed-up because we only run liveness once and reuse it for both register and stack allocation.


  • Phases that previously ran between register and stack allocation are taken care of, each in its own special way:


-> handleCalleSaves: this is now a utility function called by both

allocateStackByGraphColoring and allocateRegistersAndStackByLinearScan.


-> fixObviousSpills: we didn't run this at -O1, so nothing needs to be done.


-> lowerAfterRegAlloc: this needed to be able to run before stack allocation because

it could change register usage (vis a vis callee saves) and it could introduce
spill slots. I changed this phase to have a secondary mode for when it runs after
stack allocation.


  • The part of allocateStackByGraphColoring that lowered stack addresses and took care of the call arg area is now a separate phase called lowerStackArgs. We run this phase regardless of optimization level. It's a cheap and general lowering.


This also removes spillEverything, because we never use that phase, we never test it,
and it got in the way in this refactoring.

This is a 21% speed-up on wasm -O1 compile times. This does not significantly change
-O1 throughput. We had already disabled allocateStack's most important optimization
(spill coalescing). This probably regresses average stack frame size, but I didn't
measure by how much. Stack frame size is really not that important. The algorithm in
allocateStackByGraphColoring is about much more than optimal frame size; it also
tries to avoid having to zero-extend 32-bit spills, it kills dead code, and of course
it coalesces.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • b3/B3Procedure.cpp:

(JSC::B3::Procedure::calleeSaveRegisterAtOffsetList):
(JSC::B3::Procedure::calleeSaveRegisters): Deleted.

  • b3/B3Procedure.h:
  • b3/B3StackmapGenerationParams.cpp:

(JSC::B3::StackmapGenerationParams::unavailableRegisters):

  • b3/air/AirAllocateRegistersAndStackByLinearScan.cpp: Copied from Source/JavaScriptCore/b3/air/AirAllocateRegistersByLinearScan.cpp.

(JSC::B3::Air::allocateRegistersAndStackByLinearScan):
(JSC::B3::Air::allocateRegistersByLinearScan): Deleted.

  • b3/air/AirAllocateRegistersAndStackByLinearScan.h: Copied from Source/JavaScriptCore/b3/air/AirAllocateRegistersByLinearScan.h.
  • b3/air/AirAllocateRegistersByLinearScan.cpp: Removed.
  • b3/air/AirAllocateRegistersByLinearScan.h: Removed.
  • b3/air/AirAllocateStackByGraphColoring.cpp:

(JSC::B3::Air::allocateEscapedStackSlots):
(JSC::B3::Air::updateFrameSizeBasedOnStackSlots):
(JSC::B3::Air::allocateStackByGraphColoring):

  • b3/air/AirAllocateStackByGraphColoring.h:
  • b3/air/AirArg.cpp:

(JSC::B3::Air::Arg::stackAddr):

  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::stackAddr): Deleted.

  • b3/air/AirCode.cpp:

(JSC::B3::Air::Code::addStackSlot):
(JSC::B3::Air::Code::setCalleeSaveRegisterAtOffsetList):
(JSC::B3::Air::Code::calleeSaveRegisterAtOffsetList):
(JSC::B3::Air::Code::dump):

  • b3/air/AirCode.h:

(JSC::B3::Air::Code::setStackIsAllocated):
(JSC::B3::Air::Code::stackIsAllocated):
(JSC::B3::Air::Code::calleeSaveRegisters):

  • b3/air/AirGenerate.cpp:

(JSC::B3::Air::prepareForGeneration):
(JSC::B3::Air::generate):

  • b3/air/AirHandleCalleeSaves.cpp:

(JSC::B3::Air::handleCalleeSaves):

  • b3/air/AirHandleCalleeSaves.h:
  • b3/air/AirLowerAfterRegAlloc.cpp:

(JSC::B3::Air::lowerAfterRegAlloc):

  • b3/air/AirLowerStackArgs.cpp: Added.

(JSC::B3::Air::lowerStackArgs):

  • b3/air/AirLowerStackArgs.h: Added.
  • b3/testb3.cpp:

(JSC::B3::testPinRegisters):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • jit/RegisterAtOffsetList.h:
  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::parseAndCompile):

2:11 PM Changeset in webkit [215291] by dino@apple.com
  • 19 edits in trunk/LayoutTests

canvas/2d.gradient.* LayoutTests failing
https://bugs.webkit.org/show_bug.cgi?id=170757
<rdar://problem/31177990>

Reviewed by Antoine Quint.

Add a fudge factor to the gradient tests, since we can
now produce noisy (nicer looking) gradients. There might
be 1 or 2 bits of difference per pixel.

  • canvas/philip/tests.js:

(_assertPixelWithGradientNoise):

  • canvas/philip/tests/2d.gradient.linear.transform.1.html:
  • canvas/philip/tests/2d.gradient.linear.transform.2.html:
  • canvas/philip/tests/2d.gradient.linear.transform.3.html:
  • canvas/philip/tests/2d.gradient.radial.cone.bottom.html:
  • canvas/philip/tests/2d.gradient.radial.cone.cylinder.html:
  • canvas/philip/tests/2d.gradient.radial.cone.front.html:
  • canvas/philip/tests/2d.gradient.radial.cone.shape1.html:
  • canvas/philip/tests/2d.gradient.radial.cone.top.html:
  • canvas/philip/tests/2d.gradient.radial.inside1.html:
  • canvas/philip/tests/2d.gradient.radial.inside2.html:
  • canvas/philip/tests/2d.gradient.radial.inside3.html:
  • canvas/philip/tests/2d.gradient.radial.outside1.html:
  • canvas/philip/tests/2d.gradient.radial.outside2.html:
  • canvas/philip/tests/2d.gradient.radial.outside3.html:
  • canvas/philip/tests/2d.gradient.radial.touch2.html:
  • fast/canvas/script-tests/canvas-gradient-on-compositing.js:
  • fast/canvas/canvas-gradient-on-compositing-expected.html:
2:08 PM Changeset in webkit [215290] by andersca@apple.com
  • 6 edits in trunk/Source

Tweak WebCore::setMetadataURL function
https://bugs.webkit.org/show_bug.cgi?id=170786

Reviewed by Beth Dakin.

Source/WebCore:

Get rid of the "referrer" parameter, it isn't used. Make the remaining parameters const. Swap the
urlString and path parameters since that makes more sense. Use String instead of NSString in the call to WKSetMetadataURL.

  • platform/FileSystem.cpp:

(WebCore::setMetadataURL): Deleted.

  • platform/FileSystem.h:
  • platform/mac/FileSystemMac.mm:

(WebCore::setMetadataURL):

Source/WebKit2:

Update for WebCore changes.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination):

2:04 PM Changeset in webkit [215289] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

[WK2][Mac] Stop allowing access to disk arbitration process
https://bugs.webkit.org/show_bug.cgi?id=170517
<rdar://problem/31071151>

Reviewed by Alex Christensen.

  • WebProcess/com.apple.WebProcess.sb.in:
1:55 PM Changeset in webkit [215288] by bweinstein@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Should always override -[WebStorageManager init].
https://bugs.webkit.org/show_bug.cgi?id=170787
-and corresponding-
rdar://problem/31371835

Reviewed by Anders Carlsson.

  • Storage/WebStorageManager.mm:

(-[WebStorageManager init]):

1:54 PM Changeset in webkit [215287] by mmaxfield@apple.com
  • 20 edits
    2 adds in trunk

Well-known variations should clamp to the values listed in the @font-face block
https://bugs.webkit.org/show_bug.cgi?id=169260

Reviewed by Dean Jackson.

Source/WebCore:

Most of this patch is plumbing the variation ranges from the CSSFontFace object
to preparePlatformFont() where variation values get applied.

Beyond that, there is one other piece of this patch - a nonspecified value in an
@font-face block shouldn't perform any clamping, but a specified value should be
clamped. This means that we need to retain whether or not a value is specified.
This patch does this by migrating CSSFontFace from using FontSelectionCapabilities
to using FontSelectionSpecifiedCapabilities, which has its internals behind
std::optionals which represent whether or not the value was specified. For the
purposes of font selection, these unspecified values are replaced with default
values.

Test: fast/text/variations/font-face-clamp.html

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::font):

  • css/CSSFontFace.h:
  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::font):

  • css/CSSFontFaceSource.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::createFont):
(WebCore::CachedFont::platformDataFromCustomData):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::createFont):
(WebCore::CachedSVGFont::platformDataFromCustomData):

  • loader/cache/CachedSVGFont.h:
  • platform/graphics/FontCache.cpp:

(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
(WebCore::FontPlatformDataCacheKey::operator==):
(WebCore::FontPlatformDataCacheKeyHash::hash):
(WebCore::FontCache::getCachedFontPlatformData):
(WebCore::FontCache::fontForFamily):

  • platform/graphics/FontCache.h:

(WebCore::FontCache::fontForFamily):
(WebCore::FontCache::getCachedFontPlatformData):
(WebCore::FontCache::createFontPlatformDataForTesting):

  • platform/graphics/FontSelectionAlgorithm.h:

(WebCore::FontSelectionRange::uniqueValue):
(WebCore::FontSelectionCapabilities::operator==):
(WebCore::FontSelectionCapabilities::operator!=):
(WebCore::FontSelectionSpecifiedCapabilities::computeFontSelectionCapabilities):
(WebCore::FontSelectionSpecifiedCapabilities::operator==):
(WebCore::FontSelectionSpecifiedCapabilities::operator!=):
(WebCore::FontSelectionSpecifiedCapabilities::operator=):
(WebCore::FontSelectionSpecifiedCapabilities::computeWeight):
(WebCore::FontSelectionSpecifiedCapabilities::computeWidth):
(WebCore::FontSelectionSpecifiedCapabilities::computeSlope):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::preparePlatformFont):
(WebCore::fontWithFamily):
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::lastResortFallbackFont):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • platform/graphics/mac/FontCustomPlatformData.h:

LayoutTests:

  • fast/text/variations/font-face-clamp-expected.html: Added.
  • fast/text/variations/font-face-clamp.html: Added.
1:47 PM Changeset in webkit [215286] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

Remove two passing canvas tests from ios expectations

Unreviewed test gardening.

  • platform/ios/TestExpectations:
1:22 PM Changeset in webkit [215285] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

32-bit build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _mediaPlaybackControlsView]):

1:20 PM Changeset in webkit [215284] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative open source build fix.

  • platform/spi/cocoa/AVKitSPI.h:
1:04 PM Changeset in webkit [215283] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

More 32-bit build fix.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _mediaPlaybackControlsView]):
(-[WKWebView _addMediaPlaybackControlsView:]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _mediaPlaybackControlsView]):
(-[WKView _addMediaPlaybackControlsView:]):

12:56 PM Changeset in webkit [215282] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Another 32 bit build fix.

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::mediaPlaybackControlsView):

12:49 PM Changeset in webkit [215281] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Speculative build fix.

  • WebView/WebViewData.h:
12:40 PM Changeset in webkit [215280] by achristensen@apple.com
  • 17 edits
    1 delete in trunk/Source

Stop using didReceiveDataArray callback on El Capitan
https://bugs.webkit.org/show_bug.cgi?id=170780

Reviewed by Brady Eidson.

Source/WebCore:

didReceiveDataArray was an optimization that improved performance on iOS but is not needed any more.
The only platform where this is used is El Capitan, and didReceiveData works fine on that platform.
I've left some cleanup still to be done in SharedBuffer, and doing that is the motivation for this change.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceLoader.h:
  • loader/SubresourceLoader.h:
  • loader/cf/SubresourceLoaderCF.cpp: Removed.
  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::didReceiveDataArray): Deleted.

  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::supportsDataArray): Deleted.
(WebCore::ResourceHandleClient::didReceiveDataArray): Deleted.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback): Deleted.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray): Deleted.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray): Deleted.

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): Deleted.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveDataArray:]): Deleted.

Source/WebKit2:

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::supportsDataArray): Deleted.
(WebKit::NetworkLoad::didReceiveDataArray): Deleted.

  • NetworkProcess/NetworkLoad.h:
12:28 PM Changeset in webkit [215279] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Speculative build fix.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
12:17 PM Changeset in webkit [215278] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION: LayoutTest webrtc/negotiatedneeded-event-addStream.html is frequently crashing
https://bugs.webkit.org/show_bug.cgi?id=170754
<rdar://problem/31573169>

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-12

12:12 PM Changeset in webkit [215277] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Attempted build fix.

  • platform/spi/cocoa/AVKitSPI.h:
12:08 PM Changeset in webkit [215276] by jmarcell@apple.com
  • 2 edits in branches/safari-603-branch/Source/WebKit2

Cherry-pick 214376. rdar://problem/31502340

12:02 PM Changeset in webkit [215275] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Attempted build fix.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
11:38 AM Changeset in webkit [215274] by Beth Dakin
  • 14 edits in trunk/Source

Adopt AVKit name change from AVFunctionBar* to AVTouchBar*
https://bugs.webkit.org/show_bug.cgi?id=170693
-and corresponding-
rdar://problem/31230018

Source/WebCore:

Reviewed by San Weinig.

Since the new names only apply to some versions of macOS, this patch uses typedefs
for the older OS’s. SO:

AVFunctionBarScrubber is now AVTouchBarScrubber

AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider

AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption

And the protocol AVFunctionBarPlaybackControlsControlling is now
AVTouchBarPlaybackControlsControlling

  • platform/mac/WebPlaybackControlsManager.h:
  • platform/mac/WebPlaybackControlsManager.mm:

(-[WebPlaybackControlsManager audioFunctionBarMediaSelectionOptions]):
(-[WebPlaybackControlsManager setAudioFunctionBarMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentAudioFunctionBarMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentAudioFunctionBarMediaSelectionOption:]):
(-[WebPlaybackControlsManager legibleFunctionBarMediaSelectionOptions]):
(-[WebPlaybackControlsManager setLegibleFunctionBarMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentLegibleFunctionBarMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentLegibleFunctionBarMediaSelectionOption:]):
(mediaSelectionOptions):

Here is where the typedefs and #define are declared.

  • platform/spi/cocoa/AVKitSPI.h:

Source/WebKit/mac:

Reviewed by Sam Weinig.

Since the new names only apply to some versions of macOS, this patch uses typedefs
for the older OS’s. SO:

AVFunctionBarScrubber is now AVTouchBarScrubber

AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider

AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption

And the protocol AVFunctionBarPlaybackControlsControlling is now
AVTouchBarPlaybackControlsControlling

Soft links and allocations cannot use the typedefs.

  • WebView/WebView.mm:

(-[WebView updateMediaTouchBar]):

  • WebView/WebViewData.h:

Source/WebKit2:

Reviewed by Sam Weinig.

Since the new names only apply to some versions of macOS, this patch uses typedefs
for the older OS’s. SO:

AVFunctionBarScrubber is now AVTouchBarScrubber

AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider

AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption

And the protocol AVFunctionBarPlaybackControlsControlling is now
AVTouchBarPlaybackControlsControlling

Use the new name.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _mediaPlaybackControlsView]):
(-[WKWebView _addMediaPlaybackControlsView:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _mediaPlaybackControlsView]):
(-[WKView _addMediaPlaybackControlsView:]):

  • UIProcess/Cocoa/WebViewImpl.h:

Soft links and allocations cannot use the typedefs.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::mediaPlaybackControlsView):
(WebKit::WebViewImpl::updateMediaTouchBar):

11:10 AM Changeset in webkit [215273] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit2

[MediaStream] Audio source in UI process not identified as capture source
https://bugs.webkit.org/show_bug.cgi?id=170776

Reviewed by Youenn Fablet.

  • WebProcess/cocoa/UserMediaCaptureManager.cpp: Override isCaptureSource.
10:35 AM Changeset in webkit [215272] by msaboff@apple.com
  • 4 edits
    1 add in trunk

Implement Object.isFrozen() and Object.isSealed() per ECMA spec
https://bugs.webkit.org/show_bug.cgi?id=170753

Reviewed by Mark Lam.

JSTests:

Added JSC baseline and enabled defineIndexProperty test.

Note that JSC differs from Chakra in that a JSC doesn't use indexed
properties placed on the Array prototype when sorting the indexed
properties of an Object. This is behavior is considered undefined
in the standard.

  • ChakraCore.yaml:
  • ChakraCore/test/es5/defineIndexProperty.baseline-jsc: Added.

Source/JavaScriptCore:

  • runtime/ObjectConstructor.cpp:

(JSC::testIntegrityLevel): Added local helper as described in the ECMA standard.

(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
Eliminated incomplete special handling of JSFinalObjects.

(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
Refactored to use the new testIntegrityLevel() helper.

10:23 AM Changeset in webkit [215271] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Allow iOS to toggle webRTCAPI legacy flag.
https://bugs.webkit.org/show_bug.cgi?id=170735

Patch by Andrew Gold <agold@apple.com> on 2017-04-12
Reviewed by Eric Carlson.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _webRTCLegacyAPIEnabled]):
(-[WKPreferences _setWebRTCLegacyAPIEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
10:19 AM Changeset in webkit [215270] by Yusuke Suzuki
  • 7 edits in trunk/Source

Use HAVE(MACHINE_CONTEXT) instead of USE(MACHINE_CONTEXT)
https://bugs.webkit.org/show_bug.cgi?id=170770

Rubber stamped by Mark Lam.

Source/JavaScriptCore:

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::MachineThread::Registers::framePointer):
(JSC::MachineThreads::MachineThread::Registers::instructionPointer):
(JSC::MachineThreads::MachineThread::Registers::llintPC):

  • runtime/MachineContext.h:

(JSC::MachineContext::stackPointer):
(JSC::MachineContext::framePointer):
(JSC::MachineContext::instructionPointer):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):

Source/WTF:

  • wtf/Platform.h:
  • wtf/PlatformRegisters.h:
  • wtf/ThreadingPthreads.cpp:

(WTF::Thread::getRegisters):

9:59 AM Changeset in webkit [215269] by Yusuke Suzuki
  • 8 edits in trunk/Source

[JSC] Clean up heap/MachineStackMarker by introducing USE(MACHINE_CONTEXT)
https://bugs.webkit.org/show_bug.cgi?id=170770

Reviewed by Mark Lam.

Source/JavaScriptCore:

We use USE(MACHINE_CONTEXT) to clean up runtime/MachineContext.h. And
we clean up heap/MachineStackMarker.cpp by using MachineContext functions.

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::MachineThread::Registers::stackPointer):
(JSC::MachineThreads::MachineThread::Registers::framePointer):
(JSC::MachineThreads::MachineThread::Registers::instructionPointer):
(JSC::MachineThreads::MachineThread::Registers::llintPC):

  • heap/MachineStackMarker.h:
  • runtime/MachineContext.h:

(JSC::MachineContext::stackPointer):
(JSC::MachineContext::framePointer):
(JSC::MachineContext::instructionPointer):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):

Source/WTF:

We add a new define USE_MACHINE_CONTEXT, which becomes true if mcontext_t exists
and we know the way to retrieve values from mcontext_t.

  • wtf/Platform.h:
  • wtf/PlatformRegisters.h:
  • wtf/ThreadingPthreads.cpp:

(WTF::Thread::getRegisters):

8:52 AM Changeset in webkit [215268] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix WinCairo build after r215265
https://bugs.webkit.org/show_bug.cgi?id=170502

m_threadId was removed in the header but not in the constructor implementation.
Initializer lists are our friends.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownloadManager::CurlDownloadManager):
(WebCore::CurlDownload::CurlDownload): Deleted.

  • platform/network/curl/CurlDownload.h:
5:33 AM Changeset in webkit [215267] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebCore

Unreviewed, build fix for Win and GTK
https://bugs.webkit.org/show_bug.cgi?id=170758

  • platform/posix/SharedBufferPOSIX.cpp:

(WebCore::SharedBuffer::createFromReadingFile):

  • platform/win/SharedBufferWin.cpp:

(WebCore::SharedBuffer::createFromReadingFile):

5:16 AM Changeset in webkit [215266] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebKit2

Unreviewed, build fix for GTK port after r215262
https://bugs.webkit.org/show_bug.cgi?id=170758

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::didRead):

5:08 AM Changeset in webkit [215265] by Yusuke Suzuki
  • 94 edits
    3 moves
    2 adds in trunk

[WTF] Introduce Thread class and use RefPtr<Thread> and align Windows Threading implementation semantics to Pthread one
https://bugs.webkit.org/show_bug.cgi?id=170502

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • API/tests/CompareAndSwapTest.cpp:

(testCompareAndSwap):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • b3/air/testair.cpp:
  • b3/testb3.cpp:

(JSC::B3::run):

  • bytecode/SuperSampler.cpp:

(JSC::initializeSuperSampler):

  • dfg/DFGWorklist.cpp:
  • disassembler/Disassembler.cpp:
  • heap/Heap.cpp:

(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::notifyIsSafeToCollect):

  • heap/Heap.h:
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::MachineThread::MachineThread):
(JSC::MachineThreads::MachineThread::getRegisters):
(JSC::MachineThreads::MachineThread::Registers::stackPointer):
(JSC::MachineThreads::MachineThread::Registers::framePointer):
(JSC::MachineThreads::MachineThread::Registers::instructionPointer):
(JSC::MachineThreads::MachineThread::Registers::llintPC):
(JSC::MachineThreads::MachineThread::captureStack):
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(pthreadSignalHandlerSuspendResume): Deleted.
(JSC::threadData): Deleted.
(JSC::MachineThreads::Thread::Thread): Deleted.
(JSC::MachineThreads::Thread::createForCurrentThread): Deleted.
(JSC::MachineThreads::Thread::operator==): Deleted.
(JSC::MachineThreads::machineThreadForCurrentThread): Deleted.
(JSC::MachineThreads::ThreadData::ThreadData): Deleted.
(JSC::MachineThreads::ThreadData::~ThreadData): Deleted.
(JSC::MachineThreads::ThreadData::suspend): Deleted.
(JSC::MachineThreads::ThreadData::resume): Deleted.
(JSC::MachineThreads::ThreadData::getRegisters): Deleted.
(JSC::MachineThreads::ThreadData::Registers::stackPointer): Deleted.
(JSC::MachineThreads::ThreadData::Registers::framePointer): Deleted.
(JSC::MachineThreads::ThreadData::Registers::instructionPointer): Deleted.
(JSC::MachineThreads::ThreadData::Registers::llintPC): Deleted.
(JSC::MachineThreads::ThreadData::freeRegisters): Deleted.
(JSC::MachineThreads::ThreadData::captureStack): Deleted.

  • heap/MachineStackMarker.h:

(JSC::MachineThreads::MachineThread::suspend):
(JSC::MachineThreads::MachineThread::resume):
(JSC::MachineThreads::MachineThread::threadID):
(JSC::MachineThreads::MachineThread::stackBase):
(JSC::MachineThreads::MachineThread::stackEnd):
(JSC::MachineThreads::threadsListHead):
(JSC::MachineThreads::Thread::operator!=): Deleted.
(JSC::MachineThreads::Thread::suspend): Deleted.
(JSC::MachineThreads::Thread::resume): Deleted.
(JSC::MachineThreads::Thread::getRegisters): Deleted.
(JSC::MachineThreads::Thread::freeRegisters): Deleted.
(JSC::MachineThreads::Thread::captureStack): Deleted.
(JSC::MachineThreads::Thread::platformThread): Deleted.
(JSC::MachineThreads::Thread::stackBase): Deleted.
(JSC::MachineThreads::Thread::stackEnd): Deleted.

  • jit/ICStats.cpp:

(JSC::ICStats::ICStats):
(JSC::ICStats::~ICStats):

  • jit/ICStats.h:
  • jsc.cpp:

(functionDollarAgentStart):
(startTimeoutThreadIfNeeded):

  • runtime/JSLock.cpp:

(JSC::JSLock::lock):

  • runtime/JSLock.h:

(JSC::JSLock::ownerThread):
(JSC::JSLock::currentThreadIsHoldingLock):

  • runtime/SamplingProfiler.cpp:

(JSC::FrameWalker::isValidFramePointer):
(JSC::SamplingProfiler::SamplingProfiler):
(JSC::SamplingProfiler::createThreadIfNecessary):
(JSC::SamplingProfiler::takeSample):

  • runtime/SamplingProfiler.h:
  • runtime/VM.h:

(JSC::VM::ownerThread):

  • runtime/VMTraps.cpp:

(JSC::findActiveVMAndStackBounds):
(JSC::VMTraps::SignalSender::send):
(JSC::VMTraps::fireTrap):

Source/WebCore:

Mechanical change. Use Thread:: APIs.

  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::IDBServer):

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::runLoop):

  • Modules/webaudio/AsyncAudioDecoder.h:
  • Modules/webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::uninitialize):
(WebCore::OfflineAudioDestinationNode::startRendering):

  • Modules/webaudio/OfflineAudioDestinationNode.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::securityOrigin):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):

  • Modules/webdatabase/DatabaseThread.h:

(WebCore::DatabaseThread::getThreadID):

  • bindings/js/GCController.cpp:

(WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):

  • fileapi/AsyncFileStream.cpp:

(WebCore::callOnFileThread):

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::open):
(WebCore::IconDatabase::close):

  • loader/icon/IconDatabase.h:
  • page/ResourceUsageThread.cpp:

(WebCore::ResourceUsageThread::createThreadIfNeeded):

  • page/ResourceUsageThread.h:
  • page/scrolling/ScrollingThread.cpp:

(WebCore::ScrollingThread::ScrollingThread):
(WebCore::ScrollingThread::isCurrentThread):
(WebCore::ScrollingThread::createThreadIfNeeded):
(WebCore::ScrollingThread::threadCallback):

  • page/scrolling/ScrollingThread.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
(WebCore::HRTFDatabaseLoader::loadAsynchronously):
(WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):

  • platform/audio/HRTFDatabaseLoader.h:
  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::ReverbConvolver):
(WebCore::ReverbConvolver::~ReverbConvolver):

  • platform/audio/ReverbConvolver.h:
  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(ResourceHandleStreamingClient::ResourceHandleStreamingClient):
(ResourceHandleStreamingClient::~ResourceHandleStreamingClient):

  • platform/network/cf/LoaderRunLoopCF.cpp:

(WebCore::loaderRunLoop):

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownloadManager::startThreadIfNeeded):
(WebCore::CurlDownloadManager::stopThread):

  • platform/network/curl/CurlDownload.h:
  • platform/network/curl/SocketStreamHandleImpl.h:
  • platform/network/curl/SocketStreamHandleImplCurl.cpp:

(WebCore::SocketStreamHandleImpl::startThread):
(WebCore::SocketStreamHandleImpl::stopThread):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::start):
(WebCore::WorkerThread::workerThread):

  • workers/WorkerThread.h:

(WebCore::WorkerThread::threadID):

Source/WebKit:

Mechanical change. Use Thread:: APIs.

  • Storage/StorageThread.cpp:

(WebCore::StorageThread::StorageThread):
(WebCore::StorageThread::~StorageThread):
(WebCore::StorageThread::start):
(WebCore::StorageThread::dispatch):
(WebCore::StorageThread::terminate):

  • Storage/StorageThread.h:

Source/WebKit2:

Mechanical change. Use Thread:: APIs.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:

(WebKit::NetworkCache::IOChannel::readSyncInThread):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::processIncomingMessage):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer):

  • UIProcess/linux/MemoryPressureMonitor.cpp:

(WebKit::MemoryPressureMonitor::MemoryPressureMonitor):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

Source/WTF:

This patch is refactoring of WTF Threading mechanism to merge JavaScriptCore's threading extension to WTF Threading.
Previously, JavaScriptCore requires richer threading features (such as suspending and resuming threads), and they
are implemented for PlatformThread in JavaScriptCore. But these features should be implemented in WTF Threading side
instead of maintaining JSC's own threading features too. This patch removes these features from JSC and move it to
WTF Threading.

However, current WTF Threading has one problem: Windows version of WTF Threading has different semantics from Pthreads
one. In Windows WTF Threading, we cannot perform any operation after the target thread is detached: WTF Threading stop
tracking the state of the thread once the thread is detached. But this is not the same to Pthreads one. In Pthreads,
pthread_detach just means that the resource of the thread will be destroyed automatically. While some operations like
pthread_join will be rejected, some operations like pthread_kill will be accepted.

The problem is that detached thread can be suspended and resumed in JSC. For example, in jsc.cpp, we start the worker
thread and detach it immediately. In worker thread, we will create VM and thus concurrent GC will suspend and resume
the detached thread. However, in Windows WTF Threading, we have no reference to the detached thread. Thus we cannot
perform suspend and resume operations onto the detached thread.

To solve the problem, we change Windows Threading mechanism drastically to align it to the Pthread semantics. In the
new Threading, we have RefPtr<Thread> class. It holds a handle to a platform thread. We can perform threading operations
with this class. For example, Thread::suspend is offered. And we use destructor of the thread local variable to release
the resources held by RefPtr<Thread>. In Windows, Thread::detach does nothing because the resource will be destroyed
automatically by RefPtr<Thread>.

To do so, we introduce ThreadHolder for Windows. This is similar to the previous ThreadIdentifierData for Pthreads.
It holds RefPtr<Thread> in the thread local storage (technically, it is Fiber Local Storage in Windows). Thread::current()
will return this reference.

The problematic situation is that the order of the deallocation of the thread local storage is not defined. So we should
not touch thread local storage in the destructor of the thread local storage. To avoid such edge cases, we have
currentThread() / Thread::currentID() APIs. They are safe to be called even in the destructor of the other thread local
storage. And in Windows, in the FLS destructor, we will create the thread_local variable to defer the destruction of
the ThreadHolder. We ensure that this destructor is called after the other FLS destructors are called in Windows 10.

This patch is performance neutral.

  • WTF.xcodeproj/project.pbxproj:
  • benchmarks/ConditionSpeedTest.cpp:
  • benchmarks/LockFairnessTest.cpp:
  • benchmarks/LockSpeedTest.cpp:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThread::start):

  • wtf/CMakeLists.txt:
  • wtf/MainThread.h:
  • wtf/MemoryPressureHandler.h:
  • wtf/ParallelJobsGeneric.cpp:

(WTF::ParallelEnvironment::ThreadPrivate::tryLockFor):
(WTF::ParallelEnvironment::ThreadPrivate::workerThread):

  • wtf/ParallelJobsGeneric.h:

(WTF::ParallelEnvironment::ThreadPrivate::ThreadPrivate): Deleted.

  • wtf/ParkingLot.cpp:

(WTF::ParkingLot::forEachImpl):

  • wtf/ParkingLot.h:

(WTF::ParkingLot::forEach):

  • wtf/PlatformRegisters.h: Renamed from Source/JavaScriptCore/runtime/PlatformThread.h.
  • wtf/RefPtr.h:

(WTF::RefPtr::RefPtr):

  • wtf/ThreadFunctionInvocation.h:

(WTF::ThreadFunctionInvocation::ThreadFunctionInvocation):

  • wtf/ThreadHolder.cpp: Added.

(WTF::ThreadHolder::~ThreadHolder):
(WTF::ThreadHolder::initialize):

  • wtf/ThreadHolder.h: Renamed from Source/WTF/wtf/ThreadIdentifierDataPthreads.h.

(WTF::ThreadHolder::thread):
(WTF::ThreadHolder::ThreadHolder):

  • wtf/ThreadHolderPthreads.cpp: Renamed from Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp.

(WTF::ThreadHolder::initializeOnce):
(WTF::ThreadHolder::current):
(WTF::ThreadHolder::destruct):

  • wtf/ThreadHolderWin.cpp: Added.

(WTF::threadMapMutex):
(WTF::threadMap):
(WTF::ThreadHolder::initializeOnce):
(WTF::ThreadHolder::current):
(WTF::ThreadHolder::destruct):

  • wtf/ThreadSpecific.h:
  • wtf/Threading.cpp:

(WTF::Thread::normalizeThreadName):
(WTF::threadEntryPoint):
(WTF::Thread::create):
(WTF::Thread::setCurrentThreadIsUserInteractive):
(WTF::Thread::setCurrentThreadIsUserInitiated):
(WTF::Thread::setGlobalMaxQOSClass):
(WTF::Thread::adjustedQOSClass):
(WTF::Thread::dump):
(WTF::initializeThreading):
(WTF::normalizeThreadName): Deleted.
(WTF::createThread): Deleted.
(WTF::setCurrentThreadIsUserInteractive): Deleted.
(WTF::setCurrentThreadIsUserInitiated): Deleted.
(WTF::setGlobalMaxQOSClass): Deleted.
(WTF::adjustedQOSClass): Deleted.

  • wtf/Threading.h:

(WTF::Thread::id):
(WTF::Thread::operator==):
(WTF::Thread::operator!=):
(WTF::Thread::joinableState):
(WTF::Thread::didBecomeDetached):
(WTF::Thread::didJoin):
(WTF::Thread::hasExited):
(WTF::currentThread):

  • wtf/ThreadingPthreads.cpp:

(WTF::Thread::Thread):
(WTF::Thread::~Thread):
(WTF::Thread::signalHandlerSuspendResume):
(WTF::Thread::initializePlatformThreading):
(WTF::initializeCurrentThreadEvenIfNonWTFCreated):
(WTF::wtfThreadEntryPoint):
(WTF::Thread::createInternal):
(WTF::Thread::initializeCurrentThreadInternal):
(WTF::Thread::changePriority):
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::current):
(WTF::Thread::currentID):
(WTF::Thread::signal):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):
(WTF::Thread::didExit):
(WTF::Thread::establish):
(WTF::PthreadState::PthreadState): Deleted.
(WTF::PthreadState::joinableState): Deleted.
(WTF::PthreadState::pthreadHandle): Deleted.
(WTF::PthreadState::didBecomeDetached): Deleted.
(WTF::PthreadState::didExit): Deleted.
(WTF::PthreadState::didJoin): Deleted.
(WTF::PthreadState::hasExited): Deleted.
(WTF::threadMapMutex): Deleted.
(WTF::initializeThreading): Deleted.
(WTF::threadMap): Deleted.
(WTF::identifierByPthreadHandle): Deleted.
(WTF::establishIdentifierForPthreadHandle): Deleted.
(WTF::pthreadHandleForIdentifierWithLockAlreadyHeld): Deleted.
(WTF::createThreadInternal): Deleted.
(WTF::initializeCurrentThreadInternal): Deleted.
(WTF::changeThreadPriority): Deleted.
(WTF::waitForThreadCompletion): Deleted.
(WTF::detachThread): Deleted.
(WTF::threadDidExit): Deleted.
(WTF::currentThread): Deleted.
(WTF::signalThread): Deleted.

  • wtf/ThreadingWin.cpp:

(WTF::Thread::Thread):
(WTF::Thread::~Thread):
(WTF::Thread::initializeCurrentThreadInternal):
(WTF::Thread::initializePlatformThreading):
(WTF::wtfThreadEntryPoint):
(WTF::Thread::createInternal):
(WTF::Thread::changePriority):
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::resume):
(WTF::Thread::getRegisters):
(WTF::Thread::current):
(WTF::Thread::currentID):
(WTF::Thread::didExit):
(WTF::Thread::establish):
(WTF::initializeCurrentThreadInternal): Deleted.
(WTF::threadMapMutex): Deleted.
(WTF::initializeThreading): Deleted.
(WTF::threadMap): Deleted.
(WTF::storeThreadHandleByIdentifier): Deleted.
(WTF::threadHandleForIdentifier): Deleted.
(WTF::clearThreadHandleForIdentifier): Deleted.
(WTF::createThreadInternal): Deleted.
(WTF::changeThreadPriority): Deleted.
(WTF::waitForThreadCompletion): Deleted.
(WTF::detachThread): Deleted.
(WTF::currentThread): Deleted.

  • wtf/WorkQueue.cpp:

(WTF::WorkQueue::concurrentApply):

  • wtf/WorkQueue.h:
  • wtf/cocoa/WorkQueueCocoa.cpp:

(WTF::dispatchQOSClass):

  • wtf/generic/WorkQueueGeneric.cpp:

(WorkQueue::platformInitialize):
(WorkQueue::platformInvalidate):

  • wtf/linux/MemoryPressureHandlerLinux.cpp:

(WTF::MemoryPressureHandler::EventFDPoller::EventFDPoller):
(WTF::MemoryPressureHandler::EventFDPoller::~EventFDPoller):

  • wtf/win/MainThreadWin.cpp:

(WTF::initializeMainThreadPlatform):

Tools:

Mechanical change. Use Thread:: APIs.

  • DumpRenderTree/JavaScriptThreading.cpp:

(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(testThreadIdentifierMap):

  • TestWebKitAPI/Tests/WTF/Condition.cpp:
  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::runLockTest):

  • TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
3:14 AM Changeset in webkit [215264] by Manuel Rego Casasnovas
  • 1 edit
    2 adds in trunk/LayoutTests

[css-grid] Replaced elements don't properly resolve percentage heights
https://bugs.webkit.org/show_bug.cgi?id=159670

Reviewed by Darin Adler.

The issue was fixed in r213149 (bug #168657), but the Blink test was not imported.
This patch only adds the test to avoid regressions in the future.

  • fast/css-grid-layout/grid-item-with-percent-height-replaced-element-expected.txt: Added.
  • fast/css-grid-layout/grid-item-with-percent-height-replaced-element.html: Added.
3:09 AM Changeset in webkit [215263] by Antti Koivisto
  • 15 edits
    2 adds in trunk

Cache small media resources in disk cache
https://bugs.webkit.org/show_bug.cgi?id=170676
<rdar://problem/31532649>

Reviewed by Andreas Kling.

Source/WebCore:

Test: http/tests/cache/disk-cache/disk-cache-media-small.html

Testing support. Functional changes are in WebKit2.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):
(WebCore::HTMLMediaElement::lastMediaResourceLoaderForTesting):

  • html/HTMLMediaElement.h:
  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::MediaResourceLoader):
(WebCore::MediaResourceLoader::addResponseForTesting):
(WebCore::MediaResource::responseReceived):

  • loader/MediaResourceLoader.h:
  • platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSessionDataTask resource:receivedResponse:]):

We can now receive cached responses.

  • testing/Internals.cpp:

(WebCore::responseSourceToString):
(WebCore::Internals::xhrResponseSource):
(WebCore::Internals::mediaResponseSources):
(WebCore::Internals::mediaResponseContentRanges):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit2:

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::makeRetrieveDecision):

Allow retrieving media resources.

(WebKit::NetworkCache::expectedTotalResourceSizeFromContentRange):
(WebKit::NetworkCache::expectedTotalResourceSize):
(WebKit::NetworkCache::makeStoreDecision):

Store media resource if we can figure out its total size and it is less than 5MB
(and it is cacheable by the usual rules).

LayoutTests:

  • http/tests/cache/disk-cache/disk-cache-media-small-expected.txt: Added.
  • http/tests/cache/disk-cache/disk-cache-media-small.html: Added.
2:25 AM Changeset in webkit [215262] by commit-queue@webkit.org
  • 23 edits in trunk

Modernize vector adoption
https://bugs.webkit.org/show_bug.cgi?id=170758

Patch by Alex Christensen <achristensen@webkit.org> on 2017-04-12
Reviewed by Geoffrey Garen.

Source/WebCore:

  • Modules/encryptedmedia/InitDataRegistry.cpp:

(WebCore::extractKeyIDsKeyids):

  • Modules/indexeddb/IDBGetResult.cpp:

(WebCore::IDBGetResult::dataFromBuffer):

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::decode):

  • Modules/indexeddb/server/IDBSerialization.cpp:

(WebCore::serializeIDBKeyData):
(WebCore::decodeKey):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getAllObjectStoreRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetIndexRecordForOneKey):

  • Modules/indexeddb/server/SQLiteIDBCursor.cpp:

(WebCore::IDBServer::SQLiteIDBCursor::internalFetchNextRecord):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::font):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::loadCache):

  • loader/archive/mhtml/MHTMLParser.cpp:

(WebCore::MHTMLParser::parseNextPart):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::createCustomFontData):

  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::ensureCustomFontData):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::create):
(WebCore::utf8Buffer):
(WebCore::SharedBuffer::adoptVector): Deleted.

  • platform/SharedBuffer.h:
  • platform/ThreadSafeDataBuffer.h:

(WebCore::ThreadSafeDataBufferImpl::ThreadSafeDataBufferImpl):
(WebCore::ThreadSafeDataBuffer::create):
(WebCore::ThreadSafeDataBuffer::ThreadSafeDataBuffer):
(WebCore::ThreadSafeDataBuffer::decode):
(): Deleted.
(WebCore::ThreadSafeDataBuffer::adoptVector): Deleted.

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::registerBlobURL):

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::decodeBase64):
(WebCore::DataURLDecoder::decodeEscaped):

Source/WebKit2:

  • NetworkProcess/capture/NetworkCaptureEvent.cpp:

(WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::decode):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::bufferForType):

Tools:

  • TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:

(TestWebKitAPI::TEST_F):

1:01 AM Changeset in webkit [215261] by pvollan@apple.com
  • 14 edits
    6 adds in trunk

Implement stroke-color CSS property.
https://bugs.webkit.org/show_bug.cgi?id=169352

Reviewed by Jon Lee.

Source/WebCore:

Support setting text stroke color using the CSS property stroke-color, see https://drafts.fxtf.org/paint/.
Text stroke color can currently be set with the -webkit-text-stroke-color property. To make sure this still
works, I added a check to determine if the stroke-color property has been explicitly set. If it has not been
set, we fall back to the value of the -webkit-text-stroke-color property.

Tests: fast/css/stroke-color-fallback.html

fast/css/stroke-color.html
fast/css/visited-link-stroke-color.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSProperties.json:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueStrokeColor):

  • css/StyleResolver.cpp:

(WebCore::isValidVisitedLinkProperty):

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::isColorPropertyID):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):

  • rendering/TextDecorationPainter.cpp:

(WebCore::decorationColor):

  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextPaintStyle):
(WebCore::computeTextSelectionPaintStyle):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
(WebCore::RenderStyle::colorIncludingFallback):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::strokeColor):
(WebCore::RenderStyle::setStrokeColor):
(WebCore::RenderStyle::setVisitedLinkStrokeColor):
(WebCore::RenderStyle::visitedLinkStrokeColor):
(WebCore::RenderStyle::setHasExplicitlySetStrokeColor):
(WebCore::RenderStyle::hasExplicitlySetStrokeColor):

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):

  • rendering/style/StyleRareInheritedData.h:

LayoutTests:

  • fast/css/stroke-color-expected.html: Added.
  • fast/css/stroke-color-fallback-expected.html: Added.
  • fast/css/stroke-color-fallback.html: Added.
  • fast/css/stroke-color.html: Added.
  • fast/css/visited-link-stroke-color-expected.html: Added.
  • fast/css/visited-link-stroke-color.html: Added.
12:29 AM Changeset in webkit [215260] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK+ debug build fix. Drop an unused debug-only member
variable in the CompositingRunLoop class.

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:

Apr 11, 2017:

11:50 PM Changeset in webkit [215259] by zandobersek@gmail.com
  • 21 edits
    2 adds in trunk/Source

[GTK] Use the DisplayRefreshMonitor facilities
https://bugs.webkit.org/show_bug.cgi?id=170599

Reviewed by Carlos Garcia Campos.

Source/WebCore:

  • CMakeLists.txt: Add missing files to the build.
  • platform/graphics/DisplayRefreshMonitor.cpp: Build fixes.

(WebCore::DisplayRefreshMonitor::createDefaultDisplayRefreshMonitor):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::updatePlatformLayer): Mark the
platform layer as updated in the layer's CoordinatedGraphicsState.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

Source/WebKit2:

ThreadedCompositor gains a DisplayRefreshMonitor member that it can use
to better coordinate display refresh callbacks on the main thread. Still,
because currently the GTK+ port doesn't have a reliable way of notifying
the ThreadedCompositor of a vsync event, a timer targeting 60FPS is used
in order to keep the updates at a reasonable rate. When the timer is fired,
the ThreadedCompositor decides how to proceed based on state changes that
might have occurred during composition or whether there's any display
refresh callbacks that require handling on the main thread.

CompositingRunLoop now stores its state in an atomic variable that's then
inspected whenever a new update is scheduled or completed. When scheduled,
if there's no update in progress, a new update is requested through the
timer. If there's already an update in progress, a new update is marked
as pending after the current one completes. In that case, when the update
is completed, a new update is requested through the timer.

ThreadedDisplayRefreshMonitor is used to coordinate updates between the
main and the composition thread whenever the CoordinatedGraphics state
demands it, or whenever there are clients registered to that monitor that
require an update (e.g. a requestAnimationFrame() callback). After the
update on the composition thread is finished, and the DisplayRefreshMonitor
object requires an update, a callback at the same priority as the layer
flush timer is scheduled on the main thread. In that callback we handle
any clients registered for this DisplayRefreshMonitor before proceeding
to handle any changes to the CoordinatedGraphics scene. In case the
DisplayRefreshMonitor clients or the layer flushes already queued up
any changes to the state, we immediately ask the ThreadedCompositor for
an update.

  • PlatformGTK.cmake:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::updateViewport):
(WebKit::CoordinatedGraphicsScene::commitSceneState):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::CompositingRunLoop):
(WebKit::CompositingRunLoop::isActive):
(WebKit::CompositingRunLoop::scheduleUpdate):
(WebKit::CompositingRunLoop::stopUpdates):
(WebKit::CompositingRunLoop::updateCompleted):
(WebKit::CompositingRunLoop::updateTimerFired):
(WebKit::CompositingRunLoop::isCurrent):
(WebKit::CompositingRunLoop::startUpdateTimer): Deleted.
(WebKit::CompositingRunLoop::stopUpdateTimer): Deleted.

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:

(): Deleted.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::m_displayRefreshMonitor):
(WebKit::ThreadedCompositor::invalidate):
(WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing):
(WebKit::ThreadedCompositor::updateViewport):
(WebKit::ThreadedCompositor::scheduleDisplayImmediately):
(WebKit::ThreadedCompositor::renderLayerTree):
(WebKit::ThreadedCompositor::sceneUpdateFinished):
(WebKit::ThreadedCompositor::updateSceneState):
(WebKit::ThreadedCompositor::displayRefreshMonitor):
(WebKit::ThreadedCompositor::renderNextFrameIfNeeded):
(WebKit::ThreadedCompositor::completeCoordinatedUpdateIfNeeded):
(WebKit::ThreadedCompositor::coordinateUpdateCompletionWithClient):
(WebKit::ThreadedCompositor::performFrameCompletion):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp: Added.

(WebKit::ThreadedDisplayRefreshMonitor::ThreadedDisplayRefreshMonitor):
(WebKit::ThreadedDisplayRefreshMonitor::requestRefreshCallback):
(WebKit::ThreadedDisplayRefreshMonitor::requiresDisplayRefreshCallback):
(WebKit::ThreadedDisplayRefreshMonitor::dispatchDisplayRefreshCallback):
(WebKit::ThreadedDisplayRefreshMonitor::invalidate):
(WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h.
  • WebProcess/WebPage/AcceleratedDrawingArea.cpp:

(WebKit::AcceleratedDrawingArea::createDisplayRefreshMonitor):

  • WebProcess/WebPage/AcceleratedDrawingArea.h:
  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:

(WebKit::ThreadedCoordinatedLayerTreeHost::createDisplayRefreshMonitor):

  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit::LayerTreeHost::createDisplayRefreshMonitor):

Source/WTF:

  • wtf/Platform.h: Enable USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for the GTK+ port.
  • wtf/glib/RunLoopSourcePriority.h: Add the DisplayRefreshMonitorTimer entry that

matches the value of LayerFlushTimer.

11:12 PM Changeset in webkit [215258] by jmarcell@apple.com
  • 5 edits in branches/safari-603-branch

Cherry-pick 214358. rdar://problem/31502340

9:37 PM Changeset in webkit [215257] by rniwa@webkit.org
  • 3 edits
    1 add in trunk/Websites/perf.webkit.org

Retrying an A/B testing does not set the repetition count in some cases
https://bugs.webkit.org/show_bug.cgi?id=170695

Reviewed by Joseph Pecoraro.

When selecting an existing A/B test group, the analysis task page automatically sets the repetition count
of its retry to be that of the original test group. However, this information wasn't being passed correctly
to the code that actually created a test group. As a result, the retried test group's repetition count does
not match that of the original group or the number shown to the user on UI.

Fixed the bug by updating this._repetitionCount in setRepetitionCount.

  • browser-tests/index.html:
  • browser-tests/test-group-form-tests.js: Added. Added tests.

(.createTestGroupFormWithContext): Added.

  • public/v3/components/test-group-form.js:

(TestGroupForm.prototype.setRepetitionCount):
(TestGroupForm.formContent):
(TestGroupForm):

8:05 PM Changeset in webkit [215256] by Matt Baker
  • 5 edits
    4 adds in trunk/Source/WebInspectorUI

Web Inspector: checkboxes in Settings screen use inappropriate layout
https://bugs.webkit.org/show_bug.cgi?id=166993
<rdar://problem/30002272>

Reviewed by Devin Rousso.

  • Localizations/en.lproj/localizedStrings.js:

New checkbox setting strings.

  • UserInterface/Main.html:

New settings view classes.

  • UserInterface/Views/GeneralSettingsView.js: Added.

(WebInspector.GeneralSettingsView):
(WebInspector.GeneralSettingsView.prototype.initialLayout):
Move settings UI creation from SettingsTabContentView.

  • UserInterface/Views/SettingEditor.js: Added.

Basic setting editor UI for the following input types: checkbox,
number, and select. In the future it may be useful to include
additional types, such as radio buttons.

(WebInspector.SettingEditor):
(WebInspector.SettingEditor.createForSetting):
(WebInspector.SettingEditor.prototype.get element):
(WebInspector.SettingEditor.prototype.get type):
(WebInspector.SettingEditor.prototype.get label):
(WebInspector.SettingEditor.prototype.get value):
(WebInspector.SettingEditor.prototype.set value):
(WebInspector.SettingEditor.prototype._createEditorElement):

  • UserInterface/Views/SettingsGroup.js: Added.

A container holding editors for one or more WebInspector.Settings.
Every editor belongs to a group. SettingsView provides convenience
methods for adding settings and groups, so create instances directly
shouldn't normally be necessary.

(WebInspector.SettingsGroup):
(WebInspector.SettingsGroup.prototype.get element):
(WebInspector.SettingsGroup.prototype.addSetting):
(WebInspector.SettingsGroup.prototype.addCustomSetting):

  • UserInterface/Views/SettingsTabContentView.css:

Refactored styles to more closely match Xcode settings UI.
Eliminated redundant use of "setting" from CSS class names.

(.content-view.settings):
(.content-view.settings .navigation-bar .item.radio.button.text-only):
(.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
(.content-view.settings > .settings-view > .separator):
(.content-view.settings > .settings-view > .container):
(.content-view.settings > .settings-view > .container > .title):
(body[dir=ltr] .content-view.settings > .settings-view > .container > .title):
(body[dir=rtl] .content-view.settings > .settings-view > .container > .title):
(.content-view.settings > .settings-view > .container > .editor-group):
(.content-view.settings > .settings-view > .container > .editor-group > .editor input):
(.content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
(body[dir=ltr] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
(body[dir=rtl] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
(.content-view.settings > .settings-view > .container > .editor-group > .editor select):
(.content-view.settings > .settings-view > .container > .editor-group > .editor input[type="number"]):
(body[dir=ltr] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="number"]):
(body[dir=rtl] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="number"]):
(.content-view.settings > .header): Deleted.
(.content-view.settings > .separator): Deleted.
(.content-view.settings > .setting-container): Deleted.
(.content-view.settings > .setting-container.combined): Deleted.
(.content-view.settings > .setting-container > .setting-name): Deleted.
(body[dir=ltr] .content-view.settings > .setting-container > .setting-name): Deleted.
(body[dir=rtl] .content-view.settings > .setting-container > .setting-name): Deleted.
(.content-view.settings > .setting-container > .setting-value-controller): Deleted.
(.content-view.settings > .setting-container > .setting-value-controller input): Deleted.
(.content-view.settings > .setting-container > .setting-value-controller input[type="checkbox"]): Deleted.
(body[dir=ltr] .content-view.settings > .setting-container > .setting-value-controller input[type="checkbox"]): Deleted.
(body[dir=rtl] .content-view.settings > .setting-container > .setting-value-controller input[type="checkbox"]): Deleted.
(.content-view.settings > .setting-container > .setting-value-controller select): Deleted.
(.content-view.settings > .setting-container > .setting-value-controller input[type="number"]): Deleted.
(body[dir=ltr] .content-view.settings > .setting-container > .setting-value-controller input[type="number"]): Deleted.
(body[dir=rtl] .content-view.settings > .setting-container > .setting-value-controller input[type="number"]): Deleted.

  • UserInterface/Views/SettingsTabContentView.js:

To better organize the growing number of settings, multiple settings views
are now supported, with a navigation bar for switching between them. For
now there is a single "General" setting view, and and the navigation bar
is hidden. Adding a second view will cause the bar to be shown.

(WebInspector.SettingsTabContentView):
(WebInspector.SettingsTabContentView.prototype.get type):
(WebInspector.SettingsTabContentView.prototype.get selectedSettingsView):
(WebInspector.SettingsTabContentView.prototype.set selectedSettingsView):
(WebInspector.SettingsTabContentView.prototype.addSettingsView):
(WebInspector.SettingsTabContentView.prototype._navigationItemSelected):
(WebInspector.SettingsTabContentView.prototype.layout): Deleted.
No longer needed.

  • UserInterface/Views/SettingsView.js: Added.

Base class for displaying editing UI for a collection of related
WebInspector.Setting objects.

(WebInspector.SettingsView):
(WebInspector.SettingsView.prototype.get identifier):
(WebInspector.SettingsView.prototype.get displayName):
A string suitable for display in a NavigationBar showing a list of
SettingsViews (e.g. "General", "Text Editing", "Fonts & Colors", etc).

(WebInspector.SettingsView.prototype.addSetting):
Add UI for a setting, consisting of a title, an editor appropriate for
the setting's value type, and optional label and formatting options.
For example:

addSetting("Setting 1:", new WebInspector.Setting(…, true), "Item one")
addSetting("Setting 2:", new WebInspector.Setting(…, 1), "units")

will create a checkbox and number input field:

Setting 1: [x] Item one
Setting 2: [ 1] units

(WebInspector.SettingsView.prototype.addCustomSetting):
Add UI for a specific editor type, with optional formatting options.
A setting can be updated in response to changes in the editor's value.

(WebInspector.SettingsView.prototype.addGroup):
Add a group, for listing multiple settings under one title. For example:

group = addGroup("Title:")
group.addSetting(new WebInspector.Setting(…, true), "Item one")
group.addSetting(new WebInspector.Setting(…, false), "Item two")

will create two checkboxes under the same title:

Title: [x] Item one

[ ] Item two

(WebInspector.SettingsView.prototype.addSeparator):
Add vertical space between two settings or groups.

4:24 PM Changeset in webkit [215255] by achristensen@apple.com
  • 14 edits in trunk/Source/WebKit2

Modernize and clean up code
https://bugs.webkit.org/show_bug.cgi?id=170752

Reviewed by Sam Weinig.

  • NetworkProcess/NetworkResourceLoader.h:
  • Shared/WebPreferencesStore.h:
  • UIProcess/API/APIHitTestResult.cpp:

(API::HitTestResult::create):

  • UIProcess/API/APIHitTestResult.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesCreate):
(WKPreferencesCreateWithIdentifier):
(WKPreferencesCreateCopy):

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:
  • UIProcess/WebPreferences.cpp:

(WebKit::WebPreferences::createWithLegacyDefaults):
(WebKit::WebPreferences::copy):

  • UIProcess/WebPreferences.h:
  • WebProcess/Network/WebLoaderStrategy.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::requestCheckingOfString):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addTextCheckingRequest):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::WebPage::expandedRangeFromHandle):
(WebKit::WebPage::contractedRangeFromHandle):
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
(WebKit::WebPage::changeBlockSelection):
(WebKit::WebPage::rangeForGranularityAtPoint):
(WebKit::WebPage::computePagesForPrintingAndDrawToPDF):

4:03 PM Changeset in webkit [215254] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Modern Media Controls] Allow modern-media-controls to be provided through WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=170722
<rdar://problem/31553089>

Patch by Antoine Quint <Antoine Quint> on 2017-04-11
Reviewed by Dean Jackson.

If modern media controls source files are provided through WebKitAdditions, use these instead
of the sources found in the WebCore module.

  • WebCore.xcodeproj/project.pbxproj:
3:48 PM Changeset in webkit [215253] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

LayoutTest webrtc/video-mute.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=170704

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-11
Reviewed by Eric Carlson.

  • webrtc/video-mute.html: Trying to make it less flaky.
3:47 PM Changeset in webkit [215252] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

[WK1] Add captureStream test with webrtc
https://bugs.webkit.org/show_bug.cgi?id=170746

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-11
Reviewed by Eric Carlson.

  • platform/mac-wk1/TestExpectations: Activating this new test in WK1.
  • webrtc/captureCanvas-webrtc-expected.txt: Added.
  • webrtc/captureCanvas-webrtc.html: Added.
3:47 PM Changeset in webkit [215251] by commit-queue@webkit.org
  • 14 edits in trunk/LayoutTests

Migrating webrtc tests to latest API
https://bugs.webkit.org/show_bug.cgi?id=170709

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-11
Reviewed by Eric Carlson.

  • webrtc/audio-peer-connection-webaudio.html:
  • webrtc/libwebrtc/descriptionGetters.html:
  • webrtc/negotiatedneeded-event-addStream.html:
  • webrtc/peer-connection-audio-mute.html:
  • webrtc/peer-connection-audio-mute2.html:
  • webrtc/peer-connection-remote-audio-mute.html:
  • webrtc/peer-connection-remote-audio-mute2.html:
  • webrtc/release-after-getting-track.html:
  • webrtc/video-disabled-black.html:
  • webrtc/video-mute.html:
  • webrtc/video-remote-mute.html:
  • webrtc/video-with-receiver.html:
  • webrtc/video.html:
2:30 PM Changeset in webkit [215250] by dino@apple.com
  • 12 edits in trunk

Disable outdated WritableStream API
https://bugs.webkit.org/show_bug.cgi?id=170749
<rdar://problem/31446233>

Reviewed by Tim Horton.

The API we implement is no longer accurate. Disable it until we
are compatible with the new specification

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1:39 PM Changeset in webkit [215249] by mrajca@apple.com
  • 4 edits in trunk

Consider the current document when allowing autoplay quirks.
https://bugs.webkit.org/show_bug.cgi?id=170744

Reviewed by Eric Carlson.

Added API test.

In addition to checking if the top-level document supports autoplay quirks, we should check
if the current document supports quirks. This allows all embedded YouTube videos (which use
iframes) to play correctly if the client allows autoplay quirks on youtube.com.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::dispatchPlayPauseEventsIfNeedsQuirks):

12:51 PM Changeset in webkit [215248] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r215245.

This change broke internal builds.

Reverted changeset:

"[Modern Media Controls] Allow modern-media-controls to be
provided through WebKitAdditions"
https://bugs.webkit.org/show_bug.cgi?id=170722
http://trac.webkit.org/changeset/215245

12:13 PM Changeset in webkit [215247] by mitz@apple.com
  • 8 edits
    3 adds
    1 delete in trunk

[Cocoa] WebKit unnecessarily soft-links CorePrediction
https://bugs.webkit.org/show_bug.cgi?id=170644

Reviewed by Sam Weinig.

Source/WebKit2:

  • Configurations/BaseTarget.xcconfig: Defined HAVE_CORE_PREDICTION and added HAVE_CORE_PREDICTION to the preprocessor defintions when the former is YES.
  • Configurations/WebKit.xcconfig: Have the linker link against CorePrediction where available. On macOS, use weak linking, because CorePrediction is not available in the Base System.
  • Platform/classifier/cocoa/CorePredictionSoftLink.h: Removed.
  • Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp: Guarded with #if HAVE(CORE_PREDICTION).

(WebKit::isNullFunctionPointer): Added this helper.
(WebKit::ResourceLoadStatisticsClassifierCocoa::canUseCorePrediction): Replaced

dlopen()-based runtime check with a null check.

  • Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h: Guarded with #if HAVE(CORE_PREDICTION).
  • Platform/spi/Cocoa/CorePredictionSPI.h: Added.
  • UIProcess/WebResourceLoadStatisticsStore.h: Updated guards to include HAVE(CORE_PREDICTION).
  • WebKit2.xcodeproj/project.pbxproj: pdated file references for removal and addition.

WebKitLibraries:

  • WebKitPrivateFrameworkStubs/iOS/10/CorePrediction.framework: Added this framework stub.
  • WebKitPrivateFrameworkStubs/iOS/10/CorePrediction.framework/CorePrediction.tbd: Added.
11:43 AM Changeset in webkit [215246] by commit-queue@webkit.org
  • 11 edits
    3 copies
    3 adds in trunk

Add SPI for handling geolocation authorization requests
https://bugs.webkit.org/show_bug.cgi?id=170362
rdar://problem/17508627

Patch by David Quesada <david_quesada@apple.com> on 2017-04-11
Reviewed by Alex Christensen.

Source/WebKit2:

Add a new WKUIDelegate method for the WKGeolocationProviderIOS to call when a web page
requests geolocation access. To support testing this change, make it possible to override
the CoreLocation abstraction WKGeolocationProviderIOS uses. There is now a configurable
object on the process pool that implements a protocol for providing location updates for
web views in the process pool. If the client doesn't provide this object,
WKGeolocationProviderIOS falls back to an object that wraps the existing WebKit1
WebGeolocationCoreLocationProvider and conforms to the new protocol.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/WebGeolocationPosition.h:

(WebKit::WebGeolocationPosition::create):

  • UIProcess/API/C/WKGeolocationPosition.cpp:

(WKGeolocationPositionCreate_b):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _coreLocationProvider]):
(-[WKProcessPool _setCoreLocationProvider:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/_WKGeolocationCoreLocationProvider.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp.
  • UIProcess/API/Cocoa/_WKGeolocationPosition.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp.
  • UIProcess/API/Cocoa/_WKGeolocationPosition.mm: Added.

(WebKit::if):
(-[_WKGeolocationPosition dealloc]):
(-[_WKGeolocationPosition _apiObject]):

  • UIProcess/API/Cocoa/_WKGeolocationPositionInternal.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp.

(WebKit::wrapper):

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(kit):
(-[WKGeolocationProviderIOS initWithProcessPool:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS positionChanged:]):
(-[WKLegacyCoreLocationProvider setListener:]):
(-[WKLegacyCoreLocationProvider requestGeolocationAuthorization]):
(-[WKLegacyCoreLocationProvider start]):
(-[WKLegacyCoreLocationProvider stop]):
(-[WKLegacyCoreLocationProvider setEnableHighAccuracy:]):
(-[WKLegacyCoreLocationProvider geolocationAuthorizationGranted]):
(-[WKLegacyCoreLocationProvider geolocationAuthorizationDenied]):
(-[WKLegacyCoreLocationProvider positionChanged:]):
(-[WKLegacyCoreLocationProvider errorOccurred:]):
(-[WKLegacyCoreLocationProvider resetGeolocation]):
Implement a new class that bridges the currently used WebGeolocationCoreLocationProvider
to conform to the _WKGeolocationCoreLocationProvider protocol that WKGeolocationProviderIOS
expects.

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

Add API tests for the new WKUIDelegate SPI for allowing or denying websites permission
to use geolocation. Adopt the new WKProcessPool._coreLocationProvider property to
provide a stub object to simulate the various configurations of geolocation permissions:

  1. The app doesn't have permission to use geolocation.
  2. The app is allowed to use geolocation, but the UI delegate denies the web view permission.
  3. The app is allowed to use geolocation, and the UI delegate allows the web view permission.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Added.

(-[TestCoreLocationProvider setListener:]):
(-[TestCoreLocationProvider requestGeolocationAuthorization]):
(-[TestCoreLocationProvider start]):
(-[TestCoreLocationProvider stop]):
(-[TestCoreLocationProvider setEnableHighAccuracy:]):
(expectException):
(-[GeolocationTestUIDelegate _webView:requestGeolocationAuthorizationForURL:frame:decisionHandler:]):
(-[GeolocationTestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Added.
11:41 AM Changeset in webkit [215245] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Modern Media Controls] Allow modern-media-controls to be provided through WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=170722
<rdar://problem/31553089>

Patch by Antoine Quint <Antoine Quint> on 2017-04-11
Reviewed by Dean Jackson.

If modern media controls source files are provided through WebKitAdditions, use these instead
of the sources found in the WebCore module.

  • WebCore.xcodeproj/project.pbxproj:
11:39 AM Changeset in webkit [215244] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix for CF ports after r215241
https://bugs.webkit.org/show_bug.cgi?id=170725

  • heap/GCActivityCallback.cpp:

(JSC::GCActivityCallback::nextFireTime):

11:29 AM Changeset in webkit [215243] by mrajca@apple.com
  • 5 edits
    1 add in trunk

Change autoplay state to "prevented" when media is paused due to restrictions.
https://bugs.webkit.org/show_bug.cgi?id=170686

Reviewed by Alex Christensen.

Source/WebCore:

Added API tests.

Currently, the autoplay state is set to "prevented" when playback is about to begin without
user interaction and there are restrictions in place. We should also be setting this flag when
autoplay is allowed but due to a change in audio tracks, for example, it gets paused.

This patch also moves some common logic into setPlaybackWithoutUserGesture without changing behavior.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack):
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
(WebCore::HTMLMediaElement::setPlaybackWithoutUserGesture):
(WebCore::HTMLMediaElement::updateShouldPlay):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Added test.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:

(TEST):

11:27 AM Changeset in webkit [215242] by eric.carlson@apple.com
  • 9 edits in trunk/Source

[MediaStream] Set correct audio session category when capturing audio
https://bugs.webkit.org/show_bug.cgi?id=170736
<rdar://problem/31559405>

Reviewed by Jer Noble.

Source/WebCore:

No new tests yet, filed bug 170737.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::MediaStream): Initialize m_mediaSession.
(WebCore::MediaStream::statusDidChange): Call canProduceAudioChanged.
(WebCore::MediaStream::mediaType): New. Return MediaStreamCapturingAudio when actively
capturing audio.
(WebCore::MediaStream::presentationType):
(WebCore::MediaStream::characteristics):
(WebCore::MediaStream::mayResumePlayback):
(WebCore::MediaStream::suspendPlayback):
(WebCore::MediaStream::sourceApplicationIdentifier):
(WebCore::MediaStream::canProduceAudio):

  • Modules/mediastream/MediaStream.h:
  • platform/audio/PlatformMediaSession.h: Add MediaStreamCapturingAudio.
  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::has): Adjust assert for MediaStreamCapturingAudio.
(WebCore::PlatformMediaSessionManager::count): Ditto.

  • platform/audio/cocoa/MediaSessionManagerCocoa.cpp:

(PlatformMediaSessionManager::updateSessionState): Set small preferred buffer size when
capturing audio. Set audio session category to PlayAndRecord whenever there is a media
stream that is capturing audio.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::isPlayingMediaDidChange):

11:25 AM Changeset in webkit [215241] by Yusuke Suzuki
  • 11 edits in trunk

[WebCore][JSC] ResourceUsageData.{timeOfNextEdenCollection,timeOfNextFullCollection} should be MonotonicTime
https://bugs.webkit.org/show_bug.cgi?id=170725

Reviewed by Sam Weinig.

Source/JavaScriptCore:

This patch makes GCActivityCallback return MonotonicTime instead of raw double value.

  • heap/GCActivityCallback.cpp:

(JSC::GCActivityCallback::nextFireTime):

  • heap/GCActivityCallback.h:

Source/WebCore:

Use MonotonicTime instead of raw doubles.
Currently, large part of data structures and helper functions are the same in
ResourceUsageOverlayCocoa.mm and ResourceUsageOverlayLinux.cpp. This should be
unified in a separate patch.

  • page/ResourceUsageData.h:
  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::gcTimerString):
(WebCore::ResourceUsageOverlay::platformDraw):

  • page/linux/ResourceUsageOverlayLinux.cpp:

(WebCore::gcTimerString):

Source/WTF:

Make MonotonicTime more constexpr friendly mainly to annotate MonotonicTime::nan() as constexpr.

  • wtf/MonotonicTime.h:

(WTF::MonotonicTime::MonotonicTime):
(WTF::MonotonicTime::fromRawSeconds):
(WTF::MonotonicTime::infinity):
(WTF::MonotonicTime::nan):
(WTF::MonotonicTime::secondsSinceEpoch):
(WTF::MonotonicTime::operator bool):
(WTF::MonotonicTime::operator+):
(WTF::MonotonicTime::operator-):
(WTF::MonotonicTime::operator==):
(WTF::MonotonicTime::operator!=):
(WTF::MonotonicTime::operator<):
(WTF::MonotonicTime::operator>):
(WTF::MonotonicTime::operator<=):
(WTF::MonotonicTime::operator>=):

Tools:

  • TestWebKitAPI/Tests/WTF/Time.cpp:

(TestWebKitAPI::TEST):

10:34 AM Changeset in webkit [215240] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Simple HTML documents should allow non-markup JavaScript
https://bugs.webkit.org/show_bug.cgi?id=170734

Reviewed by Sam Weinig.

  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]): Enabled scripting

but disabled scripting markup.

10:27 AM Changeset in webkit [215239] by commit-queue@webkit.org
  • 9 edits in trunk

Activate WebRTC data channel tests for WK1
https://bugs.webkit.org/show_bug.cgi?id=170710

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-11
Reviewed by Eric Carlson.

Source/WebCore:

Covered by existing and activated tests.

Making LibWebRTCProvider::factory not static.
For that purpose LibWebRTCMediaEndpoint now stores its peer connection factory reference.
Making LibWebRTCProvider use libebrtc networking by default.

Removing some no longer needed checks related to libwebrtc availability.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::LibWebRTCMediaEndpoint):
(WebCore::LibWebRTCMediaEndpoint::addTrack):
(WebCore::LibWebRTCMediaEndpoint::doCreateOffer):
(WebCore::LibWebRTCMediaEndpoint::doCreateAnswer):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::LibWebRTCProvider::factory):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:

Source/WebKit2:

  • WebProcess/Network/webrtc/LibWebRTCProvider.h: Making sure networking is not done in the Web process.

LayoutTests:

  • platform/mac-wk1/TestExpectations:
10:06 AM Changeset in webkit [215238] by commit-queue@webkit.org
  • 53 edits in trunk

MediaStream id should be equal to msid
https://bugs.webkit.org/show_bug.cgi?id=170712

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-11
Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/datachannel-emptystring-expected.txt:
  • web-platform-tests/webrtc/no-media-call-expected.txt:
  • web-platform-tests/webrtc/promises-call-expected.txt:
  • web-platform-tests/webrtc/rtcpeerconnection/setRemoteDescription-expected.txt:

Source/WebCore:

Covered by rebased tests.

Setting MediaStream id to libwebrtc mediastream label.
Refactoring to use more Ref<> in MediaStream code.

Making PeerConnection use the libwebrtc backend by default for layout tests instead of the mock.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):
(WebCore::createTrackPrivateVector):
(WebCore::MediaStream::MediaStream):

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStreamRegistry.cpp:

(WebCore::MediaStreamRegistry::lookUp):

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::allow):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::mediaStreamFromRTCStream):
(WebCore::LibWebRTCMediaEndpoint::addRemoteStream):
(WebCore::LibWebRTCMediaEndpoint::addRemoteTrack):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::load):

  • platform/graphics/MediaPlayer.h:
  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::MediaStreamPrivate):

  • platform/mediastream/MediaStreamPrivate.h:

(WebCore::MediaStreamPrivate::create):

  • testing/Internals.cpp:

(WebCore::Internals::Internals):

LayoutTests:

Removing no longer needed/Adding needed calls to useMockRTCPeerConnectionFactory.

  • fast/mediastream/RTCPeerConnection-inspect-answer.html:
  • fast/mediastream/RTCPeerConnection-inspect-offer.html:
  • fast/mediastream/RTCPeerConnection-legacy-stream-based-api.html:
  • fast/mediastream/RTCPeerConnection-media-setup-single-dialog.html:
  • fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid.html:
  • fast/mediastream/RTCPeerConnection-setLocalDescription-offer.html:
  • fast/mediastream/RTCPeerConnection-setRemoteDescription-offer.html:
  • webrtc/audio-peer-connection-webaudio.html:
  • webrtc/audio-replace-track.html:
  • webrtc/connection-state.html:
  • webrtc/datachannel/basic.html:
  • webrtc/datachannel/bufferedAmountLowThreshold.html:
  • webrtc/datachannel/datachannel-gc.html:
  • webrtc/datachannel/datachannel-stats.html:
  • webrtc/datachannel/filter-ice-candidate.html:
  • webrtc/ephemeral-certificates-and-cnames.html:
  • webrtc/libwebrtc/descriptionGetters.html:
  • webrtc/negotiatedneeded-event-addStream.html:
  • webrtc/no-port-zero-in-upd-candidates.html:
  • webrtc/peer-connection-audio-mute.html:
  • webrtc/peer-connection-audio-mute2.html:
  • webrtc/peer-connection-remote-audio-mute.html:
  • webrtc/peer-connection-remote-audio-mute2.html:
  • webrtc/release-after-getting-track.html:
  • webrtc/video-disabled-black.html:
  • webrtc/video-getParameters.html:
  • webrtc/video-mediastreamtrack-stats.html:
  • webrtc/video-mute.html:
  • webrtc/video-remote-mute.html:
  • webrtc/video-replace-track-to-null.html:
  • webrtc/video-replace-track.html:
  • webrtc/video-stats.html:
  • webrtc/video-with-receiver.html:
  • webrtc/video.html:
10:03 AM Changeset in webkit [215237] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[jsc] Add missing MacroAssemblerMIPS::or32() implementation
https://bugs.webkit.org/show_bug.cgi?id=169714

Patch by Guillaume Emont <guijemont@igalia.com> on 2017-04-11
Reviewed by Michael Catanzaro.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::or32):
Added or32(TrustedImm32, Address).

10:00 AM Changeset in webkit [215236] by Chris Fleizach
  • 6 edits in trunk

AX: Web article navigation does not work (article rotor for Facebook, Twitter, Messages etc.)
https://bugs.webkit.org/show_bug.cgi?id=170330
<rdar://problem/31366105>

Reviewed by Joanmarie Diggs.

Source/WebCore:

Add a search ability for the "article" role.

Test: accessibility/mac/search-predicate-article.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):

  • accessibility/AccessibilityObject.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityArticleAncestor]):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(createAccessibilitySearchKeyMap):

LayoutTests:

  • accessibility/mac/search-predicate-article-expected.txt:
  • accessibility/mac/search-predicate-article.html:
9:54 AM Changeset in webkit [215235] by commit-queue@webkit.org
  • 7 edits in trunk

test262: test262/test/annexB/language/comments/multi-line-html-close.js
https://bugs.webkit.org/show_bug.cgi?id=170648

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-11
Reviewed by Keith Miller.

JSTests:

  • test262.yaml:

Source/JavaScriptCore:

  • parser/Lexer.cpp:

(JSC::Lexer<T>::lex):
A multi-line comment that contains a line terminator is itself treated
like a line terminator. An HTML Close Comment that comes after it can
therefore treat it like it is at the start of a line, because it was
immediately preceeded by the equivalent of a line terminator.

LayoutTests:

  • js/parser-xml-close-comment-expected.txt:
  • js/script-tests/parser-xml-close-comment.js:

Update test coverage for JavaScript HTML comments.

9:38 AM Changeset in webkit [215234] by commit-queue@webkit.org
  • 24 edits
    1 add in trunk

test262: test262/test/built-ins/Array/S15.4.3_A2.2.js
https://bugs.webkit.org/show_bug.cgi?id=170652

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-11
Reviewed by Michael Saboff.

JSTests:

  • stress/native-constructors-length.js: Added.

(assertLengthDescriptorAttributes):
Add a quick test for the length properties of all native constructors.

  • ChakraCore/test/es5/enumerable.baseline-jsc:

Rebaseline expectations for this test.

  • test262.yaml:

Source/JavaScriptCore:

  • runtime/ArrayConstructor.cpp:

(JSC::ArrayConstructor::finishCreation):

  • runtime/BooleanConstructor.cpp:

(JSC::BooleanConstructor::finishCreation):

  • runtime/DateConstructor.cpp:

(JSC::DateConstructor::finishCreation):

  • runtime/FunctionConstructor.cpp:

(JSC::FunctionConstructor::finishCreation):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSArrayBufferConstructor::finishCreation):

  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation):

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::finishCreation):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::finishCreation):

  • runtime/StringConstructor.cpp:

(JSC::StringConstructor::finishCreation):

  • runtime/SymbolConstructor.cpp:

(JSC::SymbolConstructor::finishCreation):
Ensure the "length" property on these native constructors is configurable (deletable).

LayoutTests:

  • ietestcenter/Javascript/15.2.3.3-4-186-expected.txt:
  • ietestcenter/Javascript/15.2.3.3-4-191-expected.txt:
  • ietestcenter/Javascript/15.2.3.3-4-194-expected.txt:
  • ietestcenter/Javascript/15.2.3.3-4-201-expected.txt:
  • ietestcenter/Javascript/15.3.3.2-1-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.3/S15.4.3_A2.2-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.1_Date.prototype.constructor/S15.9.5.1_A3_T2-expected.txt:

These tests expected the opposite, they are now out of date.

9:26 AM Changeset in webkit [215233] by Chris Fleizach
  • 17 edits in trunk/Source

AX: PDF plugin needs to support PDF-DOM Mode
https://bugs.webkit.org/show_bug.cgi?id=170589

Reviewed by Tim Horton.

Source/WebCore:

Provide WebCore support for accessibility connect to PDF document.
This includes the ability to connect a PDF annotation created node within WebKit to

its PDFAnnotation parent (through use of shadowPluginParent).

  • accessibility/AXObjectCache.h:
  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXPostNotificationWithUserInfo):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper shadowPluginParent]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • html/HTMLAttributeNames.in:
  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::accessibilityShadowPluginParentForElement):

Source/WebKit2:

Provide access to DOM objects with PDF document. This mean:

1) Support a different set of attributes for WKPDFPluginAccessibilityObject.

WKPDFPluginAccessibilityObject is now a group instead of forwarding attribute calls to the pdf layer.

2) Connect the focused UI element to the active annotation if possible.
3) Mark the PDF associated nodes with an attribute so they can be identified later so their correct parent can be found.

  • WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFPluginAccessibilityObject pdfLayerController]):
(-[WKPDFPluginAccessibilityObject setPdfLayerController:]):
(-[WKPDFPluginAccessibilityObject convertRectToScreenSpace:]):
(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
(-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]):
(-[WKPDFPluginAccessibilityObject accessibilityActionNames]):
(-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]):
(-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
(-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]):
(-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
(WebKit::PDFPlugin::convertFromRootViewToPDFView):
(WebKit::PDFPlugin::convertFromPDFViewToScreen):
(WebKit::PDFPlugin::pluginHandlesContentOffsetForAccessibilityHitTest):
(WebKit::PDFPlugin::axObjectCache):
(WebKit::PDFPlugin::accessibilityShadowPluginParentForElement):

  • WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:

(WebKit::PDFPluginAnnotation::attach):

  • WebProcess/Plugins/Plugin.h:

(WebKit::Plugin::accessibilityShadowPluginParentForElement):
(WebKit::Plugin::pluginHandlesContentOffsetForAccessibilityHitTest):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::accessibilityShadowPluginParentForElement):

  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

8:59 AM Changeset in webkit [215232] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix for Windows after r215228 part 2
https://bugs.webkit.org/show_bug.cgi?id=170723

Since GCActivityCallback class is annotated exported, we do not need to annotate each member.

  • heap/GCActivityCallback.h:
8:51 AM Changeset in webkit [215231] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r215153): Request Animation Frame broken when building without REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR
https://bugs.webkit.org/show_bug.cgi?id=170719

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-04-11
Reviewed by Žan Doberšek.

This is because when not using the display refresh monitor, the timer is always used, not only when throttling,
but since r215153 the rAF timer is always aligned to 30ms.

Fixes: fast/animation/request-animation-frame-too-rapid.html

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::scheduleAnimation): Only do the timer alignment when throttling.

8:47 AM Changeset in webkit [215230] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

Unreviewed, build fix for Windows port after r215228
https://bugs.webkit.org/show_bug.cgi?id=170723

  • wtf/win/RunLoopWin.cpp:

(WTF::RunLoop::TimerBase::timerFired):

8:10 AM Changeset in webkit [215229] by yoav@yoav.ws
  • 14 edits in trunk

[link preload] Double downloads of preloaded content when it's in MemoryCache
https://bugs.webkit.org/show_bug.cgi?id=170122

Reviewed by Antti Koivisto.

Source/WebCore:

No new tests, but unflaked http/tests/preload/single_download_preload_headers_charset.html.

The test was flaky because it appears as if MemoryCache is not being evicted between runs,
and running multiple iterations of the test resulted in preloaded being taken out of MemoryCache
and not having the unknown encoding flag. In those cases, the result was a double download and
a failed test.

  • loader/TextResourceDecoder.cpp:

(WebCore::TextResourceDecoder::setEncoding): Set the m_encodingSet flag.

  • loader/TextResourceDecoder.h: Added an m_encodingSet flag initialized to false.
  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::setEncoding): Assert that stylesheets don't maintain decoded text.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource): Remove initialization of hasUnknownEncoding flag.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::hasUnknownEncoding): Remove.
(WebCore::CachedResource::setHasUnknownEncoding): Remove.
(WebCore::CachedResource::CachedResource): Remove initialization of hasUnknownEncoding flag.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::determineRevalidationPolicy): Set the encoding in case it changed.

LayoutTests:

  • TestExpectations: Removed flakiness label from the header preload charset test.
  • fast/loader/cache-encoding-expected.txt: Changed expectation.
  • fast/loader/cache-encoding.html: Modified behavior to stick with the first decoded string.
  • http/tests/preload/preload-encoding-expected.txt: Changed expectation.
  • http/tests/preload/preload-encoding.html: Modified behavior to stick with the first decoded string.
  • imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-01-expected.txt: This test refers to the same file

twice and expects different decoding for it each time. This is the behavior that we modified, and therefore the test expectation is changed as well.

8:09 AM WebKitGTK/2.16.x edited by Michael Catanzaro
(diff)
8:08 AM WebKitGTK/2.16.x edited by Michael Catanzaro
(diff)
7:56 AM Changeset in webkit [215228] by Yusuke Suzuki
  • 19 edits in trunk/Source

[JSC][GTK] Use RunLoop::Timer in GTK port
https://bugs.webkit.org/show_bug.cgi?id=170723

Reviewed by Carlos Garcia Campos.

Source/JavaScriptCore:

This patch makes GTK port use RunLoop::Timer for JSRunLoopTimer.
Only Cocoa-based ports use platform-specific Timer because it
has additional feature that changes RunLoop to the WebThread one.

And we enable Heap timers in all the ports including JSCOnly port.

  • heap/EdenGCActivityCallback.cpp:

(JSC::EdenGCActivityCallback::lastGCLength):

  • heap/EdenGCActivityCallback.h:
  • heap/FullGCActivityCallback.cpp:

(JSC::FullGCActivityCallback::lastGCLength):

  • heap/FullGCActivityCallback.h:
  • heap/GCActivityCallback.cpp:

(JSC::GCActivityCallback::GCActivityCallback):
(JSC::GCActivityCallback::doWork):
(JSC::GCActivityCallback::scheduleTimer):
(JSC::GCActivityCallback::cancelTimer):
(JSC::GCActivityCallback::nextFireTime):
(JSC::GCActivityCallback::didAllocate):

  • heap/GCActivityCallback.h:
  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doWork):
(JSC::IncrementalSweeper::doSweep):

  • heap/IncrementalSweeper.h:
  • heap/StopIfNecessaryTimer.cpp:

(JSC::StopIfNecessaryTimer::scheduleSoon):

  • runtime/JSRunLoopTimer.cpp:

(JSC::JSRunLoopTimer::setRunLoop):
(JSC::JSRunLoopTimer::scheduleTimer):
(JSC::JSRunLoopTimer::cancelTimer):
(JSC::JSRunLoopTimer::JSRunLoopTimer):
(JSC::JSRunLoopTimer::~JSRunLoopTimer):
(JSC::JSRunLoopTimer::timerDidFireCallback):

  • runtime/JSRunLoopTimer.h:
  • runtime/PromiseDeferredTimer.cpp:

(JSC::PromiseDeferredTimer::scheduleWorkSoon):

Source/WTF:

Add secondsUntilFire method. And add setName and setPriority
for GTK RunLoop::Timer.

  • wtf/RunLoop.h:
  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::TimerBase::secondsUntilFire):

  • wtf/generic/RunLoopGeneric.cpp:

(WTF::RunLoop::TimerBase::secondsUntilFire):

  • wtf/glib/RunLoopGLib.cpp:

(WTF::RunLoop::TimerBase::setName):
(WTF::RunLoop::TimerBase::secondsUntilFire):

  • wtf/win/RunLoopWin.cpp:

(WTF::RunLoop::TimerBase::timerFired):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::isActive):
(WTF::RunLoop::TimerBase::secondsUntilFire):

6:19 AM Changeset in webkit [215227] by magomez@igalia.com
  • 6 edits in trunk/Source/WebCore

REGRESSION(r215211): [GTK] Lots of image related tests are timing out, causing the test bot to exit early
https://bugs.webkit.org/show_bug.cgi?id=170727

Reviewed by Carlos Garcia Campos.

Since r215211 ImageDecoder::isSizeAvailable() calls encodedDataStatus() in the different decoder implementations,
and those implementations force a partial decoding of the image if the size is not available yet. But
ImageDecoder::isSizeAvailable() was already being used inside the decoders assuming that it wasn't going to
force this partial decoding. Due to this, there are some situations where the partial decoding is not
desired but it's happening anyway. For example, the check in setSize(), which causes the partial decoding
to happen again and again because no value is actually set to the animation size (which causes the timouts
in the test bot).

To avoid this, replace all the calls to ImageDecoder::isSizeAvailable() inside the decoders with calls to
ImageDecoder::encodedDataStatus(), which doesn't force the partial decoding.

Covered by existent tests.

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::setSize):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::decodeAtIndex):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageReader::decode):
(WebCore::PNGImageDecoder::frameBufferAtIndex):

  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::decode):

5:44 AM Changeset in webkit [215226] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[jsc][mips] Add missing MacroAssembler functions after r214187
https://bugs.webkit.org/show_bug.cgi?id=170089

Patch by Guillaume Emont <guijemont@igalia.com> on 2017-04-11
Reviewed by Yusuke Suzuki.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::loadFloat): Added.
(JSC::MacroAssemblerMIPS::storeFloat): Added.

4:19 AM Changeset in webkit [215225] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Attach popup menu to web view widget
https://bugs.webkit.org/show_bug.cgi?id=145866

Use gtk_menu_attach_to_widget() to let GTK+ know that popup menus belong to a certain web view.
This improves the positioning choices that the toolkit can do, and solves a long-standing issue
that caused long popup menus to hang outside of the available display area under Wayland.

Based on a patch by Jonas Ådahl <jadahl@gmail.com>.

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2017-04-11
Reviewed by Carlos Garcia Campos.

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

3:22 AM Changeset in webkit [215224] by magomez@igalia.com
  • 7 edits in trunk/Source/WebCore

REGRESSION(r215211): [GTK] Lots of image related tests are crashing, causing the test bot to exit early
https://bugs.webkit.org/show_bug.cgi?id=170721

Reviewed by Carlos Garcia Campos.

r215211 caused an infinite loop because of calls between ImageDecoder::isSizeAvailable() and the specializations of
ImageDecoder::encodedDataStatus(). Change the different decoders so ImageDecoder::encodedDataStatus doesn't call
ImageDecoder::isSizeAvailable().

Covered by existent tests.

  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::encodedDataStatus):

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::encodedDataStatus):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::encodedDataStatus):

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::encodedDataStatus):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::encodedDataStatus):

  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::encodedDataStatus):

2:34 AM Changeset in webkit [215223] by Yusuke Suzuki
  • 9 edits in trunk/Source

[JSC] Enable JSRunLoopTimer for JSCOnly and Windows
https://bugs.webkit.org/show_bug.cgi?id=170655

Reviewed by Carlos Garcia Campos.

Source/JavaScriptCore:

  • runtime/JSRunLoopTimer.cpp:

(JSC::JSRunLoopTimer::JSRunLoopTimer):
(JSC::JSRunLoopTimer::scheduleTimer):
(JSC::JSRunLoopTimer::cancelTimer):

  • runtime/JSRunLoopTimer.h:

Source/WTF:

This patch makes RunLoop::Timer in Generic and Windows thread-safe to use it
in JSC's JSRunLoopTimer. Eventually, we would like to replace JSRunLoopTimer's
platform-dependent implementation to WTF::RunLoop::Timer.

  • wtf/RunLoop.h:
  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::TimerBase::start):

  • wtf/generic/RunLoopGeneric.cpp:

(WTF::RunLoop::TimerBase::ScheduledTask::EarliestSchedule::operator()):
(WTF::RunLoop::populateTasks):
(WTF::RunLoop::runImpl):
(WTF::RunLoop::schedule):
(WTF::RunLoop::scheduleAndWakeUp):
(WTF::RunLoop::TimerBase::~TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive):

  • wtf/glib/RunLoopGLib.cpp:

(WTF::RunLoop::TimerBase::TimerBase):

  • wtf/win/RunLoopWin.cpp:

(WTF::RunLoop::TimerBase::timerFired):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive):

2:20 AM Changeset in webkit [215222] by Manuel Rego Casasnovas
  • 4 edits in trunk/LayoutTests

[css-grid] Fix fast/css-grid-layout/grid-simplified-layout-positioned.html
https://bugs.webkit.org/show_bug.cgi?id=167538

Reviewed by Darin Adler.

fast/css-grid-layout/grid-simplified-layout-positioned.html was flacky
as the caret was not always painted in the test runner.
The test was checking for a crash in simplified layout (see bug #163450)
and has nothing to do with the caret or "autofocus" behavior.
"autofocus" was needed to get the crash, so this change modifies
the test to blur the element, so the caret is not painted anymore.

  • fast/css-grid-layout/grid-simplified-layout-positioned-expected.html:

Don't focus the input element.

  • fast/css-grid-layout/grid-simplified-layout-positioned.html: Blur

the input element to avoid showing the caret.

  • platform/mac-wk2/TestExpectations: Remove file from expectations.
1:29 AM Changeset in webkit [215221] by zandobersek@gmail.com
  • 2 edits in trunk

[CMake] OpenWebRTC libraries path isn't properly deduced
https://bugs.webkit.org/show_bug.cgi?id=170670

Reviewed by Carlos Garcia Campos.

When using OpenWebRTC installation that's outside of the usual Jhbuild
installation directories, the library paths are ignored because the
dependency libraries are simply gathered from the pkg-config file.

Instead, the pkg-config data should be used to search for the correct
paths to the header and library locations. Both libopenwebrtc and
libopenwebrtc_gst libraries are needed, so the two library paths are
concatenated into the OPENWEBRTC_LIBRARIES variable.

  • Source/cmake/FindOpenWebRTC.cmake:
1:27 AM Changeset in webkit [215220] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WTF

REGRESSION(r213645): It made JSC tests super slow and timeout on AArch64 Linux
https://bugs.webkit.org/show_bug.cgi?id=169510

Reviewed by Saam Barati.

Add the volatile qualifiers for ASM statements that set up ldxr and stxr
instruction calls when HAVE(LL_SC) is enabled for aarch64 platforms.

This avoids indefinite execution when running GCC-compiled JSC on Linux.
Specific bug or expected behavior that differs from Clang wasn't determined.

HAVE(LL_SC) is re-enabled on non-Darwin aarch64 platforms.

  • wtf/Atomics.h:
  • wtf/Platform.h:

Apr 10, 2017:

11:18 PM Changeset in webkit [215219] by achristensen@apple.com
  • 12 edits in trunk

Revert r215217
https://bugs.webkit.org/show_bug.cgi?id=170703

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
10:46 PM Changeset in webkit [215218] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Fix bad change in r215167.
https://bugs.webkit.org/show_bug.cgi?id=170656

Reviewed by Yusuke Suzuki.

Revert mistake made in r215167.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::caretBlinkInterval):

10:05 PM Changeset in webkit [215217] by achristensen@apple.com
  • 12 edits in trunk

Continue enabling WebRTC
https://bugs.webkit.org/show_bug.cgi?id=170703

Reviewed by Youenn Fablet.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
9:57 PM Changeset in webkit [215216] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

PlayerLayerView +layerClass methods should use return type Class.
https://bugs.webkit.org/show_bug.cgi?id=165406

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-04-10
Reviewed by Sam Weinig.

No new tests because not behavior change.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebAVPictureInPicturePlayerLayerView_layerClass):
(WebAVPlayerLayerView_layerClass):

8:33 PM Changeset in webkit [215215] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Have parseRevisionProperty use default repo name as the Buildbot key.
https://bugs.webkit.org/show_bug.cgi?id=170696

Patch by Kocsen Chung <Kocsen Chung> on 2017-04-10
Reviewed by Daniel Bates.

Previously, we needed to set a key and a fallbackKey when addressing
Buildbot data for Internal. That is no longer necessary as we can make a safe assumption
that the repo name maps exactly to that key for every repository other
than WebKit.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

Set key = repositoryName and only use fallback keys when dealing with WebKit.

7:49 PM Changeset in webkit [215214] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Add test262 JavaScriptCore tests to dashboard
https://bugs.webkit.org/show_bug.cgi?id=170711

Rubber-stamped by Joseph Pecoraro.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot): Added test262 JSC tests to dashboard.

6:14 PM Changeset in webkit [215213] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, test expectations update

  • platform/wk2/TestExpectations:
5:40 PM Changeset in webkit [215212] by commit-queue@webkit.org
  • 16 edits in trunk

REGRESSION(r195479) First main resource load in new WebProcess bypasses content extensions
https://bugs.webkit.org/show_bug.cgi?id=170707
<rdar://problem/27788755>

Patch by Alex Christensen <achristensen@webkit.org> on 2017-04-10
Reviewed by Tim Horton.

Source/WebKit2:

We fix this by sending the UserContentController with the WebPageCreationParameters
instead of in a IPC message immediately following creation. By the time the WebPage
receives its second message, it has already started loading the first main resource.

I also changed all instances of calling ChildProcessProxy::connection() to send a message
in favor of calling ChildProcessProxy::send, which does the same thing except if a child
process has not started, it will put the message in a queue and send it when the process
is finished launching. This was necessary because the UserContentController is now connected
to the process sooner, so there were some API tests that would try to send messages between
initiating a process launch and finishing a process launch, and this change preserves the
existing behavior in those cases.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
(WebKit::DatabaseProcessProxy::didFinishLaunching):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserContentWorldUse):
(WebKit::WebUserContentControllerProxy::removeUserContentWorldUses):
(WebKit::WebUserContentControllerProxy::addUserScript):
(WebKit::WebUserContentControllerProxy::removeUserScript):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::addUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
(WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
(WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
(WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):
(WebKit::WebUserContentControllerProxy::addContentExtension):
(WebKit::WebUserContentControllerProxy::removeContentExtension):
(WebKit::WebUserContentControllerProxy::removeAllContentExtensions):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/VisitedLinkStore.cpp:

(WebKit::VisitedLinkStore::removeAll):
(WebKit::VisitedLinkStore::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkStore::sendTable):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::finishInitializingWebPageAfterProcessLaunch):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addWebUserContentControllerProxy):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_backgroundCPULimit):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:

(-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST_F):

  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:

(-[ContentBlockingWebsitePoliciesDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):

5:24 PM Changeset in webkit [215211] by commit-queue@webkit.org
  • 33 edits
    1 add in trunk/Source/WebCore

CachedImage should stop decoding images when unknown type is detected
https://bugs.webkit.org/show_bug.cgi?id=170530

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-04-10
Reviewed by Tim Horton.

If the status of the encoded data is "unknown type", WebKit should stop
decoding the rest of the data. Ideally WebKit should also cancel loading
the rest of the encoded data.

To do that we need to add a function to the ImageDecoder to return the
encodedDataStatus(). We also need to change the return type of Image::setData()
and Image::dataChanged() form bool to EncodedDataStatus.

  • WebCore.xcodeproj/project.pbxproj: Add ImageTypes.h to the WebCore project.
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::addIncrementalDataBuffer): Replace checking !sizeAvailable
by checking if encodedDataStatus isn't an error but it has not reached
sizeAvailable state

  • loader/cache/CachedResourceClientWalker.h:

(WebCore::CachedResourceClientWalker::CachedResourceClientWalker): Unrelated clean-up.
(WebCore::CachedResourceClientWalker::next): Ditto.

  • loader/icon/IconRecord.cpp:

(WebCore::IconRecord::setImageData): Image::setData() used to return a bool. Now it returns
an EncodedDataStatus. !setData() now means setData() < EncodedDataStatus::SizeAvailable.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::dataChanged): Replace the return of dataChanged() from bool
by EncodedDataStatus.

  • platform/graphics/BitmapImage.h: Replace isSizeAvailable() by a new function

named encodedDataStatus().

  • platform/graphics/Image.cpp:

(WebCore::Image::setData): Code clean-up and adding a clarification comment.

  • platform/graphics/Image.h: Change the return of setData() and dataChanged() to be

EncodedDataStatus.
(WebCore::Image::dataChanged): Return EncodedDataStatus::Unknown as an indication
the size is not available but we do not have an error.

  • platform/graphics/ImageTypes.h: Added.

Image definitions which are shared among Image, ImageDecoder, ImageSource,
ImageFrameCache and ImageFrame used to be added to ImageFrame.h. This has
been annoying since these definitions aren't related to ImageFrame only.
A new header file named ImageTypes.h is to the to include such definitions.
(WebCore::operator++):

  • platform/graphics/ImageFrame.h:

(WebCore::operator++): Deleted.

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::ImageFrameCache): This is the case of a BitmapImage without
a decoder but with a NativeImage. The status has to be EncodedDataStatus::Complete.
(WebCore::ImageFrameCache::growFrames): Replace if (isSizeAvailable()) by
if (encodedDataStatus() >= EncodedDataStatus::SizeAvailable).
(WebCore::ImageFrameCache::metadata): Ditto.
(WebCore::ImageFrameCache::encodedDataStatus): This is a replacement for isSizeAvailable().
Don't cache the EncodedDataStatus until it is Complete. Don't call didDecodeProperties()
until the status >= EncodedDataStatus::SizeAvailable.
(WebCore::ImageFrameCache::isSizeAvailable): Deleted.

  • platform/graphics/ImageFrameCache.h: Replace isSizeAvailable() by encodedDataStatus().
  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::dataChanged): Make return an EncodedDataStatus instead of returning
a bool for isSizeAvailable.

  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::encodedDataStatus): Replace isSizeAvailable() by encodedDataStatus().
(WebCore::ImageSource::isSizeAvailable): Deleted.

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoder::encodedDataStatus): Replace isSizeAvailable() by encodedDataStatus().
The logic of this function is the following:

-- CGImageSourceGetStatus() can return kCGImageStatusUnexpectedEOF, kCGImageStatusInvalidData
or kCGImageStatusReadingHeader even if CG will end up recovering form the error and drawing
the image. Actually CG initializes the status of CGImageSource before receiving any data
with kCGImageStatusInvalidData. So the status will be considered an error only if all the
data is received but CG does not move the status of this CGImageSource to Complete.
-- If CGImageSourceGetStatus() returns Incomplete, this means CG already created the image
reader and therefore the image type is known.
-- If CGImageSourceGetStatus() returns UnknownType, this means CG could not create the
image reader and this should be considered an error.

(WebCore::ImageDecoder::isSizeAvailable): Deleted.

  • platform/graphics/cg/ImageDecoderCG.h: Replace isSizeAvailable() by encodedDataStatus().
  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::dataChanged): The PDFDocument is created only when allDataReceived.

  • platform/graphics/cg/PDFDocumentImage.h: Change the return type from bool to EncodedDataStatus.
  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageDecoder::encodedDataStatus): Add a new function encodedDataStatus(). Deduce the
status of the encoded data from the flags m_failed, m_isAllDataReceived and m_sizeAvailable in
this order.
(WebCore::ImageDecoder::isSizeAvailable): Make this function uses encodedDataStatus().

  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::encodedDataStatus): Replace isSizeAvailable() by encodedDataStatus().
(WebCore::BMPImageDecoder::isSizeAvailable): Deleted.

  • platform/image-decoders/bmp/BMPImageDecoder.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::encodedDataStatus): Ditto.
(WebCore::GIFImageDecoder::isSizeAvailable): Deleted.

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::encodedDataStatus): Ditto.
(WebCore::ICOImageDecoder::isSizeAvailable): Deleted.

  • platform/image-decoders/ico/ICOImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::encodedDataStatus): Ditto.
(WebCore::JPEGImageDecoder::isSizeAvailable): Deleted.

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::encodedDataStatus): Ditto.
(WebCore::PNGImageDecoder::isSizeAvailable): Deleted.

  • platform/image-decoders/png/PNGImageDecoder.h:
  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::encodedDataStatus): Ditto.
(WebCore::WEBPImageDecoder::isSizeAvailable): Deleted.

  • platform/image-decoders/webp/WEBPImageDecoder.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::dataChanged): m_page is created only when allDataReceived is true.

  • svg/graphics/SVGImage.h:
5:23 PM Changeset in webkit [215210] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark two newly imported web-platform-tests as failing.

Unreviewed test gardening.

5:11 PM Changeset in webkit [215209] by achristensen@apple.com
  • 7 edits in trunk

Add API to get available content extension identifiers in a WKContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=170093

Reviewed by Geoffrey Garen.

Source/WebKit2:

  • UIProcess/API/APIContentExtensionStore.cpp:

(API::constructedPathPrefix):
(API::constructedPathFilter):
(API::constructedPath):
(API::ContentExtensionStore::getAvailableContentExtensionIdentifiers):

  • UIProcess/API/APIContentExtensionStore.h:
  • UIProcess/API/Cocoa/WKContentExtensionStore.h:
  • UIProcess/API/Cocoa/WKContentExtensionStore.mm:

(-[WKContentExtensionStore _compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:releasesArgument:]):
(-[WKContentExtensionStore lookUpContentExtensionForIdentifier:completionHandler:]):
(-[WKContentExtensionStore getAvailableContentExtensionIdentifiers:]):
(-[WKContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:

(TEST_F):

4:59 PM Changeset in webkit [215208] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Mark SVG-Within-OpenType as "Under Consideration"
https://bugs.webkit.org/show_bug.cgi?id=170706

Reviewed by Brady Eidson.

  • features.json:
3:22 PM Changeset in webkit [215207] by Wenson Hsieh
  • 4 edits in trunk/Tools

Refactor DataInteractionTests.UnresponsivePageDoesNotHangUI to not check against a fixed time interval
https://bugs.webkit.org/show_bug.cgi?id=170658

Reviewed by Tim Horton.

Uses ignoreSynchronousMessagingTimeoutsForTesting to ensure that this test times out if data interaction
preparation is synchronous, or passes if it is asynchronous.

  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/cocoa/TestWKWebView.h:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[TestWKWebView initWithFrame:]):
(-[TestWKWebView initWithFrame:configuration:processPoolConfiguration:]):
(-[TestWKWebView _setUpTestWindow:]):

2:46 PM Changeset in webkit [215206] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: WebSockets: Don't clip data in the data grid
https://bugs.webkit.org/show_bug.cgi?id=170559

Reviewed by Timothy Hatcher.

Long lines without spaces should be broken down into several lines instead of being ellipsized.

  • UserInterface/Views/WebSocketContentView.css:

(.web-socket.content-view > .data-grid td.data-column,):

2:45 PM Changeset in webkit [215205] by rniwa@webkit.org
  • 33 edits
    2 adds in trunk/Websites/perf.webkit.org

Add the UI for scheduling a A/B testing with a custom root
https://bugs.webkit.org/show_bug.cgi?id=170622

Reviewed by Anders Carlsson.

This patch adds the support for creating a new analysis task with a custom darwinup roots. A follow up patch
would update the syncing script to schedule such an A/B testing job to a buildbot instance.

  • ReadMe.md: Updated instructions for backing up and restoring the database so that it's easier to replace

the file path for the backup.

  • init-database.sql: Make task_platform and task_metric optional in each analysis task. Also added a column

to store the root file in commit_set_relationships.

  • public/api/build-requests.php:

(main): Include the uploaded files.

  • public/api/commits.php:

(main): Added the support for querying the latest commits for a given platform. This is used in a new page
to create a custom analysis task to autofill the latest revisions for a given platform.

  • public/api/test-groups.php:

(main): Include the uploaded files.

  • public/include/build-requests-fetcher.php:

(BuildRequestsFetcher::construct): Added a list of uploaded_files and a map from its id.
(BuildRequestsFetcher::uploaded_files): Added.
(BuildRequestsFetcher::fetch_commits_for_set_if_needed): Added the support for including custom roots' id in
each commit set, and inserting its meta data in the list of uplaoded files.

  • public/include/commit-log-fetcher.php:

(CommitLogFetcher::fetch_latest_for_platform): Added. Finds the latest commit for a given platform. Ideally,
we should be finding the latest commit for a given platform, but this is very slow so instead find the commit
of the latest build for a given platform.

  • public/privileged-api/create-test-group.php:

(main): Added the support for creating an analysis task along with a group.
(commit_sets_from_revision_sets): Added the support for custom roots. Verify the specified uploaded file exists
and include it in commit_set_relationships. Because commits and upload files are stored in a different column
in commit_set_relationships, this function now stores the information for each row of commit_set_relationships
except the commit set ID, which is unknown until the set is created, instead of a commit ID.
(ensure_commit_sets): Made the each entry in a commit set a row instead of a commit ID as done. As this format
is only by v2 UI and detect-changes.js, we don't add the support for specifying custom roots here.

  • public/privileged-api/upload-file.php:

(main): Fixed a typo. Also added one more error check.

  • public/v3/components/custom-analysis-task-configurator.js: Added. The UI for selecting a test, a platform,

and a set of revisions, as well as custom roots for a custom A/B testing job. The first set of revision with
custom roots is referred as "baseline", and the second configuration is referred as "comparison" in this class.
(CustomAnalysisTaskConfigurator):
(CustomAnalysisTaskConfigurator.prototype.tests): Added.
(CustomAnalysisTaskConfigurator.prototype.platform): Added.
(CustomAnalysisTaskConfigurator.prototype.commitSets): Added. Returns a pair of baseline and comparsion if both
have been configured by the user.
(CustomAnalysisTaskConfigurator.prototype.didConstructShadowTree): Added.
(CustomAnalysisTaskConfigurator.prototype._configureComparison): Added. Called when the user is to configu the
"comparison" configuration.
(CustomAnalysisTaskConfigurator.prototype.render): Added.
(CustomAnalysisTaskConfigurator.prototype._renderTriggerableTests): Added. Renders the list of top-level tests
that can be scheduled by a triggerable.
(CustomAnalysisTaskConfigurator.prototype._renderTriggerablePlatforms): Added. Renders the list of platforms
that can be schedule with the currently selected list of tests by a triggerable. Note that the current UI only
lets the user select a single test but the intent is to allow multiple tests to be selected in the near future.
(CustomAnalysisTaskConfigurator.prototype._buildCheckboxList): Added. Creates a list of radio boxes to select
an item with a callback for each. It automatically sets "selected" class on the selected item. It's used to
render both the list of tests and platforms.
(CustomAnalysisTaskConfigurator.prototype._updateTriggerable): Added. Finds the triggerable for a given list of
tests and platforms. Returns an error when some tests belong to another triggearalbe.
(CustomAnalysisTaskConfigurator.prototype._updateRepositoryGroups): Added. Finds a repository group to use when
the current triggerable has changed. We try to use the repository group of the same name if there is any, and
defaults to the first repository group if there is none. This allows the set of repositories to be specified to
more or less persist across different triggerables. For example, if iOS platforms and Mac platforms use two
distinct triggerables , and both triggerables have two repository groups: one that only specify the OS and the
other that specifies both teh OS and WebKit revision, then this code allows the choice the user had made to
specify either just the OS or the OS and WebKit will be preserved when the user switches from an iOS platform
to a Mac platform.
(CustomAnalysisTaskConfigurator.prototype._updateCommitSetMap): Added. Create a commit set map, the format that
TestGroup.createWithTask accepts given "baseline" and "comparison" commit sets. Pretend "comparison" is not set
if two sets are identical since it makes no sense to schedule an A/B testing job when A and B are identical.
(CustomAnalysisTaskConfigurator.prototype._computeCommitSet): Added. Creates a commit set using the revisions
and the csutom roots the user had specified.
(CustomAnalysisTaskConfigurator.prototype._renderRepositoryPanes): Added. Renders the pane to specify revisions
and custom roots for "baseline" and "comparison".
(CustomAnalysisTaskConfigurator.prototype._renderBaselineRevisionTable): Added.
(CustomAnalysisTaskConfigurator.prototype._renderComparisonRevisionTable): Added.
(CustomAnalysisTaskConfigurator.prototype._optionalRepositoryList): Added.
(CustomAnalysisTaskConfigurator.prototype._buildRevisionTable): Added. Creates a table for specifying revisions
and custom roots along with a list of repository groups to pick. The set of repositories and custom roots are
shown at the all if all repository groups require them. Otherwise, they are grouped at the bottom as optional.
(CustomAnalysisTaskConfigurator.prototype._buildRepositoryGroupList): Added.
(CustomAnalysisTaskConfigurator.prototype._selectRepositoryGroup): Added.
(CustomAnalysisTaskConfigurator.prototype._buildRevisionInput): Added. Creates an input element to specify
a revision for a given repository. Autofills it with the latest commit for the currently selected platform if
the user had not modified the field by the time the revisions are fetched.
(CustomAnalysisTaskConfigurator.htmlTemplate): Added.
(CustomAnalysisTaskConfigurator.cssTemplate): Added.

  • public/v3/components/instant-file-uploader.js: Added. A form to upload a custom darwinup root in "baseline"

or "comparison" configurations of CustomAnalysisTaskConfigurator. It's "instant" because it auto-detects when a
file to be uploaded had already been uploaded elsewhere by checking its SHA-256 hash.
(InstantFileUploader):
(InstantFileUploader.prototype.hasFileToUpload): Added.
(InstantFileUploader.prototype.uploadedFiles): Added.
(InstantFileUploader.prototype.addUploadedFile): Added. It's called on the uploader for "comparison"
configuration when the uploader for "baseline" configuration dipsatches "uploadedFile" action to automatically
mirror the newly uploaded custom root to "comparision" configuration.
(InstantFileUploader.prototype.didConstructShadowTree): Added.
(InstantFileUploader.prototype.render): Added.
(InstantFileUploader.prototype._renderUploadedFiles): Added. Renders the list of the uploaded files.
(InstantFileUploader.prototype._renderPreuploadFiles): Added. Renders the list of the files to be uploaded with
a progress bar.
(InstantFileUploader.prototype._updateUploadStatus): Added. Updates the progress bar for uploading the file.
(InstantFileUploader.prototype._formatUploadError): Added.
(InstantFileUploader.prototype._didFileInputChange): Added. Called when the user picks a file to uploaded on
the input element. Fetch the meta data for the uploaded file with the same SHA-256 hash if there is any, and
start uploading the file if there isn't one.
(InstantFileUploader.prototype._removeUploadedFile): Added.
(InstantFileUploader.prototype._didUploadFile): Added. Move a file from the list of files to be uploaded to
the list of uploaded files.
(InstantFileUploader.htmlTemplate): Added.
(InstantFileUploader.cssTemplate): Added.

  • public/v3/index.html:
  • public/v3/models/analysis-task.js:

(AnalysisTask): Made platform and metric optional as it is now.
(AnalysisTask.findByPlatformAndMetric): Skip analysis tasks without a platform or a metric.
(AnalysisTask.prototype.isCustom): Added. Returns true for a custom analysis task.
(AnalysisTask.fetchRelatedTasks): Skip custom analysis tasks.
(AnalysisTask._constructAnalysisTasksFromRawData): Construct analysis tasks even if they were missing a metric
or a platform instead of silently skipping them.

  • public/v3/models/build-request.js:

(BuildRequest.constructBuildRequestsFromData): Construct uploaded file objects returned by /api/build-requests.

  • public/v3/models/commit-log.js:

(CommitLog.fetchLatestCommitForPlatform): Added.

  • public/v3/models/commit-set.js:

(CommitSet): Added this._customRoots.
(CommitSet.prototype.customRoots): Returns this._customRoots.
(CommitSet.prototype.equals): Returns false when the set of custom roots are not equal.
(CommitSet.areCustomRootsEqual): Added.
(CustomCommitSet):
(CustomCommitSet.prototype.equals): Added.
(CustomCommitSet.prototype.customRoots): Added.
(CustomCommitSet.prototype.addCustomRoot): Added.

  • public/v3/models/manifest.js:

(Manifest._didFetchManifest): Store fileUploadSizeLimit in the manifest as UploadedFile.fileUploadSizeLimit.
This allows a file size check in the client size instead of uploading it to the server and receiving an error.

  • public/v3/models/metric.js:

(Metric.formatTime): Moved from ChartPaneStatusView to be also used by InstantFileUploader._renderUploadedFiles.

  • public/v3/models/test-group.js:

(TestGroup.prototype.createWithTask): Added.
(TestGroup.prototype.createAndRefetchTestGroups):
(TestGroup.prototype._revisionSetsFromCommitSets): Added. Extracted from createAndRefetchTestGroups.
(TestGroup.prototype._fetchTestGroupsForTask): Added. Extracted from createAndRefetchTestGroups.

  • public/v3/models/triggerable.js:

(Triggerable.triggerablePlatformsForTests): Added.
(Triggerable.sortByNamePreferringSmallerRepositories): Added.

  • public/v3/models/uploaded-file.js:

(UploadedFile.prototype.createdAt): Added.
(UploadedFile.prototype.filename): Added.
(UploadedFile.prototype.author): Added.
(UploadedFile.prototype.size): Added.
(UploadedFile.uploadFile): Added a client-side check for the file size using UploadedFile.fileUploadSizeLimit.
(UploadedFile.fetchUnloadedFileWithIdenticalHash): Ditto. Also fixed a bug that 404 was resulting in a rejected
promise instead of a resolved promise with null.

  • public/v3/pages/analysis-category-page.js:

(AnalysisCategoryPage.prototype._reconstructTaskList): Modernized the code. Added the support for platform and
metric being null for some analysis tasks.

  • public/v3/pages/analysis-task-page.js:

(AnalysisTaskPage.prototype._didFetchTask): Don't fetch the measurement set or create a chart for custom tasks.
(AnalysisTaskPage.prototype.render): Don't display the charts or the stacking table for custom tasks.
(AnalysisTaskPage.prototype._renderTaskNameAndStatus): Don't try to show the full test name for custom tasks
since it's not associated with exactly one pair.

  • public/v3/pages/chart-pane-status-view.js:

(ChartPaneStatusView.prototype._renderBuildRevisionTable):
(ChartPaneStatusView.prototype._formatTime): Moved to Metric.formatTime.

  • public/v3/pages/chart-pane.js:

(ChartPane.prototype._analyzeRange): Set inProgress to true to hide CustomAnalysisTaskConfigurator in
CreateAnalysisTaskPage when creating a non-custom analysis task for a specific range.

  • public/v3/pages/create-analysis-task-page.js:

(CreateAnalysisTaskPage): This page now shows CustomAnalysisTaskConfigurator by default, and lets a user create
a custom analysis task by picking a test, a platform, and a set of revisions and custom darwinup roots.
(CreateAnalysisTaskPage.prototype.updateFromSerializedState): Show a message when inProgress is set. This is
the old behavior of this page.
(CreateAnalysisTaskPage.prototype.didConstructShadowTree): Added.
(CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup): Added.
(CreateAnalysisTaskPage.prototype.render):
(CreateAnalysisTaskPage.prototype._renderMessage): Added. Hides CustomAnalysisTaskConfigurator and the select
element to specify the numebr of iterations when a message is set.
(CreateAnalysisTaskPage.htmlTemplate):
(CreateAnalysisTaskPage.cssTemplate):

  • public/v3/pages/page-router.js:

(PageRouter.prototype.route): Always enqueue the page to re-render when the route has changed.

  • server-tests/api-build-requests-tests.js: Updated test cases now that the response contains a list of

uploaded files associated with build requests.

  • server-tests/privileged-api-create-test-group-tests.js: Added test cases for creating a custom analysis task

and a test group with custom roots.

  • server-tests/resources/mock-data.js:

(MockData.addMockData): Updated the mock data to satisfy new constraint on analysis-tasks table.

  • tools/js/remote.js: Include global.FormData from form-data.js.
  • unit-tests/build-request-tests.js:

(sampleBuildRequestData): Updated the mock response.

  • unit-tests/buildbot-syncer-tests.js:

(createSampleBuildRequest): Ditto.

  • unit-tests/test-groups-tests.js:

(sampleTestGroup): Ditto.

2:44 PM Changeset in webkit [215204] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Remove call to WKShowKeyAndMain
https://bugs.webkit.org/show_bug.cgi?id=170691
rdar://problem/31050032

Reviewed by Beth Dakin.

  • Carbon/CarbonWindowAdapter.mm:

(-[CarbonWindowAdapter makeKeyWindow]):

2:43 PM Changeset in webkit [215203] by rniwa@webkit.org
  • 36 edits
    1 delete in trunk

.:
Elftoolchain ar doesn't support response files
https://bugs.webkit.org/show_bug.cgi?id=170105

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2017-04-08
Reviewed by Michael Catanzaro.

WebKit enables the use of response files when cmake and ninja is used.
However, the default implementation of ar command used in FreeBSD, which
is part of elftoolchain project, doesn't support reading arguments from
response files. To avoid causing undefined reference error on FreeBSD,
we disable the use of response files when elftoolchain ar is detected.

  • Source/cmake/OptionsCommon.cmake:

Websites/perf.webkit.org:
Unreviewed, rolling out r215202.
https://bugs.webkit.org/show_bug.cgi?id=170694

Committed incorrectly (Requested by rniwa on #webkit).

Reverted changeset:

"Add the UI for scheduling a A/B testing with a custom root"
https://bugs.webkit.org/show_bug.cgi?id=170622
http://trac.webkit.org/changeset/215202

Patch by Commit Queue <commit-queue@webkit.org> on 2017-04-10

2:38 PM Changeset in webkit [215202] by rniwa@webkit.org
  • 36 edits
    5 adds in trunk

Add the UI for scheduling a A/B testing with a custom root
https://bugs.webkit.org/show_bug.cgi?id=170622

Reviewed by Anders Carlsson.

This patch adds the support for creating a new analysis task with a custom darwinup roots. A follow up patch
would update the syncing script to schedule such an A/B testing job to a buildbot instance.

  • ReadMe.md: Updated instructions for backing up and restoring the database so that it's easier to replace

the file path for the backup.

  • init-database.sql: Make task_platform and task_metric optional in each analysis task. Also added a column

to store the root file in commit_set_relationships.

  • public/api/build-requests.php:

(main): Include the uploaded files.

  • public/api/commits.php:

(main): Added the support for querying the latest commits for a given platform. This is used in a new page
to create a custom analysis task to autofill the latest revisions for a given platform.

  • public/api/test-groups.php:

(main): Include the uploaded files.

  • public/include/build-requests-fetcher.php:

(BuildRequestsFetcher::construct): Added a list of uploaded_files and a map from its id.
(BuildRequestsFetcher::uploaded_files): Added.
(BuildRequestsFetcher::fetch_commits_for_set_if_needed): Added the support for including custom roots' id in
each commit set, and inserting its meta data in the list of uplaoded files.

  • public/include/commit-log-fetcher.php:

(CommitLogFetcher::fetch_latest_for_platform): Added. Finds the latest commit for a given platform. Ideally,
we should be finding the latest commit for a given platform, but this is very slow so instead find the commit
of the latest build for a given platform.

  • public/privileged-api/create-test-group.php:

(main): Added the support for creating an analysis task along with a group.
(commit_sets_from_revision_sets): Added the support for custom roots. Verify the specified uploaded file exists
and include it in commit_set_relationships. Because commits and upload files are stored in a different column
in commit_set_relationships, this function now stores the information for each row of commit_set_relationships
except the commit set ID, which is unknown until the set is created, instead of a commit ID.
(ensure_commit_sets): Made the each entry in a commit set a row instead of a commit ID as done. As this format
is only by v2 UI and detect-changes.js, we don't add the support for specifying custom roots here.

  • public/privileged-api/upload-file.php:

(main): Fixed a typo. Also added one more error check.

  • public/v3/components/custom-analysis-task-configurator.js: Added. The UI for selecting a test, a platform,

and a set of revisions, as well as custom roots for a custom A/B testing job. The first set of revision with
custom roots is referred as "baseline", and the second configuration is referred as "comparison" in this class.
(CustomAnalysisTaskConfigurator):
(CustomAnalysisTaskConfigurator.prototype.tests): Added.
(CustomAnalysisTaskConfigurator.prototype.platform): Added.
(CustomAnalysisTaskConfigurator.prototype.commitSets): Added. Returns a pair of baseline and comparsion if both
have been configured by the user.
(CustomAnalysisTaskConfigurator.prototype.didConstructShadowTree): Added.
(CustomAnalysisTaskConfigurator.prototype._configureComparison): Added. Called when the user is to configu the
"comparison" configuration.
(CustomAnalysisTaskConfigurator.prototype.render): Added.
(CustomAnalysisTaskConfigurator.prototype._renderTriggerableTests): Added. Renders the list of top-level tests
that can be scheduled by a triggerable.
(CustomAnalysisTaskConfigurator.prototype._renderTriggerablePlatforms): Added. Renders the list of platforms
that can be schedule with the currently selected list of tests by a triggerable. Note that the current UI only
lets the user select a single test but the intent is to allow multiple tests to be selected in the near future.
(CustomAnalysisTaskConfigurator.prototype._buildCheckboxList): Added. Creates a list of radio boxes to select
an item with a callback for each. It automatically sets "selected" class on the selected item. It's used to
render both the list of tests and platforms.
(CustomAnalysisTaskConfigurator.prototype._updateTriggerable): Added. Finds the triggerable for a given list of
tests and platforms. Returns an error when some tests belong to another triggearalbe.
(CustomAnalysisTaskConfigurator.prototype._updateRepositoryGroups): Added. Finds a repository group to use when
the current triggerable has changed. We try to use the repository group of the same name if there is any, and
defaults to the first repository group if there is none. This allows the set of repositories to be specified to
more or less persist across different triggerables. For example, if iOS platforms and Mac platforms use two
distinct triggerables , and both triggerables have two repository groups: one that only specify the OS and the
other that specifies both teh OS and WebKit revision, then this code allows the choice the user had made to
specify either just the OS or the OS and WebKit will be preserved when the user switches from an iOS platform
to a Mac platform.
(CustomAnalysisTaskConfigurator.prototype._updateCommitSetMap): Added. Create a commit set map, the format that
TestGroup.createWithTask accepts given "baseline" and "comparison" commit sets. Pretend "comparison" is not set
if two sets are identical since it makes no sense to schedule an A/B testing job when A and B are identical.
(CustomAnalysisTaskConfigurator.prototype._computeCommitSet): Added. Creates a commit set using the revisions
and the csutom roots the user had specified.
(CustomAnalysisTaskConfigurator.prototype._renderRepositoryPanes): Added. Renders the pane to specify revisions
and custom roots for "baseline" and "comparison".
(CustomAnalysisTaskConfigurator.prototype._renderBaselineRevisionTable): Added.
(CustomAnalysisTaskConfigurator.prototype._renderComparisonRevisionTable): Added.
(CustomAnalysisTaskConfigurator.prototype._optionalRepositoryList): Added.
(CustomAnalysisTaskConfigurator.prototype._buildRevisionTable): Added. Creates a table for specifying revisions
and custom roots along with a list of repository groups to pick. The set of repositories and custom roots are
shown at the all if all repository groups require them. Otherwise, they are grouped at the bottom as optional.
(CustomAnalysisTaskConfigurator.prototype._buildRepositoryGroupList): Added.
(CustomAnalysisTaskConfigurator.prototype._selectRepositoryGroup): Added.
(CustomAnalysisTaskConfigurator.prototype._buildRevisionInput): Added. Creates an input element to specify
a revision for a given repository. Autofills it with the latest commit for the currently selected platform if
the user had not modified the field by the time the revisions are fetched.
(CustomAnalysisTaskConfigurator.htmlTemplate): Added.
(CustomAnalysisTaskConfigurator.cssTemplate): Added.

  • public/v3/components/instant-file-uploader.js: Added. A form to upload a custom darwinup root in "baseline"

or "comparison" configurations of CustomAnalysisTaskConfigurator. It's "instant" because it auto-detects when a
file to be uploaded had already been uploaded elsewhere by checking its SHA-256 hash.
(InstantFileUploader):
(InstantFileUploader.prototype.hasFileToUpload): Added.
(InstantFileUploader.prototype.uploadedFiles): Added.
(InstantFileUploader.prototype.addUploadedFile): Added. It's called on the uploader for "comparison"
configuration when the uploader for "baseline" configuration dipsatches "uploadedFile" action to automatically
mirror the newly uploaded custom root to "comparision" configuration.
(InstantFileUploader.prototype.didConstructShadowTree): Added.
(InstantFileUploader.prototype.render): Added.
(InstantFileUploader.prototype._renderUploadedFiles): Added. Renders the list of the uploaded files.
(InstantFileUploader.prototype._renderPreuploadFiles): Added. Renders the list of the files to be uploaded with
a progress bar.
(InstantFileUploader.prototype._updateUploadStatus): Added. Updates the progress bar for uploading the file.
(InstantFileUploader.prototype._formatUploadError): Added.
(InstantFileUploader.prototype._didFileInputChange): Added. Called when the user picks a file to uploaded on
the input element. Fetch the meta data for the uploaded file with the same SHA-256 hash if there is any, and
start uploading the file if there isn't one.
(InstantFileUploader.prototype._removeUploadedFile): Added.
(InstantFileUploader.prototype._didUploadFile): Added. Move a file from the list of files to be uploaded to
the list of uploaded files.
(InstantFileUploader.htmlTemplate): Added.
(InstantFileUploader.cssTemplate): Added.

  • public/v3/index.html:
  • public/v3/models/analysis-task.js:

(AnalysisTask): Made platform and metric optional as it is now.
(AnalysisTask.findByPlatformAndMetric): Skip analysis tasks without a platform or a metric.
(AnalysisTask.prototype.isCustom): Added. Returns true for a custom analysis task.
(AnalysisTask.fetchRelatedTasks): Skip custom analysis tasks.
(AnalysisTask._constructAnalysisTasksFromRawData): Construct analysis tasks even if they were missing a metric
or a platform instead of silently skipping them.

  • public/v3/models/build-request.js:

(BuildRequest.constructBuildRequestsFromData): Construct uploaded file objects returned by /api/build-requests.

  • public/v3/models/commit-log.js:

(CommitLog.fetchLatestCommitForPlatform): Added.

  • public/v3/models/commit-set.js:

(CommitSet): Added this._customRoots.
(CommitSet.prototype.customRoots): Returns this._customRoots.
(CommitSet.prototype.equals): Returns false when the set of custom roots are not equal.
(CommitSet.areCustomRootsEqual): Added.
(CustomCommitSet):
(CustomCommitSet.prototype.equals): Added.
(CustomCommitSet.prototype.customRoots): Added.
(CustomCommitSet.prototype.addCustomRoot): Added.

  • public/v3/models/manifest.js:

(Manifest._didFetchManifest): Store fileUploadSizeLimit in the manifest as UploadedFile.fileUploadSizeLimit.
This allows a file size check in the client size instead of uploading it to the server and receiving an error.

  • public/v3/models/metric.js:

(Metric.formatTime): Moved from ChartPaneStatusView to be also used by InstantFileUploader._renderUploadedFiles.

  • public/v3/models/test-group.js:

(TestGroup.prototype.createWithTask): Added.
(TestGroup.prototype.createAndRefetchTestGroups):
(TestGroup.prototype._revisionSetsFromCommitSets): Added. Extracted from createAndRefetchTestGroups.
(TestGroup.prototype._fetchTestGroupsForTask): Added. Extracted from createAndRefetchTestGroups.

  • public/v3/models/triggerable.js:

(Triggerable.triggerablePlatformsForTests): Added.
(Triggerable.sortByNamePreferringSmallerRepositories): Added.

  • public/v3/models/uploaded-file.js:

(UploadedFile.prototype.createdAt): Added.
(UploadedFile.prototype.filename): Added.
(UploadedFile.prototype.author): Added.
(UploadedFile.prototype.size): Added.
(UploadedFile.uploadFile): Added a client-side check for the file size using UploadedFile.fileUploadSizeLimit.
(UploadedFile.fetchUnloadedFileWithIdenticalHash): Ditto. Also fixed a bug that 404 was resulting in a rejected
promise instead of a resolved promise with null.

  • public/v3/pages/analysis-category-page.js:

(AnalysisCategoryPage.prototype._reconstructTaskList): Modernized the code. Added the support for platform and
metric being null for some analysis tasks.

  • public/v3/pages/analysis-task-page.js:

(AnalysisTaskPage.prototype._didFetchTask): Don't fetch the measurement set or create a chart for custom tasks.
(AnalysisTaskPage.prototype.render): Don't display the charts or the stacking table for custom tasks.
(AnalysisTaskPage.prototype._renderTaskNameAndStatus): Don't try to show the full test name for custom tasks
since it's not associated with exactly one pair.

  • public/v3/pages/chart-pane-status-view.js:

(ChartPaneStatusView.prototype._renderBuildRevisionTable):
(ChartPaneStatusView.prototype._formatTime): Moved to Metric.formatTime.

  • public/v3/pages/chart-pane.js:

(ChartPane.prototype._analyzeRange): Set inProgress to true to hide CustomAnalysisTaskConfigurator in
CreateAnalysisTaskPage when creating a non-custom analysis task for a specific range.

  • public/v3/pages/create-analysis-task-page.js:

(CreateAnalysisTaskPage): This page now shows CustomAnalysisTaskConfigurator by default, and lets a user create
a custom analysis task by picking a test, a platform, and a set of revisions and custom darwinup roots.
(CreateAnalysisTaskPage.prototype.updateFromSerializedState): Show a message when inProgress is set. This is
the old behavior of this page.
(CreateAnalysisTaskPage.prototype.didConstructShadowTree): Added.
(CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup): Added.
(CreateAnalysisTaskPage.prototype.render):
(CreateAnalysisTaskPage.prototype._renderMessage): Added. Hides CustomAnalysisTaskConfigurator and the select
element to specify the numebr of iterations when a message is set.
(CreateAnalysisTaskPage.htmlTemplate):
(CreateAnalysisTaskPage.cssTemplate):

  • public/v3/pages/page-router.js:

(PageRouter.prototype.route): Always enqueue the page to re-render when the route has changed.

  • server-tests/api-build-requests-tests.js: Updated test cases now that the response contains a list of

uploaded files associated with build requests.
*server-tests/api-commits-tests.js: Added a test case for /api/commits/<repository-name>/latest?platform=X.

  • server-tests/privileged-api-create-test-group-tests.js: Added test cases for creating a custom analysis task

and a test group with custom roots.

  • server-tests/resources/mock-data.js:

(MockData.addMockData): Updated the mock data to satisfy new constraint on analysis-tasks table. Also inserted
more commits, builds, and build_commits rows for testing /api/commits/<repository-name>/latest?platform=X.

  • tools/js/remote.js: Include global.FormData from form-data.js.
  • unit-tests/analysis-task-tests.js: Added a test for calling findByPlatformAndMetric when there is a custom

analysis task.
(sampleAnalysisTask): Removed the category since /api/analysis-tasks/ no longer generate this property.
(sampleCustomAnalysisTask): Added.

  • unit-tests/build-request-tests.js:

(sampleBuildRequestData): Updated the mock response. Added a test case for fetcing custom roots.

  • unit-tests/buildbot-syncer-tests.js:

(createSampleBuildRequest): Ditto.

  • unit-tests/test-groups-tests.js:

(sampleTestGroup): Ditto.

2:24 PM Changeset in webkit [215201] by commit-queue@webkit.org
  • 19 edits
    2 adds in trunk/Source

Add CoreAudioCaptureSource.
https://bugs.webkit.org/show_bug.cgi?id=170112
rdar://problem/30293338

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-04-10
Source/WebCore:

Reviewed by Eric Carlson.

No new tests because this provides the same funcitonality as AVAudioCaptureSource.
Funcionality is covered by existing test cases.

Add CoreAudioCaptureSource for audio capture. And use it by default in AVCaptureDeviceManager.
Add UseAVFoundationAudioCapture setting to switch back to AVFoundation for audio capture.

  • WebCore.xcodeproj/project.pbxproj:
  • page/Settings.cpp:

(WebCore::Settings::useAVFoundationAudioCapture):
(WebCore::Settings::setUseAVFoundationAudioCapture):

  • page/Settings.h:
  • platform/mediastream/mac/AVCaptureDeviceManager.h:
  • platform/mediastream/mac/AVCaptureDeviceManager.mm:

(WebCore::AVCaptureDeviceManager::setUseAVFoundationAudioCapture):

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp: Added.

(WebCore::CoreAudioCaptureSource::create):
(WebCore::CoreAudioCaptureSource::factory):
(WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::preferredSampleRate):
(WebCore::CoreAudioCaptureSource::preferredIOBufferDuration):
(WebCore::CoreAudioCaptureSource::configureMicrophoneProc):
(WebCore::CoreAudioCaptureSource::configureSpeakerProc):
(WebCore::CoreAudioCaptureSource::addMicrophoneDataConsumer):
(WebCore::CoreAudioCaptureSource::removeMicrophoneDataConsumer):
(WebCore::CoreAudioCaptureSource::addEchoCancellationSource):
(WebCore::CoreAudioCaptureSource::removeEchoCancellationSource):
(WebCore::CoreAudioCaptureSource::checkTimestamps):
(WebCore::CoreAudioCaptureSource::provideSpeakerData):
(WebCore::CoreAudioCaptureSource::speakerCallback):
(WebCore::CoreAudioCaptureSource::processMicrophoneSamples):
(WebCore::CoreAudioCaptureSource::microphoneCallback):
(WebCore::CoreAudioCaptureSource::defaultOutputDevice):
(WebCore::CoreAudioCaptureSource::defaultInputDevice):
(WebCore::CoreAudioCaptureSource::setupAudioUnits):
(WebCore::CoreAudioCaptureSource::startProducingData):
(WebCore::CoreAudioCaptureSource::stopProducingData):
(WebCore::CoreAudioCaptureSource::suspend):
(WebCore::CoreAudioCaptureSource::resume):
(WebCore::CoreAudioCaptureSource::capabilities):
(WebCore::CoreAudioCaptureSource::settings):

  • platform/mediastream/mac/CoreAudioCaptureSource.h: Added.
  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:

(WebCore::RealtimeMediaSourceCenterMac::RealtimeMediaSourceCenterMac):
(WebCore::RealtimeMediaSourceCenterMac::defaultAudioFactory):

Source/WebKit/mac:

Reviewed by Eric Carlson.

Add UseAVFoundationAudioCapture preference to switch back from the new default of CoreAudio.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences useAVFoundationAudioCapture]):
(-[WebPreferences setUseAVFoundationAudioCapture:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Reviewed by Tim Horton.

Add UseAVFoundationAudioCapture preference to switch back from the new default of CoreAudio.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetUseAVFoundationAudioCapture):
(WKPreferencesGetUseAVFoundationAudioCapture):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

2:02 PM Changeset in webkit [215200] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Wrap legacy MediaStream API in runtime flag
https://bugs.webkit.org/show_bug.cgi?id=169877

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-10
Reviewed by Alex Christensen.

Covered by binding tests.

Marking navigator.getUserMedia and MediaStreamEvent as runtime enabled if mediastream and webrtclegacy api flags
are on.
Updated binding generator to support multiple runtime flags.

  • Modules/mediastream/MediaStreamEvent.idl:
  • Modules/mediastream/NavigatorUserMedia.idl:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetRuntimeEnableFunctionName):
(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjPrototype::finishCreation):

  • bindings/scripts/test/TestObj.idl:
1:00 PM Changeset in webkit [215199] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark media/modern-media-controls/volume-slider/volume-slider-value.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167475

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:59 PM Changeset in webkit [215198] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Remove deprecated parts of media stream spec
https://bugs.webkit.org/show_bug.cgi?id=169879

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-10
Reviewed by Jon Lee.

Removing MediaStreamTrackState 'new' value which was unused.
Removing MediaStreamTrack _readonly attribute which was unused.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::readonly): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrack.idl:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:

(WebCore::MediaStreamTrackPrivate::readonly): Deleted.

  • platform/mediastream/MediaStreamTrackPrivate.h:
  • platform/mediastream/RealtimeMediaSource.h:
12:53 PM Changeset in webkit [215197] by Brent Fulgham
  • 4 edits
    2 adds in trunk

[WK2][macOS] Block access to Apple Events before launch.
https://bugs.webkit.org/show_bug.cgi?id=170626
<rdar://problem/16079334>

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

Clear the environment of the AppleEvent server name before initializing
AppKit so we never bother connecting.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(main):

Tools:

Add a new TestWebKitAPI test that fails if Apple Events are sent.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
  • TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Added.

(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Added.

(TestWebKitAPI::InjectedBundleAppleEventTest::InjectedBundleAppleEventTest):
(TestWebKitAPI::InjectedBundleAppleEventTest::didCreatePage):

12:38 PM Changeset in webkit [215196] by mark.lam@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Move ProbeContext and ProbeFunction out of AbstractMacroAssembler.
https://bugs.webkit.org/show_bug.cgi?id=170681

Reviewed by Michael Saboff.

This is a refactoring step towards enabling custom probe printers the way printInternal() works for dataLog.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::ProbeContext::gpr): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::fpr): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::gprName): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::fprName): Deleted.

  • assembler/MacroAssembler.cpp:

(JSC::stdFunctionCallback):
(JSC::MacroAssembler::probe):

  • assembler/MacroAssembler.h:

(JSC::ProbeContext::gpr):
(JSC::ProbeContext::fpr):
(JSC::ProbeContext::gprName):
(JSC::ProbeContext::fprName):

  • assembler/MacroAssemblerARM.cpp:

(JSC::MacroAssemblerARM::probe):

  • assembler/MacroAssemblerARM64.cpp:

(JSC::arm64ProbeTrampoline):
(JSC::MacroAssemblerARM64::probe):

  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssemblerARMv7::probe):

  • assembler/MacroAssemblerPrinter.cpp:
  • assembler/MacroAssemblerPrinter.h:
  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssemblerX86Common::probe):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::abstractStructure):
(JSC::FTL::DFG::LowerDFGToB3::probe): Deleted.

  • Deleted because this became a useless place-holder after the transition to B3.
12:01 PM Changeset in webkit [215195] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[JSC] Do not run FTL stress tests on MIPS
https://bugs.webkit.org/show_bug.cgi?id=170684

Patch by Guillaume Emont <guijemont@igalia.com> on 2017-04-10
Reviewed by Carlos Alberto Lopez Perez.

run-jsc-stress-tests does not correctly detect MIPS platforms, and its
logic to detect if the platform supports FTL ignores that MIPS does
not support FTL. This adds detection of MIPS (with the magic number
determined empirically) and fixes the determination of whether we
support FTL.

  • Scripts/run-jsc-stress-tests:
11:34 AM Changeset in webkit [215194] by keith_miller@apple.com
  • 9 edits
    2 adds
    1 delete in trunk/JSTests

WebAssembly: Update spec tests
https://bugs.webkit.org/show_bug.cgi?id=170683

Rubber-stamped by JF Bastien.

  • wasm.yaml:
  • wasm/spec-tests/br_table.wast.js:
  • wasm/spec-tests/conversions.wast.js: Removed.
  • wasm/spec-tests/f32_bitwise.wast.js: Added.
  • wasm/spec-tests/f32_cmp.wast.js:
  • wasm/spec-tests/f64_bitwise.wast.js: Added.
  • wasm/spec-tests/f64_cmp.wast.js:
  • wasm/spec-tests/i32.wast.js:
  • wasm/spec-tests/i64.wast.js:
  • wasm/spec-tests/int_exprs.wast.js:
  • wasm/spec-tests/memory.wast.js:
11:31 AM Changeset in webkit [215193] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

WebAssembly: Fix B3IRGenerator for BrTable
https://bugs.webkit.org/show_bug.cgi?id=170685

Reviewed by JF Bastien.

For some reason this didn't get included in r215141.

This fixes an issue with BrTable and loops where we would use the loop's return type
as the branch target type.

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::ControlData::resultForBranch):
(JSC::Wasm::B3IRGenerator::unifyValuesWithBlock):

11:11 AM Changeset in webkit [215192] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Placeholder text is clipped in the 'Enter Class Name' field at the bottom of Rules style sidebar in some localizations
https://bugs.webkit.org/show_bug.cgi?id=167641
<rdar://problem/26541953>

Reviewed by Joseph Pecoraro.

Make the "Enter Class Name" text field span the entire width of the Styles sidebar.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > input[type="checkbox"]): Deleted.
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .add-class-icon): Deleted.
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class.active > .add-class-icon,): Deleted.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
Remove the checkbox, which didn't do anything, and the plus icon. Make the "Enter Class Name" text field visible by default.

11:11 AM Changeset in webkit [215191] by Jonathan Bedard
  • 2 edits in trunk/Tools

webkitpy: Increase estimate for processes run by iOS Simulators
https://bugs.webkit.org/show_bug.cgi?id=170678
<rdar://problem/31534061>

Reviewed by Aakash Jain.

Previously, it was estimated that each simulated iOS device would run about 100
processes. With newer versions of iOS, this is closer to 125.

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort): Increase process estimate from 100 to 125.

11:06 AM Changeset in webkit [215190] by commit-queue@webkit.org
  • 5 edits in trunk

[GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
https://bugs.webkit.org/show_bug.cgi?id=170553

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2017-04-10
Reviewed by Michael Catanzaro.

Source/WebKit2:

Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when building with GTK+ 3.22 or
newer. This allows the Wayland GTK+ backend to properly position popup menus, and also avoids
using functions which were deprecated starting at that GTK+ release.

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::show): Use gtk_menu_popup_at_pointer() as there is always a
pointer event that can be passed to it.

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use gtk_menu_popup_at_rect(), using the coordinates
of the control passed as reference rectangle. Some conditional code is needed because with newer
GTK+ versions a relative offset instead of an absolute position is needed.

Tools:

Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when
building with GTK+ 3.22 or newer. This allows the Wayland GTK+ backend
to properly position popup menus, and also avoids using functions
which were deprecated starting at that GTK+ release.

  • MiniBrowser/gtk/BrowserSearchBar.c:

(searchEntryMenuIconPressedCallback):
Update MiniBrowser to use gtk_menu_popup_at_pointer().

10:58 AM Changeset in webkit [215189] by Wenson Hsieh
  • 9 edits in trunk

REGRESSION (r214403): fast/events/drag-to-navigate.html and fast/events/only-valid-drop-targets-receive-file-drop.html failing
https://bugs.webkit.org/show_bug.cgi?id=170677
<rdar://problem/31512633>

Reviewed by Tim Horton.

Tools:

Fixes two drag and drop LayoutTests by introducing and enabling a TestOptions switch (enableDragDestinationActionLoad)
to allow dropping URLs to trigger page navigation.

  • DumpRenderTree/TestOptions.h:
  • DumpRenderTree/TestOptions.mm:

(TestOptions::TestOptions):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebViewToConsistentStateBeforeTesting):

  • DumpRenderTree/mac/UIDelegate.h:
  • DumpRenderTree/mac/UIDelegate.mm:

(-[UIDelegate resetToConsistentStateBeforeTesting:]):
(-[UIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):

LayoutTests:

Turn enableDragDestinationActionLoad on in these two LayoutTests via WKTR options.

  • fast/events/drag-to-navigate.html:
  • fast/events/only-valid-drop-targets-receive-file-drop.html:
10:55 AM Changeset in webkit [215188] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Opening a popup menu does not pre-select the active item
https://bugs.webkit.org/show_bug.cgi?id=170680

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2017-04-10
Reviewed by Michael Catanzaro.

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use gtk_menu_shell_select_item() to
ensure that the active item appears selected right after popping up the menu.

10:54 AM Changeset in webkit [215187] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark media/modern-media-controls/volume-up-support/volume-up-support.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170682

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:35 AM Changeset in webkit [215186] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

update-webkit-dependency should report $response->message for diagnose
https://bugs.webkit.org/show_bug.cgi?id=170666

Patch by Fujii Hironori <Fujii Hironori> on 2017-04-10
Reviewed by Alex Christensen.

  • Scripts/update-webkit-dependency: Print $response->message to STDERR if an error happens.
10:28 AM Changeset in webkit [215185] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r215175.

This change caused a flaky crash in existing media tests.

Reverted changeset:

"Add fallback fonts to video captions stylesheet."
https://bugs.webkit.org/show_bug.cgi?id=170495
http://trac.webkit.org/changeset/215175

10:07 AM Changeset in webkit [215184] by Wenson Hsieh
  • 5 edits
    1 add in trunk

Data interaction on an image enclosed by an anchor should vend the anchor's URL
https://bugs.webkit.org/show_bug.cgi?id=170660
<rdar://problem/31043220>

Reviewed by Tim Horton.

Source/WebCore:

When writing an image embedded inside an anchor to the pasteboard, actually use the enclosing anchor's href if
it exists. Previously, we were simply dropping this argument on the floor.

Covered by 2 new DataInteractionTests: ImageInLinkToInput and ImageInLinkWithoutHREFToInput.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::writeImageToPasteboard):

Tools:

Adds two new unit tests covering cases where data interaction is triggered from an image nested underneath an
anchor. In one of the tests, the link has an href, and in the other, its href is missing, in which case we
should fall back to the image URL instead. Also fixes a related unit test that was trying to check selection
rects, but should not be.

See WebCore ChangeLog for more details.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Added.
  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(TestWebKitAPI::TEST):

9:44 AM Changeset in webkit [215183] by Ryan Haddad
  • 4 edits in trunk/LayoutTests

Rebaseline js/dom/global-constructors-attributes.html after r215131.

Unreviewed test gardening.

  • platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
9:05 AM Changeset in webkit [215182] by jonlee@apple.com
  • 7 edits in trunk/Source

Update localizable strings to "full screen" from "fullscreen"
https://bugs.webkit.org/show_bug.cgi?id=170675
rdar://problem/28207034

Reviewed by Antoine Quint.

Source/WebCore:

For localizable strings, it should consistently be "full screen" instead of "fullscreen".

  • English.lproj/Localizable.strings:
  • English.lproj/modern-media-controls-localized-strings.js:
  • platform/LocalizedStrings.cpp:

(WebCore::contextMenuItemTagExitVideoFullscreen):
(WebCore::localizedMediaControlElementString):

  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::exitFullScreenButtonAccessibilityTitle):

Source/WebInspectorUI:

  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.EventType.displayName): For localizable strings, it should consistently be
"full screen" instead of "fullscreen".

6:49 AM Changeset in webkit [215181] by akling@apple.com
  • 11 edits
    2 adds in trunk

Don't generate extra scrolling tiles for non-visible pages.
https://bugs.webkit.org/show_bug.cgi?id=167213
<rdar://problem/30105774>

Reviewed by Antti Koivisto.

Source/WebCore:

Reduce the tiling coverage to a minimum when the page is non-visible.
On macOS, this means that fully occluded web views can maintain a smaller set of tiles
in non-volatile surfaces, reducing net footprint.

Test: compositing/tiling/non-visible-window-tile-coverage.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::computePageTiledBackingCoverage): If the page's activity state is non-visible, use minimal tile coverage.

  • platform/ScrollView.h:
  • page/FrameView.h:
  • page/FrameView.cpp:

(WebCore::FrameView::hide): Call adjustTiledBackingCoverage() in hide() since it now takes page visibility into account.

(WebCore::FrameView::enableSpeculativeTilingIfNeeded):

  • testing/Internals.cpp:

(WebCore::Internals::setSpeculativeTilingDelayDisabledForTesting):

  • testing/Internals.h:
  • testing/Internals.idl: Add an internals API for disabling the 500ms delay before speculative tiling begins after

the main frame load finishes. This is needed for reliably testing this change.

LayoutTests:

  • TestExpectations:
  • compositing/tiling/non-visible-window-tile-coverage-expected.txt: Added.
  • compositing/tiling/non-visible-window-tile-coverage.html: Added.
  • platform/mac-wk2/TestExpectations:
5:55 AM Changeset in webkit [215180] by berto@igalia.com
  • 2 edits in trunk/Source/WTF

[GTK] Fix x32 build
https://bugs.webkit.org/show_bug.cgi?id=170673

Patch by Thorsten Glaser <tg@mirbsd.de> on 2017-04-10
Reviewed by Carlos Alberto Lopez Perez.

  • wtf/Platform.h:
4:48 AM Changeset in webkit [215179] by Carlos Garcia Campos
  • 3 edits
    6 adds
    1 delete in trunk/Tools

[GTK] Remove the GDK dependency from ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=85299

Reviewed by Žan Doberšek.

Add a cairo only implementation of ImageDiff. We currently have 3 different implementations of ImageDiff: the
Gdk based one used by GTK+ port, the cairo based one used by WinCairo and the CG based one. Most of the code is
actually common in all of them, but it's duplicated. So, I've taken advantage of this patch to refactor the
ImageDiff code to share the common implementation. This patch adds the cross-platform code, and the cairo
implementation and enables it in the GTK+ port. In follow up patches we can move WinCairo to this implementation
and also add CG implementation.

  • ImageDiff/CMakeLists.txt:
  • ImageDiff/Cairo.cmake: Added.
  • ImageDiff/ImageDiff.cpp: Added.

(main):

  • ImageDiff/PlatformGTK.cmake:
  • ImageDiff/PlatformImage.cpp: Added.

(ImageDiff::PlatformImage::isCompatible):
(ImageDiff::PlatformImage::difference):

  • ImageDiff/PlatformImage.h: Added.
  • ImageDiff/cairo/PlatformImageCairo.cpp: Added.

(ImageDiff::PlatformImage::createFromStdin):
(ImageDiff::PlatformImage::createFromDiffData):
(ImageDiff::PlatformImage::PlatformImage):
(ImageDiff::PlatformImage::~PlatformImage):
(ImageDiff::PlatformImage::width):
(ImageDiff::PlatformImage::height):
(ImageDiff::PlatformImage::rowBytes):
(ImageDiff::PlatformImage::hasAlpha):
(ImageDiff::PlatformImage::pixels):
(ImageDiff::PlatformImage::writeAsPNGToStdout):

  • ImageDiff/gtk/ImageDiff.cpp: Removed.
4:44 AM Changeset in webkit [215178] by Carlos Garcia Campos
  • 4 edits in trunk

REGRESSION(r214426): [GTK] Test media/video-click-dblckick-standalone.html started to fail in the bots after r214426
https://bugs.webkit.org/show_bug.cgi?id=170667

Reviewed by Žan Doberšek.

Tools:

In r214666 we disabled modern media controls runtime feature for the GTK+ port, but layout tests still override
that value.

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:

(WTR::TestController::updatePlatformSpecificTestOptionsForTest): Disable modern media controls.

LayoutTests:

Unskip then test that is passing now.

  • platform/gtk/TestExpectations:
4:04 AM Changeset in webkit [215177] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Enable DOM timer throttling and CSS animations suspension
https://bugs.webkit.org/show_bug.cgi?id=170669

Reviewed by Žan Doberšek.

  • Shared/WebPreferencesDefinitions.h:
3:16 AM Changeset in webkit [215176] by commit-queue@webkit.org
  • 9 edits in trunk/Tools

WTR: Avoid conversion from platform image to WKImage and then to platform image again when dumping pixel results
https://bugs.webkit.org/show_bug.cgi?id=170653

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-04-10
Reviewed by Tim Horton.

When dumping pixels from a web view snapshot, we create a platform image that is then converted to a WKImage,
which is a ShareableBitmap, so the image is rendered into a graphics context. Then we immediately extract the
platform image back from the WKImage to dump the pixels. We could avoid that conversion by taking the web
snapshot from TestInvocation::dumpPixelsAndCompareWithExpected().

  • WebKitTestRunner/PlatformWebView.h: Add PlatformImage typedef and use it as return value of windowSnapshotImage().
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::dumpResults): Pass the WKImage to dumpPixelsAndCompareWithExpected() only when pixel
results were created in the web process.

  • WebKitTestRunner/TestInvocation.h: Make WKImage a default paramater of dumpPixelsAndCompareWithExpected().
  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the cairo surface from the given WKimage in case
of web contents snapshot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.

  • WebKitTestRunner/cg/TestInvocationCG.cpp:

(WTR::createCGContextFromCGImage): Changed to receive a CGImageRef and renamed.
(WTR::createCGContextFromImage): Get the CGImageRef from the WKImage and call createCGContextFromCGImage().
(WTR::paintRepaintRectOverlay): It receives now the image size instead of the WKImage.
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the CGContextRef from the WKImage in case of web
contents snpashot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::windowSnapshotImage): Return the cairo surface instead of creating a WKImage. Also use
RGB24 format to match what mac does (kCGWindowImageShouldBeOpaque).

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::windowSnapshotImage): Return the CGImageRef instead of creating a WKImage.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::windowSnapshotImage): Ditto.

3:01 AM Changeset in webkit [215175] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Add fallback fonts to video captions stylesheet.
https://bugs.webkit.org/show_bug.cgi?id=170495

Reviewed by Myles C. Maxfield.

The kCTFontCascadeListAttribute key is used to obtain the cascade list for a font reference.

I have not added a test, since CaptionUserPreferences::testingMode() returns true when running tests,
preventing this code path from being executed.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):

1:28 AM Changeset in webkit [215174] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Mark several tests as failing/timing out.

  • platform/gtk/TestExpectations:
1:02 AM Changeset in webkit [215173] by Chris Dumez
  • 130 edits in trunk

Drop Timer::startOneShot() overload taking a double
https://bugs.webkit.org/show_bug.cgi?id=170659

Reviewed by Yusuke Suzuki.

Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.

Source/WebCore:

  • Modules/geolocation/GeoNotifier.cpp:

(WebCore::GeoNotifier::startTimerIfNeeded):

  • Modules/mediasession/WebMediaSessionManager.cpp:

(WebCore::WebMediaSessionManager::configureWatchdogTimer):

  • Modules/mediasession/WebMediaSessionManager.h:
  • Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:

(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):

  • Modules/vibration/Vibration.cpp:

(WebCore::Vibration::timerFired):

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::close):

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
(WebCore::AXObjectCache::postLiveRegionChangeNotification):
(WebCore::AXObjectCache::focusAriaModalNode):

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::setStatus):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::addToMatchedPropertiesCache):

  • dom/Document.cpp:

(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::finishedParsing):

  • dom/ScriptedAnimationController.cpp:
  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::startAlternativeTextUITimer):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::addBehaviorRestrictionsOnEndIfNecessary):
(WebCore::HTMLMediaElement::handleSeekToPlaybackPosition):

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::startSearchEventTimer):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessageDOMAndStartTimer):

  • html/canvas/WebGLRenderingContextBase.cpp:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::startTimer):
(WebCore::MediaControlPanelElement::makeTransparent):

  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::startTimer):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::frameScheduledNavigation):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::frameScheduledNavigation):

  • inspector/InspectorPageAgent.h:
  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::startTimer):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::documentDidFinishLoadEvent):

  • loader/icon/IconDatabase.cpp:
  • page/EventHandler.cpp:
  • page/EventSource.cpp:

(WebCore::EventSource::scheduleReconnect):

  • page/FocusController.cpp:

(WebCore::FocusController::setFocusedElementNeedsRepaint):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::enableSpeculativeTilingIfNeeded):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
(WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):

  • page/SuspendableTimer.h:
  • page/animation/CSSAnimationController.cpp:
  • page/mac/EventHandlerMac.mm:
  • page/mac/TextIndicatorWindow.mm:

(WebCore::TextIndicatorWindow::setTextIndicator):

  • platform/HysteresisActivity.h:

(WebCore::HysteresisActivity::stop):

  • platform/ScrollAnimationSmooth.cpp:

(WebCore::getAnimationParametersForGranularity):
(WebCore::ScrollAnimationSmooth::updatePerAxisData):
(WebCore::ScrollAnimationSmooth::animateScroll):
(WebCore::ScrollAnimationSmooth::animationTimerFired):
(WebCore::ScrollAnimationSmooth::startNextTimer):

  • platform/ScrollAnimationSmooth.h:
  • platform/Timer.h:

(WebCore::TimerBase::startRepeating):

  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::scheduleClientDataBufferingCheck):

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::scheduleStatelessScrollSnap):

  • platform/gamepad/cocoa/GameControllerGamepadProvider.mm:

(WebCore::GameControllerGamepadProvider::gamepadHadInput):

  • platform/gamepad/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::openAndScheduleManager):
(WebCore::HIDGamepadProvider::valuesChanged):

  • platform/glib/MainThreadSharedTimerGLib.cpp:

(WebCore::MainThreadSharedTimer::setFireInterval):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::startTimer):
(WebCore::BitmapImage::internalStartAnimation):
(WebCore::BitmapImage::advanceAnimation):
(WebCore::BitmapImage::resetAnimation):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/MediaPlaybackTargetPicker.cpp:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::scheduleScratchBufferPurge):

  • platform/graphics/ca/LayerPool.cpp:

(WebCore::LayerPool::schedulePrune):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3DManager::updateHighPerformanceState):

  • platform/graphics/texmap/BitmapTexturePool.cpp:

(WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):

  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:

(WebCore::TextureMapperPlatformLayerProxy::scheduleReleaseUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired):

  • platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
  • platform/gtk/ScrollAnimatorGtk.cpp:

(WebCore::ScrollAnimatorGtk::overlayScrollbarAnimationTimerFired):
(WebCore::ScrollAnimatorGtk::showOverlayScrollbars):
(WebCore::ScrollAnimatorGtk::hideOverlayScrollbars):

  • platform/gtk/ScrollAnimatorGtk.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::startScrollbarPaintTimer):

  • platform/mock/MediaPlaybackTargetPickerMock.cpp:
  • platform/mock/PlatformSpeechSynthesizerMock.cpp:

(WebCore::PlatformSpeechSynthesizerMock::speak):

  • platform/mock/TimerEventBasedMock.h:

(WebCore::TimerEvent::TimerEvent):

  • platform/network/DNSResolveQueue.cpp:

(WebCore::DNSResolveQueue::add):
(WebCore::DNSResolveQueue::timerFired):

  • platform/network/PingHandle.h:
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):

  • platform/network/mac/NetworkStateNotifierMac.cpp:
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::sendPendingRequest):

  • rendering/ImageQualityController.cpp:

(WebCore::ImageQualityController::restartTimer):

  • rendering/RenderLayerCompositor.cpp:
  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::RenderProgress):

  • rendering/RenderProgress.h:
  • rendering/RenderText.cpp:

(WebCore::SecureTextTimer::restart):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::animationRepeatIntervalForProgressBar):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::mediaControlsFadeOutDuration):

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):

  • rendering/RenderThemeGtk.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeMac::animationDurationForProgressBar):

  • replay/EventLoopInputDispatcher.cpp:

(WebCore::EventLoopInputDispatcher::dispatchInputSoon):

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::startTimer):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):

  • testing/InternalSettings.h:
  • testing/Internals.cpp:

(WebCore::Internals::setImageFrameDecodingDuration):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):

Source/WebKit:

  • Storage/StorageAreaSync.cpp:
  • Storage/StorageTracker.cpp:

(WebKit::StorageTracker::StorageTracker):

  • Storage/StorageTracker.h:

(WebKit::StorageTracker::storageDatabaseIdleInterval):
(WebKit::StorageTracker::setStorageDatabaseIdleInterval):

Source/WebKit/mac:

  • Plugins/WebNetscapePluginView.mm:

(PluginTimer::start):

  • Storage/WebStorageManager.mm:

(+[WebStorageManager setStorageDatabaseIdleInterval:]):

Source/WebKit/win:

  • Plugins/PluginMessageThrottlerWin.cpp:

(WebCore::PluginMessageThrottlerWin::appendMessage):
(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):

  • Plugins/PluginViewWin.cpp:

(WebCore::PluginView::invalidateRect):

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::scheduleLayerFlush):

Source/WebKit2:

  • NetworkProcess/PingLoad.h:
  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::startTimeout):

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
(IPC::Connection::terminateSoon):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::setMinimumLifetime):

  • PluginProcess/PluginProcess.h:
  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::ChildProcess):

  • Shared/ChildProcess.h:

(WebKit::ChildProcess::setTerminationTimeout):

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::startUpdateTimer):

  • Shared/Plugins/PluginProcessCreationParameters.h:
  • Shared/WebMemorySampler.cpp:

(WebKit::WebMemorySampler::initializeTimers):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:

(API::SharedJSContext::ensureContext):

  • UIProcess/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::shutDownProcess):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::didChangeIsLoading):

  • UIProcess/Cocoa/ViewGestureController.cpp:

(WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog):

  • UIProcess/Cocoa/ViewGestureController.h:
  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):

  • UIProcess/Gamepad/UIGamepadProvider.cpp:
  • UIProcess/Plugins/PluginProcessProxy.cpp:
  • UIProcess/ProcessThrottler.cpp:
  • UIProcess/ResponsivenessTimer.cpp:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):

  • UIProcess/gtk/GestureController.cpp:

(WebKit::GestureController::DragGesture::begin):

  • UIProcess/mac/WebInspectorProxyMac.mm:
  • WebProcess/WebPage/AcceleratedDrawingArea.cpp:

(WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::scheduleAnimation):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

  • WebProcess/WebProcess.cpp:

Tools:

  • TestWebKitAPI/Tests/WTF/RunLoop.cpp:

(TestWebKitAPI::TEST):

  • WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:

(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):

12:39 AM Changeset in webkit [215172] by magomez@igalia.com
  • 6 edits in trunk

REGRESSION(r205841): [GTK] Test fast/images/animated-png.html is failing since r205841
https://bugs.webkit.org/show_bug.cgi?id=168425

Reviewed by Said Abou-Hallawa.

Source/WebCore:

There is a problem with animations that are blending their frames into the previous frame. Due to a change
in how pixel components are premultiplied (the result is now rounded up), the parameters to the blending
operation may vary in one unit, causing the result of the blending to be different from the expected result.
In order to fix this, a new parameter is added to indicate whether we want to use rounding up when
premultiplying or not, and ImageBackingStore uses that parameter to disable rounding up.

Adjusted the expectation for fast/images/animated-png.html, as it must pass now.

  • platform/graphics/Color.cpp:

(WebCore::premultipliedChannel):
(WebCore::makePremultipliedRGBA):

  • platform/graphics/Color.h:
  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::blendPixel):
(WebCore::ImageBackingStore::pixelValue):

LayoutTests:

Adjusted expectation for fast/images/animated-png.html. It must pass now.

  • platform/gtk/TestExpectations:

Apr 9, 2017:

11:25 PM Changeset in webkit [215171] by Wenson Hsieh
  • 7 edits in trunk

[WK2] Add infrastructure to perform actions after an asynchronous position information request finishes
https://bugs.webkit.org/show_bug.cgi?id=170658
<rdar://problem/31431450>

Reviewed by Tim Horton.

Source/WebCore:

Minor adjustments to fix the build in the newest version of the SDK.

  • platform/ios/WebItemProviderPasteboard.mm:

(-[WebItemProviderPasteboard setItemsFromObjectRepresentations:]):
(-[WebItemProviderPasteboard _tryToCreateAndAppendObjectOfClass:toArray:usingProvider:]):

Source/WebKit2:

Introduces doAfterPositionInformationUpdate:forRequest:, which WKContentView can use internally to perform
an action requiring InteractionInformationAtPosition asynchronously. See below for additional details.

New API unit test: DataInteractionTests.UnresponsivePageDoesNotHangUI.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _actionForLongPressFromPositionInformation:]):
(-[WKContentView _actionForLongPress]):
(-[WKContentView doAfterPositionInformationUpdate:forRequest:]):

If current position information satisfies the request, then perform the given block immediately; otherwise, we
save the block and request as a pair in a list of pending position information handlers, and then make a new
request to the web process for position information if the currently outgoing request does not already satisfy
the given request.

(-[WKContentView ensurePositionInformationIsUpToDate:]):

Fire all asynchronous position information handlers that are satisfied by the incoming position information.

(-[WKContentView requestAsynchronousPositionInformationUpdate:]):
(-[WKContentView _currentPositionInformationIsValidForRequest:]):
(-[WKContentView _hasValidOutstandingPositionInformationRequest:]):

Pulled out common logic for managing InteractionInformationRequests into separate helper methods.

(-[WKContentView _invokeAndRemovePendingHandlersValidForCurrentPositionInformation]):
(-[WKContentView gestureRecognizerShouldBegin:]):

Refactored to use ensurePositionInformationIsUpToDate:. There is no behavior change here, but it makes sure that
this particular request will also any valid pending position information handlers.

(-[WKContentView _positionInformationDidChange:]):

Fire all asynchronous position information handlers that are satisfied by the incoming position information.

(-[WKContentView pointIsInDataInteractionContent:]): Deleted.

We should no longer use this method, since it makes a synchronous request to the web process -- see
positionInformationMayStartDataInteraction.

Tools:

Adds a new test verifying that when a web page is unresponsive, the process of preparing for data interaction
does not also cause the UI process to spin. We assume here that the call to prepare must be asynchronous, so it
should complete before the unresponsiveness timeout is triggered.

See WebKit2 ChangeLog for more details.

  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(TestWebKitAPI::TEST):

10:26 PM Changeset in webkit [215170] by webkit@devinrousso.com
  • 5 edits
    3 adds in trunk

Web Inspector: tabbing in Styles sidebar is broken when additional ":" and ";" are in the property value
https://bugs.webkit.org/show_bug.cgi?id=170184

Reviewed by Matt Baker.

Source/WebInspectorUI:

New tests:

  • inspector/unit-tests/text-utilities.html
  • UserInterface/Base/TextUtilities.js: Added.

(WebInspector.rangeForNextCSSNameOrValue):
Consolidate logic for finding the next range to highlight in a CSS string given a starting index.

  • UserInterface/Main.html:
  • UserInterface/Test.html:

Include TextUtilities.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._rangeForNextNameOrValue):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
Utilize TextUtilities for range-finding logic.

LayoutTests:

  • inspector/unit-tests/text-utilities-expected.txt: Added.
  • inspector/unit-tests/text-utilities.html: Added.
7:41 PM Changeset in webkit [215169] by Yusuke Suzuki
  • 5 edits in trunk/Source

[WTF] Annotate Seconds' member functions and operators with constexpr
https://bugs.webkit.org/show_bug.cgi?id=170662

Reviewed by Daniel Bates.

Source/WebCore:

  • page/Frame.cpp:

Source/WTF:

Annotate Seconds' member functions and operators with constexpr.
It allows us to use Seconds calculation in compile time and use these
calculation for static const global variables.

operator% is an exception: it uses fmod and it is not offered as constexpr.

  • wtf/MathExtras.h:

(defaultMinimumForClamp):
(defaultMaximumForClamp):
(clampToAccepting64):
Super unfortunate ugly code. This is because GCC 4.9 does not support C++14 relaxed constexpr.

  • wtf/Seconds.h:

(WTF::Seconds::Seconds):
(WTF::Seconds::value):
(WTF::Seconds::minutes):
(WTF::Seconds::seconds):
(WTF::Seconds::milliseconds):
(WTF::Seconds::microseconds):
(WTF::Seconds::nanoseconds):
(WTF::Seconds::operator bool):
(WTF::Seconds::operator+):
(WTF::Seconds::operator-):
(WTF::Seconds::operator*):
(WTF::Seconds::operator/):
(WTF::Seconds::operator==):
(WTF::Seconds::operator!=):
(WTF::Seconds::operator<):
(WTF::Seconds::operator>):
(WTF::Seconds::operator<=):
(WTF::Seconds::operator>=):

6:56 PM WebKitGTK/2.16.x edited by clopez@igalia.com
(diff)
4:47 PM Changeset in webkit [215168] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove use of strcpy from JSC
https://bugs.webkit.org/show_bug.cgi?id=170646

Reviewed by Mark Lam.

Replace the use of strcpy with memcpy as strcpy keeps
on tripping various analyser warnings even though its
trivially safe in this case.

Essentially code hygiene, no change in behaviour, no
perf impact.

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::dumpDisassembly):

4:42 PM Changeset in webkit [215167] by Chris Dumez
  • 44 edits in trunk

Drop Timer::startRepeating() overload taking a double
https://bugs.webkit.org/show_bug.cgi?id=170656

Reviewed by Yusuke Suzuki.

Drop Timer::startRepeating() overload taking a double as people should use Seconds type now.

Source/WebCore:

  • Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:

(WebCore::CanvasCaptureMediaStreamTrack::Source::startProducingData):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateAppearance):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::startProgressEventTimer):
(WebCore::HTMLMediaElement::scheduleTimeupdateEvent):

  • html/HTMLMediaElement.h:
  • html/MediaController.cpp:

(MediaController::MediaController):
(MediaController::scheduleTimeupdateEvent):

  • html/MediaController.h:
  • html/MediaElementSession.cpp:
  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::showPaintRect):

  • loader/ProgressTracker.cpp:
  • page/AutoscrollController.cpp:
  • page/Frame.cpp:
  • page/PageOverlay.cpp:

(WebCore::PageOverlay::startFadeAnimation):

  • page/SuspendableTimer.h:
  • page/WheelEventTestTrigger.cpp:

(WebCore::WheelEventTestTrigger::setTestCallbackAndStartNotificationTimer):

  • platform/Theme.h:

(WebCore::Theme::caretBlinkInterval):

  • platform/Timer.h:
  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::startSnapRubberbandTimer):
(WebCore::ScrollController::startScrollSnapTimer):

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::scheduleCohortRemoval):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):

  • platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:

(WebCore::MockRealtimeAudioSourceMac::reconfigure):

  • platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::MockRealtimeAudioSource::startProducingData):

  • platform/mock/MockRealtimeAudioSource.h:

(WebCore::MockRealtimeAudioSource::renderInterval):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::startProducingData):
(WebCore::MockRealtimeVideoSource::applyFrameRate):

  • rendering/RenderMarquee.cpp:

(WebCore::RenderMarquee::start):
(WebCore::RenderMarquee::updateMarqueeStyle):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::caretBlinkInterval):

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::caretBlinkInterval):

  • rendering/RenderThemeGtk.h:
  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent):

  • xml/XMLHttpRequestProgressEventThrottle.h:

Source/WebKit/mac:

  • Plugins/WebNetscapePluginView.mm:

(PluginTimer::start):

Source/WebKit/win:

  • FullscreenVideoController.cpp:

Source/WebKit2:

  • Shared/WebMemorySampler.cpp:

(WebKit::WebMemorySampler::initializeTimers):

  • UIProcess/Cocoa/ViewGestureController.cpp:
  • UIProcess/HighPerformanceGraphicsUsageSampler.cpp:
  • UIProcess/PerActivityStateCPUUsageSampler.cpp:
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::Timer::start):

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:

(WebKit::CompositingCoordinator::scheduleReleaseInactiveAtlases):

Tools:

  • TestWebKitAPI/Tests/WTF/RunLoop.cpp:

(TestWebKitAPI::TEST):

2:48 PM Changeset in webkit [215166] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

generate-bindings-all.pl shouldn't use Perl threads
https://bugs.webkit.org/show_bug.cgi?id=170106

Patch by Fujii Hironori <Fujii Hironori> on 2017-04-09
Reviewed by Yusuke Suzuki.

The use of interpreter-based threads in Perl is officially
discouraged and not all Linux distributions and BSD compile Perl
with threads support. Use fork instead of threads to run
generate-bindings.pl in parallel.

  • bindings/scripts/generate-bindings-all.pl:

(spawnGenerateBindingsIfNeeded): Added.
(executeCommand): Removed the workaround for Cygwin Perl threads.
(spawnCommand): Added.
(worker): Deleted.

2:39 PM Changeset in webkit [215165] by commit-queue@webkit.org
  • 8 edits in trunk

test262: test262/test/annexB/language/expressions/object/proto-fn-name.js
https://bugs.webkit.org/show_bug.cgi?id=170650

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-09
Reviewed by Saam Barati.

JSTests:

  • stress/inferred-names.js:
  • test262.yaml:

Source/JavaScriptCore:

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):
There needs to be special handling of:

PropertyDefinition : PropertyName ':' AssignmentExpression

When the property name is proto. In this case the
SetFunctionName path does not happen, so the name "proto"
is not inferred on any anonymous function. See:
https://tc39.github.io/ecma262/#sec-__proto__-property-names-in-object-initializers

  • parser/Parser.h:
  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createProperty):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createProperty):
Add an extra parameter to see if inferring / setting names are allowed.

11:49 AM Changeset in webkit [215164] by commit-queue@webkit.org
  • 160 edits
    3 moves
    764 adds
    126 deletes in trunk

Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
https://bugs.webkit.org/show_bug.cgi?id=170647

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-09
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Removing CSS import repository as it is merged into WPT.

  • resources/TestRepositories:
  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/%CERTS_DIR%/FEFE.pem: Added.
  • web-platform-tests/%CERTS_DIR%/FEFF.pem: Added.
  • web-platform-tests/%CERTS_DIR%/cacert.pem: Added.
  • web-platform-tests/%CERTS_DIR%/cakey.pem: Added.
  • web-platform-tests/%CERTS_DIR%/index.txt: Added.
  • web-platform-tests/%CERTS_DIR%/index.txt.attr: Added.
  • web-platform-tests/%CERTS_DIR%/index.txt.attr.old: Added.
  • web-platform-tests/%CERTS_DIR%/index.txt.old: Added.
  • web-platform-tests/%CERTS_DIR%/localhost.key: Added.
  • web-platform-tests/%CERTS_DIR%/localhost.pem: Added.
  • web-platform-tests/%CERTS_DIR%/serial: Added.
  • web-platform-tests/%CERTS_DIR%/serial.old: Added.
  • web-platform-tests/%CERTS_DIR%/w3c-import.log: Added.
  • web-platform-tests/CONTRIBUTING.md:
  • web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm:
  • web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm:
  • web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt:
  • web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html:
  • web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm:
  • web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt: Added.
  • web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm: Added.
  • web-platform-tests/IndexedDB/idbobjectstore_deleted.htm:
  • web-platform-tests/IndexedDB/interleaved-cursors-expected.txt: Added.
  • web-platform-tests/IndexedDB/interleaved-cursors.html: Added.
  • web-platform-tests/IndexedDB/parallel-cursors-upgrade-expected.txt: Added.
  • web-platform-tests/IndexedDB/parallel-cursors-upgrade.html: Added.
  • web-platform-tests/IndexedDB/support-promises.js:

(migrateNamedDatabase):
(createNamedDatabase):
(openNamedDatabase):

  • web-platform-tests/IndexedDB/w3c-import.log:
  • web-platform-tests/LICENSE.md:
  • web-platform-tests/README.md:
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html:
  • web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm:
  • web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py:

(main):

  • web-platform-tests/XMLHttpRequest/resources/conditional.py:

(main):

  • web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm:
  • web-platform-tests/XMLHttpRequest/send-conditional-cors-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-conditional-cors.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm:
  • web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-non-same-origin.htm:
  • web-platform-tests/XMLHttpRequest/send-usp.any-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-usp.any.html: Added.
  • web-platform-tests/XMLHttpRequest/send-usp.any.js: Added.

(encode):
(x.onload.overall_test.step_func):

  • web-platform-tests/XMLHttpRequest/w3c-import.log:
  • web-platform-tests/background-fetch/OWNERS: Added.
  • web-platform-tests/background-fetch/interfaces-expected.txt: Added.
  • web-platform-tests/background-fetch/interfaces-worker.https-expected.txt: Added.
  • web-platform-tests/background-fetch/interfaces-worker.https.html: Added.
  • web-platform-tests/background-fetch/interfaces.html: Added.
  • web-platform-tests/background-fetch/interfaces.idl: Added.
  • web-platform-tests/background-fetch/interfaces.worker-expected.txt: Added.
  • web-platform-tests/background-fetch/interfaces.worker.html: Added.
  • web-platform-tests/background-fetch/interfaces.worker.js: Added.

(promise_test):

  • web-platform-tests/background-fetch/w3c-import.log: Added.
  • web-platform-tests/beacon/headers/header-referrer-no-referrer-expected.txt: Added.
  • web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https-expected.txt: Added.
  • web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html: Added.
  • web-platform-tests/beacon/headers/header-referrer-no-referrer.html: Added.
  • web-platform-tests/beacon/headers/header-referrer-origin-expected.txt: Added.
  • web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin-expected.txt: Added.
  • web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html: Added.
  • web-platform-tests/beacon/headers/header-referrer-origin.html: Added.
  • web-platform-tests/beacon/headers/header-referrer-same-origin-expected.txt: Added.
  • web-platform-tests/beacon/headers/header-referrer-same-origin.html: Added.
  • web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https-expected.txt: Added.
  • web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html: Added.
  • web-platform-tests/beacon/headers/header-referrer-strict-origin.https-expected.txt: Added.
  • web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html: Added.
  • web-platform-tests/beacon/headers/header-referrer-unsafe-url.https-expected.txt: Added.
  • web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html: Added.
  • web-platform-tests/beacon/headers/header-referrer.js: Added.

(testReferrerHeader):
(return.new.Promise.):
(return.new.Promise):

  • web-platform-tests/beacon/headers/w3c-import.log: Added.
  • web-platform-tests/beacon/resources/inspect-header.py: Added.

(main):

  • web-platform-tests/beacon/resources/w3c-import.log: Added.
  • web-platform-tests/check_stability.py:

(get_git_cmd.git):
(fetch_wpt):
(get_branch_point):
(get_files_changed):
(process_results):
(markdown_adjust):
(get_parser):
(main):

  • web-platform-tests/ci_lint.sh:
  • web-platform-tests/cors/allow-headers-expected.txt:
  • web-platform-tests/cors/allow-headers.htm:
  • web-platform-tests/cors/origin-expected.txt:
  • web-platform-tests/cors/origin.htm:
  • web-platform-tests/cors/preflight-failure.htm:
  • web-platform-tests/cors/redirect-userinfo-expected.txt:
  • web-platform-tests/cors/redirect-userinfo.htm:
  • web-platform-tests/cors/request-headers.htm:
  • web-platform-tests/css-timing-1/OWNERS: Added.
  • web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt: Added.
  • web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html: Added.
  • web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: Added.
  • web-platform-tests/css-timing-1/frames-timing-functions-output.html: Added.
  • web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt: Added.
  • web-platform-tests/css-timing-1/frames-timing-functions-syntax.html: Added.
  • web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt: Added.
  • web-platform-tests/css-timing-1/step-timing-functions-output.html: Added.
  • web-platform-tests/css-timing-1/testcommon.js: Added.

(createDiv):
(createElement):
(pxToNum):
(xForT):
(yForT):
(tForX):
(return.bezierClosure):
(cubicBezier):

  • web-platform-tests/css-timing-1/w3c-import.log: Added.
  • web-platform-tests/css/.htaccess: Added.
  • web-platform-tests/css/OWNERS: Added.
  • web-platform-tests/css/README.md: Added.
  • web-platform-tests/css/build-css-testsuites.sh: Added.
  • web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht:
  • web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht:
  • web-platform-tests/css/css-grid-1/grid-items/w3c-import.log:
  • web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht:
  • web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht:
  • web-platform-tests/css/css-grid-1/grid-model/w3c-import.log:
  • web-platform-tests/css/requirements.txt: Added.
  • web-platform-tests/css/w3c-import.log: Added.
  • web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
  • web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt:
  • web-platform-tests/dom/lists/DOMTokenList-iteration.html:
  • web-platform-tests/dom/lists/README.md: Added.
  • web-platform-tests/dom/lists/w3c-import.log:
  • web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
  • web-platform-tests/dom/nodes/Document-createEvent.html:
  • web-platform-tests/dom/nodes/Document-createEvent.js:
  • web-platform-tests/encrypted-media/content/content-metadata.js:
  • web-platform-tests/encrypted-media/content/w3c-import.log:
  • web-platform-tests/fetch/OWNERS:
  • web-platform-tests/fetch/api/basic/accept-header-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/accept-header-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/accept-header.any-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/accept-header.any.html: Added.
  • web-platform-tests/fetch/api/basic/accept-header.any.js: Added.

(promise_test):

  • web-platform-tests/fetch/api/basic/accept-header.html: Removed.
  • web-platform-tests/fetch/api/basic/accept-header.js: Removed.
  • web-platform-tests/fetch/api/basic/accept-header.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/accept-header.worker.html: Added.
  • web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/mode-same-origin-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/mode-same-origin.any.html: Added.
  • web-platform-tests/fetch/api/basic/mode-same-origin.any.js: Added.
  • web-platform-tests/fetch/api/basic/mode-same-origin.html: Removed.
  • web-platform-tests/fetch/api/basic/mode-same-origin.js: Removed.
  • web-platform-tests/fetch/api/basic/mode-same-origin.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/mode-same-origin.worker.html: Added.
  • web-platform-tests/fetch/api/basic/referrer-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/referrer-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/referrer-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/referrer.any-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/referrer.any.html: Added.
  • web-platform-tests/fetch/api/basic/referrer.any.js: Added.
  • web-platform-tests/fetch/api/basic/referrer.html: Removed.
  • web-platform-tests/fetch/api/basic/referrer.js: Removed.
  • web-platform-tests/fetch/api/basic/referrer.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/referrer.worker.html: Added.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers.any-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers.any.html: Added.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js: Added.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers.html: Removed.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers.js: Removed.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-forbidden-headers.worker.html: Added.
  • web-platform-tests/fetch/api/basic/request-head-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-head-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/request-head.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-expected.txt.
  • web-platform-tests/fetch/api/basic/request-head.any.html: Added.
  • web-platform-tests/fetch/api/basic/request-head.any.js: Added.

(promise_test):

  • web-platform-tests/fetch/api/basic/request-head.html: Removed.
  • web-platform-tests/fetch/api/basic/request-head.js: Removed.
  • web-platform-tests/fetch/api/basic/request-head.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-head.worker.html: Added.
  • web-platform-tests/fetch/api/basic/request-headers-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-headers-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-headers.any.html: Added.
  • web-platform-tests/fetch/api/basic/request-headers.any.js: Added.
  • web-platform-tests/fetch/api/basic/request-headers.html: Removed.
  • web-platform-tests/fetch/api/basic/request-headers.js: Removed.
  • web-platform-tests/fetch/api/basic/request-headers.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-headers.worker.html: Added.
  • web-platform-tests/fetch/api/basic/request-referrer-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt:
  • web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html:
  • web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-referrer-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/request-referrer.any-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-referrer.any.html: Added.
  • web-platform-tests/fetch/api/basic/request-referrer.any.js: Added.
  • web-platform-tests/fetch/api/basic/request-referrer.html: Removed.
  • web-platform-tests/fetch/api/basic/request-referrer.js: Removed.
  • web-platform-tests/fetch/api/basic/request-referrer.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-referrer.worker.html: Added.
  • web-platform-tests/fetch/api/basic/request-upload-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/request-upload-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/request-upload.any-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-upload.any.html: Added.
  • web-platform-tests/fetch/api/basic/request-upload.any.js: Added.
  • web-platform-tests/fetch/api/basic/request-upload.html: Removed.
  • web-platform-tests/fetch/api/basic/request-upload.js: Removed.
  • web-platform-tests/fetch/api/basic/request-upload.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-upload.worker.html: Added.
  • web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/scheme-about-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt.
  • web-platform-tests/fetch/api/basic/scheme-about.any.html: Added.
  • web-platform-tests/fetch/api/basic/scheme-about.any.js: Added.
  • web-platform-tests/fetch/api/basic/scheme-about.html: Removed.
  • web-platform-tests/fetch/api/basic/scheme-about.js: Removed.
  • web-platform-tests/fetch/api/basic/scheme-about.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/scheme-about.worker.html: Added.
  • web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/scheme-data-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt.
  • web-platform-tests/fetch/api/basic/scheme-data.any.html: Added.
  • web-platform-tests/fetch/api/basic/scheme-data.any.js: Added.
  • web-platform-tests/fetch/api/basic/scheme-data.html: Removed.
  • web-platform-tests/fetch/api/basic/scheme-data.js: Removed.
  • web-platform-tests/fetch/api/basic/scheme-data.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/scheme-data.worker.html: Added.
  • web-platform-tests/fetch/api/basic/stream-response-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/basic/stream-response-worker.html: Removed.
  • web-platform-tests/fetch/api/basic/stream-response.any-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/stream-response.any.html: Added.
  • web-platform-tests/fetch/api/basic/stream-response.any.js: Added.

(promise_test):

  • web-platform-tests/fetch/api/basic/stream-response.html: Removed.
  • web-platform-tests/fetch/api/basic/stream-response.js: Removed.
  • web-platform-tests/fetch/api/basic/stream-response.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/stream-response.worker.html: Added.
  • web-platform-tests/fetch/api/basic/w3c-import.log:
  • web-platform-tests/fetch/api/cors/cors-basic-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-basic-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-basic.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-basic.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-basic.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-basic.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-basic.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-basic.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-cookies-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-cookies-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-cookies.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-cookies.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-cookies.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-cookies.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-cookies.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-cookies.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-cookies.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-filtering-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-filtering.js:

(corsExposeFilter):

  • web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-no-preflight.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-no-preflight.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-no-preflight.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-no-preflight.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-no-preflight.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-no-preflight.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-origin-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-origin.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-origin.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-origin.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-origin.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-origin.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-origin.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-star.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-star.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-star.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-star.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-star.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-star.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-status.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-status.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-status.any.js: Added.

(corsPreflightStatus):

  • web-platform-tests/fetch/api/cors/cors-preflight-status.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-status.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-status.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-status.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-preflight.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-preflight.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker.html: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect-worker.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect.any-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect.html: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect.js: Removed.
  • web-platform-tests/fetch/api/cors/cors-redirect.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/cors/cors-redirect.worker.html: Added.
  • web-platform-tests/fetch/api/cors/w3c-import.log:
  • web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Removed.
  • web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/credentials/authentication-basic-worker.html: Removed.
  • web-platform-tests/fetch/api/credentials/authentication-basic.any-expected.txt: Added.
  • web-platform-tests/fetch/api/credentials/authentication-basic.any.html: Added.
  • web-platform-tests/fetch/api/credentials/authentication-basic.any.js: Added.
  • web-platform-tests/fetch/api/credentials/authentication-basic.html: Removed.
  • web-platform-tests/fetch/api/credentials/authentication-basic.js: Removed.
  • web-platform-tests/fetch/api/credentials/authentication-basic.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/credentials/authentication-basic.worker.html: Added.
  • web-platform-tests/fetch/api/credentials/cookies-expected.txt: Removed.
  • web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt: Removed.
  • web-platform-tests/fetch/api/credentials/cookies-worker.html: Removed.
  • web-platform-tests/fetch/api/credentials/cookies.any-expected.txt: Added.
  • web-platform-tests/fetch/api/credentials/cookies.any.html: Added.
  • web-platform-tests/fetch/api/credentials/cookies.any.js: Added.
  • web-platform-tests/fetch/api/credentials/cookies.html: Removed.
  • web-platform-tests/fetch/api/credentials/cookies.js: Removed.
  • web-platform-tests/fetch/api/credentials/cookies.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/credentials/cookies.worker.html: Added.
  • web-platform-tests/fetch/api/credentials/w3c-import.log:
  • web-platform-tests/fetch/api/headers/headers-idl-expected.txt:
  • web-platform-tests/fetch/api/headers/historical.any-expected.txt: Added.
  • web-platform-tests/fetch/api/headers/historical.any.html: Added.
  • web-platform-tests/fetch/api/headers/historical.any.js: Added.

(test):

  • web-platform-tests/fetch/api/headers/historical.worker-expected.txt: Added.
  • web-platform-tests/fetch/api/headers/historical.worker.html: Added.
  • web-platform-tests/fetch/api/headers/w3c-import.log:
  • web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
  • web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Removed.
  • web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt:
  • web-platform-tests/fetch/api/request/request-init-003.sub.html:
  • web-platform-tests/fetch/api/resources/redirect-count.py: Removed.
  • web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
  • web-platform-tests/fetch/http-cache/304-update.html: Added.
  • web-platform-tests/fetch/http-cache/README.md: Added.
  • web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
  • web-platform-tests/fetch/http-cache/cc-request.html: Added.
  • web-platform-tests/fetch/http-cache/freshness-expected.txt: Added.
  • web-platform-tests/fetch/http-cache/freshness.html: Added.
  • web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
  • web-platform-tests/fetch/http-cache/heuristic.html: Added.
  • web-platform-tests/fetch/http-cache/http-cache.js: Added.

(make_url):
(server_state):
(make_test.fetch_functions.push.):
(make_test.fetch_functions.push):
(make_test.):
(make_test.run_next_step):
(make_test):
(http_date):

  • web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
  • web-platform-tests/fetch/http-cache/invalidate.html: Added.
  • web-platform-tests/fetch/http-cache/partial-expected.txt: Added.
  • web-platform-tests/fetch/http-cache/partial.html: Added.
  • web-platform-tests/fetch/http-cache/resources/http-cache.py: Added.

(main):

  • web-platform-tests/fetch/http-cache/resources/w3c-import.log: Added.
  • web-platform-tests/fetch/http-cache/status-expected.txt: Added.
  • web-platform-tests/fetch/http-cache/status.html: Added.
  • web-platform-tests/fetch/http-cache/vary-expected.txt: Added.
  • web-platform-tests/fetch/http-cache/vary.html: Added.
  • web-platform-tests/fetch/http-cache/w3c-import.log: Added.
  • web-platform-tests/fetch/nosniff/importscripts-expected.txt: Removed.
  • web-platform-tests/hr-time/basic.any-expected.txt: Added.
  • web-platform-tests/hr-time/basic.any.html: Added.
  • web-platform-tests/hr-time/basic.any.js: Added.

(test):
(async_test):

  • web-platform-tests/hr-time/monotonic-clock.any-expected.txt: Added.
  • web-platform-tests/hr-time/monotonic-clock.any.html: Added.
  • web-platform-tests/hr-time/monotonic-clock.any.js: Added.

(test):

  • web-platform-tests/hr-time/monotonic-clock.worker-expected.txt: Added.
  • web-platform-tests/hr-time/monotonic-clock.worker.html: Added.
  • web-platform-tests/hr-time/w3c-import.log:
  • web-platform-tests/html/OWNERS:
  • web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html:
  • web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub-expected.txt: Added.
  • web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html: Added.
  • web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt: Added.
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html: Added.
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html: Added.
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/w3c-import.log: Added.
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/w3c-import.log:
  • web-platform-tests/html/browsers/the-windowproxy-exotic-object/w3c-import.log:
  • web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub-expected.txt:
  • web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html: Added.
  • web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-closed.html:
  • web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-multiple.html:
  • web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html:
  • web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noreferrer.html:
  • web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener.html:
  • web-platform-tests/html/browsers/windows/browsing-context-expected.txt:
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001-expected.txt: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html: Added.
  • web-platform-tests/html/browsers/windows/browsing-context-names/resources/w3c-import.log:
  • web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log:
  • web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html: Added.
  • web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html: Added.
  • web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt: Added.
  • web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html: Added.
  • web-platform-tests/html/browsers/windows/resources/w3c-import.log:
  • web-platform-tests/html/browsers/windows/w3c-import.log:
  • web-platform-tests/html/dom/OWNERS: Added.
  • web-platform-tests/html/dom/w3c-import.log:
  • web-platform-tests/html/resources/common.js:

(newIFrame):

  • web-platform-tests/html/semantics/OWNERS: Added.
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html: Added.
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html: Added.
  • web-platform-tests/html/semantics/forms/textfieldselection/selection.html:
  • web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
  • web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html:
  • web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
  • web-platform-tests/html/semantics/w3c-import.log:
  • web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin.html:
  • web-platform-tests/html/webappapis/timers/negative-setinterval-expected.txt: Added.
  • web-platform-tests/html/webappapis/timers/negative-setinterval.html: Added.
  • web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt: Added.
  • web-platform-tests/html/webappapis/timers/negative-settimeout.html: Added.
  • web-platform-tests/html/webappapis/timers/type-long-setinterval-expected.txt: Added.
  • web-platform-tests/html/webappapis/timers/type-long-setinterval.html: Added.
  • web-platform-tests/html/webappapis/timers/type-long-settimeout-expected.txt: Added.
  • web-platform-tests/html/webappapis/timers/type-long-settimeout.html: Added.
  • web-platform-tests/html/webappapis/timers/w3c-import.log:
  • web-platform-tests/images/pattern.ogv: Added.
  • web-platform-tests/images/pattern.png: Added.
  • web-platform-tests/images/w3c-import.log:
  • web-platform-tests/innerText/setter-expected.txt:
  • web-platform-tests/innerText/setter-tests.js:
  • web-platform-tests/innerText/setter.html:
  • web-platform-tests/lint.whitelist:
  • web-platform-tests/mediacapture-fromelement/idlharness-expected.txt: Added.
  • web-platform-tests/mediacapture-fromelement/idlharness.html: Added.
  • web-platform-tests/mediacapture-fromelement/w3c-import.log: Added.
  • web-platform-tests/resource-timing/SyntheticResponse.py:

(main):

  • web-platform-tests/resource-timing/resource-timing.js:
  • web-platform-tests/resource-timing/resource_connection_reuse.html:
  • web-platform-tests/resources/.htaccess: Added.
  • web-platform-tests/resources/docs/api.md: Added.
  • web-platform-tests/resources/docs/idlharness.md: Added.
  • web-platform-tests/resources/docs/w3c-import.log: Added.
  • web-platform-tests/resources/examples/apisample-error-worker.js: Added.
  • web-platform-tests/resources/examples/apisample-worker.js: Added.

(test):
(async_test):

  • web-platform-tests/resources/examples/apisample.htm: Added.
  • web-platform-tests/resources/examples/apisample10.html: Added.
  • web-platform-tests/resources/examples/apisample11.html: Added.
  • web-platform-tests/resources/examples/apisample12.html: Added.
  • web-platform-tests/resources/examples/apisample13.html: Added.
  • web-platform-tests/resources/examples/apisample14.html: Added.
  • web-platform-tests/resources/examples/apisample15.html: Added.
  • web-platform-tests/resources/examples/apisample16.html: Added.
  • web-platform-tests/resources/examples/apisample17.html: Added.
  • web-platform-tests/resources/examples/apisample2.htm: Added.
  • web-platform-tests/resources/examples/apisample3.htm: Added.
  • web-platform-tests/resources/examples/apisample4.htm: Added.
  • web-platform-tests/resources/examples/apisample5.htm: Added.
  • web-platform-tests/resources/examples/apisample6.html: Added.
  • web-platform-tests/resources/examples/apisample7.html: Added.
  • web-platform-tests/resources/examples/apisample8.html: Added.
  • web-platform-tests/resources/examples/apisample9.html: Added.
  • web-platform-tests/resources/examples/w3c-import.log: Added.
  • web-platform-tests/resources/idlharness.js:

(IdlInterface.prototype.test_member_iterable):

  • web-platform-tests/resources/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/coverage.html: Added.
  • web-platform-tests/resources/webidl2/index.js: Added.
  • web-platform-tests/resources/webidl2/lib/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/package.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid.js: Added.

(idls.fs.readdirSync.dir.filter):
(map):
(errors.idls.map):
(i.func):

  • web-platform-tests/resources/webidl2/test/invalid/idl/dict-required-default.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/enum.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/maplike-1type.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/module.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableany.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableobjects.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/readonly-iterable.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/setlike-2types.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/special-omittable.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/stringconstants.idl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/typedef-nested.widl: Added.
  • web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/dict-required-default.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/enum.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/maplike-1type.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/module.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/nonnullableany.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/nonnullableobjects.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/raises.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/readonly-iterable.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/setlike-2types.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/special-omittable.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/stringconstants.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/typedef-nested.json: Added.
  • web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/mocha.opts: Added.
  • web-platform-tests/resources/webidl2/test/syntax.js: Added.

(idls.fs.readdirSync.dir.filter):
(map):
(jsons.idls.map):
(i.func):

  • web-platform-tests/resources/webidl2/test/syntax/idl/allowany.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/array.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/attributes.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/callback.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/caller.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/constants.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/constructor.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/dictionary-inherits.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/dictionary.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/documentation-dos.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/documentation.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/enum.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/equivalent-decl.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/exception-inheritance.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/exception.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/extended-attributes.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/generic.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/getter-setter.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/identifier-qualified-names.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/implements.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/indexed-properties.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/inherits-getter.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/interface-inherits.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/iterable.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/legacyiterable.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/map.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/maplike.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/nullableobjects.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/operation-optional-arg.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/overloading.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/overridebuiltins.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/partial-interface.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/primitives.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/sequence.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/serializer.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/setlike.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/static.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-attribute.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-custom.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/stringifier.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/uniontype.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/variadic-operations.widl: Added.
  • web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/allowany.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/array.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/attributes.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/callback.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/caller.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/constants.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/constructor.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/dictionary-inherits.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/dictionary.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/documentation-dos.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/documentation.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/enum.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/equivalent-decl.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/exception-inheritance.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/exception.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/extended-attributes.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/generic.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/getter-setter.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/identifier-qualified-names.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/implements.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/indexed-properties.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/inherits-getter.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/interface-inherits.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/iterable.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/iterator.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/legacyiterable.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/map.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/maplike.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/nullable.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/nullableobjects.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/operation-optional-arg.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/overloading.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/overridebuiltins.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/partial-interface.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/primitives.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/sequence.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/serializer.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/setlike.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/static.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/stringifier-attribute.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/stringifier-custom.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/stringifier.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/typedef.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/uniontype.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/variadic-operations.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/syntax/opt/typedef-nested.json: Added.
  • web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/web/make-web-tests.js: Added.

(dir):
(allFromDir):

  • web-platform-tests/resources/webidl2/test/web/run-tests.js: Added.

(i.func):

  • web-platform-tests/resources/webidl2/test/web/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/LICENSE: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/Makefile: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/README.md: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/doc/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/examples/Makefile: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/examples/README: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/examples/bondi.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/examples/filesystem.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/examples/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/examples/widlhtml.css: Added.

(body):
(:link):
(:visited):
(a:active):
(a:link img, a:visited img):
(h1, h2, h3, h4, h5, h6):
(h1, h2, h3):
(h1):
(h2):
(h3):
(h4):
(h5):
(h6):
(.hide):
(code):
(ul.toc, ol.toc, ul.authors):
(div.head):
(div.head h1):
(div.head table):
(div.constraint, div.issue, div.note, div.notice):
(div.exampleInner pre):
(div.exampleOuter):
(div.exampleInner):
(div.exampleWrapper):
(div.exampleHeader):
(div.term):
(div.list):
(.optional):
(.copyright,.legalnotice):
(.copyright small):
(@media screen):
(a[href]:hover):
(ol.enumar):
(ol.enumla):
(ol.enumlr):
(ol.enumua):
(ol.enumur):
(.toc):
(pre):
(.examplecode):
(.def-api-feature-set dt, .def-api-feature dt, dt .def-device-cap, dt.const code):
(dt.attribute code, dt.method code):
(.def-device-caps dd):
(dt.method):
(.summary td):

  • web-platform-tests/resources/webidl2/test/widlproc/src/comment.c: Added.

(setcommentnode):
(joininlinecomments):
(outputchildren):
(default_askend):
(root_askend):
(root_output):
(endspecificcnode):
(startcnode):
(para_output):
(para_end):
(return_output):
(author_output):
(code_end):
(code_output):
(text_end):
(text_output):
(html_output):
(param_output):
(api_feature_output):
(def_api_feature_askend):
(def_api_feature_output):
(def_api_feature_set_output):
(def_instantiated_output):
(def_device_cap_output):
(iswhitespace):
(parseword):
(dox_b):
(dox_n):
(dox_code):
(dox_endcode):
(dox_param):
(dox_para):
(dox_throw):
(dox_attr):
(parsecomment):
(parsecomments):
(attachcommenttonode):
(attachcomments):
(processcomments):
(outputdescriptive):

  • web-platform-tests/resources/webidl2/test/widlproc/src/comment.h: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/entities.h: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/lex.c: Added.

(readinput):
(lexerrorexit):
(lexblockcomment):
(lexinlinecomment):
(lexnumber):
(lexstring):
(lexidentifier):
(lex):
(outputwidl):

  • web-platform-tests/resources/webidl2/test/widlproc/src/lex.h: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/main.c: Added.

(options):
(main):

  • web-platform-tests/resources/webidl2/test/widlproc/src/misc.c: Added.

(memalloc):
(memrealloc):
(memfree):
(memprintf):
(vmemprintf):
(vlocerrorexit):
(locerrorexit):
(errorexit):

  • web-platform-tests/resources/webidl2/test/widlproc/src/misc.h: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/node.c: Added.

(newelement):
(newattr):
(newattrlist):
(addnode):
(reversechildren):
(nodeisempty):
(nodewalk):
(findchildelement):
(getattr):
(findchildelementwithnameattr):
(findreturntype):
(findparamidentifier):
(findthrowidentifier):
(outputid):
(outputnode):

  • web-platform-tests/resources/webidl2/test/widlproc/src/node.h: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/os.h: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/parse.c: Added.

(tokerrorexit):
(lexnocomment):
(eat):
(setid):
(setidentifier):
(setargumentname):
(parsescopedname):
(parsescopednamelist):
(parsereturntype):
(parseunsignedintegertype):
(parsetypesuffix):
(parsetypesuffixstartingwitharray):
(parseprimitiveorstringtype):
(parsenonanytype):
(parseunionmembertype):
(parseuniontype):
(parsetype):
(parseextendedattribute):
(parseextendedattributelist):
(parseexceptionfield):
(parseargument):
(parseargumentlist):
(parseoperationrest):
(parsereturntypeandoperationrest):
(parseoptionaliteratorinterface):
(parseoperationoriteratorrest):
(parseattribute):
(parseserializer):
(parseattributeoroperationoriterator):
(parseconstexpr):
(parsedefaultvalue):
(parsedictionarymember):
(parseconst):
(parseimplementsstatement):
(parsetypedef):
(parseexception):
(parseinterface):
(parsecallback):
(parsedictionary):
(parseenum):
(parsedefinitions):
(parse):

  • web-platform-tests/resources/webidl2/test/widlproc/src/parse.h: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/process.c: Added.

(outputnodeastext):
(printfqid):
(output):
(outputchildren):
(processfiles):

  • web-platform-tests/resources/webidl2/test/widlproc/src/process.h: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/Makefile: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/enum.txt: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/module.txt: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableany.txt: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableobjects.txt: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/scopedname.txt: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/sequenceAsAttribute.txt: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/stringconstants.idl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/enum.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/module.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableany.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableobjects.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/raises.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/scopedname.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/sequenceAsAttribute.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/special-omittable.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/stringconstants.idl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/allowany.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/array.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/attributes.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/callback.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/caller.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constants.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constructor.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary-inherits.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation-dos.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/enum.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/equivalent-decl.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception-inheritance.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/getter-setter.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/identifier-qualified-names.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/implements.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/indexed-properties.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/inherits-getter.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/interface-inherits.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/iterator.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/namedconstructor.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nointerfaceobject.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullable.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullableobjects.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/operation-optional-arg.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overloading.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overridebuiltins.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/partial-interface.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/primitives.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/prototyperoot.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/putforwards.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/reg-operations.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/replaceable.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/sequence.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/serializer.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/static.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-attribute.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-custom.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasnull.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasundefined.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typedef.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typesuffixes.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/uniontype.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/variadic-operations.widl: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/allowany.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/array.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/attributes.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/callback.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/caller.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constants.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constructor.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary-inherits.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation-dos.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/enum.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/equivalent-decl.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception-inheritance.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/identifier-qualified-names.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/implements.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/indexed-properties.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/inherits-getter.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/interface-inherits.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/iterator.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/module.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namedconstructor.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namespaceobject.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nointerfaceobject.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullable.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullableobjects.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/operation-optional-arg.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overloading.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overridebuiltins.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/partial-interface.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/primitives.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/prototyperoot.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/putforwards.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/reg-operations.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/replaceable.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/sequence.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/serializer.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/special-omittable.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/static.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-attribute.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-custom.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasnull.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasundefined.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typedef.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typesuffixes.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/uniontype.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/variadic-operations.widlprocxml: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/test/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/test/widlproc/w3c-import.log: Added.
  • web-platform-tests/resources/webidl2/w3c-import.log: Added.
  • web-platform-tests/resources/webiwarning: inexact rename detection was skipped due to too many files.: Added.
  • web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
  • web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker-expected.txt:
  • web-platform-tests/streams/piping/close-propagation-forward.js:

(promise_test):

  • web-platform-tests/streams/piping/flow-control-expected.txt:
  • web-platform-tests/streams/piping/flow-control.dedicatedworker-expected.txt:
  • web-platform-tests/streams/piping/flow-control.js:

(promise_test):

  • web-platform-tests/streams/piping/multiple-propagation-expected.txt:
  • web-platform-tests/streams/piping/multiple-propagation.dedicatedworker-expected.txt:
  • web-platform-tests/streams/piping/multiple-propagation.js:

(promise_test.t.string_appeared_here.then):
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.return.flushAsyncEvents.then):

  • web-platform-tests/streams/piping/pipe-through-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.js:

(promise_test):

  • web-platform-tests/streams/readable-byte-streams/general-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/general.js:

(test):

  • web-platform-tests/streams/readable-streams/general-expected.txt:
  • web-platform-tests/streams/readable-streams/general.dedicatedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/general.js:

(test.get assert_throws):
(test):

  • web-platform-tests/url/a-element-expected.txt:
  • web-platform-tests/url/a-element-xhtml-expected.txt:
  • web-platform-tests/url/interfaces-expected.txt:
  • web-platform-tests/url/setters_tests.json:
  • web-platform-tests/url/url-constructor-expected.txt:
  • web-platform-tests/url/url-setters-expected.txt:
  • web-platform-tests/url/urltestdata.json:
  • web-platform-tests/user-timing/clear_all_marks.any-expected.txt: Added.
  • web-platform-tests/user-timing/clear_all_marks.any.html: Added.
  • web-platform-tests/user-timing/clear_all_marks.any.js: Added.

(test):

  • web-platform-tests/user-timing/clear_all_marks.worker-expected.txt: Added.
  • web-platform-tests/user-timing/clear_all_marks.worker.html: Added.
  • web-platform-tests/user-timing/clear_all_measures.any-expected.txt: Added.
  • web-platform-tests/user-timing/clear_all_measures.any.html: Added.
  • web-platform-tests/user-timing/clear_all_measures.any.js: Added.

(test):

  • web-platform-tests/user-timing/clear_all_measures.worker-expected.txt: Added.
  • web-platform-tests/user-timing/clear_all_measures.worker.html: Added.
  • web-platform-tests/user-timing/clear_non_existent_mark.any-expected.txt: Added.
  • web-platform-tests/user-timing/clear_non_existent_mark.any.html: Added.
  • web-platform-tests/user-timing/clear_non_existent_mark.any.js: Added.

(test):

  • web-platform-tests/user-timing/clear_non_existent_mark.worker-expected.txt: Added.
  • web-platform-tests/user-timing/clear_non_existent_mark.worker.html: Added.
  • web-platform-tests/user-timing/clear_non_existent_measure.any-expected.txt: Added.
  • web-platform-tests/user-timing/clear_non_existent_measure.any.html: Added.
  • web-platform-tests/user-timing/clear_non_existent_measure.any.js: Added.

(test):

  • web-platform-tests/user-timing/clear_non_existent_measure.worker-expected.txt: Added.
  • web-platform-tests/user-timing/clear_non_existent_measure.worker.html: Added.
  • web-platform-tests/user-timing/clear_one_mark.any-expected.txt: Added.
  • web-platform-tests/user-timing/clear_one_mark.any.html: Added.
  • web-platform-tests/user-timing/clear_one_mark.any.js: Added.

(test):

  • web-platform-tests/user-timing/clear_one_mark.worker-expected.txt: Added.
  • web-platform-tests/user-timing/clear_one_mark.worker.html: Added.
  • web-platform-tests/user-timing/clear_one_measure.any-expected.txt: Added.
  • web-platform-tests/user-timing/clear_one_measure.any.html: Added.
  • web-platform-tests/user-timing/clear_one_measure.any.js: Added.

(test):

  • web-platform-tests/user-timing/clear_one_measure.worker-expected.txt: Added.
  • web-platform-tests/user-timing/clear_one_measure.worker.html: Added.
  • web-platform-tests/user-timing/entry_type.any-expected.txt: Added.
  • web-platform-tests/user-timing/entry_type.any.html: Added.
  • web-platform-tests/user-timing/entry_type.any.js: Added.

(test):

  • web-platform-tests/user-timing/entry_type.worker-expected.txt: Added.
  • web-platform-tests/user-timing/entry_type.worker.html: Added.
  • web-platform-tests/user-timing/idlharness-expected.txt:
  • web-platform-tests/user-timing/idlharness.html:
  • web-platform-tests/user-timing/invoke_with_timing_attributes-expected.txt: Added.
  • web-platform-tests/user-timing/invoke_with_timing_attributes.html: Added.
  • web-platform-tests/user-timing/invoke_with_timing_attributes.worker-expected.txt: Added.
  • web-platform-tests/user-timing/invoke_with_timing_attributes.worker.html: Added.
  • web-platform-tests/user-timing/invoke_with_timing_attributes.worker.js: Added.

(emit_test):
(emit_test2):

  • web-platform-tests/user-timing/invoke_without_parameter-expected.txt: Added.
  • web-platform-tests/user-timing/invoke_without_parameter.html: Added.
  • web-platform-tests/user-timing/mark.any-expected.txt: Added.
  • web-platform-tests/user-timing/mark.any.html: Added.
  • web-platform-tests/user-timing/mark.any.js: Added.

(match_entries):
(filter_entries_by_type):
(test):
(test_mark):

  • web-platform-tests/user-timing/mark.worker-expected.txt: Added.
  • web-platform-tests/user-timing/mark.worker.html: Added.
  • web-platform-tests/user-timing/mark_exceptions-expected.txt: Added.
  • web-platform-tests/user-timing/mark_exceptions.html: Added.
  • web-platform-tests/user-timing/measure-expected.txt: Added.
  • web-platform-tests/user-timing/measure.html: Added.
  • web-platform-tests/user-timing/measure_exceptions_navigation_timing-expected.txt: Added.
  • web-platform-tests/user-timing/measure_exceptions_navigation_timing.html: Added.
  • web-platform-tests/user-timing/measure_navigation_timing-expected.txt: Added.
  • web-platform-tests/user-timing/measure_navigation_timing.html: Added.
  • web-platform-tests/user-timing/measure_syntax_err.any-expected.txt: Added.
  • web-platform-tests/user-timing/measure_syntax_err.any.html: Added.
  • web-platform-tests/user-timing/measure_syntax_err.any.js: Added.

(test):

  • web-platform-tests/user-timing/measure_syntax_err.worker-expected.txt: Added.
  • web-platform-tests/user-timing/measure_syntax_err.worker.html: Added.
  • web-platform-tests/user-timing/resources/webperftestharness.js:
  • web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
  • web-platform-tests/user-timing/user_timing_exists.any-expected.txt: Added.
  • web-platform-tests/user-timing/user_timing_exists.any.html: Added.
  • web-platform-tests/user-timing/user_timing_exists.any.js: Added.

(test):

  • web-platform-tests/user-timing/user_timing_exists.worker-expected.txt: Added.
  • web-platform-tests/user-timing/user_timing_exists.worker.html: Added.
  • web-platform-tests/user-timing/w3c-import.log:
  • web-platform-tests/w3c-import.log:
  • web-platform-tests/webrtc/OWNERS:
  • web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates-expected.txt: Added.
  • web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates.html: Added.
  • web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState-expected.txt: Added.
  • web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState.html: Added.
  • web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize-expected.txt:
  • web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize.html:
  • web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl-expected.txt:
  • web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html:
  • web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log:

Tools:

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.fetch): Fetching origin remote in case there is more than one.

LayoutTests:

  • TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-expected.txt: Added.
  • platform/mac/TestExpectations:
  • tests-options.json:
11:45 AM Changeset in webkit [215163] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

REGRESSION(r214635): Calculate image subsampling only for CG
https://bugs.webkit.org/show_bug.cgi?id=170353

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-04-09
Reviewed by Simon Fraser.

In r214635, we needed to calculate the image scaleFactor for all platforms.
It was needed do the calculation: sizeForDrawing = sizeOfImage * imageScaleFactor.
This made ImageSource::subsamplingLevelForScale() now returns a SubsamplingLevel
not equal to SubsamplingLevel::Default if the image scaleFactor is greater
than {1, 1} for all platforms. The subsamplingLevel should only be used for CG.

This is also a chance to make nativeImageDrawingScale() a across platform
function and move it to the GraphicsContext class.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::draw):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::scaleFactorForDrawing):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::subsamplingLevelForScaleFactor):
(WebCore::ImageSource::subsamplingLevelForScale): Deleted.

  • platform/graphics/ImageSource.h:
  • platform/graphics/NativeImage.h:
  • platform/graphics/cairo/NativeImageCairo.cpp:

(WebCore::nativeImageDrawingScale): Deleted.

  • platform/graphics/cg/NativeImageCG.cpp:

(WebCore::nativeImageDrawingScale): Deleted.

  • platform/graphics/win/NativeImageDirect2D.cpp:

(WebCore::nativeImageDrawingScale): Deleted.

10:11 AM Changeset in webkit [215162] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Add CoreMedia entitlement for WebProcess
https://bugs.webkit.org/show_bug.cgi?id=170623
rdar://problem/30020073

Reviewed by Youenn Fablet.

  • Configurations/WebContent-iOS.entitlements: Update entitlement to an array of strings instead of bool.
8:27 AM Changeset in webkit [215161] by commit-queue@webkit.org
  • 7 edits in trunk

test262: test262/test/annexB/language/literals/regexp/identity-escape.js
https://bugs.webkit.org/show_bug.cgi?id=170651

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-09
Reviewed by Saam Barati.

JSTests:

  • test262.yaml:

Source/JavaScriptCore:

  • yarr/YarrParser.h:

(JSC::Yarr::Parser::parseEscape):
For \8 and \9 match just the number "8" or "9" instead of both "
" and the number.
See: https://tc39.github.io/ecma262/#sec-decimalescape

LayoutTests:

  • js/regexp-no-extensions-expected.txt:
  • js/script-tests/regexp-no-extensions.js:

Update existing test for these edge cases.

7:49 AM Changeset in webkit [215160] by Chris Dumez
  • 137 edits in trunk/Source

Start dropping Timer API dealing with double
https://bugs.webkit.org/show_bug.cgi?id=170649

Reviewed by Yusuke Suzuki.

Start dropping Timer API dealing with double as people should use Seconds now.

Source/WebCore:

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:

(WebCore::WebKitMediaKeySession::generateKeyRequest):
(WebCore::WebKitMediaKeySession::update):

  • Modules/geolocation/GeoNotifier.cpp:

(WebCore::GeoNotifier::setFatalError):
(WebCore::GeoNotifier::setUseCachedPosition):

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::resume):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::schedulePendingOperationTimer):
(WebCore::IDBTransaction::scheduleCompletedOperationTimer):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::rangeRemoval):
(WebCore::SourceBuffer::appendBufferInternal):

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::scheduleActiveStateChange):

  • Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::scheduleDispatchEvent):

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::scheduleDispatchEvent):

  • Modules/notifications/Notification.cpp:
  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::requestPermission):

  • Modules/vibration/Vibration.cpp:

(WebCore::Vibration::vibrate):

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::resume):

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::resume):

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::postNotification):

  • bindings/js/GCController.cpp:

(WebCore::GCController::garbageCollectOnNextRunLoop):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::beginLoadingFontSoon):

  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::updateFocusAppearanceSoon):
(WebCore::Document::resumeScheduledTasks):
(WebCore::Document::requestFullScreenForElement):
(WebCore::Document::webkitDidEnterFullScreenForElement):
(WebCore::Document::webkitDidExitFullScreenForElement):
(WebCore::Document::decrementLoadEventDelayCount):
(WebCore::Document::didAssociateFormControl):
(WebCore::Document::setCachedDOMCookies):

  • dom/DocumentEventQueue.cpp:

(WebCore::DocumentEventQueue::enqueueEvent):

  • dom/EventSender.h:

(WebCore::EventSender<T>::dispatchEventSoon):

  • dom/Microtasks.cpp:

(WebCore::MicrotaskQueue::append):

  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::resume):
(WebCore::ScriptRunner::notifyFinished):

  • dom/ScriptableDocumentParser.cpp:

(WebCore::ScriptableDocumentParser::executeScriptsWaitingForStylesheetsSoon):

  • editing/Editor.cpp:

(WebCore::Editor::respondToChangedSelection):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::didCheck):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::finishRequestAutocomplete):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::scheduleDelayedAction):
(WebCore::HTMLMediaElement::beginScanning):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::setDisplayState):

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::scheduleErrorEvent):
(WebCore::HTMLSourceElement::resume):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::scheduleLoad):

  • html/MediaController.cpp:

(MediaController::currentTime):
(MediaController::scheduleEvent):

  • html/MediaDocument.cpp:

(WebCore::MediaDocument::mediaElementSawUnsupportedTracks):

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::externalOutputDeviceAvailableDidChange):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessage):
(WebCore::ValidationMessage::requestToHideMessage):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::forceRestoreContext):
(WebCore::WebGLRenderingContextBase::dispatchContextLostEvent):

  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
(WebCore::HTMLParserScheduler::scheduleForResume):
(WebCore::HTMLParserScheduler::resume):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateSizes):

  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::scheduleLoad):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::ChangeRegionOversetTask::scheduleFor):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::RevalidateStyleAttributeTask::scheduleFor):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorBackendDispatchTask::dispatch):
(WebCore::InspectorBackendDispatchTask::timerFired):

  • inspector/WebHeapAgent.cpp:

(WebCore::SendGarbageCollectionEventsTask::addGarbageCollection):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startDataLoadTimer):
(WebCore::DocumentLoader::deliverSubstituteResourcesAfterDelay):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::startCheckCompleteTimer):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updatedHasPendingEvent):

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::notifyFinished):
(WebCore::TextTrackLoader::newCuesParsed):
(WebCore::TextTrackLoader::fileFailedToParse):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::scheduleReachedMaxAppCacheSizeCallback):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::Callback::Callback):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::loadDone):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneSoon):

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::notify):

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

  • page/DeviceController.cpp:

(WebCore::DeviceController::addDeviceEventListener):

  • page/EventHandler.cpp:

(WebCore::EventHandler::scheduleHoverStateUpdate):

  • page/EventSource.cpp:

(WebCore::EventSource::scheduleInitialConnect):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::performPostLayoutTasks):

  • page/Settings.cpp:

(WebCore::Settings::setLoadsImagesAutomatically):
(WebCore::Settings::setImagesEnabled):

  • page/SuspendableTimer.h:
  • page/animation/CSSAnimationController.cpp:

(WebCore::CSSAnimationControllerPrivate::startUpdateStyleIfNeededDispatcher):

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::invalidateHighlightsOfType):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):

  • page/scrolling/ios/ScrollingCoordinatorIOS.mm:

(WebCore::ScrollingCoordinatorIOS::scheduleTreeStateCommit):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):

  • platform/GenericTaskQueue.cpp:

(WebCore::TaskDispatcher<Timer>::postTask):

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::autoscrollPressedPart):
(WebCore::Scrollbar::startTimerIfNeeded):

  • platform/Scrollbar.h:
  • platform/ScrollbarTheme.h:

(WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
(WebCore::ScrollbarTheme::autoscrollTimerDelay):

  • platform/Timer.cpp:
  • platform/Timer.h:

(WebCore::TimerBase::startRepeating):
(WebCore::TimerBase::startOneShot):
(WebCore::TimerBase::augmentFireInterval):
(WebCore::TimerBase::augmentRepeatInterval):

  • platform/gamepad/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::deviceAdded):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::networkStateChanged):

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionGroupAVFObjC::updateOptions):
(WebCore::MediaSelectionGroupAVFObjC::setSelectedOption):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):

  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::setNeedsUpdate):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(VideoRenderRequestScheduler::requestRender):

  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:

(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::addAnimation):

  • platform/gtk/ScrollAnimatorGtk.cpp:

(WebCore::ScrollAnimatorGtk::showOverlayScrollbars):

  • platform/gtk/ScrollbarThemeGtk.h:
  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::finishedCreatingTiles):
(WebCore::LegacyTileCache::setSpeculativeTileCreationEnabled):

  • platform/ios/ScrollbarThemeIOS.h:
  • platform/ios/ScrollbarThemeIOS.mm:

(WebCore::ScrollbarThemeIOS::initialAutoscrollTimerDelay):
(WebCore::ScrollbarThemeIOS::autoscrollTimerDelay):

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):

  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::preferencesChanged):
(WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
(WebCore::ScrollbarThemeMac::autoscrollTimerDelay):

  • platform/mock/DeviceOrientationClientMock.cpp:

(WebCore::DeviceOrientationClientMock::setOrientation):

  • platform/mock/GeolocationClientMock.cpp:

(WebCore::GeolocationClientMock::asyncUpdatePermission):
(WebCore::GeolocationClientMock::asyncUpdateController):

  • platform/mock/MockMediaEndpoint.cpp:

(WebCore::MockMediaEndpoint::dispatchFakeIceCandidates):
(WebCore::MockMediaEndpoint::iceCandidateTimerFired):
(WebCore::MockMediaEndpoint::stepIceTransportStates):
(WebCore::MockMediaEndpoint::iceTransportTimerFired):
(WebCore::MockMediaEndpoint::unmuteRemoteSourcesByMid):
(WebCore::MockMediaEndpoint::unmuteTimerFired):

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):

  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::scheduleFailure):
(WebCore::ResourceHandle::setDefersLoading):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::scheduleCompositingLayerUpdate):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):

  • rendering/RenderScrollbarTheme.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::scheduleLazyRepaint):

  • style/StyleScope.cpp:

(WebCore::Style::Scope::scheduleUpdate):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::sendSVGLoadEventIfPossibleAsynchronously):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::prepareToSend):
(WebCore::XMLHttpRequest::didFail):
(WebCore::XMLHttpRequest::resume):

  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::resume):

Source/WebKit:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::scheduleServePendingRequests):

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
(WebKit::NetscapePluginInstanceProxy::loadRequest):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::deliverData):

Source/WebKit/win:

  • Plugins/PluginPackage.cpp:

(WebCore::PluginPackage::freeLibrarySoon):

  • Plugins/PluginStream.cpp:

(WebCore::PluginStream::deliverData):

  • Plugins/PluginView.cpp:

(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::scheduleRequest):
(WebCore::PluginView::setJavaScriptPaused):
(WebCore::PluginView::keepAlive):

  • Plugins/PluginViewWin.cpp:

(WebCore::PluginView::wndProc):

  • WebView.cpp:

(WebView::closeWindowSoon):

Source/WebKit2:

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::scheduleFailure):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::resume):

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::destroy):
(WebKit::PluginControllerProxy::startPaintTimer):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseScheduleUpdateActivityState):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::setViewExposedRect):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/VisitedLinkStore.cpp:

(WebKit::VisitedLinkStore::addVisitedLinkHash):

  • UIProcess/WebProcessPool.cpp:

(WebKit::m_hiddenPageThrottlingAutoIncreasesCounter):

  • UIProcess/gtk/GestureController.cpp:

(WebKit::GestureController::ZoomGesture::scaleChanged):

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::menuUnmappedCallback):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::addToInvalidationQueue):

  • WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:

(WebKit::NetscapePluginStream::deliverDataToPlugin):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pendingURLRequestsTimerFired):
(WebKit::PluginView::loadURL):

  • WebProcess/WebPage/AcceleratedDrawingArea.cpp:

(WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeSoon):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::scheduleDisplay):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updateIsInWindow):
(WebKit::WebPage::addPluginView):
(WebKit::WebPage::setMayStartMediaWhenInWindow):
(WebKit::WebPage::didFinishLoad):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):

Source/WTF:

  • wtf/RunLoopTimer.h:
  • wtf/glib/MainThreadGLib.cpp:

(WTF::MainThreadDispatcher::schedule):

Note: See TracTimeline for information about the timeline view.