⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Oct 8, 2018:

8:28 PM Changeset in webkit [236958] by Wenson Hsieh
  • 2 edits in trunk/Tools

[macOS] API test DragAndDropTests.DropColor is failing on macOS 10.12
https://bugs.webkit.org/show_bug.cgi?id=190386

Reviewed by Ryosuke Niwa.

Unlike macOS 10.13 and 10.14, -[NSColor redColor] is not equivalent to a fully red color in sRGB on macOS 10.12.
Fix the test by dragging and dropping an NSColor that is equivalent to rgb(255, 0, 0) on all relevant versions
of macOS.

  • TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:

(TEST):

7:37 PM Changeset in webkit [236957] by Devin Rousso
  • 3 edits in trunk/LayoutTests

Fix inspector/canvas/recording.html after r236952

Unreviewed. Test gardening.

  • inspector/canvas/recording-expected.txt:
  • inspector/canvas/recording.html:

Recordings default to only capturing a single frame, so add a parameter to ensure that we
are capturing multiple frames.

7:17 PM Changeset in webkit [236956] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

/api/report takes 15+ minutes submitting some test results
https://bugs.webkit.org/show_bug.cgi?id=190382

Rubber-stamped by Alexey Proskuryakov and unofficially reviewed by Dewei Zhu.

The issue was that recursively_ensure_tests would issue thousands of dependent queries.

Since most reporting of results would be happening after all the tests and test metrics had been created,
simply fetch the list of all tests and test metrics upfront in memory.

This would slow-down the reporting of other test results but in practice doesn't matter (an extra few seconds
of overhead) but for slow reporting, it can significantly reduce the runtime from ~10 minutes to ~10 seconds.

  • public/include/report-processor.php:

(ReportProcessor::process): Call fetch_tests before recursively_ensure_tests.
(ReportProcessor::fetch_tests): Added. This builds up a mapping of tests based on a parent test ID as well as
a mapping of metrics per test based on its name and then its aggregator's name.
(ReportProcessor::recursively_ensure_tests): Added. Use the in-memory maps built in fetch_tests when possible.
(ReportProcessor::aggregator_list_if_exists): Take a reference instead of passing it by value.
(TestRunsGenerator::add_aggregated_metric): Now takes metric ID. The code to add the test metric had been moved
to recursively_ensure_tests.

6:52 PM Changeset in webkit [236955] by Wenson Hsieh
  • 20 edits
    1 add in trunk

[Cocoa] [WK2] Add support for text alignment and text lists in font attributes
https://bugs.webkit.org/show_bug.cgi?id=190342
<rdar://problem/44767118>

Reviewed by Tim Horton.

Source/WebCore:

Adds support for computing and encoding information about text alignment and enclosing list elements in the font
attributes dictionary, exposed to the UI delegate on Cocoa platforms. This is exposed through NSParagraphStyle,
which contains properties for both NSTextAlignment and an array of enclosing NSTextList objects.

Test: FontAttributes.NestedTextListsWithHorizontalAlignment

FontAttributes.FontAttributesAfterChangingSelection

  • editing/Editor.cpp:

(WebCore::editableTextListsAtPositionInDescendingOrder):

Add a helper function to ascend the DOM, starting at the given position, in search of enclosing list elements.
For each enclosing list element we find within the scope of the editable root, we create a TextList
representing the list element.

(WebCore::Editor::fontAttributesAtSelectionStart const):

Compute and set enclosing text lists and text alignment. For text alignment, we convert the initial text-align
value, start, to NSTextAlignmentNatural (the default text alignment type on Cocoa platforms); other values
then map to Left, Right, Center, and Justified as expected (taking direction into account).

  • editing/FontAttributes.h:

(WebCore::TextList::encode const):
(WebCore::TextList::decode):

Introduce TextList, a platform-agnostic representation of an unordered or ordered list. On Cocoa, this can be
used to construct a corresponding NSTextList.

  • editing/cocoa/FontAttributesCocoa.mm:

(WebCore::cocoaTextListMarkerName):

Attempt to map a WebCore list style type to a NSTextListMarker* constant. While most of the Cocoa marker
formats have a corresponding web-exposed list style type, many web-exposed types have no Cocoa equivalent; as
such, fall back to default marker formats: "{disc}" for unordered lists and "{decimal}" for ordered lists.

(WebCore::TextList::createTextList const):
(WebCore::FontAttributes::createDictionary const):

Include an NSParagraphStyle in the dictionary of font attributes that includes information about text alignment
and enclosing text lists (per Cocoa convention, in order from outermost list to innermost list).

Source/WebCore/PAL:

  • pal/ios/UIKitSoftLink.h:
  • pal/ios/UIKitSoftLink.mm:

Add NSParagraphStyle and NSTextList to the UIKit soft link header.

  • pal/spi/cocoa/NSAttributedStringSPI.h:
  • pal/spi/ios/UIKitSPI.h:

Add some SPI declarations for NSMutableParagraphStyle and NSTextList when building with a non-internal iOS SDK,
and import <UIKit/NSParagraphStyle_Private.h> and <UIKit/NSTextList.h> when building with an internal iOS SDK.
Additionally, define some internal UIFoundation string constants that denote NSTextList marker formats. These
constants are API on macOS, but are neither exposed as API nor SPI on iOS.

Source/WebKit:

Add encoding and decoding for text alignment and text lists in FontAttributes.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<FontAttributes>::encode):
(IPC::ArgumentCoder<FontAttributes>::decode):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:

Add a new API test to check that the font attributes dictionary contains the correct NSParagraphStyles when
moving the selection around text inside nested list elements.

(TestWebKitAPI::checkParagraphStyles):

Add a new helper to check an NSParagraphStyle against expected results.

(TestWebKitAPI::webViewForTestingFontAttributes):

Allow each test to pass in the name of the test page to load.

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/nested-lists.html: Added.

Add a new test page that contains text enclosed in multiple levels of unordered and ordered lists.

  • TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html:

Remove text-align: left from one of these elements, to test for NSTextAlignmentNatural.

LayoutTests:

  • editing/mac/attributed-string/attributed-string-for-typing-expected.txt:
  • editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt:
  • platform/mac-sierra/editing/mac/attributed-string/attributed-string-for-typing-expected.txt:
  • platform/mac-sierra/editing/mac/attributed-string/attributed-string-for-typing-with-color-filter-expected.txt:

Rebaseline these two layout tests, now that typing attributes include an NSParagraphStyle.

6:37 PM Changeset in webkit [236954] by Justin Fan
  • 126 edits
    19 copies
    74 moves
    6 adds
    4 deletes in trunk

WebGPU: Rename old WebGPU prototype to WebMetal
https://bugs.webkit.org/show_bug.cgi?id=190325
.:

Reviewed by Dean Jackson.

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

  • Configurations/FeatureDefines.xcconfig:
  • inspector/protocol/Canvas.json:
  • inspector/scripts/codegen/generator.py:

Source/WebCore:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Existing WebGPU tests also renamed to reflect WebGPU -> WebMetal change.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWebMetalRenderPassAttachmentDescriptorCustom.cpp: Renamed from Source/WebCore/bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp.

(WebCore::toJSNewlyCreated):
(WebCore::toJS):

  • bindings/js/JSWebMetalRenderingContextCustom.cpp: Renamed from Source/WebCore/bindings/js/JSWebGPURenderingContextCustom.cpp.

(WebCore::JSWebMetalRenderingContext::visitAdditionalChildren):

  • bindings/js/WebCoreBuiltinNames.h:
  • dom/Document.cpp:

(WebCore::Document::getCSSCanvasContext):

  • dom/Document.h:
  • dom/Document.idl:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::isWebMetalType):
(WebCore::HTMLCanvasElement::createContextWebMetal):
(WebCore::HTMLCanvasElement::getContextWebMetal):
(WebCore::HTMLCanvasElement::isWebGPUType): Deleted.
(WebCore::HTMLCanvasElement::createContextWebGPU): Deleted.
(WebCore::HTMLCanvasElement::getContextWebGPU): Deleted.

  • html/HTMLCanvasElement.h:
  • html/HTMLCanvasElement.idl:
  • html/canvas/CanvasRenderingContext.h:

(WebCore::CanvasRenderingContext::isWebMetal const):
(WebCore::CanvasRenderingContext::isWebGPU const): Deleted.

  • html/canvas/WebGPURenderingContext.cpp: Removed.
  • html/canvas/WebMetalBuffer.cpp: Renamed from Source/WebCore/html/canvas/WebGPUBuffer.cpp.

(WebCore::WebMetalBuffer::create):
(WebCore::WebMetalBuffer::WebMetalBuffer):

  • html/canvas/WebMetalBuffer.h: Renamed from Source/WebCore/html/canvas/WebGPUBuffer.h.
  • html/canvas/WebMetalBuffer.idl: Renamed from Source/WebCore/html/canvas/WebGPUBuffer.idl.
  • html/canvas/WebMetalCommandBuffer.cpp: Renamed from Source/WebCore/html/canvas/WebGPUCommandBuffer.cpp.

(WebCore::WebMetalCommandBuffer::create):
(WebCore::WebMetalCommandBuffer::WebMetalCommandBuffer):
(WebCore::WebMetalCommandBuffer::~WebMetalCommandBuffer):
(WebCore::WebMetalCommandBuffer::commit):
(WebCore::WebMetalCommandBuffer::presentDrawable):
(WebCore::WebMetalCommandBuffer::createRenderCommandEncoderWithDescriptor):
(WebCore::WebMetalCommandBuffer::createComputeCommandEncoder):
(WebCore::WebMetalCommandBuffer::completed):

  • html/canvas/WebMetalCommandBuffer.h: Renamed from Source/WebCore/html/canvas/WebGPUCommandBuffer.h.
  • html/canvas/WebMetalCommandBuffer.idl: Renamed from Source/WebCore/html/canvas/WebGPUCommandBuffer.idl.
  • html/canvas/WebMetalCommandQueue.cpp: Renamed from Source/WebCore/html/canvas/WebGPUCommandQueue.cpp.

(WebCore::WebMetalCommandQueue::create):
(WebCore::WebMetalCommandQueue::WebMetalCommandQueue):
(WebCore::WebMetalCommandQueue::createCommandBuffer):

  • html/canvas/WebMetalCommandQueue.h: Renamed from Source/WebCore/html/canvas/WebGPUCommandQueue.h.
  • html/canvas/WebMetalCommandQueue.idl: Renamed from Source/WebCore/html/canvas/WebGPUCommandQueue.idl.
  • html/canvas/WebMetalComputeCommandEncoder.cpp: Renamed from Source/WebCore/html/canvas/WebGPUComputeCommandEncoder.cpp.

(WebCore::GPUSizeMake):
(WebCore::WebMetalComputeCommandEncoder::create):
(WebCore::WebMetalComputeCommandEncoder::WebMetalComputeCommandEncoder):
(WebCore::WebMetalComputeCommandEncoder::setComputePipelineState):
(WebCore::WebMetalComputeCommandEncoder::setBuffer):
(WebCore::WebMetalComputeCommandEncoder::dispatch):
(WebCore::WebMetalComputeCommandEncoder::endEncoding):

  • html/canvas/WebMetalComputeCommandEncoder.h: Renamed from Source/WebCore/html/canvas/WebGPUComputeCommandEncoder.h.
  • html/canvas/WebMetalComputeCommandEncoder.idl: Renamed from Source/WebCore/html/canvas/WebGPUComputeCommandEncoder.idl.
  • html/canvas/WebMetalComputePipelineState.cpp: Renamed from Source/WebCore/html/canvas/WebGPUComputePipelineState.cpp.

(WebCore::WebMetalComputePipelineState::create):
(WebCore::WebMetalComputePipelineState::WebMetalComputePipelineState):

  • html/canvas/WebMetalComputePipelineState.h: Renamed from Source/WebCore/html/canvas/WebGPUComputePipelineState.h.
  • html/canvas/WebMetalComputePipelineState.idl: Renamed from Source/WebCore/html/canvas/WebGPUComputePipelineState.idl.
  • html/canvas/WebMetalDepthStencilDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.cpp.

(WebCore::WebMetalDepthStencilDescriptor::create):
(WebCore::WebMetalDepthStencilDescriptor::depthWriteEnabled const):
(WebCore::WebMetalDepthStencilDescriptor::setDepthWriteEnabled):
(WebCore::WebMetalDepthStencilDescriptor::depthCompareFunction const):
(WebCore::WebMetalDepthStencilDescriptor::setDepthCompareFunction):

  • html/canvas/WebMetalDepthStencilDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.h.
  • html/canvas/WebMetalDepthStencilDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.idl.
  • html/canvas/WebMetalDepthStencilState.cpp: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilState.cpp.

(WebCore::WebMetalDepthStencilState::create):
(WebCore::WebMetalDepthStencilState::WebMetalDepthStencilState):
(WebCore::WebMetalDepthStencilState::label const):
(WebCore::WebMetalDepthStencilState::setLabel):

  • html/canvas/WebMetalDepthStencilState.h: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilState.h.
  • html/canvas/WebMetalDepthStencilState.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineState.idl.
  • html/canvas/WebMetalDrawable.cpp: Renamed from Source/WebCore/html/canvas/WebGPUDrawable.cpp.

(WebCore::WebMetalDrawable::create):
(WebCore::WebMetalDrawable::WebMetalDrawable):

  • html/canvas/WebMetalDrawable.h: Renamed from Source/WebCore/html/canvas/WebGPUDrawable.h.

(WebCore::WebMetalDrawable::texture):

  • html/canvas/WebMetalDrawable.idl: Renamed from Source/WebCore/html/canvas/WebGPUDrawable.idl.
  • html/canvas/WebMetalEnums.cpp: Renamed from Source/WebCore/html/canvas/WebGPUEnums.cpp.

(WebCore::toWebMetalCompareFunction):
(WebCore::web3DCompareFunctionName):
(WebCore::toGPUCompareFunction):

  • html/canvas/WebMetalEnums.h: Renamed from Source/WebCore/html/canvas/WebGPUEnums.h.
  • html/canvas/WebMetalEnums.idl: Renamed from Source/WebCore/html/canvas/WebGPUEnums.idl.
  • html/canvas/WebMetalFunction.cpp: Renamed from Source/WebCore/html/canvas/WebGPUFunction.cpp.

(WebCore::WebMetalFunction::create):
(WebCore::WebMetalFunction::WebMetalFunction):

  • html/canvas/WebMetalFunction.h: Renamed from Source/WebCore/html/canvas/WebGPUFunction.h.
  • html/canvas/WebMetalFunction.idl: Renamed from Source/WebCore/html/canvas/WebGPUFunction.idl.
  • html/canvas/WebMetalLibrary.cpp: Renamed from Source/WebCore/html/canvas/WebGPULibrary.cpp.

(WebCore::WebMetalLibrary::create):
(WebCore::WebMetalLibrary::WebMetalLibrary):
(WebCore::WebMetalLibrary::functionNames const):
(WebCore::WebMetalLibrary::functionWithName const):

  • html/canvas/WebMetalLibrary.h: Renamed from Source/WebCore/html/canvas/WebGPULibrary.h.
  • html/canvas/WebMetalLibrary.idl: Renamed from Source/WebCore/html/canvas/WebGPULibrary.idl.
  • html/canvas/WebMetalRenderCommandEncoder.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderCommandEncoder.cpp.

(WebCore::WebMetalRenderCommandEncoder::create):
(WebCore::WebMetalRenderCommandEncoder::WebMetalRenderCommandEncoder):
(WebCore::WebMetalRenderCommandEncoder::setRenderPipelineState):
(WebCore::WebMetalRenderCommandEncoder::setDepthStencilState):
(WebCore::WebMetalRenderCommandEncoder::setVertexBuffer):
(WebCore::WebMetalRenderCommandEncoder::setFragmentBuffer):
(WebCore::WebMetalRenderCommandEncoder::drawPrimitives):
(WebCore::WebMetalRenderCommandEncoder::endEncoding):

  • html/canvas/WebMetalRenderCommandEncoder.h: Renamed from Source/WebCore/html/canvas/WebGPURenderCommandEncoder.h.
  • html/canvas/WebMetalRenderCommandEncoder.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderCommandEncoder.idl.
  • html/canvas/WebMetalRenderPassAttachmentDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.cpp.

(WebCore::WebMetalRenderPassAttachmentDescriptor::WebMetalRenderPassAttachmentDescriptor):
(WebCore::WebMetalRenderPassAttachmentDescriptor::loadAction const):
(WebCore::WebMetalRenderPassAttachmentDescriptor::setLoadAction):
(WebCore::WebMetalRenderPassAttachmentDescriptor::storeAction const):
(WebCore::WebMetalRenderPassAttachmentDescriptor::setStoreAction):
(WebCore::WebMetalRenderPassAttachmentDescriptor::texture const):
(WebCore::WebMetalRenderPassAttachmentDescriptor::setTexture):

  • html/canvas/WebMetalRenderPassAttachmentDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.h.
  • html/canvas/WebMetalRenderPassAttachmentDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.idl.
  • html/canvas/WebMetalRenderPassColorAttachmentDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.cpp.

(WebCore::WebMetalRenderPassColorAttachmentDescriptor::create):
(WebCore::WebMetalRenderPassColorAttachmentDescriptor::WebMetalRenderPassColorAttachmentDescriptor):
(WebCore::WebMetalRenderPassColorAttachmentDescriptor::descriptor const):
(WebCore::WebMetalRenderPassColorAttachmentDescriptor::clearColor const):
(WebCore::WebMetalRenderPassColorAttachmentDescriptor::setClearColor):

  • html/canvas/WebMetalRenderPassColorAttachmentDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.h.
  • html/canvas/WebMetalRenderPassColorAttachmentDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl.
  • html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.cpp.

(WebCore::WebMetalRenderPassDepthAttachmentDescriptor::create):
(WebCore::WebMetalRenderPassDepthAttachmentDescriptor::WebMetalRenderPassDepthAttachmentDescriptor):
(WebCore::WebMetalRenderPassDepthAttachmentDescriptor::clearDepth const):
(WebCore::WebMetalRenderPassDepthAttachmentDescriptor::setClearDepth):
(WebCore::WebMetalRenderPassDepthAttachmentDescriptor::descriptor const):

  • html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.h.
  • html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl.
  • html/canvas/WebMetalRenderPassDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDescriptor.cpp.

(WebCore::WebMetalRenderPassDescriptor::create):
(WebCore::WebMetalRenderPassDescriptor::depthAttachment):
(WebCore::WebMetalRenderPassDescriptor::colorAttachments):

  • html/canvas/WebMetalRenderPassDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDescriptor.h.
  • html/canvas/WebMetalRenderPassDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDescriptor.idl.
  • html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.cpp.

(WebCore::WebMetalRenderPipelineColorAttachmentDescriptor::create):
(WebCore::WebMetalRenderPipelineColorAttachmentDescriptor::WebMetalRenderPipelineColorAttachmentDescriptor):
(WebCore::WebMetalRenderPipelineColorAttachmentDescriptor::pixelFormat const):
(WebCore::WebMetalRenderPipelineColorAttachmentDescriptor::setPixelFormat):

  • html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.h.
  • html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl.
  • html/canvas/WebMetalRenderPipelineDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.cpp.

(WebCore::WebMetalRenderPipelineDescriptor::create):
(WebCore::WebMetalRenderPipelineDescriptor::vertexFunction const):
(WebCore::WebMetalRenderPipelineDescriptor::setVertexFunction):
(WebCore::WebMetalRenderPipelineDescriptor::fragmentFunction const):
(WebCore::WebMetalRenderPipelineDescriptor::setFragmentFunction):
(WebCore::WebMetalRenderPipelineDescriptor::colorAttachments):
(WebCore::WebMetalRenderPipelineDescriptor::depthAttachmentPixelFormat const):
(WebCore::WebMetalRenderPipelineDescriptor::setDepthAttachmentPixelFormat):
(WebCore::WebMetalRenderPipelineDescriptor::reset):

  • html/canvas/WebMetalRenderPipelineDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.h.
  • html/canvas/WebMetalRenderPipelineDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.idl.
  • html/canvas/WebMetalRenderPipelineState.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineState.cpp.

(WebCore::WebMetalRenderPipelineState::create):
(WebCore::WebMetalRenderPipelineState::WebMetalRenderPipelineState):
(WebCore::WebMetalRenderPipelineState::label const):
(WebCore::WebMetalRenderPipelineState::setLabel):

  • html/canvas/WebMetalRenderPipelineState.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineState.h.
  • html/canvas/WebMetalRenderPipelineState.idl: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilState.idl.
  • html/canvas/WebMetalRenderingContext.cpp: Added.

(WebCore::WebMetalRenderingContext::create):
(WebCore::WebMetalRenderingContext::WebMetalRenderingContext):
(WebCore::WebMetalRenderingContext::canvas const):
(WebCore::WebMetalRenderingContext::initializeNewContext):
(WebCore::WebMetalRenderingContext::clampedCanvasSize const):
(WebCore::WebMetalRenderingContext::hasPendingActivity const):
(WebCore::WebMetalRenderingContext::stop):
(WebCore::WebMetalRenderingContext::activeDOMObjectName const):
(WebCore::WebMetalRenderingContext::canSuspendForDocumentSuspension const):
(WebCore::WebMetalRenderingContext::platformLayer const):
(WebCore::WebMetalRenderingContext::markLayerComposited):
(WebCore::WebMetalRenderingContext::reshape):
(WebCore::WebMetalRenderingContext::createLibrary):
(WebCore::WebMetalRenderingContext::createRenderPipelineState):
(WebCore::WebMetalRenderingContext::createDepthStencilState):
(WebCore::WebMetalRenderingContext::createComputePipelineState):
(WebCore::WebMetalRenderingContext::createCommandQueue):
(WebCore::WebMetalRenderingContext::nextDrawable):
(WebCore::WebMetalRenderingContext::createBuffer):
(WebCore::WebMetalRenderingContext::createTexture):

  • html/canvas/WebMetalRenderingContext.h: Renamed from Source/WebCore/html/canvas/WebGPURenderingContext.h.
  • html/canvas/WebMetalRenderingContext.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderingContext.idl.
  • html/canvas/WebMetalSize.h: Renamed from Source/WebCore/html/canvas/WebGPUSize.h.
  • html/canvas/WebMetalSize.idl: Renamed from Source/WebCore/html/canvas/WebGPUSize.idl.
  • html/canvas/WebMetalTexture.cpp: Renamed from Source/WebCore/html/canvas/WebGPUTexture.cpp.

(WebCore::WebMetalTexture::create):
(WebCore::WebMetalTexture::WebMetalTexture):

  • html/canvas/WebMetalTexture.h: Renamed from Source/WebCore/html/canvas/WebGPUTexture.h.
  • html/canvas/WebMetalTexture.idl: Renamed from Source/WebCore/html/canvas/WebGPUTexture.idl.
  • html/canvas/WebMetalTextureDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPUTextureDescriptor.cpp.

(WebCore::WebMetalTextureDescriptor::create):
(WebCore::WebMetalTextureDescriptor::WebMetalTextureDescriptor):
(WebCore::WebMetalTextureDescriptor::width const):
(WebCore::WebMetalTextureDescriptor::setWidth):
(WebCore::WebMetalTextureDescriptor::height const):
(WebCore::WebMetalTextureDescriptor::setHeight):
(WebCore::WebMetalTextureDescriptor::sampleCount const):
(WebCore::WebMetalTextureDescriptor::setSampleCount):
(WebCore::WebMetalTextureDescriptor::textureType const):
(WebCore::WebMetalTextureDescriptor::setTextureType):
(WebCore::WebMetalTextureDescriptor::storageMode const):
(WebCore::WebMetalTextureDescriptor::setStorageMode):
(WebCore::WebMetalTextureDescriptor::usage const):
(WebCore::WebMetalTextureDescriptor::setUsage):

  • html/canvas/WebMetalTextureDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPUTextureDescriptor.h.
  • html/canvas/WebMetalTextureDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPUTextureDescriptor.idl.
  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildObjectForCanvas):

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::requestContent):
(WebCore::contextAsScriptValue):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebMetalEnabled):
(WebCore::RuntimeEnabledFeatures::webMetalEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebGPUEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webGPUEnabled const): Deleted.

  • platform/Logging.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(WebCore::PlatformCALayerCocoa::layerTypeForPlatformLayer):
(WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa):

  • platform/graphics/cocoa/WebMetalLayer.h: Renamed from Source/WebCore/platform/graphics/cocoa/WebGPULayer.h.
  • platform/graphics/cocoa/WebMetalLayer.mm: Renamed from Source/WebCore/platform/graphics/cocoa/WebGPULayer.mm.

(-[WebMetalLayer initWithGPUDevice:]):

  • platform/graphics/gpu/GPUBuffer.cpp:

(WebCore::GPUBuffer::~GPUBuffer):

  • platform/graphics/gpu/GPUBuffer.h:
  • platform/graphics/gpu/GPUCommandBuffer.cpp:

(WebCore::GPUCommandBuffer::~GPUCommandBuffer):

  • platform/graphics/gpu/GPUCommandBuffer.h:
  • platform/graphics/gpu/GPUCommandQueue.cpp:

(WebCore::GPUCommandQueue::~GPUCommandQueue):

  • platform/graphics/gpu/GPUCommandQueue.h:
  • platform/graphics/gpu/GPUComputeCommandEncoder.cpp:

(WebCore::GPUComputeCommandEncoder::~GPUComputeCommandEncoder):

  • platform/graphics/gpu/GPUComputeCommandEncoder.h:
  • platform/graphics/gpu/GPUComputePipelineState.cpp:

(WebCore::GPUComputePipelineState::~GPUComputePipelineState):

  • platform/graphics/gpu/GPUComputePipelineState.h:
  • platform/graphics/gpu/GPUDepthStencilDescriptor.cpp:

(WebCore::GPUDepthStencilDescriptor::~GPUDepthStencilDescriptor):

  • platform/graphics/gpu/GPUDepthStencilDescriptor.h:
  • platform/graphics/gpu/GPUDepthStencilState.cpp:

(WebCore::GPUDepthStencilState::~GPUDepthStencilState):

  • platform/graphics/gpu/GPUDepthStencilState.h:
  • platform/graphics/gpu/GPUDevice.cpp:

(WebCore::GPUDevice::~GPUDevice):

  • platform/graphics/gpu/GPUDevice.h:

(WebCore::GPUDevice::layer const):

  • platform/graphics/gpu/GPUDrawable.cpp:

(WebCore::GPUDrawable::~GPUDrawable):

  • platform/graphics/gpu/GPUDrawable.h:
  • platform/graphics/gpu/GPUEnums.h:
  • platform/graphics/gpu/GPUFunction.cpp:

(WebCore::GPUFunction::~GPUFunction):

  • platform/graphics/gpu/GPUFunction.h:
  • platform/graphics/gpu/GPULibrary.cpp:

(WebCore::GPULibrary::~GPULibrary):

  • platform/graphics/gpu/GPULibrary.h:
  • platform/graphics/gpu/GPURenderCommandEncoder.cpp:

(WebCore::GPURenderCommandEncoder::~GPURenderCommandEncoder):

  • platform/graphics/gpu/GPURenderCommandEncoder.h:
  • platform/graphics/gpu/GPURenderPassAttachmentDescriptor.cpp:

(WebCore::GPURenderPassAttachmentDescriptor::~GPURenderPassAttachmentDescriptor):

  • platform/graphics/gpu/GPURenderPassAttachmentDescriptor.h:
  • platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.cpp:

(WebCore::GPURenderPassColorAttachmentDescriptor::~GPURenderPassColorAttachmentDescriptor):

  • platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.h:
  • platform/graphics/gpu/GPURenderPassDepthAttachmentDescriptor.cpp:

(WebCore::GPURenderPassDepthAttachmentDescriptor::~GPURenderPassDepthAttachmentDescriptor):

  • platform/graphics/gpu/GPURenderPassDepthAttachmentDescriptor.h:
  • platform/graphics/gpu/GPURenderPassDescriptor.cpp:

(WebCore::GPURenderPassDescriptor::~GPURenderPassDescriptor):

  • platform/graphics/gpu/GPURenderPassDescriptor.h:
  • platform/graphics/gpu/GPURenderPipelineColorAttachmentDescriptor.cpp:

(WebCore::GPURenderPipelineColorAttachmentDescriptor::~GPURenderPipelineColorAttachmentDescriptor):

  • platform/graphics/gpu/GPURenderPipelineColorAttachmentDescriptor.h:
  • platform/graphics/gpu/GPURenderPipelineDescriptor.cpp:

(WebCore::GPURenderPipelineDescriptor::~GPURenderPipelineDescriptor):

  • platform/graphics/gpu/GPURenderPipelineDescriptor.h:
  • platform/graphics/gpu/GPURenderPipelineState.cpp:

(WebCore::GPURenderPipelineState::~GPURenderPipelineState):

  • platform/graphics/gpu/GPURenderPipelineState.h:
  • platform/graphics/gpu/GPUSize.h:
  • platform/graphics/gpu/GPUTexture.cpp:

(WebCore::GPUTexture::~GPUTexture):

  • platform/graphics/gpu/GPUTexture.h:
  • platform/graphics/gpu/GPUTextureDescriptor.cpp:

(WebCore::GPUTextureDescriptor::~GPUTextureDescriptor):

  • platform/graphics/gpu/GPUTextureDescriptor.h:
  • platform/graphics/metal/GPUBufferMetal.mm:

(WebCore::GPUBuffer::GPUBuffer):

  • platform/graphics/metal/GPUCommandBufferMetal.mm:
  • platform/graphics/metal/GPUCommandQueueMetal.mm:
  • platform/graphics/metal/GPUComputeCommandEncoderMetal.mm:
  • platform/graphics/metal/GPUComputePipelineStateMetal.mm:

(WebCore::GPUComputePipelineState::GPUComputePipelineState):

  • platform/graphics/metal/GPUDepthStencilDescriptorMetal.mm:
  • platform/graphics/metal/GPUDepthStencilStateMetal.mm:

(WebCore::GPUDepthStencilState::setLabel const):

  • platform/graphics/metal/GPUDeviceMetal.mm:

(WebCore::GPUDevice::reshape const):

  • platform/graphics/metal/GPUDrawableMetal.mm:

(WebCore::GPUDrawable::release):

  • platform/graphics/metal/GPUFunctionMetal.mm:
  • platform/graphics/metal/GPULibraryMetal.mm:

(WebCore::GPULibrary::GPULibrary):

  • platform/graphics/metal/GPURenderCommandEncoderMetal.mm:

(WebCore::GPURenderCommandEncoder::GPURenderCommandEncoder):

  • platform/graphics/metal/GPURenderPassAttachmentDescriptorMetal.mm:
  • platform/graphics/metal/GPURenderPassColorAttachmentDescriptorMetal.mm:
  • platform/graphics/metal/GPURenderPassDepthAttachmentDescriptorMetal.mm:
  • platform/graphics/metal/GPURenderPassDescriptorMetal.mm:
  • platform/graphics/metal/GPURenderPipelineColorAttachmentDescriptorMetal.mm:
  • platform/graphics/metal/GPURenderPipelineDescriptorMetal.mm:
  • platform/graphics/metal/GPURenderPipelineStateMetal.mm:

(WebCore::GPURenderPipelineState::setLabel const):

  • platform/graphics/metal/GPUTextureDescriptorMetal.mm:
  • platform/graphics/metal/GPUTextureMetal.mm:

(WebCore::GPUTexture::GPUTexture):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setWebMetalEnabled):
(WebCore::InternalSettings::setWebGPUEnabled): Deleted.

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Source/WebCore/PAL:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

  • Configurations/FeatureDefines.xcconfig:

Source/WebInspectorUI:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.
For WebInspector, add WebMetal to valid enums for canvas types.

  • UserInterface/Models/Canvas.js:

(WI.Canvas.fromPayload):
(WI.Canvas.displayNameForContextType):

Source/WebKit:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebPreferences.yaml:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

Source/WebKitLegacy/mac:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences webMetalEnabled]):
(-[WebPreferences setWebMetalEnabled:]):
(-[WebPreferences webGPUEnabled]): Deleted.
(-[WebPreferences setWebGPUEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Tools:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
  • TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
  • TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm:
  • TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
  • TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
  • TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setWebMetalEnabled):
(WTR::TestRunner::setWebGPUEnabled): Deleted.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

Websites/webkit.org:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

  • demos/webgpu/shared.js: Removed.
  • demos/webmetal/2d.html: Renamed from Websites/webkit.org/demos/webgpu/2d.html.
  • demos/webmetal/2d.jpg: Renamed from Websites/webkit.org/demos/webgpu/2d.jpg.
  • demos/webmetal/2d.js: Renamed from Websites/webkit.org/demos/webgpu/2d.js.

(init):

  • demos/webmetal/circle.svg: Renamed from Websites/webkit.org/demos/webgpu/circle.svg.
  • demos/webmetal/cubes.html: Renamed from Websites/webkit.org/demos/webgpu/cubes.html.
  • demos/webmetal/cubes.jpg: Renamed from Websites/webkit.org/demos/webgpu/cubes.jpg.
  • demos/webmetal/cubes.js: Renamed from Websites/webkit.org/demos/webgpu/cubes.js.

(init):

  • demos/webmetal/gl-matrix-min.js: Renamed from Websites/webkit.org/demos/webgpu/gl-matrix-min.js.
  • demos/webmetal/hello.html: Renamed from Websites/webkit.org/demos/webgpu/hello.html.
  • demos/webmetal/hello.jpg: Renamed from Websites/webkit.org/demos/webgpu/hello.jpg.
  • demos/webmetal/hello.js: Renamed from Websites/webkit.org/demos/webgpu/hello.js.

(init):

  • demos/webmetal/index.html: Renamed from Websites/webkit.org/demos/webgpu/index.html.
  • demos/webmetal/shared.css: Renamed from Websites/webkit.org/demos/webgpu/shared.css.
  • demos/webmetal/shared.js: Added.

(const.hasWebMetal):
(const.checkForWebMetal):

  • demos/webmetal/simple.html: Renamed from Websites/webkit.org/demos/webgpu/simple.html.
  • demos/webmetal/simple.jpg: Renamed from Websites/webkit.org/demos/webgpu/simple.jpg.
  • demos/webmetal/simple.js: Renamed from Websites/webkit.org/demos/webgpu/simple.js.

(init):

  • experimental-features.html:

LayoutTests:

<rdar://problem/44990443>

Reviewed by Dean Jackson.

Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

  • fast/canvas/webgpu/webgpu-runtime-flag-expected.txt: Removed.
  • fast/canvas/webmetal/webmetal-dispatch-expected.txt: Renamed from LayoutTests/fast/canvas/webgpu/webgpu-dispatch-expected.txt.
  • fast/canvas/webmetal/webmetal-dispatch.html: Renamed from LayoutTests/fast/canvas/webgpu/webgpu-dispatch.html.
  • fast/canvas/webmetal/webmetal-runtime-flag-expected.txt: Added.
  • fast/canvas/webmetal/webmetal-runtime-flag.html: Renamed from LayoutTests/fast/canvas/webgpu/webgpu-runtime-flag.html.
  • inspector/canvas/create-context-webmetal-expected.txt: Renamed from LayoutTests/inspector/canvas/create-context-webgpu-expected.txt.
  • inspector/canvas/create-context-webmetal.html: Renamed from LayoutTests/inspector/canvas/create-context-webgpu.html.
  • inspector/canvas/resolveCanvasContext-webgpu-expected.txt: Removed.
  • inspector/canvas/resolveCanvasContext-webmetal-expected.txt: Added.
  • inspector/canvas/resolveCanvasContext-webmetal.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgpu.html.
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
5:19 PM Changeset in webkit [236953] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Dark Mode: canvas recording glyph is black on gray
https://bugs.webkit.org/show_bug.cgi?id=190367
<rdar://problem/45099304>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/CanvasOverviewContentView.css:

(.content-view.canvas-overview .content-view.canvas > footer .view-recording): Added.
(.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.

5:14 PM Changeset in webkit [236952] by Devin Rousso
  • 15 edits in trunk

Web Inspector: allow multiple canvases to be recorded at the same time
https://bugs.webkit.org/show_bug.cgi?id=190305

Reviewed by Brian Burg.

Source/WebInspectorUI:

Moved the logic for maintaining whether a canvas is actively recording from
WI.CanvasManager to WI.Canvas, meaning that each canvas can now record independently of
every other canvas in the page. If multiple recordings are all finished simultaneously, only
show the first one to be recieved by the frontend.

  • UserInterface/Controllers/CanvasManager.js:

(WI.CanvasManager):
(WI.CanvasManager.prototype.recordingProgress):
(WI.CanvasManager.prototype.recordingFinished):
(WI.CanvasManager.prototype.programCreated):
(WI.CanvasManager.prototype.programDeleted):
(WI.CanvasManager.prototype._removeCanvas):
(WI.CanvasManager.prototype._mainResourceDidChange):
(WI.CanvasManager.prototype.get recordingCanvas): Deleted.
(WI.CanvasManager.prototype.startRecording): Deleted.
(WI.CanvasManager.prototype.stopRecording): Deleted.
(WI.CanvasManager.prototype._dispatchShaderProgramRemoved): Deleted.

  • UserInterface/Models/Canvas.js:

(WI.Canvas.prototype.get recordingFrameCount): Added.
(WI.Canvas.prototype.get recordingBufferUsed): Added.
(WI.Canvas.prototype.get recordingActive): Added.
(WI.Canvas.prototype.get isRecording): Deleted.
(WI.Canvas.prototype.startRecording): Added.
(WI.Canvas.prototype.stopRecording): Added.
(WI.Canvas.prototype.recordingProgress): Added.
(WI.Canvas.prototype.recordingFinished): Added.

  • UserInterface/Views/CanvasTabContentView.js:

(WI.CanvasTabContentView.prototype.attached):
(WI.CanvasTabContentView.prototype.detached):
(WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
(WI.CanvasTabContentView.prototype._handleSpace):
(WI.CanvasTabContentView):

  • UserInterface/Views/CanvasOverviewContentView.css:

(.content-view.canvas-overview .content-view.canvas.recording-active): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active > header): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .title): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .subtitle): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active > header > .navigation-bar > .item): Added.
(.content-view.canvas-overview .content-view.canvas:matches(:hover, .recording-active) > header > .navigation-bar): Added.
(.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop.disabled): Added.
(.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover): Added.
(.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active > .progress-vie): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active > .preview): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active > header): Added.
(.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .subtitle): Added.
(.content-view.canvas-overview .content-view.canvas.is-recording): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording > header): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .title): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording > header > .navigation-bar > .item): Deleted.
(.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar): Deleted.
(.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop.disabled): Deleted.
(.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover): Deleted.
(.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording > .progress-vie): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording > .preview): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording > header): Deleted.
(.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): Deleted.

  • UserInterface/Views/CanvasContentView.js:

(WI.CanvasContentView.prototype.attached):
(WI.CanvasContentView.prototype.detached):
(WI.CanvasContentView.prototype._toggleRecording):
(WI.CanvasContentView.prototype._recordingProgress):
(WI.CanvasContentView.prototype._recordingStopped):
(WI.CanvasContentView.prototype._shaderProgramAdded):
(WI.CanvasContentView.prototype._shaderProgramRemoved):
(WI.CanvasContentView.prototype._updateRecordNavigationItem):
(WI.CanvasContentView.prototype._updateProgressView):

  • UserInterface/Views/CanvasSidebarPanel.js:

(WI.CanvasSidebarPanel):
(WI.CanvasSidebarPanel.prototype.set canvas):
(WI.CanvasSidebarPanel.prototype._toggleRecording):
(WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):

  • UserInterface/Views/CanvasTreeElement.js:

(WI.CanvasTreeElement):
(WI.CanvasTreeElement.prototype._updateStatus):

LayoutTests:

  • inspector/canvas/recording-2d.html:
  • inspector/canvas/recording-bitmaprenderer.html:
  • inspector/canvas/recording-expected.html:
  • inspector/canvas/recording-webgl.html:
  • inspector/canvas/recording.html:
  • inspector/canvas/resources/recording-utilities.js:

(TestPage.registerInitializer.window.startRecording.handleRecordingProgress):
(TestPage.registerInitializer.window.startRecording):
(TestPage.registerInitializer.window.consoleRecord):
(TestPage.registerInitializer):

5:11 PM Changeset in webkit [236951] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Followup to r236942: Make input type=color an internal feature
https://bugs.webkit.org/show_bug.cgi?id=189162

Rubber-stamped by Dean Jackson.

I've learned from Dean that an internal feature is more suitable than an experimental feature in this scenario.

  • Shared/WebPreferences.yaml:
5:07 PM Changeset in webkit [236950] by Devin Rousso
  • 6 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: replace Range.svg icon
https://bugs.webkit.org/show_bug.cgi?id=190372

Reviewed by Joseph Pecoraro.

  • UserInterface/Images/Range.svg:
  • UserInterface/Images/RangeLarge.svg: Added.
  • UserInterface/Models/Resource.js:

(WI.Resource.classNameForResource): Added.
Create a static function for specializing the className of WI.Resource objects.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype._populateNameCell):

  • UserInterface/Views/ResourceTreeElement.js:

(WI.ResourceTreeElement):

  • UserInterface/Views/ResourceIcons.css:

(.resource-icon.resource-type-ping .icon, .resource-icon.resource-type-beacon .icon, .large .resource-icon.resource-type-ping .icon, .large .resource-icon.resource-type-beacon .icon):
(.resource-icon.resource-type-range .icon):
(.large .resource-icon.resource-type-range .icon): Added.
Drive-by: added .large versions of ping and beacon icons for the
WI.OpenResourceDialog elements.

4:20 PM Changeset in webkit [236949] by Kocsen Chung
  • 23 edits
    1 delete in tags/Safari-607.1.10

Revert r236875. rdar://problem/45109065

4:20 PM Changeset in webkit [236948] by Kocsen Chung
  • 2 edits in tags/Safari-607.1.10/Source/WebCore/PAL

Revert r236876. rdar://problem/45109065

4:20 PM Changeset in webkit [236947] by Kocsen Chung
  • 2 edits in tags/Safari-607.1.10/Source/WebCore

Revert r236878. rdar://problem/45109065

4:20 PM Changeset in webkit [236946] by Kocsen Chung
  • 2 edits in tags/Safari-607.1.10/Source/WebCore

Revert r236882. rdar://problem/45109065

4:19 PM Changeset in webkit [236945] by dino@apple.com
  • 4 edits in trunk

CrashTracer: backboardd at Recursion :: QuartzCore: CA::Render::Updater::prepare_sublayer0
https://bugs.webkit.org/show_bug.cgi?id=190376
<rdar://problem/44986520>

Reviewed by Tim Horton.

Source/WebCore:

Very deep CoreAnimation layer trees can cause problems. Reduce our maximum
depth from 256 to 128.

Modified existing test: compositing/layer-creation/deep-tree.html

  • platform/graphics/ca/GraphicsLayerCA.cpp: Cap the depth at 128.

LayoutTests:

  • compositing/layer-creation/deep-tree.html:
3:58 PM October 2018 Meeting edited by Jon Davis
(diff)
3:34 PM Changeset in webkit [236944] by Alan Coon
  • 1 copy in tags/Safari-607.1.10

Tag Safari-607.1.10.

3:27 PM Changeset in webkit [236943] by commit-queue@webkit.org
  • 12 edits
    1 delete in trunk

Unreviewed, rolling out r236941.
https://bugs.webkit.org/show_bug.cgi?id=190374

Causing API test failures in new test (Requested by jernoble
on #webkit).

Reverted changeset:

"ISOTrackEncryptionBox returns incorrect defaultKeyID"
https://bugs.webkit.org/show_bug.cgi?id=190368
https://trac.webkit.org/changeset/236941

3:08 PM Changeset in webkit [236942] by Aditya Keerthi
  • 37 edits
    2 adds in trunk

Make <input type=color> a runtime enabled (on-by-default) feature
https://bugs.webkit.org/show_bug.cgi?id=189162

Reviewed by Wenson Hsieh and Tim Horton.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enable the build-time flag INPUT_TYPE_COLOR by default and introduce a runtime-enabled feature for input type
color, also on by default.

Covered by rebaselining existing layout tests.

  • Configurations/FeatureDefines.xcconfig:
  • html/InputType.cpp:

(WebCore::createInputTypeFactoryMap):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::inputTypeColorEnabled const):
(WebCore::RuntimeEnabledFeatures::setInputTypeColorEnabled):

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebPreferences.yaml:

Add an experimental feature flag for input type=color.

  • UIProcess/mac/WebColorPickerMac.mm:

(-[WKPopoverColorWell webDelegate]):
(-[WKPopoverColorWell setWebDelegate:]):

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

Rebaseline layout tests after enabling input type=color by default.

  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
  • platform/ios/fast/forms/color/input-appearance-color-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/color-expected.txt:
  • platform/mac/accessibility/roles-exposed-expected.txt:
  • platform/mac/fast/selectors/read-only-read-write-input-basics-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
2:12 PM Changeset in webkit [236941] by jer.noble@apple.com
  • 12 edits
    1 add in trunk

ISOTrackEncryptionBox returns incorrect defaultKeyID
https://bugs.webkit.org/show_bug.cgi?id=190368

Reviewed by Eric Carlson.

Source/WebCore:

Test: TestWebKitAPI.ISOBox.ISOProtectionSchemeInfoBox

ISOTrackEncryptionBox::parse() increments the data offset by an incorrect amount.

Drive-by fix: add EXPORT macros to all the ISO box classes so that tests can be written in TestWebKitAPI.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/iso/ISOBox.h:
  • platform/graphics/iso/ISOOriginalFormatBox.h:
  • platform/graphics/iso/ISOProtectionSchemeInfoBox.h:
  • platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.h:
  • platform/graphics/iso/ISOSchemeInformationBox.h:
  • platform/graphics/iso/ISOSchemeTypeBox.h:
  • platform/graphics/iso/ISOTrackEncryptionBox.cpp:

(WebCore::ISOTrackEncryptionBox::parse):

  • platform/graphics/iso/ISOTrackEncryptionBox.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.

(TestWebKitAPI::TEST):

2:10 PM Changeset in webkit [236940] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Try to fix the build

  • UIProcess/ios/WKKeyboardScrollingAnimator.mm:
2:02 PM Changeset in webkit [236939] by BJ Burg
  • 7 edits in trunk/Source/WebKit

[Mac] Web Automation: some keyboard interactions don't generate events, causing event simulation to stall
https://bugs.webkit.org/show_bug.cgi?id=190316
<rdar://problem/42833290>

Reviewed by Tim Horton.

Some users have reported that Cmd-A for Select All no longer works in safaridriver.
Instead, this hangs the session. This happens because the WebAutomationSession class
assumes that each call to simulateKeyboardInteraction causes keyboard events to be processed,
but in corner cases like Cmd-A, some events that we simulate are swallowed by AppKit and
never make it back to WebKit. Because the session never gets the "keyboard events flushed"
callback, it assumes the interaction is still ongoing, and never returns, causing a hang.

This patch consists of two parts:

  • Add logging of important state changes and events when simulating user input.
  • Make code more robust when simulating key actions that generate no events on macOS.

This change progresses WPT test key_shortcuts.py::test_mod_a_and_backspace_deletes_all_text on Mac.

  • Platform/Logging.h: Add a logging channel.
  • UIProcess/Automation/SimulatedInputDispatcher.cpp:

(WebKit::SimulatedInputDispatcher::keyFrameTransitionDurationTimerFired):
(WebKit::SimulatedInputDispatcher::transitionBetweenKeyFrames):
(WebKit::SimulatedInputDispatcher::transitionInputSourceToState):
(WebKit::SimulatedInputDispatcher::run):
(WebKit::SimulatedInputDispatcher::finishDispatching):
Add a bunch of logging so its easier to figure out where things get stuck.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::simulateKeyboardInteraction):
In some cases, no keyboard events need to be processed for the simulated interaction.
When that happens, early exit rather than waiting for keyboard events to be flushed.

  • UIProcess/Automation/mac/WebAutomationSessionMac.mm:

(WebKit::WebAutomationSession::sendSynthesizedEventsToPage): Logging.
(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):
On Mac, if you tap a character key while Command is held down, only a KeyDown event
is forwarded to the first responder by AppKit, even if you send a KeyUp event too.
In this case don't send an NSEvent since it won't ever be delivered back to WebKit.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::isProcessingKeyboardEvents const): Expose this state for keyboard
events too.

1:37 PM Changeset in webkit [236938] by Antti Koivisto
  • 9 edits
    2 adds in trunk/Source/WebCore

Move SystemFontDatabase to a file of its own
https://bugs.webkit.org/show_bug.cgi?id=190347

Reviewed by Chris Dumez.

Also rename it to SystemFontDatabaseCoreText as it is CoreText specific.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/MemoryRelease.cpp:

(WebCore::releaseNoncriticalMemory):

  • page/cocoa/MemoryReleaseCocoa.mm:

Release SystemFontDatabaseCoreText directly from platform specific cleanup code.

(WebCore::platformReleaseMemory):

  • platform/graphics/cocoa/FontDescriptionCocoa.cpp:

(WebCore::FontDescription::invalidateCaches):
(WebCore::systemFontCascadeList):
(WebCore::FontCascadeDescription::effectiveFamilyCount const):
(WebCore::FontCascadeDescription::effectiveFamilyAt const):
(WebCore::SystemFontDatabase::CoreTextCascadeListParameters::CoreTextCascadeListParameters): Deleted.
(WebCore::SystemFontDatabase::CoreTextCascadeListParameters::isHashTableDeletedValue const): Deleted.
(WebCore::SystemFontDatabase::CoreTextCascadeListParameters::operator== const): Deleted.
(WebCore::SystemFontDatabase::CoreTextCascadeListParameters::hash const): Deleted.
(WebCore::SystemFontDatabase::CoreTextCascadeListParameters::CoreTextCascadeListParametersHash::hash): Deleted.
(WebCore::SystemFontDatabase::CoreTextCascadeListParameters::CoreTextCascadeListParametersHash::equal): Deleted.
(): Deleted.
(WebCore::SystemFontDatabase::singleton): Deleted.
(WebCore::SystemFontDatabase::systemFontCascadeList): Deleted.
(WebCore::SystemFontDatabase::clear): Deleted.
(WebCore::SystemFontDatabase::SystemFontDatabase): Deleted.
(WebCore::SystemFontDatabase::applyWeightItalicsAndFallbackBehavior): Deleted.
(WebCore::SystemFontDatabase::removeCascadeList): Deleted.
(WebCore::SystemFontDatabase::computeCascadeList): Deleted.
(WebCore::systemFontParameters): Deleted.

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp: Added.

(WebCore::SystemFontDatabaseCoreText::singleton):
(WebCore::SystemFontDatabaseCoreText::SystemFontDatabaseCoreText):
(WebCore::SystemFontDatabaseCoreText::systemFontCascadeList):
(WebCore::SystemFontDatabaseCoreText::clear):
(WebCore::SystemFontDatabaseCoreText::applyWeightItalicsAndFallbackBehavior):
(WebCore::SystemFontDatabaseCoreText::removeCascadeList):
(WebCore::SystemFontDatabaseCoreText::computeCascadeList):
(WebCore::SystemFontDatabaseCoreText::systemFontParameters):

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.h: Added.

(WebCore::SystemFontDatabaseCoreText::CascadeListParameters::CascadeListParameters):
(WebCore::SystemFontDatabaseCoreText::CascadeListParameters::isHashTableDeletedValue const):
(WebCore::SystemFontDatabaseCoreText::CascadeListParameters::operator== const):
(WebCore::SystemFontDatabaseCoreText::CascadeListParameters::hash const):
(WebCore::SystemFontDatabaseCoreText::CascadeListParameters::CascadeListParametersHash::hash):
(WebCore::SystemFontDatabaseCoreText::CascadeListParameters::CascadeListParametersHash::equal):

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
1:24 PM Changeset in webkit [236937] by Ryan Haddad
  • 2 edits
    2 deletes in trunk/LayoutTests

Move test expectations from ios-12 to ios directory
https://bugs.webkit.org/show_bug.cgi?id=189839

Unreviewed test gardening..

  • platform/ios-11/http/tests/quicklook/hide-referer-on-navigation-expected.txt: Removed.
  • platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
  • platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https-expected.txt: Removed.
  • platform/ios-11/platform/ios/ios/fast/text/opticalFont-expected.txt: Removed.
  • platform/ios-11/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Removed.
  • platform/ios-11/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt: Removed.
  • platform/ios-11/quicklook/powerpoint-expected.txt: Removed.
  • platform/ios-11/quicklook/powerpoint-legacy-expected.txt: Removed.
  • platform/ios-11/quicklook/word-expected.txt: Removed.
  • platform/ios-11/quicklook/word-legacy-expected.txt: Removed.
  • platform/ios-11/svg/batik/text/longTextOnPath-expected.txt: Removed.
  • platform/ios-12/TestExpectations: Removed.
  • platform/ios/TestExpectations:
1:23 PM WikiStart edited by Jon Davis
Added link to 2018 WebKit Contributors Meeting page. (diff)
1:22 PM Changeset in webkit [236936] by youenn@apple.com
  • 4 edits in trunk/Source/WebKit

NetworkCache::Storage should be WTF::DestructionThread::Main
https://bugs.webkit.org/show_bug.cgi?id=190324

Reviewed by Alex Christensen.

Use WTF::DestructionThread::Main to make sure that Storage is destroyed in the main thread.
Remove the code that was making sure that any ref was destroyed in the main thread.

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp: Make sure the completion handler is not null.
  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::TraverseOperation::TraverseOperation): Make it clear that a ref is taken.
(WebKit::NetworkCache::Storage::Storage):
(WebKit::NetworkCache::Storage::synchronize): Protect 'this' when dispatching back to the main thread.
Move the code that was after dispatch before dispatch to allow moving protectedThis in the dispatch lambda.
(WebKit::NetworkCache::Storage::remove):
(WebKit::NetworkCache::Storage::traverse):
(WebKit::NetworkCache::Storage::clear):
(WebKit::NetworkCache::Storage::deleteOldVersions):

  • NetworkProcess/cache/NetworkCacheStorage.h:
1:21 PM October 2018 Meeting edited by Jon Davis
(diff)
1:18 PM Changeset in webkit [236935] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit

Adjust keyboard scrolling animator to springy and semiphysical
https://bugs.webkit.org/show_bug.cgi?id=190345
<rdar://problem/43494393>

Reviewed by Simon Fraser.

Introduce WKKeyboardScrollViewAnimator, which wraps WKKeyboardScrollingAnimator
and provides a reasonable set of default behaviors for UIScrollView.
This is the first step on the way to WKKeyboardScrollingAnimator
being platform- and toolkit-agnostic, and helps avoid adding a whole
bunch of code to WKContentView.

Adopt UIKit's scroll-to-top animation curve for whole-document scrolls.

Adjust WKKeyboardScrollingAnimator's physics; it now simulates a spring
attached to the page when decelerating. When a key is pressed, it applies
a constant force to the page (up to some maximum velocity). When released,
the spring causes the page to decelerate smoothly.

Add rubber-banding to keyboard scrolling, based on the same spring that
decelerates the page.

Remove the initial bounce on keydown before starting the smooth scroll.

Remove arrow key commands from WKContentView; this avoids double-processing
incoming arrow key events, makes the event stream make more sense, and was
entirely unnecessary.

  • Platform/spi/ios/UIKitSPI.h:

Add a wide variety of useful SPI.

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

Remove _scrollByContentOffset:animated: because it's only used by
the keyboard scrolling mechanism.

Remove _arrowKey because we're removing the arrow key commands.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
Create a WKKeyboardScrollViewAnimator (which knows how to directly
manipulate a UIScrollView) instead of a WKKeyboardScrollingAnimator
(which requires its clients to implement everything in terms of an
abstract interface.

(-[WKContentView scrollViewWillStartPanOrPinchGesture]):
Inform the keyboard scrolling animator that the user is going to start
an interactive gesture that needs control of the scroll view, so it
can stop its current animated scroll.

(-[WKContentView canPerformActionForWebView:withSender:]):
(-[WKContentView keyCommands]):
(-[WKContentView _arrowKeyForWebView:]): Deleted.
Remove arrow key commands.

(-[WKContentView keyboardScrollViewAnimator:distanceForIncrement:]):
Scale from content to WKWebView coordinate space; the keyboard scrolling
animator operates in WKWebView coordinates. This was broken before.

(-[WKContentView keyboardScrollViewAnimatorWillScroll:]):
(-[WKContentView isScrollableForKeyboardScrollViewAnimator:]):
(-[WKContentView isKeyboardScrollable]): Deleted.
(-[WKContentView distanceForScrollingIncrement:]): Deleted.
(-[WKContentView scrollByContentOffset:animated:]): Deleted.
Reimplement these as keyboardScrollViewAnimator delegate methods.

  • UIProcess/ios/WKKeyboardScrollingAnimator.h:

Add WKKeyboardScrollViewAnimator, hide the interface for
WKKeyboardScrollingAnimator itself in the implementation file.

  • UIProcess/ios/WKKeyboardScrollingAnimator.mm:

(-[WKKeyboardScrollingAnimator initWithScrollable:]):
(-[WKKeyboardScrollingAnimator parameters]):
(-[WKKeyboardScrollingAnimator invalidate]):
(unitVector):
Return a unit vector in the given direction.

(perpendicularAbsoluteUnitVector):
Return a positive unit vector perpendicular to the axis of the given direction.
Useful for multiplying with another vector to remove the component in the
axis of the given direction.

(boxSide):
Convert ScrollingDirection to WebCore::PhysicalBoxSide, for use with RectEdges.

(-[WKKeyboardScrollingAnimator keyboardScrollForEvent:]):
Instead of just returning the desired increment, compute everything we'll need
for the lifetime of the scroll (including the force applied, maximum
velocity, etc.) and return them together.

(-[WKKeyboardScrollingAnimator beginWithEvent:]):
Use the scrollable's native scroll-to-extent animation (e.g. UIScrollView's
scroll-to-top curve) for whole-document scrolls.

Remove the first discrete scroll; start the smooth scroll immediately.

(-[WKKeyboardScrollingAnimator handleKeyEvent:]):
(farthestPointInDirection):
(-[WKKeyboardScrollingAnimator stopAnimatedScroll]):
Stop the current scroll. Let the spring coast to its natural stopping
point given the system's current energy, unless that stopping point is
less than one increment from the starting point. In that case, we attach
the spring to /that/ point and let it run.

(-[WKKeyboardScrollingAnimator startDisplayLinkIfNeeded]):
(-[WKKeyboardScrollingAnimator stopDisplayLink]):
(-[WKKeyboardScrollingAnimator willStartInteractiveScroll]):
Immediately stop all motion if the user touches the screen to scroll
or zoom with fingers.

(-[WKKeyboardScrollingAnimator displayLinkFired:]):
Update the position of the scrollable based on the applied force and spring.
See the comments in this function for more details.

(-[WKKeyboardScrollViewAnimator init]):
(-[WKKeyboardScrollViewAnimator initWithScrollView:]):
(-[WKKeyboardScrollViewAnimator dealloc]):
(-[WKKeyboardScrollViewAnimator invalidate]):
(-[WKKeyboardScrollViewAnimator setDelegate:]):
(-[WKKeyboardScrollViewAnimator willStartInteractiveScroll]):
(-[WKKeyboardScrollViewAnimator beginWithEvent:]):
(-[WKKeyboardScrollViewAnimator handleKeyEvent:]):
(-[WKKeyboardScrollViewAnimator isKeyboardScrollable]):
(-[WKKeyboardScrollViewAnimator distanceForIncrement:]):
(-[WKKeyboardScrollViewAnimator scrollToContentOffset:animated:]):
(-[WKKeyboardScrollViewAnimator scrollWithScrollToExtentAnimationTo:]):
(-[WKKeyboardScrollViewAnimator contentOffset]):
(-[WKKeyboardScrollViewAnimator boundedContentOffset:]):
(-[WKKeyboardScrollViewAnimator interactiveScrollVelocity]):
(-[WKKeyboardScrollViewAnimator scrollableDirectionsFromOffset:]):
(-[WKKeyboardScrollViewAnimator rubberbandableDirections]):
Add WKKeyboardScrollViewAnimator, which wraps WKKeyboardScrollingAnimator
and provides animated keyboard scrolling for a UIScrollView without much
additional plumbing work. It contains reasonable default behaviors,
with a few optional delegate methods for customization.

(-[WKKeyboardScrollingAnimator _scrollOffsetForEvent:]): Deleted.
(-[WKKeyboardScrollingAnimator startAnimatedScroll]): Deleted.

1:16 PM October 2018 Meeting edited by Jon Davis
Updated schedule. (diff)
1:15 PM Changeset in webkit [236934] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Remove dead code: VideoFullscreenModel::isVisible()
https://bugs.webkit.org/show_bug.cgi?id=190356

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-10-08
Reviewed by Jon Lee.

Source/WebCore:

No new tests because there is no behavior change.

Remove isVisible() since it is no longer used.

  • platform/cocoa/VideoFullscreenModel.h:
  • platform/cocoa/VideoFullscreenModelVideoElement.h:
  • platform/cocoa/VideoFullscreenModelVideoElement.mm:

(WebCore::VideoFullscreenModelVideoElement::isVisible const): Deleted.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(VideoFullscreenControllerContext::isVisible const): Deleted.

Source/WebKit:

Remove isVisible since it is no longer used.

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

(WebKit::VideoFullscreenModelContext::isVisible const): Deleted.
(WebKit::VideoFullscreenManagerProxy::isVisible const): Deleted.

1:14 PM Changeset in webkit [236933] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Remove dead code: resetMediaState.
https://bugs.webkit.org/show_bug.cgi?id=190355

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-10-08
Reviewed by Jon Lee.

Source/WebCore:

No new tests because no behavior change.

Remove resetMediaState since it is no longer used.

  • platform/cocoa/PlaybackSessionInterface.h:

(WebCore::PlaybackSessionInterface::~PlaybackSessionInterface):

  • platform/ios/PlaybackSessionInterfaceAVKit.h:
  • platform/ios/PlaybackSessionInterfaceAVKit.mm:

(WebCore::PlaybackSessionInterfaceAVKit::resetMediaState): Deleted.

  • platform/ios/WebAVPlayerController.h:
  • platform/ios/WebAVPlayerController.mm:

(-[WebAVPlayerController resetMediaState]): Deleted.

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

(WebCore::PlaybackSessionInterfaceMac::resetMediaState): Deleted.

Source/WebKit:

Remove resetMediaState since it is no longer used.

  • UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
  • UIProcess/Cocoa/PlaybackSessionManagerProxy.messages.in:
  • UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:

(WebKit::PlaybackSessionManagerProxy::resetMediaState): Deleted.

  • WebProcess/cocoa/PlaybackSessionManager.h:
  • WebProcess/cocoa/PlaybackSessionManager.mm:

(WebKit::PlaybackSessionInterfaceContext::resetMediaState): Deleted.

1:12 PM Changeset in webkit [236932] by Truitt Savell
  • 4 edits
    2 deletes in trunk/LayoutTests

Attempt to fix test failure after 236915
https://bugs.webkit.org/show_bug.cgi?id=190352

Unreviewed Test Gardening

LayoutTests/imported/w3c:

  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:

LayoutTests:

  • platform/mac-highsierra/hkdf.https.worker-expected.txt: Removed.
  • platform/mac/imported/w3c/canvas/2d.shadow.gradient.basic-expected.png: Removed.
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:
1:00 PM Changeset in webkit [236931] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Use MediaPlayerEnums::VideoGravity in VideoFullscreenModel.
https://bugs.webkit.org/show_bug.cgi?id=190357

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-10-08
Reviewed by Jon Lee.

Source/WebCore:

No new tests because no behavior change.

Use MediaPlayerEnums::VideoGravity instead of creating another identical enum in VideoFullscreenModel.

  • platform/cocoa/VideoFullscreenModel.h:

(): Deleted.

  • platform/cocoa/VideoFullscreenModelVideoElement.h:
  • platform/cocoa/VideoFullscreenModelVideoElement.mm:

(WebCore::VideoFullscreenModelVideoElement::setVideoLayerGravity):

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerLayer setVideoGravity:]):

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(VideoFullscreenControllerContext::setVideoLayerGravity):

  • platform/mac/VideoFullscreenInterfaceMac.mm:

(-[WebVideoFullscreenInterfaceMacObjC setUpPIPForVideoView:withFrame:inWindow:]):
(-[WebVideoFullscreenInterfaceMacObjC pipDidClose:]):

Source/WebKit:

Use MediaPlayerEnums::VideoGravity instead of creating another identical enum in VideoFullscreenModel.

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

(WebKit::VideoFullscreenModelContext::setVideoLayerGravity):
(WebKit::VideoFullscreenManagerProxy::setVideoLayerGravity):

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::setVideoLayerGravityEnum):

12:58 PM Changeset in webkit [236930] by achristensen@apple.com
  • 15 edits
    5 deletes in trunk

Remove WKBundleFileHandleRef
https://bugs.webkit.org/show_bug.cgi?id=190360

Reviewed by Tim Horton.

Source/WebKit:

WKBundleFrameGetJavaScriptWrapperForFileForWorld and WKBundleFileHandleCreateWithPath were only used in Mail
and were removed in rdar://problem/44955158
I need to remove them for rdar://problem/24576194

  • Shared/API/APIObject.h:
  • Shared/API/c/WKDeprecated.h:
  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKBundleFrameGetJavaScriptWrapperForFileForWorld):
(WKBundleFileHandleCreateWithPath):

  • Sources.txt:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
  • WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp: Removed.
  • WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h:
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameGetJavaScriptWrapperForFileForWorld): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.cpp: Removed.
  • WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.h: Removed.
  • WebProcess/WebPage/WebFrame.cpp:
  • WebProcess/WebPage/WebFrame.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp: Removed.
12:53 PM Changeset in webkit [236929] by Truitt Savell
  • 1 edit
    1 copy
    1 move in trunk/LayoutTests

Moving files to fix failures introduced in r236915
https://bugs.webkit.org/show_bug.cgi?id=190352

Unreviewed test gardening

  • platform/mac-highsierra/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Copied from LayoutTests/platform/mac/hkdf.https.worker-expected.txt.
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Renamed from LayoutTests/platform/mac/hkdf.https.worker-expected.txt.
12:12 PM Changeset in webkit [236928] by Konstantin Tokarev
  • 2 edits in trunk/Source/WebKit

Validation in Connection::readBytesFromSocket() is too aggressive
https://bugs.webkit.org/show_bug.cgi?id=190281

Reviewed by Michael Catanzaro.

Since r217206 Connection::readBytesFromSocket() validates size of
control message. However, it compares cmsg_len with attachmentMaxAmount,
while Connection::sendOutgoingMessage() computes it as
CMSG_LEN(sizeof(int) * attachmentFDBufferLength) where
attachmentFDBufferLength <= attachmentMaxAmount. This mismatch between
sender and receiver leads to possibility of assertion failure with large
number of attachments, e.g. here 62 attachments have cmsg_length == 264.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::readBytesFromSocket):

11:25 AM Changeset in webkit [236927] by Devin Rousso
  • 38 edits
    6 adds in trunk

Web Inspector: group media network entries by the node that triggered the request
https://bugs.webkit.org/show_bug.cgi?id=189606
<rdar://problem/44438527>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/Network.json:

Add an optional nodeId field to the Initiator object that is set it is possible to
determine which ancestor node triggered the load. It may not correspond directly to the node
with the href/src, as that url may only be used by an ancestor for loading.

Source/WebCore:

Test: http/tests/inspector/network/resource-initiatorNode.html

Add extra arguments to functions that create ResourceRequest objects for media resources so
that initiatorNodeIdentifier can be set for WebInspector frontend to use for grouping.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::setDisplayMode):

  • loader/FrameLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::willLoadMediaElementURL):
Handles initial (e.g. DNT) resource requests.

  • loader/ImageLoader.cpp:

(ImageLoader::updateFromElement):
Handles "poster" requests.

  • loader/MediaResourceLoader.cpp:

(MediaResourceLoader::requestResource):
Handles byte-range requests.

  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::loadTimerFired):

  • loader/TextTrackLoader.h:
  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::load):

  • html/HTMLTrackElement.h:

Handles <track> (e.g. subtitle) requests.

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::identifierForNode):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::identifierForNode):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::identifierForNodeImpl):
Allows callers to get a DOM.nodeId for the given Node, which is (in this patch) attached
to the ResourceRequest and later used by InspectorNetworkAgent.

  • inspector/agents/InspectorNetworkAgent.h:
  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::willSendRequest):
(WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorNetworkAgent::buildInitiatorObject):

  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::initiatorNodeIdentifier const):
(WebCore::ResourceRequestBase::setInitiatorNodeIdentifier):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::setAsIsolatedCopy):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):

  • inspector/InspectorCanvas.h:
  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildObjectForCanvas):

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::didCreateCanvasRenderingContext):
Don't try to push the canvas' node to the frontend, as this will create a dangling node in
InspectorDOMAgent if the canvas' node is detached from the DOM.

Source/WebInspectorUI:

Introduces a WI.NavigationItem for changing whether network entries are grouped by the
node that initiated the load (if applicable). When grouped by node, a tree-like layout of
the table cells (including expand/collapse) is used for resources that share the same
initiator node. The values for the node's cell are based on it's initated resources.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Controllers/DOMManager.js:

(WI.DOMManager):
(WI.DOMManager.prototype._mainResourceDidChange): Added.
Whenever the frame navigates, re-request the document so that NetworkAgent is able to send
valid nodeId for each request's initiatorNode. This means that the document should
always be available.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.get filterNavigationItems):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.tableSortChanged):
(WI.NetworkTableContentView.prototype.tableSelectedRowChanged):
(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._populateNameCell.createIconElement): Added.
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._populateDomainCell.createIconAndText): Added.
(WI.NetworkTableContentView.prototype._populateDomainCell):
(WI.NetworkTableContentView.prototype._populateInitiatorCell):
(WI.NetworkTableContentView.prototype._populateTransferSizeCell):
(WI.NetworkTableContentView.prototype._generateSortComparator):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._updateEntryForResource.updateExistingEntry): Added.
(WI.NetworkTableContentView.prototype._updateEntryForResource):
(WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
(WI.NetworkTableContentView.prototype._entryForDOMNode): Added.
(WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode): Added.
(WI.NetworkTableContentView.prototype._uniqueValuesForDOMNodeEntry): Added.
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange): Added.

  • UserInterface/Views/NetworkTableContentView.css:

(.network-table .cell.dom-node.name .icon): Added.
(.network-table .cell.dom-node.name .disclosure): Added.
(body[dir=rtl] .network-table .cell.dom-node.name .disclosure): Added.
(.network-table:focus li.selected .cell.dom-node.name .disclosure): Added.
(.network-table .cell.dom-node.name .disclosure.expanded): Added.
(.network-table:focus li.selected .cell.node.name .disclosure.expanded): Added.
(.network-table .cell.grouped-by-node.name): Added.
(body[dir=ltr] .network-table .cell.grouped-by-node.name): Added.
(body[dir=rtl] .network-table .cell.grouped-by-node.name): Added.
(.network-table li:not(.selected) .cell:matches(.cache-type, .multiple)): Added.
(.network-table li.selected .cell.domain > .lock): Added.
(.network-table .cache-type): Deleted.
When two resources are added that share the same initiatorNode, insert a node entry into
the WI.Table before the first resource entry for that node (based on the current sort).
This node entry is added after the resource entries are filtered, so they won't appear in
the default entries list.

  • UserInterface/Models/Resource.js:

(WI.Resource):
(WI.Resource.prototype.initiatorNode): Added.
(WI.Resource.prototype.requestedByteRange): Added.

  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.resourceRequestWillBeSent):
(WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
(WI.NetworkManager.prototype._initiatorNodeFromPayload): Added.

  • UserInterface/Images/Range.svg: Added.
  • UserInterface/Views/ResourceIcons.css:

(.resource-icon.resource-type-range .icon): Added.

LayoutTests:

  • http/tests/inspector/network/resource-initiatorNode-expected.txt: Added.
  • http/tests/inspector/network/resource-initiatorNode.html: Added.
  • inspector/canvas/requestNode.html:

Test case no longer needed since the document is always requested once it's available.

10:51 AM Changeset in webkit [236926] by Ryan Haddad
  • 2 edits in branches/safari-606.2.104.1-branch/LayoutTests

Unreviewed, update TestExpectations for <rdar://problem/44568702>.

  • platform/mac-wk2/TestExpectations:
10:34 AM Changeset in webkit [236925] by bshafiei@apple.com
  • 7 edits in tags/Safari-607.1.9.0.1/Source

Versioning.

10:32 AM Changeset in webkit [236924] by bshafiei@apple.com
  • 1 copy in tags/Safari-607.1.9.0.1

Tag Safari-607.1.9.0.1.

10:24 AM Changeset in webkit [236923] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: clicking initiator link in Network Tab table doesn't automatically switch to Preview section
https://bugs.webkit.org/show_bug.cgi?id=190286

Reviewed by Brian Burg.

  • UserInterface/Views/NetworkResourceDetailView.js:

(WI.NetworkResourceDetailView.prototype.shown):
(WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):

10:22 AM Changeset in webkit [236922] by aestes@apple.com
  • 6 edits in trunk

[Payment Request] Requests should be aborted after details settle when the user cancels
https://bugs.webkit.org/show_bug.cgi?id=190333

Reviewed by Alex Christensen.

Source/WebCore:

In Payment Request's "update a PaymentRequest's details" algorithm, user agents are expected
to disable the payment UI when PaymentRequest details are being updated by the merchant.
This is to prevent the user from accepting a payment before updated details are displayed.

Further, Payment Request's "user aborts the payment request" algorithm says that the
algorithm should be terminated prior to throwing an AbortError if the request is currently
being updated, and also that user agents SHOULD ensure this never occurs. This is based on
the assumption that payment UIs are disabled during details updates.

For Apple Pay, while it is true that a payment cannot be accepted by the user while details
are being updated by the merchant, the payment UI is not completely disabled. In particular,
the user is allowed to abort the payment while details are being updated. We need to honor
the user's request to abort without doing so in the middle of a details update.

This patch defers a user-initiated abort until after details are settled, at which point the
promise returned by show() is rejected with an AbortError. This behaves as if the details
update promise were rejected by the merchant.

Added a test case to http/tests/paymentrequest/payment-request-show-method.https.html.

  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::settleDetailsPromise):
(WebCore::PaymentRequest::whenDetailsSettled):
(WebCore::PaymentRequest::cancel):

  • Modules/paymentrequest/PaymentRequest.h:

LayoutTests:

  • http/tests/paymentrequest/payment-request-show-method.https-expected.txt:
  • http/tests/paymentrequest/payment-request-show-method.https.html:
10:19 AM Changeset in webkit [236921] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION (r235630?): [Mojave WK1] Layout test compositing/filters/opacity-change-on-filtered-paints-into-ancestor.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=189756

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:17 AM Changeset in webkit [236920] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: be more specific as to what types of WI.Collection are allowed for the Resources tab
https://bugs.webkit.org/show_bug.cgi?id=190304

Reviewed by Brian Burg.

  • UserInterface/Base/Main.js:

(WI.tabContentViewClassForRepresentedObject):

  • UserInterface/Views/ResourcesTabContentView.js:

(WI.ResourcesTabContentView.prototype.canShowRepresentedObject):

10:16 AM Changeset in webkit [236919] by realdawei@apple.com
  • 2 edits in trunk/LayoutTests

Layout Tests editing/deleting/delete-emoji.html editing/deleting/delete-emoji-1.html editing/deleting/delete-emoji-9.html are passing.
https://bugs.webkit.org/show_bug.cgi?id=190353

Unreviewed. Remove the tests from TestExpectations file.

  • platform/mac/TestExpectations:
10:15 AM Changeset in webkit [236918] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Open Resource Dialog should show path to resource (to disambiguate resources with same name)
https://bugs.webkit.org/show_bug.cgi?id=178153
<rdar://problem/34925686>

Reviewed by Brian Burg.

  • UserInterface/Views/OpenResourceDialog.js:

(WI.OpenResourceDialog.prototype._populateResourceTreeOutline):

  • UserInterface/Views/OpenResourceDialog.css:

(.open-resource-dialog .tree-outline.large .item .titles[data-path]): Added.
(.open-resource-dialog .tree-outline.large .item .titles[data-path]::after): Added.
(.open-resource-dialog .tree-outline.large .item .titles .title): Added.
(.open-resource-dialog .tree-outline.large .item .titles .subtitle): Added.
(.open-resource-dialog .tree-outline.large .item .titles): Deleted.

10:12 AM Changeset in webkit [236917] by Chris Dumez
  • 51 edits in trunk/Source

Have DOMWindowProperty get is frame from its associated DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=190341

Reviewed by Alex Christensen.

Source/WebCore:

Have DOMWindowProperty get is frame from its associated DOMWindow, instead of having its own
m_frame that can potentially get out-of-sync.

  • Modules/cache/DOMWindowCaches.cpp:

(WebCore::DOMWindowCaches::DOMWindowCaches):

  • Modules/geolocation/NavigatorGeolocation.cpp:

(WebCore::NavigatorGeolocation::NavigatorGeolocation):
(WebCore::NavigatorGeolocation::from):

  • Modules/geolocation/NavigatorGeolocation.h:
  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):

  • Modules/mediastream/NavigatorMediaDevices.cpp:

(WebCore::NavigatorMediaDevices::NavigatorMediaDevices):
(WebCore::NavigatorMediaDevices::from):

  • Modules/mediastream/NavigatorMediaDevices.h:
  • Modules/quota/DOMWindowQuota.cpp:

(WebCore::DOMWindowQuota::DOMWindowQuota):

  • Modules/quota/NavigatorStorageQuota.cpp:

(WebCore::NavigatorStorageQuota::NavigatorStorageQuota):

  • Modules/quota/NavigatorStorageQuota.h:
  • Modules/speech/DOMWindowSpeechSynthesis.cpp:

(WebCore::DOMWindowSpeechSynthesis::DOMWindowSpeechSynthesis):

  • css/StyleMedia.cpp:

(WebCore::StyleMedia::StyleMedia):
(WebCore::StyleMedia::type const):
(WebCore::StyleMedia::matchMedium const):

  • css/StyleMedia.h:
  • loader/appcache/DOMApplicationCache.cpp:

(WebCore::DOMApplicationCache::DOMApplicationCache):
(WebCore::DOMApplicationCache::applicationCacheHost const):
(WebCore::DOMApplicationCache::scriptExecutionContext const):

  • loader/appcache/DOMApplicationCache.h:
  • page/BarProp.cpp:

(WebCore::BarProp::BarProp):
(WebCore::BarProp::visible const):

  • page/BarProp.h:

(WebCore::BarProp::create):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::DOMSelection):
(WebCore::DOMSelection::visibleSelection const):
(WebCore::DOMSelection::anchorNode const):
(WebCore::DOMSelection::anchorOffset const):
(WebCore::DOMSelection::focusNode const):
(WebCore::DOMSelection::focusOffset const):
(WebCore::DOMSelection::baseNode const):
(WebCore::DOMSelection::baseOffset const):
(WebCore::DOMSelection::extentNode const):
(WebCore::DOMSelection::extentOffset const):
(WebCore::DOMSelection::isCollapsed const):
(WebCore::DOMSelection::type const):
(WebCore::DOMSelection::rangeCount const):
(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::collapseToEnd):
(WebCore::DOMSelection::collapseToStart):
(WebCore::DOMSelection::empty):
(WebCore::DOMSelection::setBaseAndExtent):
(WebCore::DOMSelection::setPosition):
(WebCore::DOMSelection::modify):
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::removeAllRanges):
(WebCore::DOMSelection::addRange):
(WebCore::DOMSelection::deleteFromDocument):
(WebCore::DOMSelection::containsNode const):
(WebCore::DOMSelection::toString):
(WebCore::DOMSelection::shadowAdjustedNode const):
(WebCore::DOMSelection::shadowAdjustedOffset const):
(WebCore::DOMSelection::isValidForPosition const):

  • page/DOMSelection.h:

(WebCore::DOMSelection::create):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::screen):
(WebCore::DOMWindow::history):
(WebCore::DOMWindow::locationbar):
(WebCore::DOMWindow::menubar):
(WebCore::DOMWindow::personalbar):
(WebCore::DOMWindow::scrollbars):
(WebCore::DOMWindow::statusbar):
(WebCore::DOMWindow::toolbar):
(WebCore::DOMWindow::applicationCache):
(WebCore::DOMWindow::navigator):
(WebCore::DOMWindow::location):
(WebCore::DOMWindow::visualViewport):
(WebCore::DOMWindow::webkitNamespace):
(WebCore::DOMWindow::getSelection):
(WebCore::DOMWindow::styleMedia):

  • page/DOMWindow.h:
  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::DOMWindowExtension):

  • page/DOMWindowExtension.h:

(WebCore::DOMWindowExtension::create):

  • page/DOMWindowProperty.cpp:

(WebCore::DOMWindowProperty::DOMWindowProperty):
(WebCore::DOMWindowProperty::~DOMWindowProperty):
(WebCore::DOMWindowProperty::disconnectFrameForDocumentSuspension):
(WebCore::DOMWindowProperty::reconnectFrameFromDocumentSuspension):
(WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame):
(WebCore::DOMWindowProperty::willDestroyGlobalObjectInFrame):
(WebCore::DOMWindowProperty::willDetachGlobalObjectFromFrame):
(WebCore::DOMWindowProperty::frame const):

  • page/DOMWindowProperty.h:

(WebCore::DOMWindowProperty::window const):

  • page/History.cpp:

(WebCore::History::History):
(WebCore::History::length const):
(WebCore::History::scrollRestoration const):
(WebCore::History::setScrollRestoration):
(WebCore::History::stateInternal const):
(WebCore::History::go):
(WebCore::History::urlForState):
(WebCore::History::stateObjectAdded):

  • page/History.h:
  • page/Location.cpp:

(WebCore::Location::Location):
(WebCore::Location::url const):
(WebCore::Location::href const):
(WebCore::Location::protocol const):
(WebCore::Location::host const):
(WebCore::Location::hostname const):
(WebCore::Location::port const):
(WebCore::Location::pathname const):
(WebCore::Location::search const):
(WebCore::Location::origin const):
(WebCore::Location::ancestorOrigins const):
(WebCore::Location::hash const):
(WebCore::Location::setHref):
(WebCore::Location::setProtocol):
(WebCore::Location::setHost):
(WebCore::Location::setHostname):
(WebCore::Location::setPort):
(WebCore::Location::setPathname):
(WebCore::Location::setSearch):
(WebCore::Location::setHash):
(WebCore::Location::assign):
(WebCore::Location::replace):
(WebCore::Location::reload):
(WebCore::Location::setLocation):

  • page/Location.h:

(WebCore::Location::create):

  • page/Navigator.cpp:

(WebCore::Navigator::Navigator):
(WebCore::Navigator::appVersion const):
(WebCore::Navigator::userAgent const):
(WebCore::Navigator::share):
(WebCore::Navigator::plugins):
(WebCore::Navigator::mimeTypes):
(WebCore::Navigator::cookieEnabled const):
(WebCore::Navigator::javaEnabled const):
(WebCore::Navigator::standalone const):

  • page/Navigator.h:
  • page/Performance.cpp:

(WebCore::Performance::navigation):
(WebCore::Performance::timing):

  • page/PerformanceNavigation.cpp:

(WebCore::PerformanceNavigation::PerformanceNavigation):
(WebCore::PerformanceNavigation::type const):
(WebCore::PerformanceNavigation::redirectCount const):

  • page/PerformanceNavigation.h:

(WebCore::PerformanceNavigation::create):

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::PerformanceTiming):
(WebCore::PerformanceTiming::documentLoader const):
(WebCore::PerformanceTiming::documentTiming const):

  • page/PerformanceTiming.h:

(WebCore::PerformanceTiming::create):

  • page/Screen.cpp:

(WebCore::Screen::Screen):
(WebCore::Screen::height const):
(WebCore::Screen::width const):
(WebCore::Screen::colorDepth const):
(WebCore::Screen::pixelDepth const):
(WebCore::Screen::availLeft const):
(WebCore::Screen::availTop const):
(WebCore::Screen::availHeight const):
(WebCore::Screen::availWidth const):

  • page/Screen.h:
  • page/VisualViewport.cpp:

(WebCore::VisualViewport::VisualViewport):
(WebCore::VisualViewport::scriptExecutionContext const):
(WebCore::VisualViewport::addEventListener):
(WebCore::VisualViewport::updateFrameLayout const):
(WebCore::VisualViewport::offsetLeft const):
(WebCore::VisualViewport::offsetTop const):
(WebCore::VisualViewport::pageLeft const):
(WebCore::VisualViewport::pageTop const):
(WebCore::VisualViewport::width const):
(WebCore::VisualViewport::height const):
(WebCore::VisualViewport::scale const):
(WebCore::VisualViewport::update):
(WebCore::VisualViewport::enqueueResizeEvent):
(WebCore::VisualViewport::enqueueScrollEvent):

  • page/VisualViewport.h:
  • page/WebKitNamespace.cpp:

(WebCore::WebKitNamespace::WebKitNamespace):

  • page/WebKitNamespace.h:

(WebCore::WebKitNamespace::create):

  • plugins/DOMMimeTypeArray.cpp:

(WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
(WebCore::DOMMimeTypeArray::item):
(WebCore::DOMMimeTypeArray::namedItem):
(WebCore::DOMMimeTypeArray::getPluginData const):

  • plugins/DOMMimeTypeArray.h:

(WebCore::DOMMimeTypeArray::create):

  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::DOMPluginArray):
(WebCore::DOMPluginArray::item):
(WebCore::DOMPluginArray::namedItem):
(WebCore::DOMPluginArray::refresh):
(WebCore::DOMPluginArray::pluginData const):

  • plugins/DOMPluginArray.h:

(WebCore::DOMPluginArray::create):

  • storage/Storage.cpp:

(WebCore::Storage::create):
(WebCore::Storage::Storage):
(WebCore::Storage::setItem):
(WebCore::Storage::removeItem):
(WebCore::Storage::clear):

  • storage/Storage.h:

Source/WebKit:

  • WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:

(WebKit::InjectedBundleDOMWindowExtension::InjectedBundleDOMWindowExtension):

9:58 AM Changeset in webkit [236916] by realdawei@apple.com
  • 2 edits in trunk/LayoutTests

Layout Tests editing/deleting/delete-emoji.html editing/deleting/delete-emoji-1.html editing/deleting/delete-emoji-9.html are passing.
https://bugs.webkit.org/show_bug.cgi?id=190353

Unreviewed test gardening.

Patch by Dawei Fenton <realdawei@apple.com> on 2018-10-08

  • platform/mac/TestExpectations:
9:48 AM Changeset in webkit [236915] by Truitt Savell
  • 3 edits
    2 copies
    1 add in trunk/LayoutTests

Rebaseline imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker.html for Mojave
https://bugs.webkit.org/show_bug.cgi?id=190352

LayoutTests/imported/w3c:

Unreviewed Test Expetations

  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:

LayoutTests:

Unreviewed test Gardening

  • platform/mac-highsierra/hkdf.https.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt.
  • platform/mac/hkdf.https.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt.
  • platform/mac/imported/w3c/canvas/2d.shadow.gradient.basic-expected.png: Added.
9:09 AM Changeset in webkit [236914] by Antti Koivisto
  • 9 edits
    1 copy
    1 add in trunk

Move FontCascadeDescription to a file of its own
https://bugs.webkit.org/show_bug.cgi?id=190348

Reviewed by Chris Dumez.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontCascade.h:
  • platform/graphics/FontCascadeDescription.cpp: Copied from Source/WebCore/platform/graphics/FontDescription.cpp.

(WebCore::FontDescription::FontDescription): Deleted.
(WebCore::m_shouldAllowUserInstalledFonts): Deleted.
(WebCore::FontDescription::setLocale): Deleted.
(WebCore::FontDescription::invalidateCaches): Deleted.

  • platform/graphics/FontCascadeDescription.h: Copied from Source/WebCore/platform/graphics/FontDescription.h.

(WebCore::FontDescription::operator!= const): Deleted.
(WebCore::FontDescription::computedSize const): Deleted.
(WebCore::FontDescription::computedPixelSize const): Deleted.
(WebCore::FontDescription::italic const): Deleted.
(WebCore::FontDescription::stretch const): Deleted.
(WebCore::FontDescription::weight const): Deleted.
(WebCore::FontDescription::fontSelectionRequest const): Deleted.
(WebCore::FontDescription::renderingMode const): Deleted.
(WebCore::FontDescription::textRenderingMode const): Deleted.
(WebCore::FontDescription::script const): Deleted.
(WebCore::FontDescription::locale const): Deleted.
(WebCore::FontDescription::orientation const): Deleted.
(WebCore::FontDescription::nonCJKGlyphOrientation const): Deleted.
(WebCore::FontDescription::widthVariant const): Deleted.
(WebCore::FontDescription::featureSettings const): Deleted.
(WebCore::FontDescription::variationSettings const): Deleted.
(WebCore::FontDescription::fontSynthesis const): Deleted.
(WebCore::FontDescription::variantCommonLigatures const): Deleted.
(WebCore::FontDescription::variantDiscretionaryLigatures const): Deleted.
(WebCore::FontDescription::variantHistoricalLigatures const): Deleted.
(WebCore::FontDescription::variantContextualAlternates const): Deleted.
(WebCore::FontDescription::variantPosition const): Deleted.
(WebCore::FontDescription::variantCaps const): Deleted.
(WebCore::FontDescription::variantNumericFigure const): Deleted.
(WebCore::FontDescription::variantNumericSpacing const): Deleted.
(WebCore::FontDescription::variantNumericFraction const): Deleted.
(WebCore::FontDescription::variantNumericOrdinal const): Deleted.
(WebCore::FontDescription::variantNumericSlashedZero const): Deleted.
(WebCore::FontDescription::variantAlternates const): Deleted.
(WebCore::FontDescription::variantEastAsianVariant const): Deleted.
(WebCore::FontDescription::variantEastAsianWidth const): Deleted.
(WebCore::FontDescription::variantEastAsianRuby const): Deleted.
(WebCore::FontDescription::variantSettings const): Deleted.
(WebCore::FontDescription::opticalSizing const): Deleted.
(WebCore::FontDescription::fontStyleAxis const): Deleted.
(WebCore::FontDescription::shouldAllowUserInstalledFonts const): Deleted.
(WebCore::FontDescription::setComputedSize): Deleted.
(WebCore::FontDescription::setItalic): Deleted.
(WebCore::FontDescription::setStretch): Deleted.
(WebCore::FontDescription::setIsItalic): Deleted.
(WebCore::FontDescription::setWeight): Deleted.
(WebCore::FontDescription::setRenderingMode): Deleted.
(WebCore::FontDescription::setTextRenderingMode): Deleted.
(WebCore::FontDescription::setOrientation): Deleted.
(WebCore::FontDescription::setNonCJKGlyphOrientation): Deleted.
(WebCore::FontDescription::setWidthVariant): Deleted.
(WebCore::FontDescription::setFeatureSettings): Deleted.
(WebCore::FontDescription::setVariationSettings): Deleted.
(WebCore::FontDescription::setFontSynthesis): Deleted.
(WebCore::FontDescription::setVariantCommonLigatures): Deleted.
(WebCore::FontDescription::setVariantDiscretionaryLigatures): Deleted.
(WebCore::FontDescription::setVariantHistoricalLigatures): Deleted.
(WebCore::FontDescription::setVariantContextualAlternates): Deleted.
(WebCore::FontDescription::setVariantPosition): Deleted.
(WebCore::FontDescription::setVariantCaps): Deleted.
(WebCore::FontDescription::setVariantNumericFigure): Deleted.
(WebCore::FontDescription::setVariantNumericSpacing): Deleted.
(WebCore::FontDescription::setVariantNumericFraction): Deleted.
(WebCore::FontDescription::setVariantNumericOrdinal): Deleted.
(WebCore::FontDescription::setVariantNumericSlashedZero): Deleted.
(WebCore::FontDescription::setVariantAlternates): Deleted.
(WebCore::FontDescription::setVariantEastAsianVariant): Deleted.
(WebCore::FontDescription::setVariantEastAsianWidth): Deleted.
(WebCore::FontDescription::setVariantEastAsianRuby): Deleted.
(WebCore::FontDescription::setOpticalSizing): Deleted.
(WebCore::FontDescription::setFontStyleAxis): Deleted.
(WebCore::FontDescription::setShouldAllowUserInstalledFonts): Deleted.
(WebCore::FontDescription::operator== const): Deleted.

  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::invalidateCaches):
(WebCore::FontCascadeDescription::FontCascadeDescription): Deleted.
(WebCore::FontCascadeDescription::effectiveFamilyCount const): Deleted.
(WebCore::FontCascadeDescription::effectiveFamilyAt const): Deleted.
(WebCore::FontCascadeDescription::lighterWeight): Deleted.
(WebCore::FontCascadeDescription::bolderWeight): Deleted.
(WebCore::FontCascadeDescription::familiesEqualForTextAutoSizing const): Deleted.
(WebCore::FontCascadeDescription::familyNamesAreEqual): Deleted.
(WebCore::FontCascadeDescription::familyNameHash): Deleted.
(WebCore::FontCascadeDescription::foldedFamilyName): Deleted.

  • platform/graphics/FontDescription.h:

(WebCore::FontCascadeDescription::operator!= const): Deleted.
(WebCore::FontCascadeDescription::familyCount const): Deleted.
(WebCore::FontCascadeDescription::firstFamily const): Deleted.
(WebCore::FontCascadeDescription::familyAt const): Deleted.
(WebCore::FontCascadeDescription::families const): Deleted.
(WebCore::FontCascadeDescription::specifiedSize const): Deleted.
(WebCore::FontCascadeDescription::isAbsoluteSize const): Deleted.
(WebCore::FontCascadeDescription::lighterWeight const): Deleted.
(WebCore::FontCascadeDescription::bolderWeight const): Deleted.
(WebCore::FontCascadeDescription::useFixedDefaultSize const): Deleted.
(WebCore::FontCascadeDescription::kerning const): Deleted.
(WebCore::FontCascadeDescription::keywordSize const): Deleted.
(WebCore::FontCascadeDescription::keywordSizeAsIdentifier const): Deleted.
(WebCore::FontCascadeDescription::fontSmoothing const): Deleted.
(WebCore::FontCascadeDescription::isSpecifiedFont const): Deleted.
(WebCore::FontCascadeDescription::setOneFamily): Deleted.
(WebCore::FontCascadeDescription::setFamilies): Deleted.
(WebCore::FontCascadeDescription::setSpecifiedSize): Deleted.
(WebCore::FontCascadeDescription::setIsAbsoluteSize): Deleted.
(WebCore::FontCascadeDescription::setKerning): Deleted.
(WebCore::FontCascadeDescription::setKeywordSize): Deleted.
(WebCore::FontCascadeDescription::setKeywordSizeFromIdentifier): Deleted.
(WebCore::FontCascadeDescription::setFontSmoothing): Deleted.
(WebCore::FontCascadeDescription::setIsSpecifiedFont): Deleted.
(WebCore::FontCascadeDescription::equalForTextAutoSizing const): Deleted.
(WebCore::FontCascadeDescription::initialItalic): Deleted.
(WebCore::FontCascadeDescription::initialFontStyleAxis): Deleted.
(WebCore::FontCascadeDescription::initialWeight): Deleted.
(WebCore::FontCascadeDescription::initialStretch): Deleted.
(WebCore::FontCascadeDescription::initialSmallCaps): Deleted.
(WebCore::FontCascadeDescription::initialKerning): Deleted.
(WebCore::FontCascadeDescription::initialFontSmoothing): Deleted.
(WebCore::FontCascadeDescription::initialTextRenderingMode): Deleted.
(WebCore::FontCascadeDescription::initialFontSynthesis): Deleted.
(WebCore::FontCascadeDescription::initialVariantPosition): Deleted.
(WebCore::FontCascadeDescription::initialVariantCaps): Deleted.
(WebCore::FontCascadeDescription::initialVariantAlternates): Deleted.
(WebCore::FontCascadeDescription::initialOpticalSizing): Deleted.
(WebCore::FontCascadeDescription::initialLocale): Deleted.
(WebCore::FontCascadeDescription::operator== const): Deleted.

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
  • rendering/style/RenderStyle.h:
6:55 AM Changeset in webkit [236913] by mitz@apple.com
  • 32 edits in trunk

Source/ThirdParty:
gtest part of [Xcode] Update some build settings as recommended by Xcode 10
https://bugs.webkit.org/show_bug.cgi?id=190250

Reviewed by Anders Carlsson.

Didn’t turn on any of the warnings Xcode recommended for this third-party test support
library.

  • gtest/xcode/Config/DebugProject.xcconfig: Set the deployment target in engineering builds like we do in other projects. This addresses a build-time warning when building clients of the library that its deployment target doesn’t match theirs.
  • gtest/xcode/Config/ReleaseProject.xcconfig: Ditto.
  • gtest/xcode/gtest.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.

Tools:
Tools part of [Xcode] Update some build settings as recommended by Xcode 10
https://bugs.webkit.org/show_bug.cgi?id=190250

Reviewed by Anders Carlsson.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
  • DumpRenderTree/mac/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
  • DumpRenderTree/mac/DumpRenderTreeMac.h: Addressed the strict prototype warning.
  • DumpRenderTree/mac/EditingDelegate.mm: Suppressed the deprecated implementations warning around deprecated methods or categories on deprecated classes.
  • DumpRenderTree/mac/FrameLoadDelegate.mm: Ditto.

(-[FrameLoadDelegate webView:windowScriptObjectAvailable:]):

  • DumpRenderTree/mac/TestRunnerMac.mm: Ditto.

(-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):

  • MiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
  • MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
  • MiniBrowser/mac/AppDelegate.h: Addressed the strict prototypes warning.
  • MiniBrowser/mac/WK2BrowserWindowController.m: Removed an unused #import to avoid having to address the fact that many of the WebKit C SPI headers trigger the strict prototypes warning.
  • MobileMiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_SUSPICIOUS_MOVE (by fixing a typo), CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
  • MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck and remove the .xcconfig files from the Copy Bundle Resources build phase.
  • TestWebKitAPI/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED. Made the WebKit headers be treated as system headers to avoid dealing with the fact that many C SPI headers trigger the strict prototypes warning.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(-[DownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
(-[BlobDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
(-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
(-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):

  • TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:

(-[AudioSessionCategoryUIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):

  • TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:

(-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
(-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):

  • TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:

(-[SetTimeoutFunctionWebViewDelegate webViewDidFinishLoad:]):
(-[SetTimeoutFunctionWebViewDelegate webView:didFailLoadWithError:]):
(-[SetTimeoutFunctionWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):

  • TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:

(-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):

  • TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:

(-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):

  • TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.m:

(-[SyntheticBackingScaleFactorWindow IGNORE_WARNINGS_END]):
(-[SyntheticBackingScaleFactorWindow userSpaceScaleFactor]): Deleted.

  • TestWebKitAPI/mac/TestDraggingInfo.mm:

(-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):

In all of the above, suppressed the deprecated implementations warning where needed.

  • WebKitTestRunner/Configurations/Base.xcconfig: Enabled ENABLE_STRICT_OBJC_MSGSEND, CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_COMMA, CLANG_WARN_CONSTANT_CONVERSION, CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_UNREACHABLE_CODE, CLANG_WARNDUPLICATE_METHOD_MATCH, GCC_WARN_UNDECLARED_SELECTOR, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and GCC_NO_COMMON_BLOCKS.
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]): Suppressed

the deprecated implementations warning.

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::replaceTextAtRange): Addressed an int-conversion warning.

6:25 AM Changeset in webkit [236912] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[EME][GStreamer] Add support for WebM encrypted caps "application/x-webm-enc"
https://bugs.webkit.org/show_bug.cgi?id=189239

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-10-08
Reviewed by Xabier Rodriguez-Calvar.

Add the support of GStreamer caps "application/x-webm-enc" in GStreamerCommon.

The DRM system id field in the encrypted event is set to GST_PROTECTION_UNSPECIFIED_SYSTEM_ID
in case of WebM, for details, see https://bugzilla.gnome.org/attachment.cgi?id=365211.

Tests: media/encrypted-media/clearKey/clearKey-encrypted-webm-eventmse.html

media/encrypted-media/clearKey/clearKey-webm-video-playback-mse.html

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::capsMediaType):
(WebCore::areEncryptedCaps):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):

  • platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:

(webkitMediaCommonEncryptionDecryptTransformCaps):

4:18 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)

Oct 7, 2018:

11:18 PM Changeset in webkit [236911] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk/Tools

[GStreamer][EME][webm] Add the WebM encrypted content support in matroskademux
https://bugs.webkit.org/show_bug.cgi?id=189238

Patch by Yacine Bandou <yacine.bandou@softathome.com> on 2018-10-07
Reviewed by Xabier Rodriguez-Calvar.

Modifications on GStreamer, tracked in GStreamer bugzilla:
https://bugzilla.gnome.org/show_bug.cgi?id=797231
https://bugzilla.gnome.org/show_bug.cgi?id=765275

  • gstreamer/jhbuild.modules: Add new patches.
  • gstreamer/patches/gstreamer-0001-protection-Add-a-new-definition-for-unspecified-syst.patch: Added.
  • gstreamer/patches/gstreamer-0002-protection-Fix-the-string-to-define-unspecified-syst.patch: Added.
  • gstreamer/patches/gst-plugins-good-0011-matroska-Add-the-WebM-encrypted-content-support-in-m.patch: Added.
  • gstreamer/patches/gst-plugins-good-0012-matroskdemux-do-not-use-MapInfo.data-after-unmapping.patch: Added.
3:53 PM Changeset in webkit [236910] by mitz@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/mac

Fixed building with the latest macOS SDK

  • Plugins/WebNetscapePluginPackage.mm:

(-[WebNetscapePluginPackage openResourceFile]):
(-[WebNetscapePluginPackage closeResourceFile:]):

1:09 PM Changeset in webkit [236909] by mark.lam@apple.com
  • 3 edits in trunk/Source/WTF

Adding some temporary asserts with data logging to debug a mysterious ASAN bot crash.
https://bugs.webkit.org/show_bug.cgi?id=190334
<rdar://problem/45071303>

Reviewed by Yusuke Suzuki.

These assertions are needed because we can't reproduce the issue locally.
We'll remove these asserts after the needed data has been collected from the bot.

  • wtf/StackBounds.cpp:

(WTF::StackBounds::newThreadStackBounds):

  • wtf/StackBounds.h:

(WTF::StackBounds::checkConsistency const):

9:51 AM Changeset in webkit [236908] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Tried to fix HAVE(LINK_PREVIEW) iOS builds.

  • UIProcess/WKImagePreviewViewController.mm:

(-[WKImagePreviewViewController previewActions]):

9:48 AM Changeset in webkit [236907] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed building with the latest macOS SDK

  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::ensurePlatformContext): Suppressed deprecation warnings around use of

CGIOSurfaceContextSetDisplayMask.

9:21 AM Changeset in webkit [236906] by yusukesuzuki@slowstart.org
  • 4 edits in trunk/Source/JavaScriptCore

[JSC][Linux] Use non-truncated name for JIT workers in Linux
https://bugs.webkit.org/show_bug.cgi?id=190339

Reviewed by Mark Lam.

The current thread names are meaningless in Linux environment. We do not want to
have truncated name in Linux: we want to have clear name in Linux. Instead, we
should have the name for Linux separately from the name used in the non-Linux
environments. This patch adds FTLWorker, DFGWorker, and JITWorker names for
Linux environment.

  • dfg/DFGWorklist.cpp:

(JSC::DFG::createWorklistName):
(JSC::DFG::Worklist::Worklist):
(JSC::DFG::Worklist::create):
(JSC::DFG::ensureGlobalDFGWorklist):
(JSC::DFG::ensureGlobalFTLWorklist):

  • dfg/DFGWorklist.h:
  • jit/JITWorklist.cpp:
9:14 AM Changeset in webkit [236905] by yusukesuzuki@slowstart.org
  • 5 edits in trunk/Source

Name Heap threads
https://bugs.webkit.org/show_bug.cgi?id=190337

Reviewed by Mark Lam.

Source/JavaScriptCore:

Name heap threads as "Heap Helper Thread". In Linux, we name it "HeapHelper" since
Linux does not accept the name longer than 15. We do not want to use the short name
for non-Linux environment. And we want to have clear name in Linux: truncated name
is not good. So, having the two names is the only way.

  • heap/HeapHelperPool.cpp:

(JSC::heapHelperPool):

Source/WTF:

Add a functionality naming threads of ParallelHelperPool.

  • wtf/ParallelHelperPool.cpp:

(WTF::ParallelHelperPool::ParallelHelperPool):

  • wtf/ParallelHelperPool.h:
2:32 AM Changeset in webkit [236904] by yusukesuzuki@slowstart.org
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Avoid creating ProgramExecutable in checkSyntax
https://bugs.webkit.org/show_bug.cgi?id=190332

Reviewed by Mark Lam.

uglify-js in web-tooling-benchmark executes massive number of Function constructor calls.
In Function constructor code, we perform checkSyntax for body and parameters. So fast checkSyntax
is important when the performance of Function constructor matters. Current checkSyntax code
unnecessarily allocates ProgramExecutable. This patch removes this allocation and improves
the benchmark score slightly.

Before:

uglify-js: 2.87 runs/s

After:

uglify-js: 2.94 runs/s

  • runtime/Completion.cpp:

(JSC::checkSyntaxInternal):
(JSC::checkSyntax):

  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::checkSyntax): Deleted.

  • runtime/ProgramExecutable.h:
Note: See TracTimeline for information about the timeline view.