Timeline
Nov 18, 2017:
- 11:19 PM Changeset in webkit [225031] by
-
- 35 edits1 copy in trunk
ASSERTION FAILED: registration in WebCore::SWServerJobQueue::scriptContextStarted(ServiceWorkerIdentifier)
https://bugs.webkit.org/show_bug.cgi?id=179846
Reviewed by Darin Adler.
Source/WebCore:
We have seen crashes on the bots in SWServerJobQueue because methods such as scriptContextStarted()
can get called after the jobQueue has been cleared. This is because when a jobQueue is cleared,
an asynchronous operation may be pending (e.g. script fetch, service worker starting, install event).
To address the issue, we now pass the identifier of the job that started the asynchronous operation
when calling the methods on SWServerJobQueue. If the identifier does not match the identifier of
the current job in the JobQueue, we ignore it.
This patch also starts using a strongly typed identifier (ServiceWorkerJobIdentifier) for
ServiceWorkerJob, instead of a uint64_t. It also introduces a ServiceWorkerJobDataIdentifier type
which contains both a SWServerConnectionIdentifier and a ServiceWorkerJobIdentifier. This is useful
because ServiceWorkerJobData is passed to the StorageProcess and it needs a globally unique identifier.
ServiceWorkerJobIdentifier is only guaranteed to be unique within a single WebProcess. Augmenting it
with the SWServerConnectionIdentifier of the WebProcess makes it globally unique.
No new tests, unskipped exiting test.
- WebCore.xcodeproj/project.pbxproj:
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::scheduleJob):
(WebCore::ServiceWorkerContainer::startScriptFetchForJob):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::jobDidFinish):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerContextData.cpp:
(WebCore::ServiceWorkerContextData::isolatedCopy const):
- workers/service/ServiceWorkerContextData.h:
(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):
- workers/service/ServiceWorkerFetchResult.h:
(WebCore::ServiceWorkerFetchResult::encode const):
(WebCore::ServiceWorkerFetchResult::decode):
- workers/service/ServiceWorkerJob.h:
(WebCore::ServiceWorkerJob::identifier const):
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::ServiceWorkerJobData):
(WebCore::ServiceWorkerJobData::isolatedCopy const):
- workers/service/ServiceWorkerJobData.h:
(WebCore::ServiceWorkerJobData::connectionIdentifier const):
(WebCore::ServiceWorkerJobData::identifier const):
(WebCore::ServiceWorkerJobData::encode const):
(WebCore::ServiceWorkerJobData::decode):
- workers/service/ServiceWorkerJobDataIdentifier.h: Copied from Source/WebCore/workers/service/ServiceWorkerFetchResult.h.
(WebCore::ServiceWorkerJobDataIdentifier::operator== const):
(WebCore::ServiceWorkerJobDataIdentifier::loggingString const):
(WebCore::ServiceWorkerJobDataIdentifier::encode const):
(WebCore::ServiceWorkerJobDataIdentifier::decode):
- workers/service/ServiceWorkerTypes.h:
- workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::registerServiceWorkerThreadForInstall):
- workers/service/context/SWContextManager.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::fireInstallEvent):
- workers/service/server/SWClientConnection.cpp:
(WebCore::SWClientConnection::scheduleJob):
(WebCore::SWClientConnection::finishedFetchingScript):
(WebCore::SWClientConnection::failedFetchingScript):
(WebCore::SWClientConnection::jobRejectedInServer):
(WebCore::SWClientConnection::registrationJobResolvedInServer):
(WebCore::SWClientConnection::unregistrationJobResolvedInServer):
(WebCore::SWClientConnection::startScriptFetchForServer):
- workers/service/server/SWClientConnection.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::Connection::scheduleJobInServer):
(WebCore::SWServer::rejectJob):
(WebCore::SWServer::resolveRegistrationJob):
(WebCore::SWServer::startScriptFetch):
(WebCore::SWServer::scriptFetchFinished):
(WebCore::SWServer::scriptContextFailedToStart):
(WebCore::SWServer::scriptContextStarted):
(WebCore::SWServer::didFinishInstall):
(WebCore::SWServer::updateWorker):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::isCurrentlyProcessingJob const):
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::scriptContextFailedToStart):
(WebCore::SWServerJobQueue::scriptContextStarted):
(WebCore::SWServerJobQueue::didFinishInstall):
- workers/service/server/SWServerJobQueue.h:
- workers/service/server/SWServerToContextConnection.cpp:
(WebCore::SWServerToContextConnection::scriptContextFailedToStart):
(WebCore::SWServerToContextConnection::scriptContextStarted):
(WebCore::SWServerToContextConnection::didFinishInstall):
- workers/service/server/SWServerToContextConnection.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::scriptContextFailedToStart):
(WebCore::SWServerWorker::scriptContextStarted):
(WebCore::SWServerWorker::didFinishInstall):
- workers/service/server/SWServerWorker.h:
Source/WebKit:
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::rejectJobInClient):
(WebKit::WebSWServerConnection::resolveRegistrationJobInClient):
(WebKit::WebSWServerConnection::resolveUnregistrationJobInClient):
(WebKit::WebSWServerConnection::startScriptFetchInClient):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
- WebProcess/Storage/WebSWClientConnection.messages.in:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::serviceWorkerStartedWithMessage):
(WebKit::WebSWContextManagerConnection::didFinishInstall):
- WebProcess/Storage/WebSWContextManagerConnection.h:
Source/WTF:
Add a generateThreadSafeObjectIdentifier() for generating an ObjectIdentifier
in a thread-safe manner, using std::atomic.
- wtf/ObjectIdentifier.h:
(WTF::generateObjectIdentifier):
(WTF::generateThreadSafeObjectIdentifier):
LayoutTests:
Unskip test that use to flakily crash.
- platform/mac/TestExpectations:
- 10:59 PM Changeset in webkit [225030] by
-
- 24 edits2 adds in trunk
AX: AOM: Implement number type properties
https://bugs.webkit.org/show_bug.cgi?id=179497
Reviewed by Chris Fleizach.
Source/WebCore:
Accessibility Object Model
Explainer: https://wicg.github.io/aom/explainer.html
Spec: https://wicg.github.io/aom/spec/
Implemented the number type properties for Accessibility Object Modal.
Test: accessibility/mac/AOM-number-properties.html
- accessibility/AXObjectCache.cpp:
(WebCore::isNodeAriaVisible):
- accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::isMultiSelectable const):
- accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::rowIndexRange const):
(WebCore::AccessibilityARIAGridCell::axRowSpanWithRowIndex const):
(WebCore::AccessibilityARIAGridCell::columnIndexRange const):
(WebCore::AccessibilityARIAGridCell::ariaRowSpanWithRowIndex const): Deleted.
- accessibility/AccessibilityARIAGridCell.h:
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isEnabled const):
(WebCore::AccessibilityNodeObject::isMultiSelectable const):
(WebCore::AccessibilityNodeObject::isRequired const):
(WebCore::AccessibilityNodeObject::headingLevel const):
(WebCore::AccessibilityNodeObject::valueForRange const):
(WebCore::AccessibilityNodeObject::maxValueForRange const):
(WebCore::AccessibilityNodeObject::minValueForRange const):
(WebCore::AccessibilityNodeObject::hierarchicalLevel const):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::intValueForProperty const):
(WebCore::AccessibilityObject::unsignedValueForProperty const):
(WebCore::AccessibilityObject::doubleValueForProperty const):
(WebCore::AccessibilityObject::supportsSetSize const):
(WebCore::AccessibilityObject::supportsPosInSet const):
(WebCore::AccessibilityObject::setSize const):
(WebCore::AccessibilityObject::posInSet const):
(WebCore::AccessibilityObject::supportsARIASetSize const): Deleted.
(WebCore::AccessibilityObject::supportsARIAPosInSet const): Deleted.
(WebCore::AccessibilityObject::ariaSetSize const): Deleted.
(WebCore::AccessibilityObject::ariaPosInSet const): Deleted.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::defaultObjectInclusion const):
(WebCore::AccessibilityRenderObject::liveRegionAtomic const):
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable const):
(WebCore::AccessibilityTable::axColumnCount const):
(WebCore::AccessibilityTable::axRowCount const):
(WebCore::AccessibilityTable::ariaColumnCount const): Deleted.
(WebCore::AccessibilityTable::ariaRowCount const): Deleted.
- accessibility/AccessibilityTable.h:
- accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::AccessibilityTableCell):
(WebCore::AccessibilityTableCell::rowIndexRange const):
(WebCore::AccessibilityTableCell::columnIndexRange const):
(WebCore::AccessibilityTableCell::axColumnIndex const):
(WebCore::AccessibilityTableCell::axRowIndex const):
(WebCore::AccessibilityTableCell::axColumnSpan const):
(WebCore::AccessibilityTableCell::axRowSpan const):
(WebCore::AccessibilityTableCell::ariaColumnIndex const): Deleted.
(WebCore::AccessibilityTableCell::ariaRowIndex const): Deleted.
(WebCore::AccessibilityTableCell::ariaColumnSpan const): Deleted.
(WebCore::AccessibilityTableCell::ariaRowSpan const): Deleted.
- accessibility/AccessibilityTableCell.h:
(WebCore::AccessibilityTableCell::setAXColIndexFromRow):
(WebCore::AccessibilityTableCell::setARIAColIndexFromRow): Deleted.
- accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::addChildren):
(WebCore::AccessibilityTableRow::axColumnIndex const):
(WebCore::AccessibilityTableRow::axRowIndex const):
(WebCore::AccessibilityTableRow::ariaColumnIndex const): Deleted.
(WebCore::AccessibilityTableRow::ariaRowIndex const): Deleted.
- accessibility/AccessibilityTableRow.h:
- accessibility/AccessibleNode.cpp:
(WebCore::ariaAttributeMap):
(WebCore::isPropertyValueInt):
(WebCore::isPropertyValueUnsigned):
(WebCore::isPropertyValueFloat):
(WebCore::AccessibleNode::setProperty):
(WebCore::AccessibleNode::setOptionalProperty):
(WebCore::AccessibleNode::setStringProperty):
(WebCore::AccessibleNode::optionalValueForProperty):
(WebCore::AccessibleNode::effectiveBoolValueForElement):
(WebCore::AccessibleNode::effectiveIntValueForElement):
(WebCore::AccessibleNode::effectiveUnsignedValueForElement):
(WebCore::AccessibleNode::effectiveDoubleValueForElement):
(WebCore::AccessibleNode::atomic const):
(WebCore::AccessibleNode::setAtomic):
(WebCore::AccessibleNode::setAutocomplete):
(WebCore::AccessibleNode::busy const):
(WebCore::AccessibleNode::setBusy):
(WebCore::AccessibleNode::setChecked):
(WebCore::AccessibleNode::colCount const):
(WebCore::AccessibleNode::setColCount):
(WebCore::AccessibleNode::colIndex const):
(WebCore::AccessibleNode::setColIndex):
(WebCore::AccessibleNode::colSpan const):
(WebCore::AccessibleNode::setColSpan):
(WebCore::AccessibleNode::setCurrent):
(WebCore::AccessibleNode::disabled const):
(WebCore::AccessibleNode::setDisabled):
(WebCore::AccessibleNode::expanded const):
(WebCore::AccessibleNode::setExpanded):
(WebCore::AccessibleNode::setHasPopUp):
(WebCore::AccessibleNode::hidden const):
(WebCore::AccessibleNode::setHidden):
(WebCore::AccessibleNode::setInvalid):
(WebCore::AccessibleNode::setKeyShortcuts):
(WebCore::AccessibleNode::label const):
(WebCore::AccessibleNode::setLabel):
(WebCore::AccessibleNode::level const):
(WebCore::AccessibleNode::setLevel):
(WebCore::AccessibleNode::live const):
(WebCore::AccessibleNode::setLive):
(WebCore::AccessibleNode::modal const):
(WebCore::AccessibleNode::setModal):
(WebCore::AccessibleNode::multiline const):
(WebCore::AccessibleNode::setMultiline):
(WebCore::AccessibleNode::multiselectable const):
(WebCore::AccessibleNode::setMultiselectable):
(WebCore::AccessibleNode::setOrientation):
(WebCore::AccessibleNode::setPlaceholder):
(WebCore::AccessibleNode::posInSet const):
(WebCore::AccessibleNode::setPosInSet):
(WebCore::AccessibleNode::setPressed):
(WebCore::AccessibleNode::readOnly const):
(WebCore::AccessibleNode::setReadOnly):
(WebCore::AccessibleNode::setRelevant):
(WebCore::AccessibleNode::required const):
(WebCore::AccessibleNode::setRequired):
(WebCore::AccessibleNode::setRole):
(WebCore::AccessibleNode::setRoleDescription):
(WebCore::AccessibleNode::rowCount const):
(WebCore::AccessibleNode::setRowCount):
(WebCore::AccessibleNode::rowIndex const):
(WebCore::AccessibleNode::setRowIndex):
(WebCore::AccessibleNode::rowSpan const):
(WebCore::AccessibleNode::setRowSpan):
(WebCore::AccessibleNode::selected const):
(WebCore::AccessibleNode::setSelected):
(WebCore::AccessibleNode::setSize const):
(WebCore::AccessibleNode::setSetSize):
(WebCore::AccessibleNode::setSort):
(WebCore::AccessibleNode::valueMax const):
(WebCore::AccessibleNode::setValueMax):
(WebCore::AccessibleNode::valueMin const):
(WebCore::AccessibleNode::setValueMin):
(WebCore::AccessibleNode::valueNow const):
(WebCore::AccessibleNode::setValueNow):
(WebCore::AccessibleNode::setValueText):
(WebCore::AccessibleNode::boolValueForProperty): Deleted.
(WebCore::AccessibleNode::setBoolProperty): Deleted.
- accessibility/AccessibleNode.h:
- accessibility/AccessibleNode.idl:
- accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableGetNColumns):
(webkitAccessibleTableGetNRows):
- accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
(webkitAccessibleTableCellGetPosition):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityARIARowCount]):
(-[WebAccessibilityObjectWrapper accessibilityARIAColumnCount]):
(-[WebAccessibilityObjectWrapper accessibilityARIARowIndex]):
(-[WebAccessibilityObjectWrapper accessibilityARIAColumnIndex]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
LayoutTests:
- accessibility/mac/AOM-number-properties-expected.txt: Added.
- accessibility/mac/AOM-number-properties.html: Added.
- 9:05 PM Changeset in webkit [225029] by
-
- 3 edits in trunk/Source/WebKit
Rename some Network Capture debugging defines
https://bugs.webkit.org/show_bug.cgi?id=179870
Reviewed by Darin Adler.
- NetworkProcess/capture/NetworkCaptureLogging.h:
- NetworkProcess/capture/NetworkCaptureManager.cpp:
(WebKit::NetworkCapture::Manager::findMatch):
(WebKit::NetworkCapture::Manager::fuzzyMatchURLs):
These shouldn't have WTF in their name - they have nothing to do with WTF.
These shouldn't use ENABLE(), since they're not features, just debugging macros.
- 7:48 PM Changeset in webkit [225028] by
-
- 6 edits in trunk/Source
Fix typos in closing ENABLE() comments
https://bugs.webkit.org/show_bug.cgi?id=179869
Unreviewed.
Source/JavaScriptCore:
- wasm/WasmMemory.h:
- wasm/WasmMemoryMode.h:
Source/WebCore:
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.h:
- 7:42 PM Changeset in webkit [225027] by
-
- 11 edits2 adds9 deletes in trunk
Remove TEC support and all TEC-only encodings except EUC-TW (which now uses ICU)
https://bugs.webkit.org/show_bug.cgi?id=179582
Reviewed by Darin Adler.
Source/WebCore:
Already covered by fast/encoding/legacy-tec-encodings.html
- platform/text/TextCodecICU.cpp: Add support for EUC-TW.
Remove all vestiges of TEC text codec and its related autogeneration scripts.
- DerivedSources.make:
- PlatformMac.cmake:
- SourcesMac.txt:
- WebCore.order:
- WebCore.xcodeproj/project.pbxproj:
- platform/ThreadGlobalData.cpp:
(WebCore::ThreadGlobalData::ThreadGlobalData): No more cached TEC decoder.
(WebCore::ThreadGlobalData::destroy): ditto
- platform/ThreadGlobalData.h:
(WebCore::ThreadGlobalData::ThreadGlobalData::cachedConverterTEC): Deleted.
- platform/text/TextEncodingRegistry.cpp:
(WebCore::extendTextCodecMaps): Don't add TEC decoders on MAc.
- platform/text/mac/CharsetData.h: Removed.
- platform/text/mac/TextCodecMac.cpp: Removed.
- platform/text/mac/TextCodecMac.h: Removed.
- platform/text/mac/character-sets.txt: Removed.
- platform/text/mac/ios-encodings.txt: Removed.
- platform/text/mac/mac-encodings.txt: Removed.
- platform/text/mac/make-charset-table.pl: Removed.
LayoutTests:
- fast/encoding/legacy-tec-encodings.html: Added. Verify that we
no longer support these encodings.
- fast/encoding/legacy-tec-encodings-expected.txt: Added.
- platform/mac/fast/encoding/xnextstep-decoding.html: Removed. We no longer support this encoding.
- platform/mac/fast/encoding/xnextstep-decoding-expected.txt: Removed.
- 5:55 PM Changeset in webkit [225026] by
-
- 42 edits in trunk/Source/WebCore
Mechanical cleanup of FE* files
https://bugs.webkit.org/show_bug.cgi?id=179868
Reviewed by Wenson Hsieh.
Remove unused dump() functions.
Make overridden member functions in derived classes private.
Make simple getters inline.
Move common FESpecularLighting and FEDiffuseLighting functions into the
FELighting base class.
- platform/graphics/filters/FEBlend.cpp:
(WebCore::FEBlend::blendMode const): Deleted.
(WebCore::FEBlend::dump): Deleted.
- platform/graphics/filters/FEBlend.h:
(WebCore::FEBlend::blendMode const):
- platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::type const): Deleted.
(WebCore::FEColorMatrix::values const): Deleted.
(WebCore::FEColorMatrix::dump): Deleted.
- platform/graphics/filters/FEColorMatrix.h:
(WebCore::FEColorMatrix::type const):
(WebCore::FEColorMatrix::values const):
- platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::redFunction const): Deleted.
(WebCore::FEComponentTransfer::greenFunction const): Deleted.
(WebCore::FEComponentTransfer::blueFunction const): Deleted.
(WebCore::FEComponentTransfer::alphaFunction const): Deleted.
(WebCore::FEComponentTransfer::dump): Deleted.
- platform/graphics/filters/FEComponentTransfer.h:
(WebCore::FEComponentTransfer::redFunction const):
(WebCore::FEComponentTransfer::greenFunction const):
(WebCore::FEComponentTransfer::blueFunction const):
(WebCore::FEComponentTransfer::alphaFunction const):
- platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::operation const): Deleted.
(WebCore::FEComposite::k1 const): Deleted.
(WebCore::FEComposite::k2 const): Deleted.
(WebCore::FEComposite::k3 const): Deleted.
(WebCore::FEComposite::k4 const): Deleted.
(WebCore::FEComposite::dump): Deleted.
- platform/graphics/filters/FEComposite.h:
(WebCore::FEComposite::operation const):
(WebCore::FEComposite::k1 const):
(WebCore::FEComposite::k2 const):
(WebCore::FEComposite::k3 const):
(WebCore::FEComposite::k4 const):
- platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::kernelSize const): Deleted.
(WebCore::FEConvolveMatrix::kernel const): Deleted.
(WebCore::FEConvolveMatrix::divisor const): Deleted.
(WebCore::FEConvolveMatrix::bias const): Deleted.
(WebCore::FEConvolveMatrix::targetOffset const): Deleted.
(WebCore::FEConvolveMatrix::edgeMode const): Deleted.
(WebCore::FEConvolveMatrix::kernelUnitLength const): Deleted.
(WebCore::FEConvolveMatrix::preserveAlpha const): Deleted.
(WebCore::FEConvolveMatrix::dump): Deleted.
- platform/graphics/filters/FEConvolveMatrix.h:
(WebCore::FEConvolveMatrix::kernelSize const):
(WebCore::FEConvolveMatrix::kernel const):
(WebCore::FEConvolveMatrix::divisor const):
(WebCore::FEConvolveMatrix::bias const):
(WebCore::FEConvolveMatrix::targetOffset const):
(WebCore::FEConvolveMatrix::edgeMode const):
(WebCore::FEConvolveMatrix::kernelUnitLength const):
(WebCore::FEConvolveMatrix::preserveAlpha const):
- platform/graphics/filters/FEDiffuseLighting.cpp:
(WebCore::FEDiffuseLighting::lightingColor const): Deleted.
(WebCore::FEDiffuseLighting::setLightingColor): Deleted.
(WebCore::FEDiffuseLighting::surfaceScale const): Deleted.
(WebCore::FEDiffuseLighting::setSurfaceScale): Deleted.
(WebCore::FEDiffuseLighting::diffuseConstant const): Deleted.
(WebCore::FEDiffuseLighting::kernelUnitLengthX const): Deleted.
(WebCore::FEDiffuseLighting::setKernelUnitLengthX): Deleted.
(WebCore::FEDiffuseLighting::kernelUnitLengthY const): Deleted.
(WebCore::FEDiffuseLighting::setKernelUnitLengthY): Deleted.
(WebCore::FEDiffuseLighting::lightSource const): Deleted.
(WebCore::FEDiffuseLighting::dump): Deleted.
- platform/graphics/filters/FEDiffuseLighting.h:
(WebCore::FEDiffuseLighting::diffuseConstant const):
- platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::xChannelSelector const): Deleted.
(WebCore::FEDisplacementMap::yChannelSelector const): Deleted.
(WebCore::FEDisplacementMap::scale const): Deleted.
(WebCore::FEDisplacementMap::dump): Deleted.
- platform/graphics/filters/FEDisplacementMap.h:
(WebCore::FEDisplacementMap::xChannelSelector const):
(WebCore::FEDisplacementMap::yChannelSelector const):
(WebCore::FEDisplacementMap::scale const):
- platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::dump): Deleted.
- platform/graphics/filters/FEDropShadow.h:
- platform/graphics/filters/FEFlood.cpp:
(WebCore::FEFlood::floodColor const): Deleted.
(WebCore::FEFlood::floodOpacity const): Deleted.
(WebCore::FEFlood::dump): Deleted.
- platform/graphics/filters/FEFlood.h:
(WebCore::FEFlood::floodColor const):
(WebCore::FEFlood::floodOpacity const):
- platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::stdDeviationX const): Deleted.
(WebCore::FEGaussianBlur::stdDeviationY const): Deleted.
(WebCore::FEGaussianBlur::edgeMode const): Deleted.
(WebCore::FEGaussianBlur::dump): Deleted.
- platform/graphics/filters/FEGaussianBlur.h:
(WebCore::FEGaussianBlur::stdDeviationX const):
(WebCore::FEGaussianBlur::stdDeviationY const):
(WebCore::FEGaussianBlur::edgeMode const):
- platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::setSurfaceScale):
(WebCore::FELighting::setLightingColor):
(WebCore::FELighting::setKernelUnitLengthX):
(WebCore::FELighting::setKernelUnitLengthY):
- platform/graphics/filters/FELighting.h:
(WebCore::FELighting::surfaceScale const):
(WebCore::FELighting::lightingColor const):
(WebCore::FELighting::kernelUnitLengthX const):
(WebCore::FELighting::kernelUnitLengthY const):
(WebCore::FELighting::lightSource const):
- platform/graphics/filters/FEMerge.cpp:
(WebCore::FEMerge::dump): Deleted.
- platform/graphics/filters/FEMerge.h:
- platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::dump): Deleted.
- platform/graphics/filters/FEMorphology.h:
- platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::dx const): Deleted.
(WebCore::FEOffset::dy const): Deleted.
(WebCore::FEOffset::dump): Deleted.
- platform/graphics/filters/FEOffset.h:
(WebCore::FEOffset::dx const):
(WebCore::FEOffset::dy const):
- platform/graphics/filters/FESpecularLighting.cpp:
(WebCore::FESpecularLighting::lightingColor const): Deleted.
(WebCore::FESpecularLighting::setLightingColor): Deleted.
(WebCore::FESpecularLighting::surfaceScale const): Deleted.
(WebCore::FESpecularLighting::setSurfaceScale): Deleted.
(WebCore::FESpecularLighting::specularConstant const): Deleted.
(WebCore::FESpecularLighting::specularExponent const): Deleted.
(WebCore::FESpecularLighting::kernelUnitLengthX const): Deleted.
(WebCore::FESpecularLighting::setKernelUnitLengthX): Deleted.
(WebCore::FESpecularLighting::kernelUnitLengthY const): Deleted.
(WebCore::FESpecularLighting::setKernelUnitLengthY): Deleted.
(WebCore::FESpecularLighting::lightSource const): Deleted.
(WebCore::FESpecularLighting::dump): Deleted.
- platform/graphics/filters/FESpecularLighting.h:
(WebCore::FESpecularLighting::specularConstant const):
(WebCore::FESpecularLighting::specularExponent const):
- platform/graphics/filters/FETile.cpp:
(WebCore::FETile::dump): Deleted.
- platform/graphics/filters/FETile.h:
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::dump): Deleted.
- platform/graphics/filters/FETurbulence.h:
- platform/graphics/filters/FilterEffect.h:
- platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::dump): Deleted.
- platform/graphics/filters/SourceAlpha.h:
- platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::dump): Deleted.
- platform/graphics/filters/SourceGraphic.h:
- svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::dump): Deleted.
- svg/graphics/filters/SVGFEImage.h:
- 5:35 PM Changeset in webkit [225025] by
-
- 2 edits in trunk/Source/WebCore
Attempt to fix Windows build failures seen in EWS.
Remove default constructor for ColorComponents, which was ambiguous with the
one that takes 4 values.
- platform/graphics/ColorUtilities.h:
- 4:48 PM Changeset in webkit [225024] by
-
- 3 edits2 adds in trunk
Line of garbage pixels at the bottom of an feTurbulence sometimes
https://bugs.webkit.org/show_bug.cgi?id=179866
Reviewed by Wenson Hsieh.
Source/WebCore:
The ParallelJobs logic was broken in that the sum of the computed job
heights was one too short sometimes. Fix and clean up the logic.
Test: svg/filters/feTurbulence-parallel-jobs.html
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::platformApplySoftware):
LayoutTests:
- svg/filters/feTurbulence-parallel-jobs-expected.html: Added.
- svg/filters/feTurbulence-parallel-jobs.html: Added.
- 2:50 PM Changeset in webkit [225023] by
-
- 16 edits in trunk/Source/WebCore
Use #pragma once in FE* files.
Rubber-stamped by Dan Bates.
- platform/graphics/filters/FEBlend.h:
- platform/graphics/filters/FEColorMatrix.h:
- platform/graphics/filters/FEComponentTransfer.h:
- platform/graphics/filters/FEComposite.h:
- platform/graphics/filters/FEConvolveMatrix.h:
- platform/graphics/filters/FEDiffuseLighting.h:
- platform/graphics/filters/FEDisplacementMap.h:
- platform/graphics/filters/FEDropShadow.h:
- platform/graphics/filters/FEFlood.h:
- platform/graphics/filters/FEGaussianBlur.h:
- platform/graphics/filters/FELighting.h:
- platform/graphics/filters/FEMerge.h:
- platform/graphics/filters/FEOffset.h:
- platform/graphics/filters/FESpecularLighting.h:
- platform/graphics/filters/FETile.h:
- 2:44 PM Changeset in webkit [225022] by
-
- 2 edits in trunk/Source/WebCore
Remove a TimingScope that I left in by mistake.
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::platformApplySoftware):
- 2:40 PM Changeset in webkit [225021] by
-
- 3 edits in trunk/Source/WebCore
FETurbulence: round the result according to the spec
https://bugs.webkit.org/show_bug.cgi?id=179865
Reviewed by Zalan Bujtas.
The spec explicitly says that the floating point results are multiplied by 255 then
clamped between 0 and 255, so do this instead of using lroundf().
This is also faster (about 10%).
- platform/graphics/ColorUtilities.h:
(WebCore::ColorComponents::ColorComponents):
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::toColorComponents):
(WebCore::FETurbulence::calculateTurbulenceValueForPoint const):
- 2:06 PM Changeset in webkit [225020] by
-
- 25 edits in trunk
More FETurbulence cleanup
https://bugs.webkit.org/show_bug.cgi?id=179863
Reviewed by Zalan Bujtas.
Source/WebCore:
Hoist computation of initial StitchData up to be done once per filter,
not once per pixel. Passing initial StitchData by value to calculateTurbulenceValueForPoint()
ensures that each pixel gets the initial state.
Also, adjusted baseFrequencyX and baseFrequencyY can be computed just once at the start,
and passed through via PaintingData.
Change enum TurbulenceType to be an enum class (requiring casts in a couple of places)
and undo the capitalization of the values.
Fix spelling of TURBULANCE -> TURBULENCE in test output.
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::computeStitching const):
(WebCore::FETurbulence::calculateTurbulenceValueForPoint const):
(WebCore::FETurbulence::fillRegion const):
(WebCore::FETurbulence::fillRegionWorker):
(WebCore::FETurbulence::platformApplySoftware):
(WebCore::operator<<):
- platform/graphics/filters/FETurbulence.h:
(WebCore::FETurbulence::PaintingData::PaintingData):
(WebCore::FETurbulence::StitchData::StitchData): Deleted.
- svg/SVGAnimatedEnumeration.cpp:
(WebCore::enumerationValueForTargetAttribute):
- svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
(WebCore::SVGFETurbulenceElement::parseAttribute):
- svg/SVGFETurbulenceElement.h:
(WebCore::SVGPropertyTraits<TurbulenceType>::highestEnumValue):
(WebCore::SVGPropertyTraits<TurbulenceType>::toString):
(WebCore::SVGPropertyTraits<TurbulenceType>::fromString):
LayoutTests:
Fix spelling of TURBULANCE -> TURBULENCE.
- platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
- platform/gtk/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
- platform/gtk/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
- platform/ios/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
- platform/ios/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
- platform/ios/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
- platform/win/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
- platform/win/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
- platform/win/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
- platform/wpe/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
- platform/wpe/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
- platform/wpe/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
- svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
- svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
- svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
- 1:59 PM Changeset in webkit [225019] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Update the Trash / Clear icon
https://bugs.webkit.org/show_bug.cgi?id=179850
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-18
Reviewed by Matt Baker.
- UserInterface/Images/NavigationItemTrash.svg:
Update the icon.
- UserInterface/Views/ProbeDetailsSidebarPanel.css:
(.sidebar > .panel.probes > .navigation-bar .item.clear-samples):
- UserInterface/Views/ProbeSetDetailsSection.js:
(WI.ProbeSetDetailsSection):
- UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
(.scope-chain .navigation-bar .item.clear-watch-expressions):
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WI.ScopeChainDetailsSidebarPanel):
Resize to 15x15 and move it down a pixel.
- 12:37 PM Changeset in webkit [225018] by
-
- 5 edits2 adds in trunk
feTurbulence with stitchTiles is broken
https://bugs.webkit.org/show_bug.cgi?id=179862
Reviewed by Zalan Bujtas.
Source/WebCore:
The "stitchTiles" logic was broken, and not equivalent to the spec sample code,
because it didn't compute and wrap the bx1 and by1 equivalents separately from
bx0 and by0.
Annotated the code with the equivalent sample code from the spec for ease of
comparison.
Also make some functions const.
Test: svg/filters/feTurbulence-stitchTiles.html
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::noise2D const):
(WebCore::FETurbulence::calculateTurbulenceValueForPoint const):
(WebCore::FETurbulence::fillRegion const):
(WebCore::checkNoise): Deleted.
(WebCore::FETurbulence::noise2D): Deleted.
(WebCore::FETurbulence::calculateTurbulenceValueForPoint): Deleted.
(WebCore::FETurbulence::fillRegion): Deleted.
- platform/graphics/filters/FETurbulence.h:
- platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::filter const):
LayoutTests:
Ref test that masks out an empty area of the filter and compares with a green rectangle.
- svg/filters/feTurbulence-stitchTiles-expected.html: Added.
- svg/filters/feTurbulence-stitchTiles.html: Added.
- 9:25 AM Changeset in webkit [225017] by
-
- 1 edit2 adds in trunk/LayoutTests
Add test for a multicolumn render tree update issue
https://bugs.webkit.org/show_bug.cgi?id=179860
Reviewed by Zalan Bujtas.
- fast/multicol/column-span-range-crash-expected.txt: Added.
- fast/multicol/column-span-range-crash.html: Added.
- 7:17 AM Changeset in webkit [225016] by
-
- 5 edits2 adds in trunk/Tools
webkitpy: Better name-version mapping (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=179621
<rdar://problem/35589585>
Reviewed by David Kilzer.
Mapping version numbers to version names should occur in a central location.
This has a few advantages. First, it makes iterating through versions easier.
Second, it allows for apple_additions to define an additional set of name
mappings. Lastly, it will allow, in a future patch, for us to track version
instead of version name, only mapping version to version name when required.
- Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.init):
(PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
mapping version to name.
(PlatformInfo._determine_linux_version): Deleted.
(PlatformInfo._determine_mac_version): Deleted.
(PlatformInfo._determine_win_version): Deleted.
- Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_display_name):
(TestPlatformInfo.test_total_bytes_memory):
- Scripts/webkitpy/common/version.py:
(Version.contained_in): Add partial version mapping.
- Scripts/webkitpy/common/version_name_map.py: Added.
(VersionNameMap): Holds a mapping of version name to version object.
(VersionNameMap.map): Don't re-create VersionNameMap every time.
(VersionNameMap.init): Initialize mapping, use platform to
define the default system platform.
(VersionNameMap._automap_to_major_version): Some operating systems, such
as iOS, have a naming scheme based on their major version and os name.
Automatically generate such mappings.
(VersionNameMap.to_name): Given a version object, platform name and
table, find the closest matching version name.
(VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
if a version string is included in the name.
(VersionNameMap.from_name): Return an os name and version given a version name.
- Scripts/webkitpy/common/version_name_map_unittest.py: Added.
(VersionMapTestCase):
(VersionMapTestCase.test_default_system_platform):
(VersionMapTestCase.test_mac_version_by_name):
(VersionMapTestCase.test_ios_version_by_name):
(VersionMapTestCase.test_mac_name_by_version):
(VersionMapTestCase.test_ios_name_by_version):
- Scripts/webkitpy/common/version_unittest.py:
(VersionTestCase.test_contained_in):
- 6:09 AM Changeset in webkit [225015] by
-
- 3 edits in trunk/Source/WTF
[WTF] Remove CPU(HPPA) in StackBounds by using runtime stack direction test
https://bugs.webkit.org/show_bug.cgi?id=179859
Reviewed by JF Bastien.
Currently, we know that CPU(HPPA)'s stack direction is upward! But listing
CPU architectures here is not a scalable way.
Instead, we use runtime stack direction test. By doing so, we can handle
such a strange architecture without listing the CPU to Platform.h. This paves
the way to dropping many CPUs in Platform.h by replacing them with CPU(UNKNOWN)[1].
We also fix StackBounds::isGrowingDownward().
[1]: https://bugs.webkit.org/show_bug.cgi?id=179243
- wtf/StackBounds.cpp:
(WTF::StackBounds::stackDirection):
(WTF::testStackDirection2):
(WTF::testStackDirection):
(WTF::StackBounds::newThreadStackBounds):
(WTF::StackBounds::currentThreadStackBoundsInternal):
- wtf/StackBounds.h:
(WTF::StackBounds::isGrowingDownward const):
- 3:46 AM Changeset in webkit [225014] by
-
- 3 edits2 adds in trunk
Source/WebCore:
REGRESSION (r220646): REGRESSION (r220646): RenderTreePosition::computeNextSibling hits assertion with certain first-letter mutations
https://bugs.webkit.org/show_bug.cgi?id=179855
<rdar://problem/35464071>
Reviewed by Zalan Bujtas.
Test: fast/css-generated-content/first-letter-update-crash.html
- style/RenderTreeUpdaterFirstLetter.cpp:
(WebCore::styleForFirstLetter):
(WebCore::updateFirstLetterStyle):
(WebCore::createFirstLetterRenderer):
Tighten these to take RenderBlock.
(WebCore::supportsFirstLetter):
Test exact conditions where first letter renderer is allowed for fast rejection.
(WebCore::RenderTreeUpdater::FirstLetter::update):
If update was called on a block that doesn't support first letter, getFirstLetter could in
some cases return an ancestor of the block and we would end up mutating a first letter renderer
that wasn't current block's descendant. This violates assumptions of the RenderTreeUpdater
and could cause cached render tree position to become invalid.
Fix by ensuring we are always updating first letter for the current block only.
LayoutTests:
REGRESSION (r220646): ASSERTION FAILED: skipAssert nextSiblingRenderer(node) == m_nextSibling https://bugs.webkit.org/show_bug.cgi?id=179855
<rdar://problem/35464071>
Reviewed by Zalan Bujtas.
- fast/css-generated-content/first-letter-update-crash-expected.txt: Added.
- fast/css-generated-content/first-letter-update-crash.html: Added.
Nov 17, 2017:
- 10:32 PM Changeset in webkit [225013] by
-
- 7 edits in trunk/LayoutTests
Rebaseline and/or turn on more iOS selection tests that either already pass, or need minimal visual tweaking
https://bugs.webkit.org/show_bug.cgi?id=179856
Reviewed by Myles C. Maxfield.
These tests all neither to either be minimally rebaselined, or they worked, but were marked as failing.
All were checked for flakiness, and none were found to be flakey on the open source bots.
- platform/ios-wk2/TestExpectations:
- platform/ios/editing/selection/extend-by-word-002-expected.txt:
- platform/ios/editing/selection/iframe-expected.png: Modified property svn:mime-type.
- platform/ios/editing/selection/iframe-expected.txt:
- platform/ios/editing/selection/inline-table-expected.png: Modified property svn:mime-type.
- platform/ios/editing/selection/inline-table-expected.txt:
- 8:46 PM Changeset in webkit [225012] by
-
- 1 edit2 adds in trunk/LayoutTests
Test case for r224995.
https://bugs.webkit.org/show_bug.cgi?id=179854
- fast/dom/getSVGDocument-on-object-crash-expected.txt: Added.
- fast/dom/getSVGDocument-on-object-crash.html: Added.
- 7:42 PM Changeset in webkit [225011] by
-
- 16 edits2 adds in trunk
[Service Workers] Implement "Notify Controller Change" algorithm
https://bugs.webkit.org/show_bug.cgi?id=179822
Reviewed by Youenn Fablet.
Source/WebCore:
Implement "Notify Controller Change" algorithm:
Use it to support step 7 of "Activate" algorithm:
Test: http/tests/workers/service/controller-change.html
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::scheduleTaskToFireControllerChangeEvent):
- workers/service/ServiceWorkerContainer.h:
- workers/service/server/SWClientConnection.cpp:
(WebCore::SWClientConnection::notifyClientsOfControllerChange):
- workers/service/server/SWClientConnection.h:
- workers/service/server/SWServer.h:
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::activate):
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::notifyClientsOfControllerChange):
- workers/service/server/SWServerRegistration.h:
Source/WebKit:
- Scripts/webkit/messages.py:
(class_template_headers):
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::notifyClientsOfControllerChange):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- WebProcess/Storage/WebSWClientConnection.messages.in:
LayoutTests:
Add layout test coverage.
- http/tests/workers/service/controller-change-expected.txt: Added.
- http/tests/workers/service/controller-change.html: Added.
- 7:02 PM Changeset in webkit [225010] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed attempt to fix build after r225006.
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::setStorageAccessGranted):
- 6:32 PM Changeset in webkit [225009] by
-
- 5 edits2 adds in trunk/Source/WebCore
FETurbulence: compute all 4 channels at once
https://bugs.webkit.org/show_bug.cgi?id=179833
Reviewed by Sam Weinig.
Introduce some new helper classes for storing float color components, and use
them in calculateTurbulenceValueForPoint() and noise2D() for all the channels in one
pass. This makes FETurbulence about twice as fast.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/ColorUtilities.cpp: Added.
(WebCore::ColorComponents::ColorComponents):
- platform/graphics/ColorUtilities.h: Added.
(WebCore::FloatComponents::FloatComponents):
(WebCore::FloatComponents::operator +=):
(WebCore::FloatComponents::operator + const):
(WebCore::FloatComponents::operator / const):
(WebCore::FloatComponents::operator * const):
(WebCore::FloatComponents::abs const):
(WebCore::clampedColorComponent):
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::noise2D):
(WebCore::FETurbulence::calculateTurbulenceValueForPoint):
(WebCore::FETurbulence::fillRegion):
(WebCore::FETurbulence::platformApplySoftware):
- platform/graphics/filters/FETurbulence.h:
- 6:27 PM Changeset in webkit [225008] by
-
- 47 edits in trunk/Source
Use a strongly typed identifier for SWServer::Connection
https://bugs.webkit.org/show_bug.cgi?id=179848
Reviewed by Brady Eidson.
Source/WebCore:
Use a strongly typed identifier for SWServer::Connection, for clarity.
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::postMessage):
- workers/service/ServiceWorkerClient.cpp:
(WebCore::ServiceWorkerClient::ServiceWorkerClient):
(WebCore::ServiceWorkerClient::id const):
(WebCore::ServiceWorkerClient::postMessage):
- workers/service/ServiceWorkerClient.h:
(WebCore::ServiceWorkerClient::create):
(WebCore::ServiceWorkerClient::identifier const):
- workers/service/ServiceWorkerClientData.cpp:
(WebCore::ServiceWorkerClientData::isolatedCopy const):
(WebCore::ServiceWorkerClientData::from):
- workers/service/ServiceWorkerClientData.h:
(WebCore::ServiceWorkerClientData::encode const):
(WebCore::ServiceWorkerClientData::decode):
- workers/service/ServiceWorkerClientIdentifier.h:
(WebCore::ServiceWorkerClientIdentifier::toString const):
(WebCore::ServiceWorkerClientIdentifier::decode):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::removeRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):
(WebCore::ServiceWorkerContainer::connectionIdentifier):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerFetchResult.h:
(WebCore::ServiceWorkerFetchResult::decode):
- workers/service/ServiceWorkerJobClient.h:
- workers/service/ServiceWorkerJobData.cpp:
(WebCore::ServiceWorkerJobData::ServiceWorkerJobData):
- workers/service/ServiceWorkerJobData.h:
(WebCore::ServiceWorkerJobData::connectionIdentifier const):
(WebCore::ServiceWorkerJobData::decode):
- workers/service/ServiceWorkerTypes.h:
- workers/service/ServiceWorkerWindowClient.cpp:
(WebCore::ServiceWorkerWindowClient::ServiceWorkerWindowClient):
- workers/service/ServiceWorkerWindowClient.h:
- workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::postMessageToServiceWorkerGlobalScope):
- workers/service/context/SWContextManager.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::postMessageToServiceWorkerGlobalScope):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/server/SWClientConnection.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::Connection::Connection):
(WebCore::SWServer::Connection::scheduleJobInServer):
(WebCore::SWServer::rejectJob):
(WebCore::SWServer::resolveRegistrationJob):
(WebCore::SWServer::startScriptFetch):
(WebCore::SWServer::scriptFetchFinished):
- workers/service/server/SWServer.h:
(WebCore::SWServer::Connection::identifier const):
(WebCore::SWServer::getConnection):
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::forEachConnection):
(WebCore::SWServerRegistration::addClientServiceWorkerRegistration):
(WebCore::SWServerRegistration::removeClientServiceWorkerRegistration):
(WebCore::SWServerRegistration::unregisterServerConnection):
- workers/service/server/SWServerRegistration.h:
Source/WebKit:
Use a strongly typed identifier for SWServer::Connection, for clarity.
- Scripts/webkit/messages.py:
(forward_declarations_and_headers):
(forward_declarations_and_headers.templates):
(headers_for_type):
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::WebSWServerConnection):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerGlobalScope):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::didFailFetch):
(WebKit::StorageProcess::didNotHandleFetch):
(WebKit::StorageProcess::didReceiveFetchResponse):
(WebKit::StorageProcess::didReceiveFetchData):
(WebKit::StorageProcess::didReceiveFetchFormData):
(WebKit::StorageProcess::didFinishFetch):
- StorageProcess/StorageProcess.h:
- StorageProcess/StorageProcess.messages.in:
- StorageProcess/StorageToWebProcessConnection.cpp:
(WebKit::StorageToWebProcessConnection::didReceiveMessage):
(WebKit::StorageToWebProcessConnection::establishSWServerConnection):
(WebKit::StorageToWebProcessConnection::removeSWServerConnection):
(WebKit::generateIDBConnectionToServerIdentifier):
(WebKit::StorageToWebProcessConnection::establishIDBConnectionToServer):
- StorageProcess/StorageToWebProcessConnection.h:
- StorageProcess/StorageToWebProcessConnection.messages.in:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::postMessageToServiceWorkerGlobalScope):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::startFetch):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerGlobalScope):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
- WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::WebServiceWorkerFetchTaskClient):
- WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:
- WebProcess/Storage/WebToStorageProcessConnection.cpp:
(WebKit::WebToStorageProcessConnection::didReceiveMessage):
(WebKit::WebToStorageProcessConnection::serviceWorkerConnectionForSession):
- WebProcess/Storage/WebToStorageProcessConnection.h:
Source/WTF:
Make ObjectIdentifier a little more flexible to support more use cases.
- wtf/ObjectIdentifier.h:
(WTF::ObjectIdentifier::toUInt64 const):
(WTF::makeObjectIdentifier):
- 5:57 PM Changeset in webkit [225007] by
-
- 7 edits in trunk/LayoutTests
Web Inspector: Fix grammar typo in tests
https://bugs.webkit.org/show_bug.cgi?id=179852
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-17
Reviewed by Matt Baker.
- http/tests/inspector/network/resource-response-source-memory-cache-expected.txt:
- http/tests/inspector/network/resource-response-source-memory-cache-revalidate-expired-only-expected.txt:
- http/tests/inspector/network/resource-response-source-memory-cache-revalidate-expired-only.html:
- http/tests/inspector/network/resource-response-source-memory-cache.html:
- http/tests/inspector/network/set-resource-caching-disabled-memory-cache-expected.txt:
- http/tests/inspector/network/set-resource-caching-disabled-memory-cache.html:
- 5:27 PM Changeset in webkit [225006] by
-
- 39 edits2 moves4 adds in trunk
Storage Access API: UI process should update network process about granted access
https://bugs.webkit.org/show_bug.cgi?id=176943
<rdar://problem/34440612>
Reviewed by Alex Christensen.
Source/WebCore:
Tests: http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction.html
http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction.html
- platform/network/NetworkStorageSession.h:
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::setStorageAccessAPIEnabled):
(WebCore::NetworkStorageSession::cookieStoragePartition const):
Now also checks if the resource has been granted storage access
under this partition and if so, does not return a partition.
(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):
Now clears storage access when it is told to clear first.
(WebCore::NetworkStorageSession::isStorageAccessGranted const):
(WebCore::NetworkStorageSession::setStorageAccessGranted):
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::updateStorageAccessForPrevalentDomains):
Updates storage access on the session.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::NetworkProcess::setStorageAccessAPIEnabled):
- UIProcess/API/C/WKCookieManager.cpp:
(WKCookieManagerSetStorageAccessAPIEnabled):
- UIProcess/API/C/WKCookieManager.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreSetStatisticsHasHadNonRecentUserInteraction):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _isStorageAccessAPIEnabled]):
(-[WKProcessPool _setStorageAccessAPIEnabled:]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _resourceLoadStatisticsSetHasHadNonRecentUserInteractionForHost:]):
Test infrastructure.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::setStorageAccessAPIEnabled):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::nextRequestStorageAccessContextId):
(WebKit::NetworkProcessProxy::updateStorageAccessForPrevalentDomains):
Sends a message to the network process to update storage access.
(WebKit::NetworkProcessProxy::storageAccessRequestResult):
Receives a message from the network process that storage access
was updated.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::setStorageAccessAPIEnabled):
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebProcessPool.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccess):
(WebKit::WebResourceLoadStatisticsStore::logNonRecentUserInteraction):
Test infrastructure.
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioningForDomains):
Now makes the API call even if the only operation is to clear first.
- UIProcess/WebResourceLoadStatisticsStore.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::updateStorageAccessForPrevalentDomainsHandler):
Propagates the storage access directive to the network process proxy.
(WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback):
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
This adds the TestRunner function setStatisticsHasHadNonRecentUserInteraction()
which enables testing of prevalent resources with user interaction outside the
24 hour window.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStorageAccessAPIEnabled):
(WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
(WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
LayoutTests:
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-expected.txt: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction.html: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction-expected.txt: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction.html: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-expected.txt: Removed.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction.html: Removed.
Renamed to make the recent and non-recent user interaction explicit.
- http/tests/storageAccess/resources/get-cookies.php: Added.
- http/tests/storageAccess/resources/set-cookie.php: Added.
- platform/mac-wk2/TestExpectations:
Added the new tests as [ Pass ] for High Sierra and up.
- 5:18 PM Changeset in webkit [225005] by
-
- 2 edits in trunk/Source/WebCore
Inadvertently swapped m_baseFrequencyX and m_baseFrequencyY in the previous commit.
- platform/graphics/filters/FETurbulence.h:
(WebCore::FETurbulence::baseFrequencyY const):
(WebCore::FETurbulence::baseFrequencyX const):
- 5:07 PM Changeset in webkit [225004] by
-
- 2 edits in trunk/LayoutTests
Skip imported/w3c/web-platform-tests/service-workers/service-worker/getregistration.https.html on debug bots.
https://bugs.webkit.org/show_bug.cgi?id=179846
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:00 PM Changeset in webkit [225003] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(224348): [mac-wk1] LayoutTest media/video-src-remove.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=179806
Reviewed by Jer Noble.
In r224348 I used callOnMainThread to fix UIWebView which uses the web thread, but Mac doesn't
use the web thread. Something about the timing of operations in the media stack requires that
dispatch_async be used instead of performSelectorOnMainThread.
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate callFunctionOnMainThread:]):
Use callOnMainThread on iOS, dispatch_async on Mac.
- 4:49 PM Changeset in webkit [225002] by
-
- 2 edits in trunk/LayoutTests
Update TestExpectations for service-worker tests.
Unreviewed test gardening.
- 4:48 PM Changeset in webkit [225001] by
-
- 2 edits in trunk/LayoutTests
Update TestExpectations for inspector/canvas/shaderProgram-add-remove-webgl2.html.
https://bugs.webkit.org/show_bug.cgi?id=179827
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:48 PM Changeset in webkit [225000] by
-
- 2 edits in trunk/Source/WebCore
[Win] Compile error in InbandTextTrackPrivateAVCF::readNativeSampleBuffer.
https://bugs.webkit.org/show_bug.cgi?id=179845
Reviewed by Jer Noble.
- platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
(WebCore::InbandTextTrackPrivateAVCF::readNativeSampleBuffer):
- 4:22 PM Changeset in webkit [224999] by
-
- 2 edits in trunk/LayoutTests
Mark svg/in-html/by-reference.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=179784
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 4:19 PM Changeset in webkit [224998] by
-
- 2 edits in trunk/Tools
Disable failing API tests for rdar://problem/35344202.
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
- 3:44 PM Changeset in webkit [224997] by
-
- 5 edits2 adds in trunk
AX: VoiceOver in Safari does not read table header for first cell in first body row
https://bugs.webkit.org/show_bug.cgi?id=179780
<rdar://problem/35590551>
Reviewed by Joanmarie Diggs.
Source/WebCore:
A table cell shouldn't be considered a row header if it's in a row of other headers.
Test: accessibility/table-header-calculation-for-header-rows.html
- accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::headerObject):
LayoutTests:
- accessibility/table-header-calculation-for-header-rows-expected.txt: Added.
- accessibility/table-header-calculation-for-header-rows.html: Added.
- accessibility/table-attributes-expected.txt: Updated.
- platform/gtk/accessibility/table-attributes-expected.txt: Updated.
- 3:36 PM Changeset in webkit [224996] by
-
- 4 edits in trunk/Source/WebCore
Don't invert a matrix for every channel of every pixel of an FETurbulence filter
https://bugs.webkit.org/show_bug.cgi?id=179829
Reviewed by Dean Jackson.
FETurbulence::fillRegion() called filter().mapAbsolutePointToLocalPoint(point) for each
of the 4 channels on a point, which is stupid.
Fix to invert the matrix once, and then map the point once for each pixel. This reduces
the time in fillRegion() function by about 30%.
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::fillRegion):
- platform/graphics/filters/Filter.h:
(WebCore::Filter::absoluteTransform const):
(WebCore::Filter::mapAbsolutePointToLocalPoint const): Deleted.
- 3:34 PM Changeset in webkit [224995] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r224390): Revert unneeded Ref use.
https://bugs.webkit.org/show_bug.cgi?id=179844
<rdar://problem/35624718>
Reviewed by Chris Dumez.
A Ref was added to a simple code path used for type checking, which introduced a nullptr
deref. The original change was not needed, so let's revert it.
- html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::contentDocument const): Use 'nullptr' instead of 0.
(WebCore::HTMLFrameOwnerElement::contentWindow const): Ditto.
(WebCore::HTMLFrameOwnerElement::getSVGDocument const): Revert to original code here.
- 3:32 PM Changeset in webkit [224994] by
-
- 4 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Network Tab - Add HAR Export button
https://bugs.webkit.org/show_bug.cgi?id=179570
<rdar://problem/35484918>
Reviewed by Matt Baker.
- Localizations/en.lproj/localizedStrings.js:
New strings.
- UserInterface/Images/Export.svg: Added.
- UserInterface/Images/Import.svg: Added.
Add symmetric import/export buttons.
- UserInterface/Base/Main.js:
(WI.contentLoaded):
Expose the save keyboard shortcut so we can show its display name in a tooltip.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.get navigationItems):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.layout):
(WI.NetworkTableContentView.prototype._updateExportButton):
Include the export button and enable/disable it when appropriate.
(WI.NetworkTableContentView.prototype.closed):
Add a missing event listener removal.
- 3:18 PM Changeset in webkit [224993] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Disabled ImageAndText-style buttons should have gray text
https://bugs.webkit.org/show_bug.cgi?id=179843
<rdar://problem/35624337>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ButtonNavigationItem.css:
(.navigation-bar .item.button.disabled.image-and-text,):
(.navigation-bar .item.button.disabled > .glyph): Deleted.
- 3:14 PM Changeset in webkit [224992] by
-
- 18 edits2 adds in trunk
AX: AOM: Implement boolean type properties
https://bugs.webkit.org/show_bug.cgi?id=179496
Reviewed by Chris Fleizach.
Source/WebCore:
Accessibility Object Model
Explainer: https://wicg.github.io/aom/explainer.html
Spec: https://wicg.github.io/aom/spec/
Implemented the boolean type properties for Accessibility Object Modal.
Test: accessibility/mac/AOM-bool-properties.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::findModalNodes):
(WebCore::AXObjectCache::updateCurrentModalNode):
(WebCore::AXObjectCache::modalNode):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::handleMenuItemSelected):
(WebCore::AXObjectCache::focusModalNode):
(WebCore::AXObjectCache::focusModalNodeTimerFired):
(WebCore::AXObjectCache::handleAttributeChanged):
(WebCore::AXObjectCache::handleModalChange):
(WebCore::isNodeAriaVisible):
(WebCore::AXObjectCache::findAriaModalNodes): Deleted.
(WebCore::AXObjectCache::updateCurrentAriaModalNode): Deleted.
(WebCore::AXObjectCache::ariaModalNode): Deleted.
(WebCore::AXObjectCache::focusAriaModalNode): Deleted.
(WebCore::AXObjectCache::focusAriaModalNodeTimerFired): Deleted.
(WebCore::AXObjectCache::handleAriaModalChange): Deleted.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::modalNode):
(WebCore::AXObjectCache::focusModalNodeTimerFired):
(WebCore::AXObjectCache::handleModalChange):
(WebCore::AXObjectCache::ariaModalNode): Deleted.
(WebCore::AXObjectCache::focusAriaModalNodeTimerFired): Deleted.
(WebCore::AXObjectCache::handleAriaModalChange): Deleted.
- accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::isMultiSelectable const):
- accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::readOnlyValue const):
(WebCore::AccessibilityARIAGridCell::ariaReadOnlyValue const): Deleted.
- accessibility/AccessibilityARIAGridCell.h:
- accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isEnabled const):
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isEnabled const):
(WebCore::AccessibilityNodeObject::isMultiSelectable const):
(WebCore::AccessibilityNodeObject::isRequired const):
(WebCore::shouldUseAccessibilityObjectInnerText):
(WebCore::AccessibilityNodeObject::canSetValueAttribute const):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsReadOnly const):
(WebCore::AccessibilityObject::readOnlyValue const):
(WebCore::AccessibilityObject::ariaIsMultiline const):
(WebCore::AccessibilityObject::isModalDescendant const):
(WebCore::AccessibilityObject::isModalNode const):
(WebCore::AccessibilityObject::ignoredFromModalPresence const):
(WebCore::AccessibilityObject::boolValueForProperty const):
(WebCore::AccessibilityObject::supportsARIAAttributes const):
(WebCore::AccessibilityObject::supportsExpanded const):
(WebCore::AccessibilityObject::isExpanded const):
(WebCore::AccessibilityObject::isAXHidden const):
(WebCore::AccessibilityObject::defaultObjectInclusion const):
(WebCore::AccessibilityObject::setIsIgnoredFromParentDataForChild):
(WebCore::AccessibilityObject::supportsARIAReadOnly const): Deleted.
(WebCore::AccessibilityObject::ariaReadOnlyValue const): Deleted.
(WebCore::AccessibilityObject::isAriaModalDescendant const): Deleted.
(WebCore::AccessibilityObject::isAriaModalNode const): Deleted.
(WebCore::AccessibilityObject::ignoredFromARIAModalPresence const): Deleted.
(WebCore::AccessibilityObject::isARIAHidden const): Deleted.
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isHidden const):
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::defaultObjectInclusion const):
(WebCore::AccessibilityRenderObject::isSelected const):
(WebCore::AccessibilityRenderObject::canSetExpandedAttribute const):
(WebCore::AccessibilityRenderObject::liveRegionAtomic const):
(WebCore::AccessibilityRenderObject::isBusy const):
- accessibility/AccessibleNode.cpp:
(WebCore::ariaAttributeMap):
(WebCore::isPropertyValueBoolean):
(WebCore::AccessibleNode::effectiveBoolValueForElement):
(WebCore::AccessibleNode::boolValueForProperty):
(WebCore::AccessibleNode::setBoolProperty):
(WebCore::AccessibleNode::atomic const):
(WebCore::AccessibleNode::setAtomic):
(WebCore::AccessibleNode::busy const):
(WebCore::AccessibleNode::setBusy):
(WebCore::AccessibleNode::disabled const):
(WebCore::AccessibleNode::setDisabled):
(WebCore::AccessibleNode::expanded const):
(WebCore::AccessibleNode::setExpanded):
(WebCore::AccessibleNode::hidden const):
(WebCore::AccessibleNode::setHidden):
(WebCore::AccessibleNode::modal const):
(WebCore::AccessibleNode::setModal):
(WebCore::AccessibleNode::multiline const):
(WebCore::AccessibleNode::setMultiline):
(WebCore::AccessibleNode::multiselectable const):
(WebCore::AccessibleNode::setMultiselectable):
(WebCore::AccessibleNode::readOnly const):
(WebCore::AccessibleNode::setReadOnly):
(WebCore::AccessibleNode::required const):
(WebCore::AccessibleNode::setRequired):
(WebCore::AccessibleNode::selected const):
(WebCore::AccessibleNode::setSelected):
- accessibility/AccessibleNode.h:
- accessibility/AccessibleNode.idl:
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
(setAtkStateSetFromCoreObject):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
LayoutTests:
- accessibility/mac/AOM-bool-properties-expected.txt: Added.
- accessibility/mac/AOM-bool-properties.html: Added.
- 3:10 PM Changeset in webkit [224991] by
-
- 2 edits in trunk/Source/JavaScriptCore
NFC update ClassInfo to C++14
https://bugs.webkit.org/show_bug.cgi?id=179783
Reviewed by Mark Lam.
Forked from #179734, use
usinginstead oftypedef. It's easier
to read.
- runtime/ClassInfo.h:
- 3:00 PM Changeset in webkit [224990] by
-
- 3 edits2 adds in trunk/Source/WTF
Add a TimingScope class for microbenchmarking sections of code
https://bugs.webkit.org/show_bug.cgi?id=179825
Reviewed by Zalan Bujtas.
Add a class, similar to B3TimingScope, which makes it easy to microbenchmark
sections of code. Use looks like:
TimingScope scope("some label", 100);
where this will print mean scope duration every 100 calls. Sample output:
FETurbulence::platformApplySoftware: 100 calls, mean duration: 3.073181ms
FETurbulence::platformApplySoftware: 200 calls, mean duration: 3.074612ms
FETurbulence::platformApplySoftware: 300 calls, mean duration: 3.065722ms
Because TimingScope needs to store state beween invocations, and there may be
multiple TimingScopes in use at the same time, data is stored in a global
hash map with atomic access.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/TimingScope.cpp: Added.
(WTF::TimingScope::scopeDidEnd):
- wtf/TimingScope.h: Added.
(WTF::TimingScope::TimingScope):
(WTF::TimingScope::~TimingScope):
- 2:53 PM Changeset in webkit [224989] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Network Tab - Update Ignore Caches button
https://bugs.webkit.org/show_bug.cgi?id=179841
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-17
Reviewed by Matt Baker.
- UserInterface/Images/IgnoreCaches.svg:
This changes from an arrow over a cache to a slash through a cache.
- 2:12 PM Changeset in webkit [224988] by
-
- 2 edits in trunk/LayoutTests
Turn on selection layout tests that are already working on iOS
https://bugs.webkit.org/show_bug.cgi?id=179842
Reviewed by Tim Horton.
I have checked these test manually and on the flakiness dashboard and they are all
working on iOS. No reason to not run them on iOS now.
- platform/ios-wk2/TestExpectations:
- 2:12 PM Changeset in webkit [224987] by
-
- 2 edits in tags/Safari-605.1.14.1/Source/WebCore
Cherry-pick r224960. rdar://problem/35485349
- 2:09 PM Changeset in webkit [224986] by
-
- 5 edits2 adds in trunk
AX: [ATK] Fix WKTR's methods for testing row header and column header presence and count
https://bugs.webkit.org/show_bug.cgi?id=179837
Reviewed by Chris Fleizach.
Tools:
Add support to rowHeaders() for tables. Return an empty array in rowHeaders()
and columnHeaders() upon failure. Rename getRowHeaders() and getColumnHeaders()
to getTableRowHeaders() and getTableColumnHeaders() respectively.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
LayoutTests:
- accessibility/gtk/table-headers-count-expected.txt: Added.
- accessibility/gtk/table-headers-count.html: Added.
- platform/gtk/TestExpectations: Remove a couple of "crash" failures.
- platform/gtk/accessibility/table-sections-expected.txt: Remove null objects.
- 1:57 PM Changeset in webkit [224985] by
-
- 3 edits1 add in trunk
WebAssembly JS API: throw when a promise can't be created
https://bugs.webkit.org/show_bug.cgi?id=179826
<rdar://problem/35455813>
Reviewed by Mark Lam.
JSTests:
Test WebAssembly.{compile,instantiate} where promise creation
fails because of a stack overflow.
- wasm/js-api/promise-stack-overflow.js: Added.
(const.runNearStackLimit.f.const.t):
(async.testCompile):
(async.testInstantiate):
Source/JavaScriptCore:
Failure *in* a promise causes rejection, but failure to create a
promise (because of stack overflow) isn't really spec'd (as all
stack things JS). This applies to WebAssembly.compile and
WebAssembly.instantiate.
Dan's current proposal says:
https://littledan.github.io/spec/document/js-api/index.html#stack-overflow
Whenever a stack overflow occurs in WebAssembly code, the same
class of exception is thrown as for a stack overflow in
JavaScript. The particular exception here is
implementation-defined in both cases.
Note: ECMAScript doesn’t specify any sort of behavior on stack
overflow; implementations have been observed to throw RangeError,
InternalError or Error. Any is valid here.
This is for general stack overflow within WebAssembly, not
specifically for promise creation within JavaScript, but it seems
like a stack overflow in promise creation should follow the same
rule instead of, say, swallowing the overflow and returning
undefined.
- wasm/js/WebAssemblyPrototype.cpp:
(JSC::webAssemblyCompileFunc):
(JSC::webAssemblyInstantiateFunc):
- 1:38 PM Changeset in webkit [224984] by
-
- 6 edits in trunk/Source/WebCore
Clean up URL.h
https://bugs.webkit.org/show_bug.cgi?id=179710
Reviewed by Brady Eidson.
No change in behavior.
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::urlString const):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::url const):
- platform/URL.cpp:
(WebCore::URL::serialize const): Deleted.
- platform/URL.h:
- platform/mac/URLMac.mm:
(WebCore::URL::createCFURL const):
- 1:35 PM Changeset in webkit [224983] by
-
- 6 edits in trunk/Source/WTF
Clean up after r224952
https://bugs.webkit.org/show_bug.cgi?id=179809
Reviewed by Brady Eidson.
- wtf/MainThread.cpp:
(WTF::dispatchFunctionsFromMainThread):
(WTF::callOnMainThread):
- wtf/MainThread.h:
- wtf/generic/MainThreadGeneric.cpp:
(WTF::scheduleDispatchFunctionsOnMainThread):
(WTF::currentRunLoopInCommonMode): Deleted.
- wtf/mac/MainThreadMac.mm:
(WTF::scheduleDispatchFunctionsOnMainThread):
(WTF::currentRunLoopInCommonMode): Deleted.
- wtf/win/MainThreadWin.cpp:
(WTF::scheduleDispatchFunctionsOnMainThread):
(WTF::currentRunLoopInCommonMode): Deleted.
- 1:33 PM Changeset in webkit [224982] by
-
- 3 edits in trunk
Use RunLoop and Mode from NetworkingContext if they are given
https://bugs.webkit.org/show_bug.cgi?id=179800
<rdar://problem/35519421>
Reviewed by Brady Eidson.
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(callOnMainThreadOrSchedule):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):
- 1:29 PM Changeset in webkit [224981] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove WI.instanceForClass
https://bugs.webkit.org/show_bug.cgi?id=179746
Reviewed by Timothy Hatcher.
The implementations of DetailsSidebarPanel subclasses assume that panels
are closed and released when no longer needed. Keeping them alive with
instanceForClass isn't the right choice, since sidebar panels remove their
event listeners when closed.
- UserInterface/Base/Main.js:
(WI.instanceForClass): Deleted.
- UserInterface/Views/DebuggerTabContentView.js:
(WI.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
- UserInterface/Views/TabContentView.js:
(WI.TabContentView.prototype.get detailsSidebarPanels):
- 1:11 PM Changeset in webkit [224980] by
-
- 7 edits in branches/safari-604.4.7.10-branch/Source
Versioning.
- 12:43 PM Changeset in webkit [224979] by
-
- 3 edits in trunk/LayoutTests
LayoutTest http/tests/inspector/network/har/har-page.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=179781
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-17
Reviewed by Alexey Proskuryakov.
- http/tests/inspector/network/har/har-page-expected.txt:
- http/tests/inspector/network/har/har-page.html:
Filter out the protocol value since it might not be available if the resource was cached.
- 12:38 PM Changeset in webkit [224978] by
-
- 5 edits1 copy in trunk/Source/WebInspectorUI
Web Inspector: ButtonNavigationItem should support image and text button style
https://bugs.webkit.org/show_bug.cgi?id=179625
<rdar://problem/35512238>
Reviewed by Joseph Pecoraro.
- UserInterface/Main.html:
- UserInterface/Views/ButtonNavigationItem.css:
(.navigation-bar .item.button):
(.navigation-bar .item.button.image-only):
(.navigation-bar .item.button.image-and-text):
(.navigation-bar .item.button.image-and-text > span):
(.navigation-bar .item.button.text-only):
(.navigation-bar .item.button.text-only.checkbox): Deleted.
(.navigation-bar .item.button.text-only.checkbox label): Deleted.
Checkbox styles have been moved to a separate CSS file.
- UserInterface/Views/ButtonNavigationItem.js:
Add backing data members for the image and label, allowing the DOM
representation of the button to change as needed.
(WI.ButtonNavigationItem):
Remove duplicate role logic. The base class sets the role.
(WI.ButtonNavigationItem.prototype.set label):
(WI.ButtonNavigationItem.prototype.set image):
(WI.ButtonNavigationItem.prototype.get buttonStyle):
(WI.ButtonNavigationItem.prototype.set buttonStyle):
(WI.ButtonNavigationItem.prototype.get additionalClassNames):
(WI.ButtonNavigationItem.prototype._mouseClicked):
(WI.ButtonNavigationItem.prototype._update):
(WI.ButtonNavigationItem.prototype.updateButtonText): Deleted.
- UserInterface/Views/CheckboxNavigationItem.css: Added.
(.navigation-bar .item.checkbox):
(.navigation-bar .item.checkbox label):
- UserInterface/Views/CheckboxNavigationItem.js:
Change base class to NavigationItem, since this item lacks an image
and makes use of an actual label element instead of a span for its text.
(WI.CheckboxNavigationItem):
(WI.CheckboxNavigationItem.prototype._checkboxChanged):
(WI.CheckboxNavigationItem.prototype.updateButtonText): Deleted.
- 11:39 AM Changeset in webkit [224977] by
-
- 3 edits in trunk/Source/WebCore
FETurbulence const and inline cleanup
https://bugs.webkit.org/show_bug.cgi?id=179832
Reviewed by Dean Jackson.
Pass the PaintingData& around as const, and remove some 'inline', letting the compiler
decide. Also declare a few variables closer to first use.
Speeds up FETurbulence by about 1%.
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::initPaint):
(WebCore::FETurbulence::noise2D):
(WebCore::FETurbulence::calculateTurbulenceValueForPoint):
(WebCore::FETurbulence::fillRegion):
- platform/graphics/filters/FETurbulence.h:
- 11:34 AM Changeset in webkit [224976] by
-
- 7 edits in trunk/Source/WebCore
Move destroyLeftoverChildren call to RenderObject::destroy
https://bugs.webkit.org/show_bug.cgi?id=179819
Reviewed by Zalan Bujtas.
This is currently called inconsistenly from various willBeDestroyed implementations.
We should always call it before invoking willBeDestroyed.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::willBeDestroyed):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::willBeDestroyed):
- rendering/RenderElement.h:
(WebCore::RenderElement::setLastChild):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::willBeDestroyed):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::~RenderLayer):
Add some release asserts verifying layer has been detached before destruction.
This would reveal cases where destroyLeftoverChildren was called too late.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
Call destroyLeftoverChildren.
- 11:29 AM Changeset in webkit [224975] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove FIXMEs for GTK+ missing icons
https://bugs.webkit.org/show_bug.cgi?id=155282
<rdar://problem/25076615>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-17
Reviewed by Michael Catanzaro.
- UserInterface/Views/PathComponentIcons.css:
(.source-icon .icon):
(body:not(.mac-platform, .windows-platform) .heap-snapshot-record .icon,): Deleted.
- UserInterface/Views/ResourceIcons.css:
(.large .resource-icon.resource-type-websocket .icon):
(body:not(.mac-platform, .windows-platform) .resource-icon.resource-type-ping .icon,): Deleted.
(body:not(.mac-platform, .windows-platform) .large .resource-icon.resource-type-ping .icon,): Deleted.
All ports now share the same images.
- 11:16 AM Changeset in webkit [224974] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=179773
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 10:40 AM Changeset in webkit [224973] by
-
- 7 edits2 adds in trunk
SVG scrolling anchor should be reset if the fragmentIdentifier does not exist or is not provided
https://bugs.webkit.org/show_bug.cgi?id=176577
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-11-17
Reviewed by Simon Fraser.
Source/WebCore:
Because the SVGImage can be cached only once but used multiple times with
different fragmentIdentifiers, SVGImage has to call FrameView::scrollToFragment()
before the image is displayed. If the fragmentIdentifier is not provided
in the URL or it does not exist in the SVGImage, FrameView::scrollToFragment()
has to reset the scrolling anchor of the SVG as if it was not displayed before.
We do not want the previous scrolling anchor to be used when the FrameView
of SVGImage can't scroll to the current fragmentIdentifier for any reason.
Test: http/tests/svg/svg-fragment-url-special-cases.html
- page/FrameView.cpp:
(WebCore::FrameView::scrollToFragment):
(WebCore::FrameView::scrollToAnchor):
(WebCore::FrameView::resetScrollAnchor):
- page/FrameView.h:
- platform/URL.cpp:
(WebCore::URL::fragmentIdentifier const): Call hasFragmentIdentifier()
instead of repeating the same condition.
(WebCore::decodeURLEscapeSequences):
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::findViewAnchor const):
(WebCore::SVGSVGElement::findRootAnchor const):
(WebCore::SVGSVGElement::scrollToAnchor): We want to know whether the SVG
root element could scroll to the fragmentIdentifier or not. If it could not,
FrameView::scrollToAnchor() can still try one last time to do the scrolling
only if anchorElement is not nullptr.
(WebCore::SVGSVGElement::resetScrollAnchor): Reset the FrameView scrolling
state to its initial value.
- svg/SVGSVGElement.h:
LayoutTests:
- http/tests/svg/svg-fragment-url-special-cases-expected.html: Added.
- http/tests/svg/svg-fragment-url-special-cases.html: Added.
- 10:38 AM Changeset in webkit [224972] by
-
- 1 copy in tags/Safari-604.4.7.10.4
Tag Safari-604.4.7.10.4.
- 10:33 AM Changeset in webkit [224971] by
-
- 5 edits in trunk
ServiceWorker intercepted FetchRequest should have their referrer set appropriately.
https://bugs.webkit.org/show_bug.cgi?id=179803
Patch by Youenn Fablet <youenn@apple.com> on 2017-11-17
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/referer.https-expected.txt:
- web-platform-tests/service-workers/service-worker/request-end-to-end.https-expected.txt:
Source/WebCore:
Covered by updated tests.
- workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::dispatchFetchEvent):
- 10:27 AM Changeset in webkit [224970] by
-
- 2 edits in trunk/Source/WebCore
AX: [GTK] Regression: accessibility/gtk/aria-keyshortcuts.html fails after r224953
https://bugs.webkit.org/show_bug.cgi?id=179824
Reviewed by Chris Fleizach.
The failure was due to AXPropertyName::KeyShortcuts not being included in
the group of properties whose value is a string. As a result, the new method
to get string values, AccessibleNode::effectiveStringValueForElement(), was
returning an empty String. This was not caught by the shared set of tests
because at the present time, only WebKitGtk supports aria-keyshortcuts.
No new tests needed. The regression was caught by an existing test.
- accessibility/AccessibleNode.cpp:
(WebCore::isPropertyValueString):
- 10:02 AM Changeset in webkit [224969] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r224952.
This change introduced LayoutTest failures on WK1.
Reverted changeset:
"Use RunLoop and Mode from NetworkingContext if they are
given"
https://bugs.webkit.org/show_bug.cgi?id=179800
https://trac.webkit.org/changeset/224952
- 9:42 AM Changeset in webkit [224968] by
-
- 4 edits2 adds in trunk
[Web Animations] Force a stacking context during animations that animate properties that will force a stacking context
https://bugs.webkit.org/show_bug.cgi?id=179811
Reviewed by Dean Jackson.
Source/WebCore:
The Web Animations specification mandates in section 4.7 (w3c.github.io/web-animations/#side-effects-section) that
"for every property targeted by at least one animation effect that is current or in effect, the user agent must act
as if the will-change property ([css-will-change-1]) on the target element includes the property."
After parsing new keyframes, we check if any of the CSS properties that get animated would end up forcing a stacking
context, and if so, enforce a stacking context during the entire active lifetime of the animation.
Test: webanimations/animation-opacity-animation-crash.html
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::processKeyframes):
(WebCore::KeyframeEffect::computeStackingContextImpact):
(WebCore::KeyframeEffect::applyAtLocalTime):
- animation/KeyframeEffect.h:
LayoutTests:
Adding a new test that would crash otherwise because we wouldn't adequately force a stacking
context as the animation would begin.
- webanimations/animation-opacity-animation-crash-expected.txt: Added.
- webanimations/animation-opacity-animation-crash.html: Added.
- 8:25 AM Changeset in webkit [224967] by
-
- 2 edits in trunk/Source/WebCore
Update feature status for Visual Viewport API to "In Development"
https://bugs.webkit.org/show_bug.cgi?id=179818
Patch by Ali Juma <ajuma@chromium.org> on 2017-11-17
Reviewed by Frédéric Wang.
Work on this feature has started, tracked by bug 170982.
No new tests since there's no change in behavior.
- features.json: