Timeline
Nov 30, 2020:
- 11:02 PM Changeset in webkit [270285] by
-
- 3 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening. Update baselines after r270269.
- platform/glib/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt:
- 10:49 PM Changeset in webkit [270284] by
-
- 4 edits in trunk/Source
[macOS] Adopt SPI to prevent establishing XPC connections to Launch Services
https://bugs.webkit.org/show_bug.cgi?id=219173
<rdar://problem/71595536>
Reviewed by Alex Christensen.
Source/WebCore/PAL:
Declare enum value to be used when adopting the SPI.
- pal/spi/cocoa/LaunchServicesSPI.h:
Source/WebKit:
Adopt SPI to prevent establishing XPC connections to Launch Services in the WebContent process on macOS.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 8:47 PM Changeset in webkit [270283] by
-
- 4 edits in trunk/Source/JavaScriptCore
Making module entry promise-like by setting "then"
https://bugs.webkit.org/show_bug.cgi?id=216695
Reviewed by Saam Barati.
Setting then: @undefined to make entry promise-like.
We also optimize @InternalPromise.internalAll a bit.
- builtins/InternalPromiseConstructor.js:
(internalAll.newResolveElement):
(internalAll):
- builtins/ModuleLoader.js:
(globalPrivate.newRegistryEntry):
(requestImportModule):
(async requestImportModule): Deleted.
- builtins/PromiseOperations.js:
(globalPrivate.fulfillPromiseWithFirstResolvingFunctionCallCheck):
- 7:59 PM Changeset in webkit [270282] by
-
- 3 edits in trunk/Tools
check-webkit-style should allow WebKitAdditions headers to appear after soft linking headers
https://bugs.webkit.org/show_bug.cgi?id=219382
Reviewed by Darin Adler.
The header include ordering rule that forces soft linking headers to be included last in implementation (cpp and
mm) files shouldn't really apply to WebKitAdditions headers, since those additions headers are only meant to
contain method and function implementations anyways.
Fix this by adding code to recognize WebKitAdditions headers as a special type of header, and exempt these
headers from the'*SoftLink.h header should be included after all other headers.'
rule.
- Scripts/webkitpy/style/checkers/cpp.py:
(_IncludeState):
(_IncludeState.check_next_include_order):
(_classify_include):
- Scripts/webkitpy/style/checkers/cpp_unittest.py: Add a test case to exercise this scenario.
- 6:37 PM Changeset in webkit [270281] by
-
- 4 edits in trunk/Source/WebCore
[WebAccessibilityObjectWrapper doAXAttributedStringForRange] needs to run on the main thread.
https://bugs.webkit.org/show_bug.cgi?id=219360
Reviewed by Chris Fleizach.
Dispatch this call to the main thread in isolated tree mode.
In addition, moved several TextMarker static functions and ObjectiveC
wrappers out of the WebAccessibilityObjectWrapper implementation in an
ongoing effort to move core code out of the accessibility platform
wrapper.
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::textMarkerRangeFromMarkers):
(WebCore::startOrEndTextMarkerForRange):
(WebCore::textMarkerRangeFromRange):
- accessibility/mac/WebAccessibilityObjectWrapperMac.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXAttributedStringForRange:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromRange:]): Deleted,
not needed, instead call the C function directly.
(textMarkerRangeFromRange): Deleted, moved to AXObjectCacheMac.mm.
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForRange:isStart:]):
Deleted, not needed, instead call the C function directly.
(startOrEndTextmarkerForRange): Deleted, Moved to AXObjectCacheMac.mm.
- 6:18 PM Changeset in webkit [270280] by
-
- 9 edits3 deletes in trunk/Source/WebKit
Unreviewed, reverting r270275.
Broke canvas painting
Reverted changeset:
"GPU Process: IOSurfaces should not be mapped into the Web
Content Process"
https://bugs.webkit.org/show_bug.cgi?id=219368
https://trac.webkit.org/changeset/270275
- 6:09 PM Changeset in webkit [270279] by
-
- 3 edits in trunk/Source/WebKit
[WinCairo?] GPU process remains alive even after UI process exited
https://bugs.webkit.org/show_bug.cgi?id=219321
Reviewed by Don Olmstead.
GPUConnectionToWebProcess::didClose is called when web process
exits, and GPUProcess::didClose is called when UI process exits in
GPU process. GPUProcess::didClose should terminate the GPU
process.
AuxiliaryProcess is the base class of GPUProcess.
AuxiliaryProcess::didClose is calling _exit. However, GPUProcess
overrode AuxiliaryProcess::didClose but it did nothing. GPUProcess
doesn't need to override it.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::didClose): Deleted.
- GPUProcess/GPUProcess.h:
- 5:29 PM Changeset in webkit [270278] by
-
- 20 edits in trunk/Source
Pass OptionSet<EventHandling> to various wheel event handler functions
https://bugs.webkit.org/show_bug.cgi?id=219373
Reviewed by Tim Horton.
Source/WebCore:
Fixing webkit.org/b/218764 will require that code that dispatches wheel events
can tell later whether script called preventDefault() on the event, since this
will affect whether the rest of the wheel events in a gesture are cancelable.
To prepare for this, pass OptionSet<EventHandling> around in event handling
code.
No behavior change.
- dom/Element.cpp:
(WebCore::Element::dispatchWheelEvent):
- page/EventHandler.cpp:
(WebCore::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::processWheelEventForScrolling):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::handleWheelEventInternal):
(WebCore::EventHandler::defaultWheelEventHandler):
- page/EventHandler.h:
- page/FrameView.cpp:
(WebCore::FrameView::handleWheelEventForScrolling):
- page/FrameView.h:
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::processWheelEventForScrolling):
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::handleWheelEventForScrolling):
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingCoordinatorMac.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::handleWheelEventForScrolling):
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:
(WebCore::ScrollingCoordinatorNicosia::handleWheelEventForScrolling):
(WebCore::ScrollingCoordinatorNicosia::wheelEventWasProcessedByMainThread):
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.h:
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::handleWheelEventForScrolling):
- platform/ScrollableArea.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::handleWheelEventForScrolling):
- rendering/RenderLayer.h:
Source/WebKit:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::handleWheelEvent):
- 4:46 PM Changeset in webkit [270277] by
-
- 2 edits108 copies96 adds4 deletes in trunk/PerformanceTests
Add C and ObjC tests to APIBench
https://bugs.webkit.org/show_bug.cgi?id=219246
Reviewed by Yusuke Suzuki.
The benchmark now consists of two groups: initially they are identical, but the first group will not
be changed going forward while the second group will be free to adopt new APIs.
The two original tests (one mostly JS and the other mostly native) were also split into three tests each (C, ObjC and Swift).
- APIBench/CurrentAPI/RichardsMostlyC/RichardsMostlyC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/CurrentAPI/RichardsMostlyC/RichardsMostlyC.xcodeproj/xcshareddata/xcschemes/RichardsMostlyC.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
- APIBench/CurrentAPI/RichardsMostlyC/RichardsMostlyC/richards.c: Added.
(pkt):
(trace):
(schedule):
(wait_):
(holdself):
(findtcb):
(release):
(qpkt):
(idlefn):
(valueToTask):
(waitWrapper):
(qpktWrapper):
(readFile):
(workfn):
(handlerfn):
(devfn):
(append):
(setup):
(getQpktcount):
(getHoldcount):
(main):
- APIBench/CurrentAPI/RichardsMostlyC/RichardsMostlyC/richards.js: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(createWorkfn):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Device.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/DeviceTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/DeviceTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(+[DeviceTask createWithScheduler:device:priority:]):
(-[DeviceTask run:]):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/HandlerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/HandlerTask.m: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
(+[HandlerTask createWithScheduler:device:priority:queue:]):
(-[HandlerTask run:]):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/IdleTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/IdleTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(+[IdleTask createWithScheduler:priority:]):
(-[IdleTask run:]):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Packet.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Packet.swift.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Packet.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/IdleTask.swift.
(+[Packet create:withLink:]):
(-[Packet addToQueue:]):
(+[DevicePacket create:withLink:]):
(+[WorkPacket createWithLink:]):
(+[WorkPacket size]):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Scheduler.h: Added.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Scheduler.m: Added.
(-[Scheduler schedule]):
(-[Scheduler addTask:]):
(-[Scheduler releaseDevice:]):
(-[Scheduler holdCurrent]):
(-[Scheduler waitCurrent]):
(-[Scheduler queue:]):
(-[Scheduler handle:]):
(-[Scheduler _queueImpl:packet:]):
(-[Scheduler _find:]):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Task.h: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Task.m: Added.
(+[Task createWithScheduler:priority:queue:]):
(-[Task run:]):
(-[Task release_]):
(-[Task hold]):
(-[Task wait]):
(-[Task resume]):
(-[Task takePacket]):
(-[Task checkPriorityAdd:packet:]):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/WorkerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/WorkerTask.m: Added.
(+[WorkerTask createWithScheduler:priority:queue:]):
(+[WorkerTask context]):
(+[WorkerTask constructor]):
(-[WorkerTask run:]):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/main.m: Added.
(runRichards):
(main):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js.
(return.prototype.run):
- APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/richards.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/Packet.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Packet.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/Task.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Task.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/main.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/main.swift.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js.
- APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/richards.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.swift.
- APIBench/CurrentAPI/RichardsSomeC/RichardsSomeC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/CurrentAPI/RichardsSomeC/RichardsSomeC/main.m: Added.
(WorkerTask_run):
(WorkerTask_constructor):
(WorkerTask_getProperty):
(main):
- APIBench/CurrentAPI/RichardsSomeC/RichardsSomeC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.
- APIBench/CurrentAPI/RichardsSomeObjC/RichardsSomeObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/CurrentAPI/RichardsSomeObjC/RichardsSomeObjC.xcodeproj/xcshareddata/xcschemes/RichardsSomeObjC.xcscheme: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme.
- APIBench/CurrentAPI/RichardsSomeObjC/RichardsSomeObjC/main.m: Added.
(-[WorkerTask initWithScheduler:v1:v2:]):
(-[WorkerTask toString]):
(-[WorkerTask run:]):
(main):
- APIBench/CurrentAPI/RichardsSomeObjC/RichardsSomeObjC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.
(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):
- APIBench/CurrentAPI/RichardsSomeSwift/RichardsSomeSwift.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/CurrentAPI/RichardsSomeSwift/RichardsSomeSwift.xcodeproj/xcshareddata/xcschemes/RichardsSomeSwift.xcscheme: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme.
- APIBench/CurrentAPI/RichardsSomeSwift/RichardsSomeSwift/main.swift: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/main.swift.
- APIBench/CurrentAPI/RichardsSomeSwift/RichardsSomeSwift/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.
(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):
- APIBench/References/RichardsC/RichardsC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/References/RichardsC/RichardsC.xcodeproj/xcshareddata/xcschemes/RichardsC.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
- APIBench/References/RichardsC/RichardsC/richards.c: Added.
(pkt):
(trace):
(schedule):
(wait_):
(holdself):
(findtcb):
(release):
(qpkt):
(idlefn):
(workfn):
(handlerfn):
(devfn):
(append):
(setup):
(getQpktcount):
(getHoldcount):
(main):
- APIBench/References/RichardsC/RichardsC/richards.js: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(createWorkfn):
- APIBench/References/RichardsJS/RichardsJS.js: Renamed from PerformanceTests/APIBench/RichardsJS/RichardsJS.js.
- APIBench/References/RichardsObjC/RichardsObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
- APIBench/References/RichardsObjC/RichardsObjC.xcodeproj/xcshareddata/xcschemes/RichardsObjC.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
- APIBench/References/RichardsObjC/RichardsObjC/Device.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/References/RichardsObjC/RichardsObjC/DeviceTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/References/RichardsObjC/RichardsObjC/DeviceTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(+[DeviceTask createWithScheduler:device:priority:]):
(-[DeviceTask run:]):
- APIBench/References/RichardsObjC/RichardsObjC/HandlerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/References/RichardsObjC/RichardsObjC/HandlerTask.m: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
(+[HandlerTask createWithScheduler:device:priority:queue:]):
(-[HandlerTask run:]):
- APIBench/References/RichardsObjC/RichardsObjC/IdleTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/References/RichardsObjC/RichardsObjC/IdleTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(+[IdleTask createWithScheduler:priority:]):
(-[IdleTask run:]):
- APIBench/References/RichardsObjC/RichardsObjC/Packet.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Packet.swift.
- APIBench/References/RichardsObjC/RichardsObjC/Packet.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/IdleTask.swift.
(+[Packet create:withLink:]):
(-[Packet addToQueue:]):
(+[DevicePacket create:withLink:]):
(+[WorkPacket createWithLink:]):
(+[WorkPacket size]):
- APIBench/References/RichardsObjC/RichardsObjC/Scheduler.h: Added.
- APIBench/References/RichardsObjC/RichardsObjC/Scheduler.m: Added.
(-[Scheduler schedule]):
(-[Scheduler addTask:]):
(-[Scheduler releaseDevice:]):
(-[Scheduler holdCurrent]):
(-[Scheduler waitCurrent]):
(-[Scheduler queue:]):
(-[Scheduler handle:]):
(-[Scheduler _queueImpl:packet:]):
(-[Scheduler _find:]):
- APIBench/References/RichardsObjC/RichardsObjC/Task.h: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
- APIBench/References/RichardsObjC/RichardsObjC/Task.m: Added.
(+[Task createWithScheduler:priority:queue:]):
(-[Task run:]):
(-[Task release_]):
(-[Task hold]):
(-[Task wait]):
(-[Task resume]):
(-[Task takePacket]):
(-[Task checkPriorityAdd:packet:]):
- APIBench/References/RichardsObjC/RichardsObjC/WorkerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/References/RichardsObjC/RichardsObjC/WorkerTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(+[WorkerTask createWithScheduler:priority:queue:]):
(-[WorkerTask run:]):
- APIBench/References/RichardsObjC/RichardsObjC/main.m: Added.
(runRichards):
(main):
- APIBench/References/RichardsObjC/RichardsObjC/richards.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/References/RichardsSwift/RichardsSwift.xcodeproj/project.pbxproj: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/project.pbxproj.
- APIBench/References/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
- APIBench/References/RichardsSwift/RichardsSwift/DeviceTask.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/DeviceTask.swift.
- APIBench/References/RichardsSwift/RichardsSwift/HandlerTask.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/HandlerTask.swift.
- APIBench/References/RichardsSwift/RichardsSwift/IdleTask.swift: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/IdleTask.swift.
- APIBench/References/RichardsSwift/RichardsSwift/Packet.swift: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Packet.swift.
- APIBench/References/RichardsSwift/RichardsSwift/Scheduler.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Scheduler.swift.
- APIBench/References/RichardsSwift/RichardsSwift/Task.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Task.swift.
- APIBench/References/RichardsSwift/RichardsSwift/WorkerTask.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/WorkerTask.swift.
- APIBench/References/RichardsSwift/RichardsSwift/main.swift: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/References/RichardsSwift/RichardsSwift/richards.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/richards.swift.
- APIBench/UpcomingAPI/RichardsMostlyC/RichardsMostlyC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/UpcomingAPI/RichardsMostlyC/RichardsMostlyC.xcodeproj/xcshareddata/xcschemes/RichardsMostlyC.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
- APIBench/UpcomingAPI/RichardsMostlyC/RichardsMostlyC/richards.c: Added.
(pkt):
(trace):
(schedule):
(wait_):
(holdself):
(findtcb):
(release):
(qpkt):
(idlefn):
(valueToTask):
(waitWrapper):
(qpktWrapper):
(readFile):
(workfn):
(handlerfn):
(devfn):
(append):
(setup):
(getQpktcount):
(getHoldcount):
(main):
- APIBench/UpcomingAPI/RichardsMostlyC/RichardsMostlyC/richards.js: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(createWorkfn):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Device.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/DeviceTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/DeviceTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(+[DeviceTask createWithScheduler:device:priority:]):
(-[DeviceTask run:]):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/HandlerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/HandlerTask.m: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
(+[HandlerTask createWithScheduler:device:priority:queue:]):
(-[HandlerTask run:]):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/IdleTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/IdleTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
(+[IdleTask createWithScheduler:priority:]):
(-[IdleTask run:]):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Packet.h: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Packet.swift.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Packet.m: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/IdleTask.swift.
(+[Packet create:withLink:]):
(-[Packet addToQueue:]):
(+[DevicePacket create:withLink:]):
(+[WorkPacket createWithLink:]):
(+[WorkPacket size]):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Scheduler.h: Added.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Scheduler.m: Added.
(-[Scheduler schedule]):
(-[Scheduler addTask:]):
(-[Scheduler releaseDevice:]):
(-[Scheduler holdCurrent]):
(-[Scheduler waitCurrent]):
(-[Scheduler queue:]):
(-[Scheduler handle:]):
(-[Scheduler _queueImpl:packet:]):
(-[Scheduler _find:]):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Task.h: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Task.m: Added.
(+[Task createWithScheduler:priority:queue:]):
(-[Task run:]):
(-[Task release_]):
(-[Task hold]):
(-[Task wait]):
(-[Task resume]):
(-[Task takePacket]):
(-[Task checkPriorityAdd:packet:]):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/WorkerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/WorkerTask.m: Added.
(+[WorkerTask createWithScheduler:priority:queue:]):
(+[WorkerTask context]):
(+[WorkerTask constructor]):
(-[WorkerTask run:]):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/main.m: Added.
(runRichards):
(main):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js.
(return.prototype.run):
- APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/richards.m: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme.
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
(DeviceTask.create(_:device:priority:)):
(DeviceTask.run(_:)):
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift.
(HandlerTask.device):
(HandlerTask.create(_:device:priority:queue:)):
(HandlerTask.run(_:)):
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift.
(IdleTask.create(_:priority:)):
(IdleTask.run(_:)):
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/Packet.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Packet.swift.
(Packet.addTo(_:)):
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift.
(waitCurrent):
(handle(_:)):
(Scheduler.schedule):
(Scheduler.add(_:)):
(Scheduler.release_(_:)):
(holdCurrent):
(queue(_:)):
(queueImpl(_:packet:)):
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/Task.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Task.swift.
(Task.run(_:)):
(Task.release_):
(Task.hold):
(Task.wait):
(Task.resume):
(Task.takePacket):
(Task.checkPriorityAdd(_:packet:)):
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift.
(WorkerTask.create(_:priority:queue:)):
(WorkerTask.run(_:)):
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/main.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/main.swift.
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/richards.js: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js.
(return.prototype.run):
- APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/richards.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.swift.
(runRichards):
- APIBench/UpcomingAPI/RichardsSomeC/RichardsSomeC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/UpcomingAPI/RichardsSomeC/RichardsSomeC/main.m: Added.
(WorkerTask_run):
(WorkerTask_constructor):
(WorkerTask_getProperty):
(main):
- APIBench/UpcomingAPI/RichardsSomeC/RichardsSomeC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.
(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):
- APIBench/UpcomingAPI/RichardsSomeObjC/RichardsSomeObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/UpcomingAPI/RichardsSomeObjC/RichardsSomeObjC.xcodeproj/xcshareddata/xcschemes/RichardsSomeObjC.xcscheme: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme.
- APIBench/UpcomingAPI/RichardsSomeObjC/RichardsSomeObjC/main.m: Added.
(-[WorkerTask initWithScheduler:v1:v2:]):
(-[WorkerTask toString]):
(-[WorkerTask run:]):
(main):
- APIBench/UpcomingAPI/RichardsSomeObjC/RichardsSomeObjC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.
(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):
- APIBench/UpcomingAPI/RichardsSomeSwift/RichardsSomeSwift.xcodeproj/project.pbxproj: Renamed from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
- APIBench/UpcomingAPI/RichardsSomeSwift/RichardsSomeSwift.xcodeproj/xcshareddata/xcschemes/RichardsSomeSwift.xcscheme: Renamed from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme.
- APIBench/UpcomingAPI/RichardsSomeSwift/RichardsSomeSwift/main.swift: Renamed from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/main.swift.
(run(_:)):
(toString):
(WorkerTask.toString):
(WorkerTask.run(_:)):
- APIBench/UpcomingAPI/RichardsSomeSwift/RichardsSomeSwift/richards.js: Renamed from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.
(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):
- APIBench/api-bench:
- 4:34 PM Changeset in webkit [270276] by
-
- 2 edits in trunk/Tools
filter-build-webkit: reduce non-actionable warnings from objc runtime and xcodebuild
https://bugs.webkit.org/show_bug.cgi?id=219376
Reviewed by Simon Fraser.
- Scripts/filter-build-webkit:
(shouldIgnoreLine):
- 4:30 PM Changeset in webkit [270275] by
-
- 9 edits1 copy2 adds in trunk/Source/WebKit
GPU Process: IOSurfaces should not be mapped into the Web Content Process
https://bugs.webkit.org/show_bug.cgi?id=219368
Reviewed by Ryosuke Niwa.
Since the Web Content process sandbox will eventually not have access to IOKit,
it will not be able to map/lock/use IOSurfaces. Thankfully, all it really needs
to be able to do is carry a reference to the surface from the GPU process to the
UI process (where it is mapped and applied as layer contents).
- Shared/ConcreteShareableImageBuffer.h: Copied from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h.
(WebKit::ConcreteShareableImageBuffer::create):
(WebKit::ConcreteShareableImageBuffer::ConcreteShareableImageBuffer):
(WebKit::ConcreteShareableImageBuffer::createImageBufferBackendHandle):
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
Add and adopt ConcreteShareableImageBuffer. This is a ConcreteImageBuffer that knows how
to create an ImageBufferBackendHandle, with no other behavior change.
Previously, we were (completely incorrectly) casting ConcreteImageBuffer to RemoteImageBufferProxy
to get this behavior, and somehow just got very lucky.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/PlatformImageBufferShareableBackend.h:
- WebProcess/GPU/graphics/PlatformRemoteImageBufferProxy.h:
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h:
Remove the ImageBufferShareableIOSurfaceBackend create() method that takes
an ImageBufferBackendHandle, since we always use the Unmapped variant.
ImageBufferShareableIOSurfaceBackend is now only used:
- in the GPU process
- in the Web Content process when DOM rendering in the GPU process is disabled
In both cases, the process that uses ImageBufferShareableIOSurfaceBackend also
originates the surface, so does not create it from a handle.
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableUnmappedIOSurfaceBackend.cpp: Added.
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::create):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::createImageBufferBackendHandle const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::context const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::copyNativeImage const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::copyImage const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::draw):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::drawPattern):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::toDataURL const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::toData const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::toBGRAData const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::getImageData const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::putImageData):
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableUnmappedIOSurfaceBackend.h: Added.
Add and adopt ImageBufferShareableUnmappedIOSurfaceBackend, which is a ImageBufferBackend
that cannot perform most ImageBufferBackend duties, except creating an ImageBufferBackendHandle,
which it does by cloning the existing handle. It explicitly does *not* map the IOSurface in the
process, and is meant for use in Web Content processes that do not have access to IOSurface.
- WebProcess/GPU/media/RemoteAudioSession.cpp:
Fix some unified source issues.
- 3:57 PM Changeset in webkit [270274] by
-
- 868 edits18 moves22 adds141 deletes in branches/safari-611.1.7-branch
Cherry-pick r270272. rdar://problem/71819648
r270129 broke macCatalyst build
Reverted changesets:
"Update ANGLE 2020-11-12"
https://bugs.webkit.org/show_bug.cgi?id=218877
https://trac.webkit.org/changeset/270129
"Fix ANGLE CMakeLists.txt warnings"
https://bugs.webkit.org/show_bug.cgi?id=219260
https://trac.webkit.org/changeset/270194
"Attempted build fix for Mac Catalyst. Include the SystemInfo
header."
https://trac.webkit.org/changeset/270258
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:43 PM Changeset in webkit [270273] by
-
- 18 edits2 adds in trunk
sessionStorage should not be cloned when a window is opened with rel=noopener
https://bugs.webkit.org/show_bug.cgi?id=218804
<rdar://problem/71286606>
Reviewed by Alex Christensen.
Source/WebCore:
sessionStorage should not be cloned when a window is opened with rel=noopener, as per:
Both Firefox and Chrome have already implemented this behavior.
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
- loader/FrameLoaderClient.h:
- page/Chrome.cpp:
(WebCore::Chrome::createWindow const):
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchCreatePage):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchCreatePage):
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchCreatePage):
- WebCoreSupport/WebFrameLoaderClient.h:
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/SessionStorage.mm: Added.
(-[SessionStorageUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[SessionStorageUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(createAndInitializeTestWebView):
(checkSessionStorageInNewWindow):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/confirm.html: Added.
- 3:37 PM Changeset in webkit [270272] by
-
- 868 edits6 copies12 moves22 adds101 deletes in trunk
Unreviewed, reverting r270129, r270194, and r270258.
r270129 broke macCatalyst build
Reverted changesets:
"Update ANGLE 2020-11-12"
https://bugs.webkit.org/show_bug.cgi?id=218877
https://trac.webkit.org/changeset/270129
"Fix ANGLE CMakeLists.txt warnings"
https://bugs.webkit.org/show_bug.cgi?id=219260
https://trac.webkit.org/changeset/270194
"Attempted build fix for Mac Catalyst. Include the SystemInfo
header."
https://trac.webkit.org/changeset/270258
- 3:24 PM Changeset in webkit [270271] by
-
- 8 edits in branches/safari-610.3.7.0-branch/Source
Versioning.
WebKit-7610.3.7.0.4
- 3:23 PM Changeset in webkit [270270] by
-
- 1 copy in tags/Safari-610.3.7.0.3
Tag Safari-610.3.7.0.3.
- 3:15 PM Changeset in webkit [270269] by
-
- 9 edits in trunk
Allow blob URLs with fragments
https://bugs.webkit.org/show_bug.cgi?id=219361
Patch by Alex Christensen <achristensen@webkit.org> on 2020-11-30
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt:
- web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt:
- web-platform-tests/FileAPI/url/url-with-xhr.any-expected.txt:
- web-platform-tests/FileAPI/url/url-with-xhr.any.worker-expected.txt:
Source/WebCore:
When fetching blob content, we use the whole blob URL.
In order to match Chrome and Firefox, we need to remove the fragment if there is one.
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::getBlobDataFromURL const):
- 3:05 PM Changeset in webkit [270268] by
-
- 2 edits in trunk/Tools
[git transition] Add old aliases to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=219367
<rdar://problem/71821209>
Reviewed by Dewei Zhu.
- Scripts/webkitpy/common/config/contributors.json: Add old aliases for Ken Kocienda and
Maciej Stachowiak.
- 2:25 PM Changeset in webkit [270267] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7611.1.8
- 2:23 PM Changeset in webkit [270266] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Move old buildbot unittests to steps_unittest_old.py (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=219364
<rdar://problem/71821157>
Unreviewed minor follow-up fix.
- CISupport/build-webkit-org/loadConfig_unittest.py:
- 2:12 PM Changeset in webkit [270265] by
-
- 13 edits in trunk
Add support for the Wasm i64 sign-extension-ops proposal
https://bugs.webkit.org/show_bug.cgi?id=218990
Patch by Sergey Rubanov <Sergey Rubanov> on 2020-11-30
Reviewed by Yusuke Suzuki.
JSTests:
- wasm/spec-tests/i64.wast.js:
- wasm/wasm.json:
Source/JavaScriptCore:
- llint/WebAssembly.asm:
- offlineasm/arm64.rb:
- offlineasm/cloop.rb:
- offlineasm/instructions.rb:
- offlineasm/x86.rb:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Extend8S>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Extend16S>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Extend32S>):
- wasm/wasm.json:
LayoutTests:
- workers/wasm-references/test.js:
- 1:49 PM Changeset in webkit [270264] by
-
- 2 edits in branches/safari-611.1.7-branch/Source/ThirdParty/ANGLE
Cherry-pick r270258. rdar://problem/71819648
Attempted build fix for Mac Catalyst. Include the SystemInfo header.
- src/libANGLE/renderer/gl/apple/DisplayApple_api.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:49 PM Changeset in webkit [270263] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=219366
unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:45 PM Changeset in webkit [270262] by
-
- 3 edits2 moves in trunk/Tools
[build.webkit.org] Move old buildbot unittests to steps_unittest_old.py
https://bugs.webkit.org/show_bug.cgi?id=219364
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/committer_auth_unittest.py: Removed.
- CISupport/build-webkit-org/committer_auth_unittest_old.py: Moved from Tools/CISupport/build-webkit-org/committer_auth_unittest.py.
- CISupport/build-webkit-org/steps_unittest.py: Removed.
- CISupport/build-webkit-org/steps_unittest_old.py: Moved from Tools/CISupport/build-webkit-org/steps_unittest.py.
- CISupport/ews-build/steps.py:
(RunBuildWebKitOrgUnitTests): Updated ews configuration appropriately.
(RunBuildWebKitOrgUnitTests.getResultSummary):
- CISupport/ews-build/steps_unittest.py: Updated ews unit-tests.
- 1:42 PM Changeset in webkit [270261] by
-
- 1 copy in branches/safari-611.1.7-branch
New branch.
- 1:38 PM Changeset in webkit [270260] by
-
- 1 copy in tags/Safari-611.1.6.1
Tag Safari-611.1.6.1.
- 1:23 PM Changeset in webkit [270259] by
-
- 8 edits in branches/safari-611.1.6-branch/Source
Versioning.
WebKit-7611.1.6.1
- 12:54 PM Changeset in webkit [270258] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Attempted build fix for Mac Catalyst. Include the SystemInfo header.
- src/libANGLE/renderer/gl/apple/DisplayApple_api.cpp:
- 12:29 PM Changeset in webkit [270257] by
-
- 15 edits6 adds in trunk
Support KHR_parallel_shader_compile
https://bugs.webkit.org/show_bug.cgi?id=219266
Reviewed by Kenneth Russell.
Source/WebCore:
Tested by webgl/conformance/extensions/khr-parallel-shader-compile.html
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- html/canvas/KHRParallelShaderCompile.cpp: Added.
(WebCore::KHRParallelShaderCompile::KHRParallelShaderCompile):
(WebCore::KHRParallelShaderCompile::getName const):
(WebCore::KHRParallelShaderCompile::supported):
- html/canvas/KHRParallelShaderCompile.h: Added.
- html/canvas/KHRParallelShaderCompile.idl: Added.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- html/canvas/WebGLExtension.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getShaderParameter):
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::loseExtensions):
- html/canvas/WebGLRenderingContextBase.h:
- platform/graphics/ExtensionsGL.h:
LayoutTests:
- webgl/conformance/extensions/khr-parallel-shader-compile-expected.txt: Added.
- webgl/conformance/extensions/khr-parallel-shader-compile.html: Added.
- webgl/resources/webgl_test_files/conformance/extensions/khr-parallel-shader-compile.html: Added.
- 11:36 AM Changeset in webkit [270256] by
-
- 24 edits in trunk
Introduce an experimental flag specific to VP9 profile 2
https://bugs.webkit.org/show_bug.cgi?id=219350
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
Allow to enable profile 0 but not profile 2 for VP9 encoder and decoder.
- Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
(webrtc::createWebKitDecoderFactory):
- Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(webrtc::createWebKitEncoderFactory):
- Source/webrtc/sdk/WebKit/WebKitUtilities.h:
- Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
- Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
(-[RTCDefaultVideoDecoderFactory initWithH265:vp9Profile0:vp9Profile2:vp9VTB:]):
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):
(-[RTCDefaultVideoDecoderFactory initWithH265:vp9:vp9VTB:]): Deleted.
- Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
- Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:
(-[RTCDefaultVideoEncoderFactory initWithH265:vp9Profile0:vp9Profile2:lowLatencyH264:]):
(+[RTCDefaultVideoEncoderFactory supportedCodecs]):
(+[RTCDefaultVideoEncoderFactory supportedCodecsWithH265:vp9Profile0:vp9Profile2:]):
(-[RTCDefaultVideoEncoderFactory supportedCodecs]):
(-[RTCDefaultVideoEncoderFactory initWithH265:vp9:lowLatencyH264:]): Deleted.
(+[RTCDefaultVideoEncoderFactory supportedCodecsWithH265:vp9:]): Deleted.
Source/WebCore:
Introduce an experimental flag for VP9 profile 2.
Pass it to libwebrtc backend when creating codec factories.
Profile 2 support is only enabled if profile 0 support is also enabled.
Covered by updated test.
- page/Page.cpp:
(WebCore::m_shouldRelaxThirdPartyCookieBlocking):
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webRTCVP9Profile0CodecEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCVP9Profile0CodecEnabled):
(WebCore::RuntimeEnabledFeatures::webRTCVP9Profile2CodecEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCVP9Profile2CodecEnabled):
(WebCore::RuntimeEnabledFeatures::webRTCVP9CodecEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setWebRTCVP9CodecEnabled): Deleted.
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
(WebCore::LibWebRTCProvider::setVP9Support):
- platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
(WebCore::LibWebRTCProviderCocoa::createDecoderFactory):
(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):
- testing/Internals.cpp:
(WebCore::Internals::setWebRTCVP9Support):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
LayoutTests:
- webrtc/vp9-expected.txt:
- webrtc/vp9-vtb.html:
- webrtc/vp9.html:
- 11:29 AM Changeset in webkit [270255] by
-
- 4 edits in trunk
Missing WebRTC Metrics in iOS 14 Beta 5
https://bugs.webkit.org/show_bug.cgi?id=215678
<rdar://problem/67625414>
Reviewed by Eric Carlson.
Source/WebCore:
Expose more stats and fix a bug in stat exposure code for kind.
Covered by updated test.
- Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:
(WebCore::fillInboundRtpStreamStats):
(WebCore::fillRemoteInboundRtpStreamStats):
(WebCore::fillOutboundRtpStreamStats):
LayoutTests:
- webrtc/video-stats.html:
- 11:23 AM Changeset in webkit [270254] by
-
- 5 edits in trunk/Tools
[webkitscmpy] Support remote repositories in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=219172
<rdar://problem/71594909>
Rubber-stamped by Aakash Jain.
- Scripts/libraries/webkitscmpy/webkitscmpy/program.py:
(Command.parser): Remove repository, since it depends on the parser.
(Command.main): Support arguments to main functions.
(Find.parser): Remove repository, since it depends on the parser.
(Checkout.parser): Ditto.
(Checkout.main): Early return if specified repository is remote.
(main): Construct repository based on path argument.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
(TestCheckout):
(TestCheckout.test_checkout_remote):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind.test_baisc_svn_remote):
- 11:20 AM Changeset in webkit [270253] by
-
- 4 edits in trunk/Source/WebCore
[WebGL2] Rasterizer discard interferes with implicit clears
https://bugs.webkit.org/show_bug.cgi?id=219061
Patch by Kenneth Russell <kbr@chromium.org> on 2020-11-30
Reviewed by Dean Jackson.
When rasterizer discard is enabled, user-level draw calls and
clears skip the implicit clear since they have no effect.
Readbacks and copies still perform the implicit clear.
A new WebGL conformance test has been added for this in
https://github.com/KhronosGroup/WebGL/pull/3183 which passes with
this fix. WebKit's TestRunner doesn't run the composite phase as
the browser or MiniBrowser do, so wouldn't pass this test as
integrated as a layout test. Per discussion with dino and
kkinnunen on Slack, will address this in follow-on work.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::copyTexSubImage3D):
(WebCore::WebGL2RenderingContext::readPixels):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::ScopedDisableRasterizerDiscard::ScopedDisableRasterizerDiscard):
(WebCore::ScopedDisableRasterizerDiscard::~ScopedDisableRasterizerDiscard):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToImageData):
(WebCore::WebGLRenderingContextBase::clear):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::disable):
(WebCore::WebGLRenderingContextBase::drawArrays):
(WebCore::WebGLRenderingContextBase::drawElements):
(WebCore::WebGLRenderingContextBase::enable):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::drawArraysInstanced):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):
- html/canvas/WebGLRenderingContextBase.h:
- 11:08 AM Changeset in webkit [270252] by
-
- 50 edits1 copy33 adds2 deletes in trunk/LayoutTests
Update WPT WebRTC tests
https://bugs.webkit.org/show_bug.cgi?id=219272
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc: Resynced.
LayoutTests:
Mark a new test as flaky in iOS simulator.
- platform/ios-simulator-wk2/TestExpectations:
- tests-options.json:
- 10:44 AM Changeset in webkit [270251] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed build fix.
Fix non-unified builds after r270224.
- display/DisplayTreeBuilder.cpp:
- display/DisplayTreeBuilder.h:
- 10:13 AM Changeset in webkit [270250] by
-
- 11 edits in trunk/Source/WebCore
RenderTheme::paintDecorations should return void
https://bugs.webkit.org/show_bug.cgi?id=219357
Reviewed by Simon Fraser.
RenderTheme::paintDecorations currently returns a boolean value.
However, the returned value is unused. For clarity, the method is
updated to return void. The various "paint*Decorations" methods
called in RenderTheme:paintDecorations are also updated to return void.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintDecorations):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::paintFileUploadIconDecorations):
(WebCore::RenderTheme::paintCheckboxDecorations):
(WebCore::RenderTheme::paintRadioDecorations):
(WebCore::RenderTheme::paintButtonDecorations):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintMenuListDecorations):
(WebCore::RenderTheme::paintMenuListButtonDecorations):
(WebCore::RenderTheme::paintPushButtonDecorations):
(WebCore::RenderTheme::paintSquareButtonDecorations):
(WebCore::RenderTheme::paintSliderThumbDecorations):
(WebCore::RenderTheme::paintSearchFieldDecorations):
- rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::paintMenuListButtonDecorations):
- rendering/RenderThemeAdwaita.h:
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderThumbDecorations):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
(WebCore::RenderThemeIOS::paintButtonDecorations):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::paintMenuListButtonDecorations):
- rendering/RenderThemeWin.h:
- 9:40 AM Changeset in webkit [270249] by
-
- 9 edits in trunk/Source/WebKit
Remove throttling code from NetworkLoad
https://bugs.webkit.org/show_bug.cgi?id=219347
Reviewed by Anders Carlsson.
It is not a good latency simulation and no one is using it anyway.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::didReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
(WebKit::NetworkLoad::didCompleteWithError):
(WebKit::NetworkLoad::Throttle::Throttle): Deleted.
(WebKit::NetworkLoad::throttleDelayCompleted): Deleted.
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::shouldLogCookieInformation const):
(WebKit::NetworkSession::loadThrottleLatency const): Deleted.
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
- 9:39 AM Changeset in webkit [270248] by
-
- 5 edits2 adds2 deletes in trunk
getComputedStyle rounds lineHeight to nearest pixel
https://bugs.webkit.org/show_bug.cgi?id=216601
Patch by Tyler Wilcock <Tyler Wilcock> on 2020-11-30
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt:
Update test reflecting the fact that serialization of
line-height
from
getComputedStyle
is now represented fractionally (when appropriate).
Prior to this patch,line-height
serialization was always an integer value.
Source/WebCore:
When serializing
line-height
forgetComputedStyle
, ensure the
value can be represented fractionally (when appropriate). Prior to this
patch,line-height
serialization was always an integer value. Per
spec, the used value ofline-height
can be a<number>
value, which
is fractional. Gecko and Chromium allow fractionalline-height
s to be
returned fromgetComputedStyle
, further confirming this.
https://drafts.csswg.org/css2/#propdef-line-height
Test: fast/css/line-height-get-computed-style.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::lineHeightFromStyle): Cast result to
double
instead of
int
sinceline-height
can be represented fractionally.
LayoutTests:
Add test ensuring serialization of
line-height
from
getComputedStyle
is represented fractionally (when appropriate).
Prior to this patch,line-height
serialization was always an integer value.
The
line-height-rounding.html
test has been removed, as it expected
line-height
to serialize as an integer, which seems wrong
considering the used value forline-height
can be a<number>
(which is fractional). Gecko and Chromium allow fractional
line-height
s to be returned fromgetComputedStyle
, further
confirming this.
https://drafts.csswg.org/css2/#propdef-line-height
- fast/css/line-height-get-computed-style-expected.txt: Added.
- fast/css/line-height-get-computed-style.html: Added.
- fast/css/line-height-rounding-expected.txt: Removed.
- fast/css/line-height-rounding.html: Removed.
- 9:09 AM WebKitGTK/2.30.x edited by
- (diff)
- 9:07 AM Changeset in webkit [270247] by
-
- 2 edits in trunk/Tools
[webkitscmpy] webkitscmpy.test.svn_unittest.TestRemoteSvn.test_info timezone dependent
https://bugs.webkit.org/show_bug.cgi?id=219263
<rdar://problem/71806358>
Reviewed by Aakash Jain.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestRemoteSvn.test_info):
- 8:39 AM Changeset in webkit [270246] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Update RunTest262Tests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219356
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/steps.py:
(RunTest262Tests):
(RunTest262Tests.start): Initialized log observer.
(RunTest262Tests.parseOutputLine): Parse each log line as they come.
(RunTest262Tests.countFailures): Updated to return failedTestCount.
- 8:35 AM Changeset in webkit [270245] by
-
- 10 edits in trunk/Source/WebCore
Use real dates and times as placeholders for date/time inputs with editable components
https://bugs.webkit.org/show_bug.cgi?id=219216
<rdar://problem/71636615>
Reviewed by Devin Rousso.
Currently, date/time inputs with editable components have "--" as a
placeholder when the input is empty. This is undesirable for two reasons:
- "--" does not fill the width of the component, leading to an unpleasant appearance.
- The order of the date/time components is unclear.
To resolve these issues, this patch introduces real dates and times as
placeholders. For dates, the current date is used as a placeholder.
For times, a fixed time (such as "12:30 PM") is used, to avoid being
overly specific. Note that the second and millisecond fields for times
will always have "00" and "000" as a placeholder respectively.
When the placeholder is visible, the text color is changed to dark gray,
matching the placeholder in regular text inputs. Note that date/time
placeholders are not customizable in any way, as it is an unspecified aspect
of the element. Separators are left in the existing text color, to avoid
making the input look disabled.
- html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::DateTimeEditElement):
(WebCore::DateTimeEditElement::placeholderDate const):
- html/shadow/DateTimeEditElement.h:
Introduced m_placeholderDate, which is set to the current date.
- html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::setEmptyValue):
(WebCore::DateTimeFieldElement::setValueAsInteger):
(WebCore::DateTimeFieldElement::visibleValue const):
(WebCore::DateTimeFieldElement::updateVisibleValue):
Removed early return when the previous visible value is equal to the
updated visible value. This can occur when the placeholder value is equal
to the value entered by the user. In these instances, we should still
dispatch input and change events.
- html/shadow/DateTimeFieldElement.h:
Added base class implementations of setEmptyValue and setValueAsInteger
so that the logic to change the text color when a placeholder is visible
can be shared.
Changed visibleValue to no longer be a pure virtual method, as the
implementations in derived classes were very similar, and can be
abstracted. For this reason, the new placeholderValue pure virtual method
was added.
- html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement):
(WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement):
(WebCore::DateTimeMeridiemFieldElement::DateTimeMeridiemFieldElement):
(WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
(WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
(WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement):
Months are 0-indexed, so we add 1 to the value returned by month().
(WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
(WebCore::DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement):
(WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement):
- html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
(WebCore::DateTimeNumericFieldElement::setEmptyValue):
(WebCore::DateTimeNumericFieldElement::setValueAsInteger):
(WebCore::DateTimeNumericFieldElement::placeholderValue const):
(WebCore::DateTimeNumericFieldElement::valueAsInteger const):
- html/shadow/DateTimeNumericFieldElement.h:
- html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
(WebCore::DateTimeSymbolicFieldElement::setEmptyValue):
(WebCore::DateTimeSymbolicFieldElement::setValueAsInteger):
(WebCore::DateTimeSymbolicFieldElement::placeholderValue const):
(WebCore::DateTimeSymbolicFieldElement::valueAsInteger const):
- html/shadow/DateTimeSymbolicFieldElement.h:
- 7:39 AM Changeset in webkit [270244] by
-
- 4 edits in trunk/Source/WebCore
[LFC][IFC] Remove redundant const ContainerBox& formattingContextRoot from LineBuilder c'tor
https://bugs.webkit.org/show_bug.cgi?id=219339
Reviewed by Antti Koivisto.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::LineBuilder):
(WebCore::Layout::LineBuilder::root const):
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::root const): Deleted.
- 7:08 AM Changeset in webkit [270243] by
-
- 2 edits in trunk/Tools
Automatically delete old data from ews buildbot instance
https://bugs.webkit.org/show_bug.cgi?id=214921
Reviewed by Jonathan Bedard.
- CISupport/ews-build/master.cfg: Configured JanitorConfigurator to delete logs older than one year, and
configured to run every morning.
- 7:07 AM Changeset in webkit [270242] by
-
- 4 edits in trunk/LayoutTests
[GLIB] Properly garden webrtc crashes
Unreviewed test gardening.
- platform/gtk-wayland/TestExpectations: Move wayland-specific issue here
- platform/gtk/TestExpectations: Updated already existing expectations
- platform/wpe/TestExpectations: Remove undeed pass entries from previous unimplemented-like bugs that are already fixed. These entries were overriding the generic glib entries.
- 7:05 AM Changeset in webkit [270241] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Update RunLLINTCLoopTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219084
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/steps.py:
(RunLLINTCLoopTests):
(RunLLINTCLoopTests.start): Initialized log observer.
(RunLLINTCLoopTests.parseOutputLine): Parse each log line as they come.
(RunLLINTCLoopTests.countFailures): Updated to return failedTestCount.
- 7:00 AM Changeset in webkit [270240] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Preferred width computation is not constrained by existing floats
https://bugs.webkit.org/show_bug.cgi?id=219338
Reviewed by Antti Koivisto.
Let's create a fake(empty) floating state/context for the line as existing floats should not constrain the min/max content widths.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
- 6:59 AM Changeset in webkit [270239] by
-
- 2 edits in trunk/Source/WebCore
[LFC][TFC] Add missing TableGrid::Row::m_baseline initialization
https://bugs.webkit.org/show_bug.cgi?id=219336
Reviewed by Antti Koivisto.
- layout/tableformatting/TableGrid.h:
- 6:11 AM Changeset in webkit [270238] by
-
- 7 edits in trunk/Source/WebCore
AXIsolatedTree::m_axObjectCache should not be accessed on the secondary AX thread.
https://bugs.webkit.org/show_bug.cgi?id=219223
Reviewed by Chris Fleizach.
AXIsolatedTree::m_axObjectCache was being set on the main thread and
also accessed on the AX thread in the nodeForID and applyPendingChanges
methods. This problem is fixed with this change by adding the member
variable m_usedOnAXThread that is initialized on the main thread and only
used on the AX thread. This means also a performance optimization since
nodeForID and applyPendingChanges are called very frequently.
In addition, the change to AXIsolatedTree::create fixes a possible race
condition between the time the newly created tree was added to the map
of trees on the main thread, and the time that the tree is ready to be
used on the AX thread. Now the newly created tree is not added to the
trees map until it is fully functional.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::getOrCreateIsolatedTree const):
(WebCore::AXObjectCache::generateIsolatedTree): Deleted, the creation
and initialization of the isolated tree is now done in
AXIsolatedTree::create.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::pageID const): Getter for the m_pageID member
variable.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::AXIsolatedObject): Now takes a pointer t the
tree instead of a tree ID.
(WebCore::AXIsolatedObject::create): Same as above.
(WebCore::AXIsolatedObject::associatedAXObject const):
(WebCore::AXIsolatedObject::setSelectedChildren): Check for nullity of
the AXObjectCache.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::AXIsolatedTree): Takes an AXObjectCache.
(WebCore::AXIsolatedTree::clear):
(WebCore::AXIsolatedTree::create): Takes an AXObjectCache.
(WebCore::AXIsolatedTree::nodeForID const):
(WebCore::AXIsolatedTree::createSubtree):
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::applyPendingChanges):
(WebCore::AXIsolatedTree::createTreeForPageID): Deleted, became
AXIsolatedTree::create.
- accessibility/isolatedtree/AXIsolatedTree.h:
(WebCore::AXIsolatedTree::axObjectCache const):
(WebCore::AXIsolatedTree::setAXObjectCache): Deleted, can be set only at
construction time.
- 4:49 AM Changeset in webkit [270237] by
-
- 7 edits30 adds in trunk/LayoutTests
[css-flex] Import flex-aspect-ratio-img-* tests
https://bugs.webkit.org/show_bug.cgi?id=219344
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011-expected.txt: Updated.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011.html: Ditto.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012-expected.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013-expected.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-014-expected.xht: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-014.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015-expected.xht: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-016-expected.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-016.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017-expected.txt: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006-expected.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007-expected.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-008-expected.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-008.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009-expected.xht: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010-expected.xht: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-011-expected.xht: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-011.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-012-expected.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-012.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-014-expected.html: Added.
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-014.html: Added.
- web-platform-tests/css/css-flexbox/w3c-import.log:
LayoutTests:
As part of the work to fix the images with aspect ratio handling when they're flex items, we're importing the latest
additions to the WPT test suite related to that. A few of them work as expected but others require fixes. Note that
one of the tests also updated their expectations and it's now failing now 2 subtests.
- TestExpectations: Added tests that are not working as expected.
- 2:01 AM Changeset in webkit [270236] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ Mac wk2 ] webrtc/captureCanvas-webrtc-software-h264-baseline.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=218875
<rdar://problem/71349101>
Unreviewed.
- platform/mac-wk2/TestExpectations:
Remove flaky expectation.
- 1:29 AM Changeset in webkit [270235] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Media player does not properly inhibit, uninhibit sleep
https://bugs.webkit.org/show_bug.cgi?id=186971
Reviewed by Philippe Normand.
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::updateStates): Call the
player to update the playback state as it is done in the regular
player.
Nov 29, 2020:
- 9:36 PM Changeset in webkit [270234] by
-
- 2 edits in trunk/Source/WebKit
Deny logs for benign fontservicesd daemon
https://bugs.webkit.org/show_bug.cgi?id=219180
Patch by Adam Mazander <mazander@apple.com> on 2020-11-29
Reviewed by Per Arne Vollan.
After investigating denials of fontservicesd logs over several submissions
and without any fallout we are removing logging.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 8:20 PM Changeset in webkit [270233] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening WebGL failures
Unreviewed test gardening
- platform/gtk/TestExpectations:
- 6:43 PM Changeset in webkit [270232] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Gardening webrtc crashes
Unreviewed test gardening.
- platform/glib/TestExpectations:
- 5:41 PM Changeset in webkit [270231] by
-
- 4 edits in trunk/LayoutTests
[LFC][Display] Enable LFC tests that are passing now
https://bugs.webkit.org/show_bug.cgi?id=219337
Unreviewed.
- TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 12:50 PM Changeset in webkit [270230] by
-
- 4 edits2 adds in trunk
[LFC][BFC] Do not assume float avoiders have pre-computed vertical positions
https://bugs.webkit.org/show_bug.cgi?id=219326
Reviewed by Antti Koivisto.
Source/WebCore:
Move the final vertical position computation from computeHeightAndMargin() (it does not really belong in there) to
layoutInFlowContent(). This patch also ensures that we only adjust the vertical position when needed.
Test: fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
LayoutTests:
- fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders-expected.html: Added.
- fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html: Added.
- 11:44 AM Changeset in webkit [270229] by
-
- 6 edits in trunk/Source/WebCore
[LFC][IFC] Create runs for inline boxes
https://bugs.webkit.org/show_bug.cgi?id=219329
Reviewed by Antti Koivisto.
With this patch we start constructing runs for inline boxes (these are spec "inline boxes" and not legacy line layout "inline boxes").
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
- layout/inlineformatting/InlineLineBox.cpp:
(WebCore::Layout::LineBox::logicalMarginRectForInlineLevelBox const):
- layout/inlineformatting/InlineLineBox.h:
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayInlineBoxes const):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::showInlineTreeAndRuns):
- 11:10 AM Changeset in webkit [270228] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Remove LineBuilder::availableWidth
https://bugs.webkit.org/show_bug.cgi?id=219330
Reviewed by Antti Koivisto.
There is no "global" available width while building the line. It may very well change as
inline level boxes stretch the line and additional floats turn to intrusive.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::handleFloatOrInlineContent):
(WebCore::Layout::LineBuilder::rebuildLineForTrailingSoftHyphen):
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::availableWidth const): Deleted.
- 10:46 AM Changeset in webkit [270227] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] FloatingContext should take const FloatingState&
https://bugs.webkit.org/show_bug.cgi?id=219331
Reviewed by Antti Koivisto.
Let's not use FloatContext as a proxy for adding float items to the FloatingState.
It enables us to use FloatingContext when we don't have mutable FloatingState e.g. while
computing preferred width.
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
- layout/floats/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::FloatingContext):
(WebCore::Layout::FloatingContext::toFloatItem const):
(WebCore::Layout::FloatingContext::append): Deleted.
- layout/floats/FloatingContext.h:
(WebCore::Layout::FloatingContext::floatingState const):
(WebCore::Layout::FloatingContext::layoutState const):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
Nov 28, 2020:
- 10:47 PM Changeset in webkit [270226] by
-
- 2 edits in trunk/JSTests
Unreviewd, annotate stress/bounds-checking-in-cold-loop.js with memoryLimited
- stress/bounds-checking-in-cold-loop.js:
- 10:32 PM Changeset in webkit [270225] by
-
- 4 edits in trunk/Source/WebCore
Non-unified build fixes, late November 2020 edition, take three
https://bugs.webkit.org/show_bug.cgi?id=219333
Unreviewed non-unified build fixes.
- display/css/DisplayBoxFactory.cpp:
- display/css/DisplayCSSPainter.cpp:
- display/css/DisplayContainerBox.cpp:
- 9:10 PM Changeset in webkit [270224] by
-
- 3 edits in trunk/Source/WebCore
[LFC Display] Use a vector to maintain state during display tree building
https://bugs.webkit.org/show_bug.cgi?id=219314
Reviewed by Zalan Bujtas.
Over time more state will be required during tree building. Rather than using the stack
and passing lots of arguments to tree building functions, use a Vector<> to push state
when processing a ContainerBox's children, and pop afterwards.
The vector is declared as a std::unique_ptr<> to hide the state types from the header.
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::TreeBuilder):
(WebCore::Display::TreeBuilder::build):
(WebCore::Display::TreeBuilder::pushStateForBoxDescendants):
(WebCore::Display::TreeBuilder::popState):
(WebCore::Display::TreeBuilder::currentState const):
(WebCore::Display::TreeBuilder::positioningContext const):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const): Deleted.
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const): Deleted.
- display/DisplayTreeBuilder.h:
- 8:20 PM Changeset in webkit [270223] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, follow-up after r270214
https://bugs.webkit.org/show_bug.cgi?id=219281
ARM64 does not support unary Not32 / Not64.
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::emitAtomicBinaryRMWOp):
- 8:05 PM Changeset in webkit [270222] by
-
- 10 edits1 copy1 add in trunk/Source/WebCore
[LFC Display] Add basic transforms support.
https://bugs.webkit.org/show_bug.cgi?id=219313
Reviewed by Zalan Bujtas.
Add Display::BoxRareGeometry which will hold uncommon per-box geometry like
border-radius and transformation matrix.
At tree building time, compute a TransformationMatrix for the transforms on a box,
using a pixel-snapped transform origin. Also store a bit on Display::Style to indicate
that a transform applies (when set, we assume that BoxRareGeometry is non-null).
At paint time, use the computed matrix to adjust the CTM when painting a stacking
context, post-clipping and pre-effects. We adjust the box's matrix to move the
applied origin to the origin of the border box, and to account for the fact that
descendants will continue to paint in absolute coordinates.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- display/css/DisplayBoxFactory.cpp:
(WebCore::Display::BoxFactory::computeTransformOrigin const):
(WebCore::Display::BoxFactory::computeTransformationMatrix const):
(WebCore::Display::BoxFactory::constructBoxRareGeometry const):
(WebCore::Display::BoxFactory::setupBoxModelBox const):
- display/css/DisplayBoxFactory.h:
- display/css/DisplayBoxModelBox.cpp:
(WebCore::Display::BoxModelBox::setBoxRareGeometry):
(WebCore::Display::BoxModelBox::hasAncestorClip const):
- display/css/DisplayBoxModelBox.h:
(WebCore::Display::BoxModelBox::rareGeometry const):
- display/css/DisplayBoxRareGeometry.cpp: Added.
- display/css/DisplayBoxRareGeometry.h: Copied from Source/WebCore/display/css/DisplayBoxModelBox.h.
(WebCore::Display::BoxRareGeometry::transform const):
(WebCore::Display::BoxRareGeometry::setTransform):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::applyAncestorClip):
(WebCore::Display::applyEffects):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::Style):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::hasTransform const):
(WebCore::Display::Style::setHasTransform):
- 4:19 PM Changeset in webkit [270221] by
-
- 6 edits in trunk/Source/WebCore
[LFC Display] Add basic opacity support.
https://bugs.webkit.org/show_bug.cgi?id=219312
Reviewed by Zalan Bujtas.
Add a TransparencyLayerScope helper that can lazily begin, and end a transparency layer.
Add display tree support for opacity via applyEffects(), which begins a transparency
layer at the start of stacking context painting when alpha is < 1.
- display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BorderPainter::paintTranslucentBorderSides const):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::applyEffects):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::Style):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::opacity const):
- platform/graphics/GraphicsContext.h:
(WebCore::TransparencyLayerScope::TransparencyLayerScope):
(WebCore::TransparencyLayerScope::beginLayer):
(WebCore::TransparencyLayerScope::~TransparencyLayerScope):
- 11:37 AM Changeset in webkit [270220] by
-
- 26 edits2 adds in trunk/Source/WebCore
Move caret rect computation out of render tree
https://bugs.webkit.org/show_bug.cgi?id=219304
Reviewed by Zalan Bujtas.
Reduce code randomly sprinkled on renderers by moving it into standalone functions.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::localCaretRectForCharacterOffset):
- editing/RenderedPosition.cpp:
(WebCore::RenderedPosition::absoluteRect const):
- editing/RenderedPosition.h:
- editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::localCaretRect const):
- rendering/CaretRectComputation.cpp: Added.
(WebCore::computeCaretRectForEmptyElement):
(WebCore::computeCaretRectForLinePosition):
(WebCore::computeCaretRectForText):
(WebCore::computeCaretRectForLineBreak):
(WebCore::computeCaretRectForSVGInlineText):
(WebCore::computeCaretRectForBox):
(WebCore::computeCaretRectForBlock):
(WebCore::computeCaretRectForInline):
(WebCore::computeLocalCaretRect):
- rendering/CaretRectComputation.h: Added.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::localCaretRect const): Deleted.
- rendering/RenderBlock.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeCaretRect const): Deleted.
- rendering/RenderBlockFlow.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::localCaretRect const): Deleted.
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::localCaretRectForEmptyElement const): Deleted.
- rendering/RenderBoxModelObject.h:
- rendering/RenderInline.cpp:
(WebCore::RenderInline::localCaretRect const): Deleted.
- rendering/RenderInline.h:
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::localCaretRect const): Deleted.
- rendering/RenderLineBreak.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::localCaretRect const): Deleted.
- rendering/RenderObject.h:
- rendering/RenderObjectEnums.h:
- rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect const): Deleted.
- rendering/RenderText.h:
- rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect const): Deleted.
- rendering/svg/RenderSVGInlineText.h:
- 9:05 AM Changeset in webkit [270219] by
-
- 11 edits1 add in trunk/Source
[macOS] Set application information in the Networking process on behalf of the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=218052
<rdar://problem/70586405>
Reviewed by Brent Fulgham.
Source/WebCore/PAL:
Declare function to create ASN from an audit token.
- pal/spi/cocoa/LaunchServicesSPI.h:
Source/WebKit:
In preparation for blocking Launch Services in the WebContent process' sandbox, application information for the process
should be set in the Networking process.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/mac/NetworkConnectionToWebProcessMac.mm: Added.
(WebKit::NetworkConnectionToWebProcess::updateActivePages):
- Scripts/process-entitlements.sh:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::activePagesOrigins):
(WebKit::WebProcess::updateActivePages):
(WebKit::WebProcess::getActivePagesOriginsForTesting):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
Add define to enable this feature.
- wtf/PlatformEnableCocoa.h:
- 6:40 AM Changeset in webkit [270218] by
-
- 4 edits in trunk/Source/WebCore
Remove enums for GCGLenum constants in GraphicsContextGL and ExtensionsGL
https://bugs.webkit.org/show_bug.cgi?id=219319
Reviewed by Darin Adler.
Both GraphicsContextGL and ExtensionsGL were using C style enums to scope GCGLenum
values. Rather than using the enum static constexpr values of GCGLenum are used
instead.
This removes the need in WebGLDrawBuffers to static_cast the enums to GCGLenum
which works around a narrowing error.
No new tests. No change in behavior.
- html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
- platform/graphics/ExtensionsGL.h:
- platform/graphics/GraphicsContextGL.h:
- 6:07 AM Changeset in webkit [270217] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, GTK LTS build fix after r270195
- rendering/RenderInline.cpp:
(WebCore::RenderInline::linesBoundingBox const):
- 4:52 AM Changeset in webkit [270216] by
-
- 5 edits in trunk/Source/WebKit
[macOS] Issue sandbox extension to icon services when starting a drag operation
https://bugs.webkit.org/show_bug.cgi?id=219159
<rdar://problem/71585876>
Reviewed by Brent Fulgham.
Issue sandbox extension to icon services when starting a drag operation on macOS, since the WebContent process needs
access to these services when a drag is started. This patch detects when a drag is about to start, and sends sandbox
extensions to the icon services along with the mouse event. The sandbox extensions are then temporarily consumed
while handling the mouse event in the WebContent process.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::simulateMouseDown):
(WebKit::WebPage::simulateMouseUp):
(WebKit::WebPage::simulateMouseMotion):
(WebKit::WebPage::consumeSandboxExtensions):
(WebKit::WebPage::revokeSandboxExtensions):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Nov 27, 2020:
- 9:17 PM Changeset in webkit [270215] by
-
- 13 edits2 copies in trunk/Source/WebCore
[LFC Display] Implement basic overflow:hidden clipping
https://bugs.webkit.org/show_bug.cgi?id=219311
Reviewed by Zalan Bujtas.
Add BoxClip which represents the clip generated by walking the containing block ancestor chain
of a box. Display::BoxModelBox optionally has a BoxClip if it's a box that paints out of order
(i.e. participates in z-order sorting, so positioned or stacking context). That BoxClip
represents the clip contributed by ancestors, and it's applied before painting this box.
If a Box has overflow clip, then that is also additionally applied before painting the
in-flow descendants of the box.
To compute BoxClip, ask the display box for the relevant containing block for its clip,
which takes the clip from ancestors and appends the clip for that box (if any).
Also move accessors for borderRoundedRect() and innerBorderRoundedRect() onto Display::BoxModelBox
since they are needed for clipping as well as painting.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- display/css/DisplayBoxClip.cpp: Copied from Source/WebCore/display/css/DisplayBoxModelBox.cpp.
(WebCore::Display::BoxClip::BoxClip):
(WebCore::Display::BoxClip::copy const):
(WebCore::Display::BoxClip::pushClip):
(WebCore::Display::BoxClip::pushRoundedClip):
- display/css/DisplayBoxClip.h: Copied from Source/WebCore/display/css/DisplayBoxModelBox.cpp.
(WebCore::Display::BoxClip::create):
(WebCore::Display::BoxClip::clipRect const):
(WebCore::Display::BoxClip::affectedByBorderRadius const):
(WebCore::Display::BoxClip::clipStack const):
- display/css/DisplayBoxDecorationData.cpp:
(WebCore::Display::roundedRectWithIncludedRadii):
(WebCore::Display::roundedInsetBorderForRect):
- display/css/DisplayBoxDecorationData.h:
- display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BoxDecorationPainter::innerBorderRoundedRect const):
(WebCore::Display::roundedRectWithIncludedRadii): Deleted.
(WebCore::Display::roundedInsetBorderForRect): Deleted.
- display/css/DisplayBoxFactory.cpp:
(WebCore::Display::BoxFactory::setupBoxModelBox const):
- display/css/DisplayBoxModelBox.cpp:
(WebCore::Display::BoxModelBox::borderRoundedRect const):
(WebCore::Display::BoxModelBox::innerBorderRoundedRect const):
(WebCore::Display::BoxModelBox::setAncestorClip):
(WebCore::Display::BoxModelBox::clipForDescendants const):
(WebCore::Display::BoxModelBox::debugDescription const):
- display/css/DisplayBoxModelBox.h:
(WebCore::Display::BoxModelBox::ancestorClip const):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::applyClipIfNecessary):
(WebCore::Display::applyAncestorClip):
(WebCore::Display::CSSPainter::recursivePaintDescendantsForPhase):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):
- display/css/DisplayContainerBox.cpp:
(WebCore::Display::ContainerBox::debugDescription const):
- display/css/DisplayStyle.cpp:
(WebCore::Display::Style::Style):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::hasClippedOverflow const):
- 8:31 PM Changeset in webkit [270214] by
-
- 18 edits in trunk
[JSC] Use ARM atomic ops in wasm
https://bugs.webkit.org/show_bug.cgi?id=219281
Reviewed by Filip Pizlo.
JSTests:
- wasm/threads-spec-tests/atomic-signed.wast.js:
- wasm/threads-spec-tests/resources/atomic-signed.wast:
Source/JavaScriptCore:
This patch uses ARM LSE Atomic instructions in wasm atomic operations. This includes support in MacroAssembler, offlineasm, Air and B3,
so that FTL atomic operations automatically leverage ARM LSE atomic instructions too. Later we can extend DFG JIT to use it too.
One interesting thing is that this includes a fix for cmpxchg wasm operation implementations. Unfortunately, current wasm cmpxchg ops
are not the same to ARM cas / X86 cmpxchg. For example, i64.atomic.rmw8.cmpxchg_u takes i64 expected value. And the spec requires that
we should performi64-expected-value <cmp> loaded-zero-extended-1byte-value
. For example, if the expected value is0xffffffff_ffffff00
,
and the value stored in the memory is0x00
, then the wasm op needs to fail since0x00
is not0xffffffff_ffffff00
. But x86 and ARM
cmpxchg / cas ops behave differently since it truncates expected value to 1byte when performing 1byte cmpxchg. So we need to have a check
which performs the value is within 1byte range in this operation.
- assembler/ARM64EAssembler.h:
(JSC::ARM64EAssembler::exoticAtomicLoadStore):
(JSC::ARM64EAssembler::exoticAtomicCAS):
(JSC::ARM64EAssembler::ldaddal):
(JSC::ARM64EAssembler::ldeoral):
(JSC::ARM64EAssembler::ldclral):
(JSC::ARM64EAssembler::ldsetal):
(JSC::ARM64EAssembler::swpal):
(JSC::ARM64EAssembler::casal):
- assembler/MacroAssemblerARM64E.h:
(JSC::MacroAssemblerARM64E::atomicXchgAdd8):
(JSC::MacroAssemblerARM64E::atomicXchgAdd16):
(JSC::MacroAssemblerARM64E::atomicXchgAdd32):
(JSC::MacroAssemblerARM64E::atomicXchgAdd64):
(JSC::MacroAssemblerARM64E::atomicXchgXor8):
(JSC::MacroAssemblerARM64E::atomicXchgXor16):
(JSC::MacroAssemblerARM64E::atomicXchgXor32):
(JSC::MacroAssemblerARM64E::atomicXchgXor64):
(JSC::MacroAssemblerARM64E::atomicXchgOr8):
(JSC::MacroAssemblerARM64E::atomicXchgOr16):
(JSC::MacroAssemblerARM64E::atomicXchgOr32):
(JSC::MacroAssemblerARM64E::atomicXchgOr64):
(JSC::MacroAssemblerARM64E::atomicXchgClear8):
(JSC::MacroAssemblerARM64E::atomicXchgClear16):
(JSC::MacroAssemblerARM64E::atomicXchgClear32):
(JSC::MacroAssemblerARM64E::atomicXchgClear64):
(JSC::MacroAssemblerARM64E::atomicXchg8):
(JSC::MacroAssemblerARM64E::atomicXchg16):
(JSC::MacroAssemblerARM64E::atomicXchg32):
(JSC::MacroAssemblerARM64E::atomicXchg64):
(JSC::MacroAssemblerARM64E::atomicStrongCAS8):
(JSC::MacroAssemblerARM64E::atomicStrongCAS16):
(JSC::MacroAssemblerARM64E::atomicStrongCAS32):
(JSC::MacroAssemblerARM64E::atomicStrongCAS64):
- b3/B3LowerMacros.cpp:
- b3/B3LowerToAir.cpp:
- b3/air/AirOpcode.opcodes:
- b3/air/opcode_generator.rb:
- disassembler/ARM64/A64DOpcode.cpp:
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::format):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::format):
(JSC::ARM64Disassembler::A64DOpcodeCAS::format):
- disassembler/ARM64/A64DOpcode.h:
(JSC::ARM64Disassembler::A64DOpcode::appendInstructionName):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::opName):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::rs):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::opc):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::ar):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::opNumber):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::opName):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::rs):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::ar):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::opNumber):
(JSC::ARM64Disassembler::A64DOpcodeCAS::opName):
(JSC::ARM64Disassembler::A64DOpcodeCAS::rs):
(JSC::ARM64Disassembler::A64DOpcodeCAS::o1):
(JSC::ARM64Disassembler::A64DOpcodeCAS::l):
(JSC::ARM64Disassembler::A64DOpcodeCAS::opNumber):
- llint/WebAssembly.asm:
- offlineasm/arm64.rb:
- offlineasm/instructions.rb:
- offlineasm/x86.rb:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::sanitizeAtomicResult):
(JSC::Wasm::AirIRGenerator::appendGeneralAtomic):
(JSC::Wasm::AirIRGenerator::appendStrongCAS):
(JSC::Wasm::AirIRGenerator::emitAtomicLoadOp):
(JSC::Wasm::AirIRGenerator::emitAtomicStoreOp):
(JSC::Wasm::AirIRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::AirIRGenerator::emitAtomicCompareExchange):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::emitAtomicCompareExchange):
- 8:29 PM Changeset in webkit [270213] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, reverting r270210.
It broke TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo on
iOS
Reverted changeset:
"[WinCairo?] GPU process remains alive even after web process
exited"
https://bugs.webkit.org/show_bug.cgi?id=219321
https://trac.webkit.org/changeset/270210
- 7:56 PM Changeset in webkit [270212] by
-
- 3 edits1 add1 delete in trunk/Source/ThirdParty/ANGLE
[ANGLE] Convert adjust-angle-include-paths.sh to a Python script for Windows without Cygwin
https://bugs.webkit.org/show_bug.cgi?id=219299
Reviewed by Kenneth Russell.
WinCairo port can't use shell scripts because it isn't using
Cygwin.
- ANGLE.xcodeproj/project.pbxproj:
- CMakeLists.txt:
- adjust-angle-include-paths.py: Added.
- adjust-angle-include-paths.sh: Removed.
- 7:51 PM Changeset in webkit [270211] by
-
- 2 edits in trunk/LayoutTests
[WPE] Unreviewed test gardening. Remove unnecessary passes after r270017.
- platform/wpe/TestExpectations:
- 7:21 PM Changeset in webkit [270210] by
-
- 3 edits in trunk/Source/WebKit
[WinCairo?] GPU process remains alive even after web process exited
https://bugs.webkit.org/show_bug.cgi?id=219321
Reviewed by Don Olmstead.
AuxiliaryProcess::didClose is calling _exit. However, GPUProcess
overrode AuxiliaryProcess::didClose but it did nothing. GPUProcess
doesn't need to override it.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::didClose): Deleted.
- GPUProcess/GPUProcess.h:
- 6:31 PM Changeset in webkit [270209] by
-
- 9 edits in trunk
[LFC Display] Fix box locations for positioned elements
https://bugs.webkit.org/show_bug.cgi?id=219310
Source/WebCore:
Reviewed by Zalan Bujtas.
The code assumed that layout boxes were always positioned relative to their parents,
but border box geometry is actually relative to containing block. To keep track
of this when building the display tree, add PositioningContext which tracks
containing blocks for three types of positioning (fixed, absolute and in-flow),
and root-relative offsets for each.
The code then passes the appropriate containing block box + offset into the Display::BoxFactory
code, which uses the offset to compute absolute box rects.
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::PositioningContext::PositioningContext):
(WebCore::Display::PositioningContext::m_absolutePositionContainer):
(WebCore::Display::PositioningContext::m_inFlowContainer):
(WebCore::Display::PositioningContext::contextForDescendants const):
(WebCore::Display::PositioningContext::containingBlockContextForLayoutBox const):
(WebCore::Display::PositioningContext::inFlowContainingBlockContext const):
(WebCore::Display::TreeBuilder::build):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
- display/DisplayTreeBuilder.h:
- display/css/DisplayBoxFactory.cpp:
(WebCore::Display::BoxFactory::displayBoxForRootBox const):
(WebCore::Display::BoxFactory::displayBoxForBodyBox const):
(WebCore::Display::BoxFactory::displayBoxForLayoutBox const):
(WebCore::Display::BoxFactory::displayBoxForTextRun const):
(WebCore::Display::BoxFactory::setupBoxGeometry const):
(WebCore::Display::BoxFactory::constructBoxDecorationData const):
(WebCore::Display::BoxFactory::setupBoxModelBox const):
- display/css/DisplayBoxFactory.h:
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::containingBlock const):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isContainingBlockForInFlow const):
(WebCore::Layout::Box::isContainingBlockForFixedPosition const):
(WebCore::Layout::Box::isContainingBlockForOutOfFlowPosition const):
LayoutTests:
Reviewed by NOBODY (OOPS!).
Two table tests are now image failures because of webkit.org/b/219322.
- 4:02 PM Changeset in webkit [270208] by
-
- 38 edits9 adds in trunk
[JSC] Add wasm atomics instructions
https://bugs.webkit.org/show_bug.cgi?id=218954
Reviewed by Filip Pizlo.
JSTests:
- wasm.yaml:
- wasm/Builder.js:
(const._importMemoryContinuation):
(export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
- wasm/Builder_WebAssemblyBinary.js:
(const.putResizableLimits):
(const.emitters.Import):
(const.emitters.Memory):
- wasm/function-tests/trap-load-shared.js:
- wasm/function-tests/trap-store-shared.js:
- wasm/stress/atomic-decrement.js: Added.
(i.agent.start.import.string_appeared_here.then):
(i.async error):
- wasm/stress/atomic-increment.js: Added.
(i.agent.start.import.string_appeared_here.then):
(i.async error):
- wasm/stress/memory-fence.js: Added.
(async try):
(catch):
- wasm/threads-spec-tests/atomic-signed.wast.js: Added.
- wasm/threads-spec-tests/atomic.wast.js: Added.
- wasm/threads-spec-tests/memory.wast.js: Added.
- wasm/threads-spec-tests/resources/atomic-signed.wast: Added.
- wasm/wasm.json:
Source/JavaScriptCore:
This patch implements wasm threading's atomic operations[1] in X86_64 and ARM64. Currently, all ARM64 atomic operations are implemented by using LL/SC.
Later, we will use ARM64 CAS operations if possible, at least in ARM64E.
To test it easily, we also extend jsc shell's worker to support transferring shared WebAssembly.Memory so that we can use wasm atomic operations in several
workers in jsc shell.
[1]: https://github.com/WebAssembly/threads
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::atomicXchg8):
(JSC::MacroAssemblerX86Common::atomicXchg16):
(JSC::MacroAssemblerX86Common::atomicXchg32):
- b3/B3Kind.h:
(JSC::B3::Kind::hasTraps const):
- b3/B3LowerToAir.cpp:
- b3/B3Width.h:
(JSC::B3::bytesForWidth):
- b3/testb3_8.cpp:
(testAtomicXchg):
- bytecode/BytecodeList.rb:
- interpreter/Register.h:
(JSC::Register::unboxedInt64 const):
(JSC::Register::asanUnsafeUnboxedInt64 const):
- jsc.cpp:
(Message::releaseContents):
(Message::Message):
(JSC_DEFINE_HOST_FUNCTION):
- llint/WebAssembly.asm:
- offlineasm/arm64.rb:
- offlineasm/instructions.rb:
- offlineasm/x86.rb:
- runtime/OptionsList.h:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::appendEffectful):
(JSC::Wasm::accessWidth):
(JSC::Wasm::sizeOfAtomicOpMemoryAccess):
(JSC::Wasm::AirIRGenerator::fixupPointerPlusOffsetForAtomicOps):
(JSC::Wasm::AirIRGenerator::sanitizeAtomicResult):
(JSC::Wasm::AirIRGenerator::appendGeneralAtomic):
(JSC::Wasm::AirIRGenerator::appendStrongCAS):
(JSC::Wasm::AirIRGenerator::emitAtomicLoadOp):
(JSC::Wasm::AirIRGenerator::atomicLoad):
(JSC::Wasm::AirIRGenerator::emitAtomicStoreOp):
(JSC::Wasm::AirIRGenerator::atomicStore):
(JSC::Wasm::AirIRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::AirIRGenerator::atomicBinaryRMW):
(JSC::Wasm::AirIRGenerator::emitAtomicCompareExchange):
(JSC::Wasm::AirIRGenerator::atomicCompareExchange):
(JSC::Wasm::AirIRGenerator::atomicWait):
(JSC::Wasm::AirIRGenerator::atomicNotify):
(JSC::Wasm::AirIRGenerator::atomicFence):
(JSC::Wasm::AirIRGenerator::addCall):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::memoryKind):
(JSC::Wasm::accessWidth):
(JSC::Wasm::sizeOfAtomicOpMemoryAccess):
(JSC::Wasm::B3IRGenerator::sanitizeAtomicResult):
(JSC::Wasm::B3IRGenerator::fixupPointerPlusOffsetForAtomicOps):
(JSC::Wasm::B3IRGenerator::emitAtomicLoadOp):
(JSC::Wasm::B3IRGenerator::atomicLoad):
(JSC::Wasm::B3IRGenerator::emitAtomicStoreOp):
(JSC::Wasm::B3IRGenerator::atomicStore):
(JSC::Wasm::B3IRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::B3IRGenerator::atomicBinaryRMW):
(JSC::Wasm::B3IRGenerator::emitAtomicCompareExchange):
(JSC::Wasm::B3IRGenerator::atomicCompareExchange):
(JSC::Wasm::B3IRGenerator::atomicWait):
(JSC::Wasm::B3IRGenerator::atomicNotify):
(JSC::Wasm::B3IRGenerator::atomicFence):
(JSC::Wasm::B3IRGenerator::addCall):
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::atomicLoad):
(JSC::Wasm::FunctionParser<Context>::atomicStore):
(JSC::Wasm::FunctionParser<Context>::atomicBinaryRMW):
(JSC::Wasm::FunctionParser<Context>::atomicCompareExchange):
(JSC::Wasm::FunctionParser<Context>::atomicWait):
(JSC::Wasm::FunctionParser<Context>::atomicNotify):
(JSC::Wasm::FunctionParser<Context>::atomicFence):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::atomicLoad):
(JSC::Wasm::LLIntGenerator::atomicStore):
(JSC::Wasm::LLIntGenerator::atomicBinaryRMW):
(JSC::Wasm::LLIntGenerator::atomicCompareExchange):
(JSC::Wasm::LLIntGenerator::atomicWait):
(JSC::Wasm::LLIntGenerator::atomicNotify):
(JSC::Wasm::LLIntGenerator::atomicFence):
- wasm/WasmMemory.h:
- wasm/WasmMemoryInformation.cpp:
(JSC::Wasm::MemoryInformation::MemoryInformation):
- wasm/WasmMemoryInformation.h:
(JSC::Wasm::MemoryInformation::isShared const):
- wasm/WasmOperations.cpp:
(JSC::Wasm::wait):
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/WasmOperations.h:
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseResizableLimits):
(JSC::Wasm::SectionParser::parseTableHelper):
(JSC::Wasm::SectionParser::parseMemoryHelper):
- wasm/WasmSectionParser.h:
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
- wasm/WasmSlowPaths.h:
- wasm/generateWasm.py:
(isAtomic):
(isAtomicLoad):
(isAtomicStore):
(isAtomicBinaryRMW):
(memoryLog2Alignment):
- wasm/generateWasmOpsHeader.py:
(atomicMemoryLoadMacroizer):
(atomicMemoryLoadMacroizer.modifier):
(atomicMemoryStoreMacroizer):
(atomicMemoryStoreMacroizer.modifier):
(atomicBinaryRMWMacroizer):
(atomicBinaryRMWMacroizer.modifier):
(memoryLog2AlignmentGenerator):
(atomicMemoryLog2AlignmentGenerator):
(ExtAtomicOpType):
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::tryCreate):
- wasm/wasm.json:
- 1:31 PM Changeset in webkit [270207] by
-
- 11 edits11 adds in trunk
[iOS][FCR] Add new look for meter element
https://bugs.webkit.org/show_bug.cgi?id=219103
<rdar://problem/71549155>
Reviewed by Wenson Hsieh.
Source/WebCore:
Tests: fast/forms/ios/form-control-refresh/meter/border.html
fast/forms/ios/form-control-refresh/meter/even-less-good-appearance.html
fast/forms/ios/form-control-refresh/meter/optimal-appearance.html
fast/forms/ios/form-control-refresh/meter/suboptimal-appearance.html
fast/forms/ios/form-control-refresh/meter/width-height.html
- html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::createElementRenderer):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::supportsMeter const):
- rendering/RenderTheme.h:
Added additional parameter to supportsMeter to control support at runtime.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::supportsMeter const):
Implement this method so that a native meter is painted on iOS. Note that
a native appearance for meter is currently supported on macOS, but is
unsupported on iOS.
(WebCore::RenderThemeIOS::paintMeter):
Paint a meter element using the new appearance. The color of the filled
portion matches the element's gauge region, and can be one of three
colors. If the style has an RTL direction, flip the filled portion to
start from the right side of the element. This matches the RTL behavior
for progress bars.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::supportsMeter const):
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::supportsMeter const):
- rendering/RenderThemeWin.h:
LayoutTests:
Added tests to verify the stylability of native meters and to
verify that different states are painted with a different appearance.
- fast/forms/ios/form-control-refresh/meter/border-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/meter/border.html: Added.
- fast/forms/ios/form-control-refresh/meter/even-less-good-appearance-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/meter/even-less-good-appearance.html: Added.
- fast/forms/ios/form-control-refresh/meter/optimal-appearance-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/meter/optimal-appearance.html: Added.
- fast/forms/ios/form-control-refresh/meter/suboptimal-appearance-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/meter/suboptimal-appearance.html: Added.
- fast/forms/ios/form-control-refresh/meter/width-height-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/meter/width-height.html: Added.
- 12:38 PM Changeset in webkit [270206] by
-
- 6 edits in trunk/Source
Non-unified build fixes, late November 2020 edition, take two
https://bugs.webkit.org/show_bug.cgi?id=219317
Unreviewed non-unified build fixes.
Source/WebCore:
- display/css/DisplayBox.cpp:
- layout/integration/LayoutIntegrationLineLayout.cpp:
- rendering/RenderBlockFlow.cpp:
Source/WebKit:
- Shared/WebPreferencesDefaultValues.cpp:
- 12:36 PM Changeset in webkit [270205] by
-
- 4 edits in trunk/Source/WebKit
Fix build when ENABLE_RESOURCE_LOAD_STATISTICS is disabled
https://bugs.webkit.org/show_bug.cgi?id=219316
Unreviewed build fix.
Add ENABLE(RESOURCE_LOAD_STATISTICS) guards around NetworkSession requests for
resource load statistics. Move firePrivateClickMeasurementTimerImmediately out of
a ENABLE(RESOURCE_LOAD_STATISTICS) guard and place it where its ordered in the header.
This originally broke the PlayStation build before ENABLE_RESOURCE_LOAD_STATISTICS
was turned on.
No new tests. No change in behavior.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::simulateResourceLoadStatisticsSessionRestart):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::firePrivateClickMeasurementTimerImmediately):
- NetworkProcess/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::storeUnattributed):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::clearSentAttributions):
(WebKit::PrivateClickMeasurementManager::updateTimerLastFired):
(WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests):
(WebKit::PrivateClickMeasurementManager::clear):
(WebKit::PrivateClickMeasurementManager::clearForRegistrableDomain):
(WebKit::PrivateClickMeasurementManager::clearExpired):
(WebKit::PrivateClickMeasurementManager::toString const):
(WebKit::PrivateClickMeasurementManager::markAllUnattributedAsExpiredForTesting):
(WebKit::PrivateClickMeasurementManager::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
- 12:34 PM Changeset in webkit [270204] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo][Clang] html/canvas/WebGLDrawBuffers.cpp(77,29): error: non-constant-expression cannot be narrowed from type 'WebCore::GraphicsContextGL::(anonymous enum at GraphicsContextGL.h:64:5)' to 'GCGLenum' (aka 'unsigned int') in initializer list
https://bugs.webkit.org/show_bug.cgi?id=219320
Unreviewed build fix for WinCairo clang-cl build.
- html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL): Added static_cast<GCGLenum> for the initializer list.
- 12:07 PM Changeset in webkit [270203] by
-
- 15 edits in trunk
Introduce new display list meta commands in preparation for webkit.org/b/219091
https://bugs.webkit.org/show_bug.cgi?id=219262
Reviewed by Ryosuke Niwa.
Source/WebCore:
Introduces two new display list items:
MetaCommandChangeDestinationImageBuffer
andMetaCommandEnd
. These
meta commands will be used in a future patch to synchronize display list drawing commands between multiple
destination image buffers when using the GPU process by allowingRemoteRenderingBackend
to process display
data that contains commands targeting more than one destination image buffer.
MetaCommandChangeDestinationImageBuffer
is used to inform the replayer that the destination image buffer (in
which commands are replayed) should be changed to the new image buffer indicated by the rendering resource
identifier in the item. When replaying, we'll bail withStopReplayReason::ChangeDestinationImageBuffer
and set
nextDestinationImageBuffer
to the identifier of this next buffer.
MetaCommandEnd
is used to inform the replayer that it should expect no more display list items; in a future
patch,RemoteRenderingBackend
will take this as a cue to immediately stop waiting for more display list data
and go to sleep.
A stream of display list data will eventually consist of data targeting one or more destination image buffers,
separated byMetaCommandChangeDestinationImageBuffer
items, and may span one or more item buffers, separated
byMetaCommandChangeItemBuffer
items; finally, it will conclude with aMetaCommandEnd
item.
The below diagram depicts one such stream of display list data, where we have two destination image buffers
(denoted by A and B), and display list item data spanning two item buffers (denoted by 1 and 2).
Wakeup message initiates display list processing with Image Buffer A and Item Buffer 1
|
| MetaCommandChangeItemBuffer(2)
| |
| MetaCommandChangeDestinationImageBuffer(B) |
| | |
| | |
v v v
+-----------------------+--------------------------------++
| +--------------------+ +------------------------------+ |
| | Destination | | Destination | | Item Buffer 1
| | Image Buffer A | | Image Buffer B | |
| +--------------------+ +------------------------------+ |
+---------------------------------------------------------+
+---------------------------------------------------------+
| +--------------+ +-----------------------+ |
| | Dst. Image | | Destination Image | Unused | Item Buffer 2
| | Buffer B | | Buffer A | Capacity |
| +--------------+ +-----------------------+ |
+-----------------+-------------------------+-------------+
| |
| |
| MetaCommandEnd
|
MetaCommandChangeDestinationImageBuffer(A)
Additionally, rename
MetaCommandSwitchToItemBuffer
toMetaCommandChangeItemBuffer
, such that it is
consistent with the newMetaCommandChangeDestinationImageBuffer
item.
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::append):
- platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::copyTo const):
(WebCore::DisplayList::ItemBuffer::swapWritableBufferIfNeeded):
- platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- platform/graphics/displaylists/DisplayListItemType.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::MetaCommandChangeItemBuffer::MetaCommandChangeItemBuffer):
(WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::MetaCommandChangeDestinationImageBuffer):
(WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::identifier const):
(WebCore::DisplayList::MetaCommandSwitchToItemBuffer::MetaCommandSwitchToItemBuffer): Deleted.
(WebCore::DisplayList::MetaCommandSwitchToItemBuffer::identifier const): Deleted.
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::replay):
- platform/graphics/displaylists/DisplayListReplayer.h:
Source/WebKit:
See WebCore ChangeLog for more information. Additionally, rename
MetaCommandSwitchToItemBuffer
to
MetaCommandChangeItemBuffer
, for consistency with the newMetaCommandChangeDestinationImageBuffer
item.
- GPUProcess/graphics/RemoteImageBuffer.h:
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::decodeItem):
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
Tools:
Rename
MetaCommandSwitchToItemBuffer
.
- TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
- 10:56 AM Changeset in webkit [270202] by
-
- 3 edits in trunk/Source/WebKit
Remove some extraneous PLATFORM(IOS_FAMILY) guards in WKContentViewInteraction
https://bugs.webkit.org/show_bug.cgi?id=219289
Reviewed by Sam Weinig.
Remove several redundant uses of
PLATFORM(IOS_FAMILY)
. The entire class is already conditional on
IOS_FAMILY
, so adding additional compile-time guards for iOS family is not necessary.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setTimePickerValueToHour:minute:]):
(-[WKContentView timePickerValueHour]):
(-[WKContentView timePickerValueMinute]):
- 10:53 AM Changeset in webkit [270201] by
-
- 2 edits in trunk/Tools
[build.webkit.org] use lz4 compression for improving buildbot performance
https://bugs.webkit.org/show_bug.cgi?id=219133
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/master_buildbot2.cfg:
- 10:50 AM Changeset in webkit [270200] by
-
- 4 edits in trunk/Source/WebCore
[LFC Display] Clean up CSS stacking context painting code
https://bugs.webkit.org/show_bug.cgi?id=219307
Reviewed by Antti Koivisto.
Clarify the code in Display::CSSPainter that paints stacking contexts and positioned
elements. Non-stacking positioned elements paint atomically, but don't paint descendant
stacking contexts (sometimes these are called "pseudo-stacking contexts" but that term
is avoided here to reduce confusion). Share code between painting these and stacking
contexts via paintAtomicallyPaintedBox().
Also make sure we paint the contents of non-container child boxes, so that things like
positioned images paint.
Remove some incorrect image painting code in BoxPainter::paintBox().
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
- display/css/DisplayBoxPainter.cpp:
(WebCore::Display::BoxPainter::paintBox):
- display/css/DisplayCSSPainter.cpp:
(WebCore::Display::CSSPainter::recursivePaintDescendantsForPhase):
(WebCore::Display::CSSPainter::recursivePaintDescendants):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):
(WebCore::Display::CSSPainter::paintStackingContext):
(WebCore::Display::CSSPainter::participatesInZOrderSorting):
(WebCore::Display::CSSPainter::collectStackingContextDescendants):
(WebCore::Display::CSSPainter::recursiveCollectLayers):
- display/css/DisplayCSSPainter.h:
- 10:49 AM Changeset in webkit [270199] by
-
- 2 edits in trunk/Tools/buildstream
[Flatpak SDK] Update GTK4 to 3.99.4
https://bugs.webkit.org/show_bug.cgi?id=219269
Reviewed by Philippe Normand.
- elements/sdk/gtk.bst: Update to track tags instead of individual commits and
specify 3.99.4 as the latest tag. Also added new meson flags to disable the ffmpeg
media backend and cloud printing after GTK changed some more options into features[1]
[1] https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2708
- 9:45 AM Changeset in webkit [270198] by
-
- 2 edits in trunk/Source/WebCore
[LFC Display] A ContainerBox can establish an inline formatting context and have box children
https://bugs.webkit.org/show_bug.cgi?id=218736
Reviewed by Zalan Bujtas.
If a layout box establishes an inline formatting context, then the only descendant container
boxes that we should make display boxes for while traversing non-inline descendants
are those which are out of flow.
- display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
- 9:26 AM Changeset in webkit [270197] by
-
- 12 edits in trunk/Source
Non-unified build fixes, late November 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=219306
Unreviewed non-unified build fixes.
Source/WebCore:
- dom/SimpleRange.cpp: Add missing Frame.h header.
- html/canvas/CanvasRenderingContext2D.cpp: Removed fontStyleIsWithinRange() from here, as
it is not used in this source file.
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::isSpaceThatNeedsReplacing): Moved here from CanvasRenderingContext2D.cpp
- inspector/InspectorNodeFinder.cpp: Add missing Frame.h header.
- page/FrameTree.h: Added missing wtf/Forward.h header
- style/StyleResolveForFontRaw.cpp: Add missing CSSToLengthConversionData.h,
FontCascade.h, and Settings.h headers.
- style/StyleResolveForFontRaw.h: Add forward declaration for FontCascadeDescription.
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: Add missing
PrivateClickMeasurementManager.h header.
- NetworkProcess/PrivateClickMeasurementManager.cpp: Add missing NetworkSession.h header.
- UIProcess/SpeechRecognitionServer.cpp:
(WebKit::SpeechRecognitionServer::handleRequest): Add missing WebCore:: namespace to uses
of the WebCore::SpeechRecognizer and WebCore::SpeechRecognitionUpdateType types.
- 9:05 AM Changeset in webkit [270196] by
-
- 7 edits in trunk/Source/WebCore
[LFC Display] Add support for painting box shadows
https://bugs.webkit.org/show_bug.cgi?id=219265
Reviewed by Zalan Bujtas.
Clone the ShadowData linked list into Display::Style, fixing up the color,
and add code to BoxDecorationPainter to paint outset and inset shadows.
The pixel snapping isn't quite right yet; we really need to pixel-snap the
rect that results from the border/padding box with shadow offset and spread applied,
but that would require storing more shadow-related data at tree building time.
The boxShadowShouldBeAppliedToBackground() code path isn't supported yet.
- display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BoxDecorationPainter::BoxDecorationPainter):
(WebCore::Display::BoxDecorationPainter::paintBoxShadow const):
(WebCore::Display::BoxDecorationPainter::innerBorderRoundedRect const):
(WebCore::Display::BoxDecorationPainter::backgroundRoundedRectAdjustedForBleedAvoidance const):
(WebCore::Display::BoxDecorationPainter::paintBackgroundAndBorders const):
- display/css/DisplayBoxDecorationPainter.h:
- display/css/DisplayStyle.cpp:
(WebCore::Display::deepCopy):
(WebCore::Display::Style::Style):
- display/css/DisplayStyle.h:
(WebCore::Display::Style::boxShadow const):
- platform/graphics/LayoutSize.h:
(WebCore::roundSizeToDevicePixels):
- rendering/style/ShadowData.h:
(WebCore::ShadowData::setColor):
(WebCore::ShadowData::setNext):
- 8:52 AM Changeset in webkit [270195] by
-
- 11 edits in trunk/Source/WebCore
[LFC][Integration] Initial display:inline support
https://bugs.webkit.org/show_bug.cgi?id=219301
Reviewed by Zalan Bujtas.
<span> etc.
Not enabled yet.
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
(WebCore::LayoutIntegration::BoxTree::updateStyle):
(WebCore::LayoutIntegration::BoxTree::layoutBoxForRenderer):
(WebCore::LayoutIntegration::BoxTree::rendererForLayoutBox):
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
- layout/integration/LayoutIntegrationInlineContent.h:
(WebCore::LayoutIntegration::InlineContent::InlineBox::InlineBox):
(WebCore::LayoutIntegration::InlineContent::InlineBox::layoutBox const):
(WebCore::LayoutIntegration::InlineContent::InlineBox::lineIndex const):
(WebCore::LayoutIntegration::InlineContent::InlineBox::rect const):
(WebCore::LayoutIntegration::InlineContent::shrinkToFit):
- layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayInlineBoxes const):
- layout/integration/LayoutIntegrationInlineContentBuilder.h:
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::containing):
(WebCore::LayoutIntegration::LineLayout::enclosingBorderBoxRectFor const):
(WebCore::LayoutIntegration::LineLayout::paint):
- layout/integration/LayoutIntegrationLineLayout.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutModernLines):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::styleDidChange):
(WebCore::RenderInline::linesBoundingBox const):
- 8:31 AM Changeset in webkit [270194] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Fix ANGLE CMakeLists.txt warnings
https://bugs.webkit.org/show_bug.cgi?id=219260
Patch by Rob Buis <rbuis@igalia.com> on 2020-11-27
Reviewed by Philippe Normand.
Fix warning when building on GTK:
Make Warning (dev) at Source/ThirdParty/ANGLE/CMakeLists.txt:103:
Syntax Warning in cmake code at column 37
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
- CMakeLists.txt:
- 6:48 AM Changeset in webkit [270193] by
-
- 3 edits1 add in trunk/Tools/buildstream
[Flatpak SDK] Add clangd
https://bugs.webkit.org/show_bug.cgi?id=219302
Reviewed by Adrian Perez de Castro.
clangd can be used as an alternative to ccls in IDEs supporting the LSP protocol.
- elements/sdk-platform.bst:
- elements/sdk/clangd.bst: Added.
- project.conf:
- 4:21 AM Changeset in webkit [270192] by
-
- 2 edits in trunk/Tools/buildstream
[Flatpak SDK] Update ccls
https://bugs.webkit.org/show_bug.cgi?id=219303
Patch by Philippe Normand <pnormand@igalia.com> on 2020-11-27
Reviewed by Adrian Perez de Castro.
- elements/sdk/ccls.bst: Update to latest release, 0.20201025.
- 4:16 AM Changeset in webkit [270191] by
-
- 3 edits2 adds in trunk/Tools/buildstream
[Flatpak SDK] Add cmake-lsp recipe
https://bugs.webkit.org/show_bug.cgi?id=219234
Patch by Philippe Normand <pnormand@igalia.com> on 2020-11-27
Reviewed by Adrian Perez de Castro.
Add CMake LSP server for use in IDEs.
- elements/sdk-platform.bst:
- elements/sdk/cmake-lsp.bst: Added.
- elements/sdk/pygls.bst: Added.
- project.conf:
- 3:57 AM Changeset in webkit [270190] by
-
- 8 edits1 copy1 add in trunk
REGRESSION(r269642) [GStreamer][WebRTC] Unexpected results after update to M87
https://bugs.webkit.org/show_bug.cgi?id=218787
Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-11-27
Reviewed by Philippe Normand.
Source/WebCore:
Describe more specifically the H264 SDP. It uses a hardcoded list with the minimun
requirement: ConstrainedBaseline and Baseline profiles which are supported by the video
decoders used in GStreamer.
No new tests required.
- platform/GStreamer.cmake:
- platform/mediastream/libwebrtc/GStreamerVideoCommon.cpp: Added.
(WebCore::createH264Format):
(WebCore::gstreamerSupportedH264Codecs):
- platform/mediastream/libwebrtc/GStreamerVideoCommon.h: Added.
- platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp: Removed unused headers.
(WebCore::GStreamerVideoDecoder::AddDecoderIfSupported): Pass argument by reference.
(WebCore::GStreamerVideoDecoder::ConfigureSupportedDecoder): Instead of a single SDP returns
a vector of them.
- platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: Removed unused headers.
(WebCore::GStreamerVideoEncoder::AddCodecIfSupported): Pass argument by reference.
(WebCore::GStreamerVideoEncoder::ConfigureSupportedCodec): Instead of a single SDP returns
a vector of them and remove the unused argument.
(WebCore::GStreamerVideoEncoderFactory::GetSupportedFormats const):
- platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h: Fixed a typo.
LayoutTests:
Update expectations with fixed tests.
Also fixed a typo.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- 3:21 AM Changeset in webkit [270189] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, clang build fix after r270185
- platform/graphics/GraphicsTypesGL.h: Fixup nullptr_t namespace.
(GCGLSpan::GCGLSpan):
(std::numeric_limits<size_t>::max):
- 3:03 AM Changeset in webkit [270188] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GLib webaudio gardening
- platform/glib/TestExpectations: webaudio/AudioParam/audioparam-processing.html
consistently passing since r270139.
- 2:21 AM Changeset in webkit [270187] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer] refactor video encoder with WebKit style
https://bugs.webkit.org/show_bug.cgi?id=218748
Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-11-27
Reviewed by Philippe Normand.
Apply WebKit code style to GStreamerVideoEncoder
No new tests required since it's a refactor.
- platform/mediastream/libwebrtc/GStreamerVideoEncoder.cpp:
(Encoders::singleton): Instead of an array with the available encoders, a singleton map is
used, with better memory handling.
(Encoders::registerEncoder): static method to register a possible encoder to handle
(Encoders::definition): getter
(webrtcVideoEncoderGetProperty): renamed
(webrtcVideoEncoderSetBitrate): renamed
(webrtcVideoEncoderSetFormat): Use getter for static pads; GRefPtr for memory handling;
don't call gst_ghost_pad_set_target() inside a g_assert since it can be disabled.
(webrtcVideoEncoderSetProperty): renamed
(setupX264enc): renamed
(setupOpenh264enc): renamed
(setupOmxh264enc): renamed
(setBitrateKbitPerSec): renamed
(setBitrateBitPerSec): renamed
(webrtc_video_encoder_class_init): renamed
(webrtc_video_encoder_init): renamed
- platform/mediastream/libwebrtc/GStreamerVideoEncoder.h: use G_DECLARE_FINAL_TYPE macro and
change the name of the glib type to WEBRTC_TYPE_VIDEO_ENCODER
- platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: remove unused macro
(WebCore::GStreamerVideoEncoderFactory::GStreamerVideoEncoderFactory): Don't register the
element as primary, but none.
- 2:02 AM Changeset in webkit [270186] by
-
- 3 edits in trunk/Tools
[GTK] MiniBroeser add an option to quit the browser after loading finishes
https://bugs.webkit.org/show_bug.cgi?id=219081
Reviewed by Carlos Alberto Lopez Perez.
It's useful to run benchmarks or test case reduction tools.
- MiniBrowser/gtk/BrowserTab.c:
(webProcessTerminatedCallback): Show a warning when the web process crashes.
(browserTabConstructed): Connect to web-process-terminated signal.
- MiniBrowser/gtk/main.c:
(quitApplication): Quit the MiniBrowser.
(exitAfterWebViewLoadFinishesCallback): Schedule a browser quit to the next run loop iteration.
(exitAfterWebProcessCrashed): Call exitAfterWebViewLoadFinishesCallback with WEBKIT_LOAD_FINISHED.
(exitAfterWebViewLoadFinishes): Connect to load-changed and web-process-terminated signals
(activate): Ensure the browser is exited after the load finishes or web process crashes when --exit-after-load is passed.
- 1:51 AM Changeset in webkit [270185] by
-
- 25 edits in trunk/Source/WebCore
GraphicsContextGL should have robust multivalue setters
https://bugs.webkit.org/show_bug.cgi?id=219256
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-27
Reviewed by Dean Jackson.
Replace bufSize, pointer pairs and plain pointers in GraphicsContextGL
with GCGLSpan. This makes it easier to understand how many values there
are pointed by the pointer. This is needed for simpler implementation of GPU
process IPC, where the IPC layer does not need to interpret the OpenGL
properties.
In WebGL implementation, changes the validation functions to return
the memory reference that will be touched by the valid function call.
On validation failure, nullopt will be returned.
Makes the existing GraphicsContextGL texture image manipulation functions
to support robust invocation. Removes the robust APIs from ExtensionsGL.
Adds the missing texture image manipulation functions from ExtensionGL
to GraphicsContextGL. Implementations for the moved methods
exist only for ANGLE implementation of GraphicsContextGLOpenGL.
Changes the ANGLE variant of GraphicsContextGL::texImage2D to be
implemented as ExtensionsGLANGLE::texImage2DRobustANGLE. Before, for
ANGLE the GraphicsContextGL::texImage2D was unused.
No new tests, a refactor.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::invalidateFramebuffer):
(WebCore::WebGL2RenderingContext::invalidateSubFramebuffer):
(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::drawBuffers):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):
(WebCore::WebGL2RenderingContext::validateClearBuffer):
(WebCore::WebGL2RenderingContext::uniform1fv):
(WebCore::WebGL2RenderingContext::uniform2fv):
(WebCore::WebGL2RenderingContext::uniform3fv):
(WebCore::WebGL2RenderingContext::uniform4fv):
(WebCore::WebGL2RenderingContext::uniform1iv):
(WebCore::WebGL2RenderingContext::uniform2iv):
(WebCore::WebGL2RenderingContext::uniform3iv):
(WebCore::WebGL2RenderingContext::uniform4iv):
(WebCore::WebGL2RenderingContext::uniformMatrix2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4fv):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
(WebCore::WebGLRenderingContextBase::uniform1fv):
(WebCore::WebGLRenderingContextBase::uniform2fv):
(WebCore::WebGLRenderingContextBase::uniform3fv):
(WebCore::WebGLRenderingContextBase::uniform4fv):
(WebCore::WebGLRenderingContextBase::uniform1iv):
(WebCore::WebGLRenderingContextBase::uniform2iv):
(WebCore::WebGLRenderingContextBase::uniform3iv):
(WebCore::WebGLRenderingContextBase::uniform4iv):
(WebCore::WebGLRenderingContextBase::uniformMatrix2fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix3fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix4fv):
(WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):
(WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):
- html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::validateUniformParameters):
- platform/graphics/ExtensionsGL.h:
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/GraphicsTypesGL.h:
(GCGLSpan::GCGLSpan):
(std::numeric_limits<size_t>::max):
(makeGCGLSpan):
- platform/graphics/angle/ExtensionsGLANGLE.cpp:
(WebCore::ExtensionsGLANGLE::drawBuffersEXT):
- platform/graphics/angle/ExtensionsGLANGLE.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::bufferData):
(WebCore::GraphicsContextGLOpenGL::bufferSubData):
(WebCore::GraphicsContextGLOpenGL::uniform1fv):
(WebCore::GraphicsContextGLOpenGL::uniform2fv):
(WebCore::GraphicsContextGLOpenGL::uniform3fv):
(WebCore::GraphicsContextGLOpenGL::uniform4fv):
(WebCore::GraphicsContextGLOpenGL::uniform1iv):
(WebCore::GraphicsContextGLOpenGL::uniform2iv):
(WebCore::GraphicsContextGLOpenGL::uniform3iv):
(WebCore::GraphicsContextGLOpenGL::uniform4iv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4fv):
(WebCore::GraphicsContextGLOpenGL::invalidateFramebuffer):
(WebCore::GraphicsContextGLOpenGL::invalidateSubFramebuffer):
(WebCore::GraphicsContextGLOpenGL::uniform1uiv):
(WebCore::GraphicsContextGLOpenGL::uniform2uiv):
(WebCore::GraphicsContextGLOpenGL::uniform3uiv):
(WebCore::GraphicsContextGLOpenGL::uniform4uiv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4iv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4uiv):
(WebCore::GraphicsContextGLOpenGL::drawBuffers):
(WebCore::GraphicsContextGLOpenGL::clearBufferiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferuiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferfv):
- platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:
(WebCore::GraphicsContextGLCVANGLE::initializeUVContextObjects):
(WebCore::GraphicsContextGLCVANGLE::copyPixelBufferToTexture):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- 1:08 AM Changeset in webkit [270184] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] AudioSourceProvider can potentially invoke an already-freed client
https://bugs.webkit.org/show_bug.cgi?id=217952
Reviewed by Xabier Rodriguez-Calvar.
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::deinterleavePadsConfigured): Check the provider has
a client before setting up the audio format.
- 12:51 AM Changeset in webkit [270183] by
-
- 4 edits in trunk/LayoutTests
[WebRTC] webrtc/audio-sframe.html is flaky crashing since added in r269830
https://bugs.webkit.org/show_bug.cgi?id=219066
<rdar://problem/71747778>
Unreviewed.
webrtc/audio-sframe.html is no longer crashing after revision 270107.
Update test expectations accordingly.
- platform/glib/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 12:28 AM Changeset in webkit [270182] by
-
- 2 edits2 adds in trunk/Source/WebKit
[PlayStation] Define platform argument coders for Font
https://bugs.webkit.org/show_bug.cgi?id=219300
Reviewed by Fujii Hironori.
- PlatformPlayStation.cmake:
- Shared/playstation/WebCoreArgumentCodersPlayStation.cpp: Added.
Define required member functions of ArgumentCoder<Ref<WebCore::Font>> class.
- 12:07 AM Changeset in webkit [270181] by
-
- 3 edits in trunk/Source/ThirdParty/libwebrtc
RTCVideoEncoderH264 does not need to support case without ENABLE_VCP_ENCODER and without HAVE_VTB_REQUIREDLOWLATENCY
https://bugs.webkit.org/show_bug.cgi?id=219224
Reviewed by Eric Carlson.
- Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
Make sure to compile the same with public SDK
- Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
Remove code path that is no longer useful.
Nov 26, 2020:
- 8:42 PM Changeset in webkit [270180] by
-
- 2 edits in trunk/Source/WebKit
Calling waitForAndDispatchImmediately<M> on a loop fails when multiple M messages arrive simultaneously
https://bugs.webkit.org/show_bug.cgi?id=219240
Reviewed by Chris Dumez.
Fixes a race that may occur when calling
waitForAndDispatchImmediately<N>
in a loop, when multiple messages
N
arrive on the IPC thread simultaneously. This may result from the following sequence of events (note that
(Main) and (IPC) in the timeline below refer to the main thread and IPC background thread, respectively):
(Main) Call
waitForAndDispatchImmediately
, and begin waiting.
(IPC) A message
N
arrives, and is handled inprocessIncomingMessage
by setting the decoder of
m_waitingForMessage
and notifying the condition variable.
(Main) The main thread wakes up and starts to process
N
, clearing outm_waitingForMessage
in the process.
(IPC) A second message
N
arrives. We see thatm_waitingForMessage
is null, so we don't set the decoder
and bail. Instead, we prepare to call
enqueueIncomingMessage
and push the message onto the main
thread, *but importantly*, we haven't done so yet.
(Main) Call
waitForAndDispatchImmediately
again, setm_waitingForMessage
, and begin waiting. Since the
incoming message that was just received above has not been enqueued yet, we are unable to avoid waiting
due to the incoming message.
(IPC) We finally call
enqueueIncomingMessage
, which pushes the messageN
intom_incomingMessages
and
dispatches onto the main thread. However, this is too late, since the main thread is already stuck
waiting for the incoming IPC message that we've now just enqueued.
Two minor adjustments are required to fix this, described in the below comments. The combination of these two
changes ensures that the scenario described above is impossible, since we'll either setm_waitingForMessage
's
decoder and wake up the main thread in the case wherewaitForMessage
is called beforeprocessIncomingMessage
,
or we'll bail early inwaitForMessage
with the enqueued IPC message in the case whereprocessIncomingMessage
runs beforewaitForMessage
.
- Platform/IPC/Connection.cpp:
(IPC::Connection::waitForMessage):
Move logic that checks the incoming messages queue when calling
Connection::waitForMessage
into the
m_waitForMessageMutex
critical section.
(IPC::Connection::processIncomingMessage):
Extend the critical section of
m_waitForMessageMutex
when processing an incoming message, such that it
encompasses the part that enqueues the incoming message.
- 8:41 PM Changeset in webkit [270179] by
-
- 2 edits in trunk/Tools
[GTK] Unreviewed. Remove leftover test case after Internet Explorer quirks changes
The test cases were still expecting Linux platform for
drive.google.com, which now uses the IE quirk and thus the Windows
platform.
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 8:21 PM Changeset in webkit [270178] by
-
- 4 edits in trunk
[GTK][GTK4] Building with GObject-Introspection support does not work
https://bugs.webkit.org/show_bug.cgi?id=219221
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/OptionsGTK.cmake: Allow introspection with GTK4.
Source/WebKit:
- PlatformGTK.cmake: Forward GTK version to gir scanner and use correct pkg-config package.
- 6:55 PM Changeset in webkit [270177] by
-
- 2 edits in trunk/Source/WebKit
[GTK4] Declare lambda return type to avoid build error deducing it
https://bugs.webkit.org/show_bug.cgi?id=219268
Reviewed by Adrian Perez de Castro.
- UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::createPopupMenu):
- 6:53 PM Changeset in webkit [270176] by
-
- 2 edits in trunk/Source/WebCore
[GTK4] Build fix. Add cast when taking const data ownership
https://bugs.webkit.org/show_bug.cgi?id=219267
Reviewed by Carlos Garcia Campos.
r269614 introduced the NativeImage class, which returns a const platform image and
uses an Observer scheme to release the data.
- platform/graphics/gtk/ImageGtk.cpp:
(WebCore::BitmapImage::gdkTexture): Keep using the direct approach and use a const_cast
to release the data.
- 6:18 PM Changeset in webkit [270175] by
-
- 12 edits9 adds in trunk
[WinCairo] Enable GPU process
https://bugs.webkit.org/show_bug.cgi?id=219294
Reviewed by Don Olmstead.
.:
- Source/cmake/OptionsWin.cmake: Turned ENABLE_GPU_PROCESS on for WinCairo.
Source/WebCore:
- platform/graphics/FontPlatformData.cpp:
- platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::familyName const): Added.
Source/WebKit:
Added stub functions to build GPU process.
Invoke the following command to enable GPU process:
reg add HKEY_CURRENT_USER\Software\WebKit /v gpu_process_canvas_rendering /t REG_DWORD /d 1 /f
Invoke the following command to disable GPU process:
reg delete HKEY_CURRENT_USER\Software\WebKit /v gpu_process_canvas_rendering /f
- GPUProcess/media/win/RemoteMediaPlayerProxyWin.cpp: Added.
(WebKit::RemoteMediaPlayerProxy::prepareForPlayback):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged):
(WebKit::RemoteMediaPlayerProxy::enterFullscreen):
(WebKit::RemoteMediaPlayerProxy::exitFullscreen):
- GPUProcess/win/GPUProcessMainWin.cpp: Added.
(WebKit::initializeAuxiliaryProcess<GPUProcess>):
(WebKit::GPUProcessMain):
- GPUProcess/win/GPUProcessWin.cpp: Added.
(WebKit::GPUProcess::initializeProcess):
(WebKit::GPUProcess::initializeProcessName):
(WebKit::GPUProcess::initializeSandbox):
- PlatformWin.cmake:
- Shared/WebPreferencesDefaultValues.h:
- Shared/curl/WebCoreArgumentCodersCurl.cpp:
(IPC::ArgumentCoder<FontAttributes>::encodePlatformData): Deleted.
(IPC::ArgumentCoder<FontAttributes>::decodePlatformData): Deleted.
(IPC::ArgumentCoder<Ref<Font>>::encodePlatformData): Deleted.
(IPC::ArgumentCoder<Ref<Font>>::decodePlatformData): Deleted.
- Shared/win/WebCoreArgumentCodersWin.cpp: Added.
(IPC::ArgumentCoder<FontAttributes>::encodePlatformData):
(IPC::ArgumentCoder<FontAttributes>::decodePlatformData):
(IPC::ArgumentCoder<Ref<Font>>::encodePlatformData):
(IPC::ArgumentCoder<Ref<Font>>::decodePlatformData):
- Shared/win/WebPreferencesDefaultValuesWin.cpp: Added.
(WebKit::isFeatureFlagEnabled):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::submitDisplayList):
(WebKit::RemoteRenderingBackendProxy::createItemBuffer):
- WebProcess/GPU/media/win/VideoLayerRemoteWin.cpp: Added.
(WebKit::createVideoLayerRemote):
Source/WTF:
- wtf/PlatformHave.h: Turned HAVE_SYSTEM_FEATURE_FLAGS on for Windows.
- 6:14 PM Changeset in webkit [270174] by
-
- 24 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
- platform/wincairo/css1/formatting_model/height_of_lines-expected.txt:
- platform/wincairo/css1/text_properties/vertical_align-expected.txt:
- platform/wincairo/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt:
- platform/wincairo/editing/input/caret-at-the-edge-of-contenteditable-expected.txt:
- platform/wincairo/editing/input/reveal-caret-of-multiline-input-expected.txt:
- platform/wincairo/editing/inserting/paragraph-separator-in-table-1-expected.txt:
- platform/wincairo/fast/css/named-images-expected.txt:
- platform/wincairo/fast/css/text-overflow-input-expected.txt:
- platform/wincairo/fast/dom/HTMLMeterElement/meter-element-expected.txt:
- platform/wincairo/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt:
- platform/wincairo/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
- platform/wincairo/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
- platform/wincairo/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
- platform/wincairo/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
- platform/wincairo/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
- platform/wincairo/fast/dom/HTMLProgressElement/progress-element-expected.txt:
- platform/wincairo/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
- platform/wincairo/fast/text/basic/generic-family-reset-expected.txt:
- platform/wincairo/fast/text/hyphenate-limit-before-after-expected.txt:
- platform/wincairo/fast/text/international/bidi-LDB-2-CSS-expected.txt:
- platform/wincairo/fast/text/international/bidi-LDB-2-HTML-expected.txt:
- platform/wincairo/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
- 6:05 PM Changeset in webkit [270173] by
-
- 2 edits in trunk/Tools
[build.webkit.org] Update Run32bitJSCTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219085
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/steps.py:
(Run32bitJSCTests):
(Run32bitJSCTests.start): Initialized log observer.
(Run32bitJSCTests.parseOutputLine): Parse each log line as they come.
(Run32bitJSCTests.countFailures): Updated to return failedTestCount.
- 5:21 PM Changeset in webkit [270172] by
-
- 2 edits in trunk/Source/WebCore
AXObjectCache::focusedObjectForPage() is not defined when ENABLE(ACCESSIBILITY) is off
https://bugs.webkit.org/show_bug.cgi?id=219290
Reviewed by Chris Fleizach.
Define AXObjectCache::focusedObjectForPage() as a function which
returns a nullptr.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::focusedObjectForPage): Defined.
- 4:48 PM Changeset in webkit [270171] by
-
- 7 edits2 adds in trunk
https://collab-project.github.io/videojs-record/demo/video-only.html is not working
https://bugs.webkit.org/show_bug.cgi?id=219258
<rdar://problem/69759808>
Reviewed by Eric Carlson.
Source/WebCore:
Make 'HTMLMediaElement.srcObject = blob' functional by making sure to register a blob URL before trying to load.
Clean-up internal slots when srcObject is set to make sure we do not load a MediaStream even if the current MediaProvider is a Blob.
Fix a Use-After-Move bug that can be triggered in case of synchronous media loading failure.
Test: http/wpt/mediarecorder/set-srcObject-MediaStream-Blob.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::setSrcObject):
(WebCore::HTMLMediaElement::loadResource):
- html/HTMLMediaElement.h:
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
Source/WebKit:
Fixed a potential null pointer crash in case load is aborted by WebCore at creation time.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::requestResource):
LayoutTests:
- http/wpt/mediarecorder/set-srcObject-MediaStream-Blob-expected.txt: Added.
- http/wpt/mediarecorder/set-srcObject-MediaStream-Blob.html: Added.
- 4:40 PM Changeset in webkit [270170] by
-
- 4 edits in trunk/Tools
[GTK] Allow WebKitTestServer to run non-loopback addresses for API tests
https://bugs.webkit.org/show_bug.cgi?id=219257
GTK API tests currently assumes that loopback IP addresses can be treated as mixed content
in order to test WEBKIT_INSECURE_CONTENT_RUN and WEBKIT_INSECURE_CONTENT_DISPLAYED APIs.
After bug 218623, this will no longer be true so this patch adds an option to
WebKitTestServer so that it can run a server listening to "localhost" instead. This approach
will work until bug 171934 is fixed, but we might add a way to launch a server listening to
non-localhost addresses (bug 219198) or review the whole mixed content handling in the
future (bug 140625). This patch also tweaks a bit WebKitTestServer options, so they use a
bitset instead.
Patch by Frederic Wang <fwang@igalia.com> on 2020-11-26
Reviewed by Michael Catanzaro.
- TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(beforeAll): Add a ServerNonLoopback bit to the HTTPS server used by the tests, so that
insecure content APIs will still work after bug 218623. Also remove explicit options for the
HTTP server since it just uses the default (no bits set).
- TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer): Use the new bitset syntax. Starts a server listening to
"localhost" if the ServerNonLoopback bit is set.
- TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h: Make the enum a list of bit positions
and the parameter a bitset of options. Add the new ServerNonLoopback option and remove
ServerHTTP, which corresponds to the default value (no bits set).
- 4:38 PM Changeset in webkit [270169] by
-
- 4 edits in trunk
[PlayStation] Enable ResourceLoadStatistics
https://bugs.webkit.org/show_bug.cgi?id=219292
Reviewed by Fujii Hironori.
.:
- Source/cmake/OptionsPlayStation.cmake:
Source/WebKit:
- PlatformPlayStation.cmake:
- 4:36 PM Changeset in webkit [270168] by
-
- 6 edits in trunk
[WPE][GTK] Use Internet Explorer quirk for Google Docs
https://bugs.webkit.org/show_bug.cgi?id=219278
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-11-26
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Since r266584, we've suffered from an annoying unsupported browser warning when using Google
Docs. We don't have many options to avoid it. I'm afraid that Firefox or Chrome quirks are
too risky, since these seem to tempt Google into using web platform features that WebKit
does not support. The safest quirk is the macOS platform quirk, but that doesn't work well
here because it breaks various keyboard shortcuts like Ctrl+A and Ctrl+Z. So an Internet
Explorer quirk is really the last card we have left.
I think this is the safest Google quirk we've ever had, in that it's pretty unlikely that
Google will try to send Internet Explorer anything that doesn't work in WebKit. However, it
will break eventually, whenever Google decides that Internet Explorer is no longer
supported. I guess that date is probably at least five years away, so we can only hope that
Google drops this anticompetitive nonsense before then.
P.S. Let's also switch Google Drive to this new quirk. The unsupported browser warning on
Google Drive seems to be completely independent, but the IE quirk seems safer that the
existing Firefox quirk, so why not?
- platform/UserAgentQuirks.cpp:
(WebCore::isGoogle):
(WebCore::urlRequiresInternetExplorerBrowser):
(WebCore::urlRequiresWindowsPlatform):
(WebCore::urlRequiresLinuxDesktopPlatform):
(WebCore::UserAgentQuirks::quirksForURL):
(WebCore::UserAgentQuirks::stringForQuirk):
- platform/UserAgentQuirks.h:
- platform/glib/UserAgentGLib.cpp:
(WebCore::buildUserAgentString):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasInternetExplorerBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasWindowsPlatformQuirk):
(TestWebKitAPI::TEST):
- 3:59 PM Changeset in webkit [270167] by
-
- 4 edits in trunk/Source/WebCore
Fix non-unified build problem in CSSPropertyParserHelpers.cpp along with a little refactoring
https://bugs.webkit.org/show_bug.cgi?id=219222
Reviewed by Sam Weinig.
- css/parser/CSSPropertyParser.cpp:
(WebCore::fontStyleIsWithinRange): Deleted.
(WebCore::consumeFontStyleRange): Updated for name change to isFontStyleAngleInRange,
don't force angles to float since the values are stored as double. Use local variables
to avoid multiple calls to doubleValue.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::isCSSWideKeyword): Moved inline function here
from the header since it's only used inside this file.
(WebCore::CSSPropertyParserHelpers::consumeFontStyleRaw): Updated for the name change
of isFontStyleAngleInRange, and also eliminated local since it's clear without it.
- css/parser/CSSPropertyParserHelpers.h:
(WebCore::CSSPropertyParserHelpers::isCSSWideKeyword): Deleted. This had "static" on it
in a header, which is not good style, but also didn't need to be in a header.
(WebCore::CSSPropertyParserHelpers::isFontStyleAngleInRange): Moved this here so we can
use it in two different .cpp files. Also renamed it for improved clarity, and used an
inline function because this is super simple.
- 3:56 PM Changeset in webkit [270166] by
-
- 2 edits in trunk/Source/WTF
[WPE][GTK] Fix build with GCC 11
https://bugs.webkit.org/show_bug.cgi?id=219264
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-11-26
Reviewed by Carlos Garcia Campos.
It's not uncommon for really old code like this to abuse volatile as if it were a
synchronization primitive. It's not. This code is already synchronized by use of GOnce, so
it can be safely removed. References:
https://gitlab.gnome.org/GNOME/glib/-/issues/600#note_877282
http://isvolatileusefulwiththreads.in/C++/
- wtf/glib/WTFGType.h: