Timeline
Mar 18, 2019:
- 11:36 PM Changeset in webkit [243132] by
-
- 27 edits in trunk
Make WTFLogChannelState and WTFLogLevel enum classes
https://bugs.webkit.org/show_bug.cgi?id=195904
Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-18
Reviewed by Eric Carlson.
Source/WebCore:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::removeSamplesFromTrackBuffer):
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
(WebCore::LibWebRTCMediaEndpoint::statsLogInterval const):
- dom/Document.cpp:
(WebCore::messageLevelFromWTFLogLevel):
- html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seekTask):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::sourceWasAdded):
(WebCore::HTMLMediaElement::sourceWasRemoved):
- inspector/agents/WebConsoleAgent.cpp:
(WebCore::WebConsoleAgent::getLoggingChannels):
(WebCore::channelConfigurationForString):
- platform/Logging.cpp:
(WebCore::isLogChannelEnabled):
(WebCore::setLogChannelToAccumulate):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::initializePeerConnectionFactoryAndThreads):
- rendering/RenderLayerCompositor.cpp:
(WebCore::compositingLogEnabled):
Source/WebKit:
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::logSpeculativeLoadingDiagnosticMessage):
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::NetworkRTCProvider):
Source/WTF:
- wtf/Assertions.cpp:
- wtf/Assertions.h:
- wtf/Logger.h:
(WTF::Logger::logAlways const):
(WTF::Logger::error const):
(WTF::Logger::warning const):
(WTF::Logger::info const):
(WTF::Logger::debug const):
(WTF::Logger::willLog const):
(WTF::Logger::log):
- wtf/MemoryPressureHandler.cpp:
- wtf/RefCountedLeakCounter.cpp:
Tools:
- TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::TEST_F):
- 10:46 PM Changeset in webkit [243131] by
-
- 2 edits in trunk/Tools
Disable flaky test added in r2431100
https://webkit.org/b/195785
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::TEST):
Apparently bots don't hit 150kb/s as reliably as I do locally. Can't say I'm too surprised.
- 9:23 PM Changeset in webkit [243130] by
-
- 21 edits3 copies1 add3 deletes in trunk/Source/WebCore
Remove the SVG property tear off objects for SVGStringList
https://bugs.webkit.org/show_bug.cgi?id=195863
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-03-18
Reviewed by Simon Fraser.
SVGStringList is not animated list. So we need to introduce two new classes:
-- SVGProperty: This will be the base of all the non-animated properties.
Like the SVGAnimatedProperty, SVGProperty will be registered with the
attribute name in SVGPropertyRegistery. It will also commit changes
to the reflecting attribute. And it will provide a synchronize string
for lazy attribute update.
-- SVGList: It will be the base of all the list properties. It can hold
primitive types or SVG types. In this patch primitive types will be
supported only. To do that, a superclass called SVGPrimitiveList is
added. Its items are of primitive type such as String type.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- svg/SVGElement.cpp:
(WebCore::SVGElement::synchronizeAnimatedSVGAttribute const):
(WebCore::SVGElement::commitPropertyChange):
- svg/SVGElement.h:
- svg/SVGStringList.h:
- svg/SVGStringListValues.cpp: Removed.
- svg/SVGStringListValues.h: Removed.
- svg/SVGTests.cpp:
(WebCore::SVGTests::SVGTests):
(WebCore::SVGTests::isKnownAttribute):
(WebCore::SVGTests::isValid const):
(WebCore::SVGTests::parseAttribute):
(WebCore::SVGTests::registerAttributes): Deleted.
(WebCore::SVGTests::requiredFeatures): Deleted.
(WebCore::SVGTests::requiredExtensions): Deleted.
(WebCore::SVGTests::systemLanguage): Deleted.
- svg/SVGTests.h:
(WebCore::SVGTests::requiredFeatures):
(WebCore::SVGTests::requiredExtensions):
(WebCore::SVGTests::systemLanguage):
(): Deleted.
- svg/SVGTests.idl:
- svg/SVGTextPositioningElement.h:
- svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::SVGViewElement):
(WebCore::SVGViewElement::parseAttribute):
(WebCore::SVGViewElement::viewTarget): Deleted.
- svg/SVGViewElement.h:
- svg/properties/SVGAnimatedListPropertyTearOff.h:
- svg/properties/SVGAnimatedPrimitiveProperty.h:
(WebCore::SVGAnimatedPrimitiveProperty::setBaseVal):
- svg/properties/SVGAnimatedProperty.cpp:
(WebCore::SVGAnimatedProperty::commitPropertyChange):
- svg/properties/SVGAnimatedProperty.h:
- svg/properties/SVGAttributeRegistry.h:
- svg/properties/SVGList.h: Added.
(WebCore::SVGList::numberOfItems const):
(WebCore::SVGList::clear):
(WebCore::SVGList::getItem):
(WebCore::SVGList::initialize):
(WebCore::SVGList::insertItemBefore):
(WebCore::SVGList::replaceItem):
(WebCore::SVGList::removeItem):
(WebCore::SVGList::appendItem):
(WebCore::SVGList::items):
(WebCore::SVGList::items const):
(WebCore::SVGList::size const):
(WebCore::SVGList::isEmpty const):
(WebCore::SVGList::clearItems):
(WebCore::SVGList::canAlterList const):
(WebCore::SVGList::canGetItem):
(WebCore::SVGList::canReplaceItem):
(WebCore::SVGList::canRemoveItem):
(WebCore::SVGList::detachItems):
- svg/properties/SVGMemberAccessor.h:
(WebCore::SVGMemberAccessor::matches const):
- svg/properties/SVGPrimitiveList.h: Added.
- svg/properties/SVGProperty.h:
(WebCore::SVGProperty::isAttached const):
(WebCore::SVGProperty::attach):
(WebCore::SVGProperty::detach):
(WebCore::SVGProperty::contextElement const):
(WebCore::SVGProperty::commitChange):
(WebCore::SVGProperty::access const):
(WebCore::SVGProperty::isReadOnly const):
(WebCore::SVGProperty::isDirty const):
(WebCore::SVGProperty::setDirty):
(WebCore::SVGProperty::synchronize):
(WebCore::SVGProperty::valueAsString const):
(WebCore::SVGProperty::SVGProperty):
- svg/properties/SVGPropertyAccessor.h: Added.
- svg/properties/SVGPropertyAccessorImpl.h: Added.
- svg/properties/SVGPropertyOwner.h:
(WebCore::SVGPropertyOwner::commitPropertyChange):
- svg/properties/SVGPropertyOwnerRegistry.h:
(WebCore::SVGPropertyOwnerRegistry::registerProperty):
- svg/properties/SVGPropertyRegistry.h:
- svg/properties/SVGStaticListPropertyTearOff.h: Removed.
- 9:13 PM Changeset in webkit [243129] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed followup to r243126.
LayerRepresentation operator=() needs to copy m_graphicsLayer now that it doesn't
share a pointer with m_typelessPlatformLayer. Also make the LayerRepresentation construction
from a GraphiscLayer* explicit.
- page/scrolling/ScrollingStateNode.h:
(WebCore::LayerRepresentation::operator=):
(WebCore::LayerRepresentation::toRepresentation const):
- 8:00 PM Changeset in webkit [243128] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Add missing exception checks revealed by newly added exception checks, follow-up after r243081
https://bugs.webkit.org/show_bug.cgi?id=195927
Reviewed by Mark Lam.
r243081 adds more exception checks which are previously missing, and it reveals missing exception checks in the caller.
This patch is a follow-up patch after r243081, adding missing exception checks more to fix debug test failures.
- runtime/RegExpConstructor.cpp:
(JSC::setRegExpConstructorInput):
(JSC::setRegExpConstructorMultiline):
- runtime/RegExpGlobalData.cpp:
(JSC::RegExpGlobalData::getBackref):
(JSC::RegExpGlobalData::getLastParen):
- 7:21 PM Changeset in webkit [243127] by
-
- 7 edits in trunk/Source/JavaScriptCore
[JSC] Generator should not create JSLexicalEnvironment if it is not necessary
https://bugs.webkit.org/show_bug.cgi?id=195901
Reviewed by Saam Barati.
It is not rare that generators do not need to have any registers to be suspended and resumed.
Since currently we always emit op_create_lexical_environment for generator code, we sometimes
create empty JSLexicalEnvironment while it is not required. We can see that a lot of empty JSLexicalEnvironment
are allocated in RAMification's Basic test.
This patch removes this unnecessary allocation. We introduce op_create_generator_frame_environment, which is
a marker, similar to op_yield. And generatorification phase decides whether we should actually emit op_create_lexical_environment,
based on the result of the analysis in generatorification. This can remove unnecessary JSLexicalEnvironment allocations.
We run RAMification in 6 times, use average of them.
RAMification's Basic in JIT mode shows 1.4% improvement.
ToT
Current: 55076864.00, Peak: 55080960.00
Patched
Current: 54325930.67, Peak: 54329344.00
RAMification's Basic in non-JIT mode shows 5.0% improvement.
ToT
Current: 12485290.67, Peak: 12485290.67
Patched
Current: 11894101.33, Peak: 11894101.33
- bytecode/BytecodeGeneratorification.cpp:
(JSC::BytecodeGeneratorification::BytecodeGeneratorification):
(JSC::BytecodeGeneratorification::generatorFrameData const):
(JSC::BytecodeGeneratorification::run):
- bytecode/BytecodeList.rb:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- llint/LowLevelInterpreter.asm:
- 7:05 PM Changeset in webkit [243126] by
-
- 2 edits in trunk/Source/WebCore
Scrolling state nodes should hold references to GraphicsLayers
https://bugs.webkit.org/show_bug.cgi?id=195844
<rdar://problem/48949634>
Reviewed by Tim Horton.
GraphicsLayers are refcounted, and the scrolling tree keeps GraphicsLayer pointers,
so for safely the scrolling tree should store RefPtr<GraphicsLayer> instead.
I removed the union (since it would be weird with a RefPtr and raw pointer). This code
should probably use WTF::Variant<> in future.
- page/scrolling/ScrollingStateNode.h:
(WebCore::LayerRepresentation::LayerRepresentation):
(WebCore::LayerRepresentation::operator GraphicsLayer* const):
- 6:58 PM Changeset in webkit [243125] by
-
- 15 edits5 deletes in trunk
Unreviewed, rolling out r243092 and r243096.
https://bugs.webkit.org/show_bug.cgi?id=195926
Caused assertions in tests (Requested by smfr on #webkit).
Reverted changesets:
"Layer with no backing store should still hit-test over a
scroller"
https://bugs.webkit.org/show_bug.cgi?id=195378
https://trac.webkit.org/changeset/243092
"Try to fix Windows build."
https://trac.webkit.org/changeset/243096
- 6:56 PM Changeset in webkit [243124] by
-
- 9 edits12 adds in trunk
Smart Insert for paragraphs.
https://bugs.webkit.org/show_bug.cgi?id=194880
Reviewed by Ryosuke Niwa.
Source/WebCore:
Add additional newlines to maintain spacing around paragraphs.
Tests: editing/pasteboard/smart-paste-paragraph-001.html
editing/pasteboard/smart-paste-paragraph-002.html
editing/pasteboard/smart-paste-paragraph-003.html
editing/pasteboard/smart-paste-paragraph-004.html
- dom/Document.cpp:
(WebCore::Document::editingBehavior const):
- dom/Document.h:
Expose editing behaviour through document so that is can be access from the selection commands
and allow the editing behaviour to be used.
- editing/CompositeEditCommand.h:
- editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldSmartInsertDeleteParagraphs const):
Only have editing insert paragraphs on iOS and in editing elements that support multiple lines.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::shouldPerformSmartParagraphReplace const):
(WebCore::ReplaceSelectionCommand::addNewLinesForSmartReplace):
- editing/ReplaceSelectionCommand.h:
Add addititional newlines when pasting full paragraphs to maintian two newlines between paragraphs
if that is what the original document had. If there are not multiple lines between paragraphs, do not
add additional new lines.
LayoutTests:
List tests are covered by paste-list-00*.
Table tests are covered by paste-table-00* and paste-into-table-*.
- editing/pasteboard/smart-paste-paragraph-001-expected.txt: Added.
- editing/pasteboard/smart-paste-paragraph-001.html: Added.
- editing/pasteboard/smart-paste-paragraph-002-expected.txt: Added.
- editing/pasteboard/smart-paste-paragraph-002.html: Added.
- editing/pasteboard/smart-paste-paragraph-003-expected.txt: Added.
- editing/pasteboard/smart-paste-paragraph-003.html: Added.
- editing/pasteboard/smart-paste-paragraph-004-expected.txt: Added.
- editing/pasteboard/smart-paste-paragraph-004.html: Added.
- platform/ios-wk2/editing/pasteboard/paste-text-016-expected.txt:
This needed to be rebaselined to match the new behaviour.
- platform/ios/editing/pasteboard/smart-paste-paragraph-001-expected.txt: Added.
- platform/ios/editing/pasteboard/smart-paste-paragraph-002-expected.txt: Added.
- platform/ios/editing/pasteboard/smart-paste-paragraph-003-expected.txt: Added.
- platform/ios/editing/pasteboard/smart-paste-paragraph-004-expected.txt: Added.
- 6:55 PM Changeset in webkit [243123] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Fix a bug from r226303 that latest build time is not correctly calculated.
https://bugs.webkit.org/show_bug.cgi?id=195912
Reviewed by Ryosuke Niwa.
Time series is ordered by revision time which does not grantee the build time is
monotonically increasing.
- public/v3/pages/test-freshness-page.js: Use the latest build time instead of the build time of
last point on the chart.
- 6:32 PM Changeset in webkit [243122] by
-
- 5 edits in trunk/Source/WebCore
Reduce the size of Node::deref by eliminating an explicit parentNode check
https://bugs.webkit.org/show_bug.cgi?id=195776
Reviewed by Geoffrey Garen.
This patch eliminates the nullity check of m_parentNode in Node::deref as well as the store to
m_refCount in the case of invoking Node::removedLastRef() as done for RefCounted in r30042.
Together, this patch shrinks WebCore's size by 46KB or ~0.7%.
To do this, we take we take a similar approach as WTF::String by using the lowest bit of m_refCount
to indicate whether a node has a parent or not. Regular ref-counting is done on the upper 31 bits.
Node::setParentNode updates this flag, and Node::deref() would onlydelete thisif m_refCount
is identically equal to 0.
For a Document, we set m_refCounted to 0 before in the case of non-zero m_referencingNodeCount
since decrementReferencingNodeCount needs to be able to tell if there is an outstanding Ref/RefPtr
or not when m_referencingNodeCount becomes 0.
No new tests since there should be no behavioral change.
- dom/Document.cpp:
(WebCore::Document::removedLastRef):
- dom/Document.h:
(WebCore::Document::decrementReferencingNodeCount):
- dom/Node.cpp:
(WebCore::Node::Node): Moved the initialization of m_refCount to the member variable declaration.
(WebCore::Node::~Node):
(WebCore::Node::removedLastRef):
- dom/Node.h:
(WebCore::Node): Changed the type of m_refCount from signed int to uint32_t. It was changed from
unsigned int to signed int back in r11492 but I don't think the signedness is needed.
(WebCore::Node::ref): Increment the ref count by 2 (upper 31-bit).
(WebCore::Node::deref): Implemented the optimization. This is what shrinks the WebCore binary size.
(WebCore::Node::hasOneRef const):
(WebCore::Node::refCount const): Ignore the lowest bit. Without this fix, the optimization in
replaceChildrenWithFragment to avoid replacing the text node is disabled whenever there is a parent.
(WebCore::Node::setParentNode): Sets the lowest bit to 1 if the node has a parent and 0 otherwise.
- 5:39 PM Changeset in webkit [243121] by
-
- 34 edits2 copies in trunk/Source/WebCore
Remove the SVG property tear off objects for SVGAnimatedBoolean
https://bugs.webkit.org/show_bug.cgi?id=195862
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-03-18
Reviewed by Simon Fraser.
-- SVGAnimatedBoolean will be defined as SVGAnimatedPrimitiveProperty<bool>.
-- SVGAnimatedBooleanAccessor is added to access a member of this type.
-- A function registerProperty() is added to SVGPropertyOwnerRegistry
to register this type.
-- SVGAnimatedBooleanAnimator is added to animate a member of this type.
-- SVGAnimationBooleanFunction is added to handle the progress of this
new type over a period of time.
SVGAnimationDiscreteFunction is the base class of SVGAnimationBooleanFunction.
It will be the base class of all the discrete animation function types:
string, bool, enum and PreserveAspectRatio types.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- svg/SVGAnimationElement.h:
- svg/SVGAnimatorFactory.h:
(WebCore::SVGAnimatorFactory::create):
- svg/SVGClipPathElement.h:
- svg/SVGCursorElement.h:
- svg/SVGDefsElement.h:
- svg/SVGExternalResourcesRequired.cpp:
(WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
(WebCore::SVGExternalResourcesRequired::parseAttribute):
(WebCore::SVGExternalResourcesRequired::registerAttributes): Deleted.
- svg/SVGExternalResourcesRequired.h:
(WebCore::SVGExternalResourcesRequired::externalResourcesRequired const):
(WebCore::SVGExternalResourcesRequired::externalResourcesRequiredAnimated):
(WebCore::SVGExternalResourcesRequired::setExternalResourcesRequired): Deleted.
- svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
(WebCore::SVGFEConvolveMatrixElement::registerAttributes):
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
- svg/SVGFEConvolveMatrixElement.h:
- svg/SVGFEImageElement.h:
- svg/SVGFontElement.h:
- svg/SVGForeignObjectElement.h:
- svg/SVGGElement.h:
- svg/SVGGradientElement.h:
- svg/SVGMPathElement.h:
- svg/SVGMarkerElement.h:
- svg/SVGMaskElement.h:
- svg/SVGPathElement.h:
- svg/SVGPatternElement.h:
- svg/SVGRectElement.h:
- svg/SVGSVGElement.h:
- svg/SVGScriptElement.h:
- svg/SVGSwitchElement.h:
- svg/SVGSymbolElement.h:
- svg/SVGTextContentElement.h:
- svg/SVGUseElement.h:
- svg/properties/SVGAnimatedPropertyAccessorImpl.h:
- svg/properties/SVGAnimatedPropertyAnimatorImpl.h:
- svg/properties/SVGAnimatedPropertyImpl.h:
- svg/properties/SVGAnimationDiscreteFunction.h: Added.
(WebCore::SVGAnimationDiscreteFunction::SVGAnimationDiscreteFunction):
(WebCore::SVGAnimationDiscreteFunction::progress):
- svg/properties/SVGAnimationDiscreteFunctionImpl.h: Added.
- svg/properties/SVGAttributeRegistry.h:
- svg/properties/SVGPropertyOwnerRegistry.h:
(WebCore::SVGPropertyOwnerRegistry::registerProperty):
- 5:33 PM Changeset in webkit [243120] by
-
- 3 edits in trunk/Source/WebCore
Crash when reloading test with async overflow scrolling
https://bugs.webkit.org/show_bug.cgi?id=195629
<rdar://problem/48814045>
Reviewed by Antoine Quint.
RenderLayerCompositor::removeFromScrollCoordinatedLayers needs to pass the Positioning
bit to make sure we remove RenderLayers added m_scrollingNodeToLayerMap for Positioning
scrolling nodes.
Fixes crashes seen in compositing/clipping/border-radius-async-overflow-non-stacking.html
and scrollingcoordinator/scrolling-tree/remove-coordinated-frame.html.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::~RenderLayerBacking):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::removeFromScrollCoordinatedLayers):
- 5:31 PM Changeset in webkit [243119] by
-
- 7 edits in trunk/Source/WebCore
Web Inspector: Timeline: lazily create the agent
https://bugs.webkit.org/show_bug.cgi?id=195865
<rdar://problem/48965403>
Reviewed by Joseph Pecoraro.
No change in functionality.
- inspector/agents/InspectorTimelineAgent.h:
- inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::toggleScriptProfilerInstrument):
(WebCore::InspectorTimelineAgent::toggleHeapInstrument):
(WebCore::InspectorTimelineAgent::setFrameIdentifier):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):
(WebCore::InspectorInstrumentation::didRequestAnimationFrame):
(WebCore::InspectorInstrumentation::didCancelAnimationFrame):
- inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::inspectorScriptProfilerAgent const): Added.
(WebCore::InstrumentingAgents::setInspectorScriptProfilerAgent): Added.
- inspector/InstrumentingAgents.cpp:
(WebCore::InstrumentingAgents::reset):
- inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::createLazyAgents):
- 5:27 PM Changeset in webkit [243118] by
-
- 8 edits in trunk/Source
Cut down on use of StringBuffer, possibly leading toward removing it entirely
https://bugs.webkit.org/show_bug.cgi?id=195870
Reviewed by Daniel Bates.
Source/WebCore:
- dom/Document.cpp:
(WebCore::canonicalizedTitle): Fixed all the problems mentioned in "FIXME".
Made this a single function rather than a function template. Switch to
StringBuilder instead of StringBuffer. Return the original string if the
canonicalize operation doesn't change anything.
(WebCore::Document::updateTitle): Updated for the change above.
- platform/Length.cpp:
(WebCore::newCoordsArray): Use createUninitialized instead of StringBuffer.
Also got rid of unneeded use of upconvertedCharacters on a temporary string
that we explicitly created with 16-bit characters. The performance of this
function could be considerably simplified by not copying the original string
at all, but didn't do that at this time.
- platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::decode): Use createUninitialized instead of
StringBuffer. Also renamed numChars to numCodeUnits to both switch to complete
words and to be slightly more accurate.
- rendering/RenderText.cpp:
(WebCore::convertNoBreakSpace): Added.
(WebCore::capitalize): Use Vector instead of StringBuffer. Simplify code by
using convertNoBreakSpace function. Removed code that was using StringImpl
directly for a tiny speed boost; if we want to optimize the performance of
this function we would need to do more than that. Return the original string
if it happens to already be capitalized.
Source/WTF:
- wtf/URL.cpp: Remove a now-inaccurate comment mentioning StringBuffer.
- wtf/text/StringView.cpp:
(WTF::convertASCIICase): Use createUninitialized instead of StringBuffer.
- 5:10 PM Changeset in webkit [243117] by
-
- 1 edit1 move in trunk/Websites/browserbench.org
Unreviewed. Rename JetStream directory to JetStream1.1
- JetStream: Removed.
- JetStream1.1: Copied from Websites/browserbench.org/JetStream.
- 4:54 PM Changeset in webkit [243116] by
-
- 7 edits in trunk
WKWebView.GetContentsShouldReturnAttributedString is crashing on iOS Simulator.
https://bugs.webkit.org/show_bug.cgi?id=195916
Reviewed by Tim Horton.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj: Make ColorIOS.h a private header.
- platform/ios/ColorIOS.h: Export colorFromUIColor.
Source/WebKit:
Add direct support for UIColor so it does not try to use the NSSecureCoding path.
This avoids needs to list the classes when decoding the attributes NSDictionary
and matches the macOS NSColor encoder/decoder.
- Shared/Cocoa/ArgumentCodersCocoa.mm:
(IPC::typeFromObject):
(IPC::encodeColorInternal):
(IPC::decodeColorInternal):
(IPC::encodeObject):
(IPC::decodeObject):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm:
(TEST(WKWebView, GetContentsShouldReturnAttributedString): Fix iOS code path to pass.
- 4:51 PM Changeset in webkit [243115] by
-
- 2 edits in trunk/Source/WTF
[WTF] Remove redundant std::move in StringConcatenate
https://bugs.webkit.org/show_bug.cgi?id=195798
Patch by Xan Lopez <Xan Lopez> on 2019-03-18
Reviewed by Darin Adler.
Remove redundant calls to WTFMove in return values for this
method. C++ will already do an implicit move here since we are
returning a local value where copy/move elision is not applicable.
- wtf/text/StringConcatenate.h:
(WTF::tryMakeStringFromAdapters):
- 4:33 PM Changeset in webkit [243114] by
-
- 67 edits in trunk/Source/WebCore
Define the type of SVGPropertyOwnerRegistry for all SVG elements
https://bugs.webkit.org/show_bug.cgi?id=195859
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-03-18
Reviewed by Simon Fraser.
SVGPropertyOwnerRegistry will eventually replace SVGAttributeOwnerProxyImpl.
- svg/SVGAElement.h:
- svg/SVGAltGlyphElement.h:
- svg/SVGAnimationElement.h:
- svg/SVGCircleElement.h:
- svg/SVGClipPathElement.h:
- svg/SVGComponentTransferFunctionElement.h:
(WebCore::SVGComponentTransferFunctionElement::attributeRegistry):
(WebCore::SVGComponentTransferFunctionElement::isKnownAttribute):
- svg/SVGCursorElement.h:
- svg/SVGDefsElement.h:
- svg/SVGElement.h:
- svg/SVGEllipseElement.h:
- svg/SVGExternalResourcesRequired.h:
(WebCore::SVGExternalResourcesRequired::isKnownAttribute):
- svg/SVGFEBlendElement.h:
- svg/SVGFEColorMatrixElement.h:
- svg/SVGFEComponentTransferElement.h:
- svg/SVGFECompositeElement.h:
- svg/SVGFEConvolveMatrixElement.h:
- svg/SVGFEDiffuseLightingElement.h:
- svg/SVGFEDisplacementMapElement.h:
- svg/SVGFEDropShadowElement.h:
- svg/SVGFEGaussianBlurElement.h:
- svg/SVGFEImageElement.h:
- svg/SVGFELightElement.h:
(WebCore::SVGFELightElement::attributeRegistry):
(WebCore::SVGFELightElement::isKnownAttribute):
- svg/SVGFEMergeNodeElement.h:
- svg/SVGFEMorphologyElement.h:
- svg/SVGFEOffsetElement.h:
- svg/SVGFESpecularLightingElement.h:
- svg/SVGFETileElement.h:
- svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::svgAttributeChanged):
- svg/SVGFETurbulenceElement.h:
- svg/SVGFilterElement.h:
- svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::isKnownAttribute):
- svg/SVGFitToViewBox.h:
(WebCore::SVGFitToViewBox::isKnownAttribute):
- svg/SVGFontElement.h:
- svg/SVGForeignObjectElement.h:
- svg/SVGGElement.h:
- svg/SVGGeometryElement.h:
(WebCore::SVGGeometryElement::isKnownAttribute):
- svg/SVGGlyphRefElement.h:
- svg/SVGGradientElement.h:
(WebCore::SVGGradientElement::isKnownAttribute):
- svg/SVGGraphicsElement.h:
(WebCore::SVGGraphicsElement::isKnownAttribute):
- svg/SVGImageElement.h:
- svg/SVGLineElement.h:
- svg/SVGLinearGradientElement.h:
- svg/SVGMPathElement.h:
- svg/SVGMarkerElement.h:
- svg/SVGMaskElement.h:
- svg/SVGPathElement.h:
- svg/SVGPatternElement.h:
- svg/SVGPolyElement.h:
(WebCore::SVGPolyElement::attributeRegistry):
(WebCore::SVGPolyElement::isKnownAttribute):
- svg/SVGRadialGradientElement.h:
- svg/SVGRectElement.h:
- svg/SVGSVGElement.h:
- svg/SVGScriptElement.h:
- svg/SVGStopElement.h:
- svg/SVGSwitchElement.h:
- svg/SVGSymbolElement.h:
- svg/SVGTRefElement.h:
- svg/SVGTests.h:
- svg/SVGTextContentElement.h:
(WebCore::SVGTextContentElement::isKnownAttribute):
- svg/SVGTextPathElement.h:
- svg/SVGTextPositioningElement.h:
(WebCore::SVGTextPositioningElement::isKnownAttribute):
- svg/SVGURIReference.h:
- svg/SVGUseElement.h:
- svg/SVGViewElement.h:
- svg/SVGViewSpec.h:
- svg/SVGZoomAndPan.cpp:
(WebCore::SVGZoomAndPan::parseZoomAndPan):
(WebCore::SVGZoomAndPan::parseAttribute):
(WebCore::SVGZoomAndPan::SVGZoomAndPan): Deleted.
(WebCore::SVGZoomAndPan::registerAttributes): Deleted.
- svg/SVGZoomAndPan.h:
(WebCore::SVGZoomAndPan::zoomAndPan const):
(WebCore::SVGZoomAndPan::setZoomAndPan):
(WebCore::SVGZoomAndPan::reset):
(WebCore::SVGZoomAndPan::attributeRegistry): Deleted.
(WebCore::SVGZoomAndPan::isKnownAttribute): Deleted.
- 4:32 PM Changeset in webkit [243113] by
-
- 10 edits1 copy2 adds in trunk/Source
Add new NSAttributedString API for converting HTML.
https://bugs.webkit.org/show_bug.cgi?id=195636
rdar://problem/45055697
Reviewed by Tim Horton.
Source/WebCore:
- en.lproj/Localizable.strings: Updated.
Source/WebKit:
- Platform/spi/ios/UIKitSPI.h:
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/NSAttributedString.h: Added.
- UIProcess/API/Cocoa/NSAttributedString.mm: Added.
(-[_WKAttributedStringNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[_WKAttributedStringNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
(-[_WKAttributedStringNavigationDelegate webView:didFailNavigation:withError:]):
(-[_WKAttributedStringNavigationDelegate webView:didFinishNavigation:]):
(+[_WKAttributedStringWebViewCache cache]):
(+[_WKAttributedStringWebViewCache configuration]):
(+[_WKAttributedStringWebViewCache clearConfiguration]):
(+[_WKAttributedStringWebViewCache retrieveOrCreateWebView]):
(+[_WKAttributedStringWebViewCache cacheWebView:]):
(+[_WKAttributedStringWebViewCache resetPurgeDelay]):
(+[_WKAttributedStringWebViewCache purgeSingleWebView]):
(+[_WKAttributedStringWebViewCache purgeAllWebViews]):
(+[NSAttributedString _loadFromHTMLWithOptions:contentLoader:completionHandler:]):
(+[NSAttributedString loadFromHTMLWithRequest:options:completionHandler:]):
(+[NSAttributedString loadFromHTMLWithFileURL:options:completionHandler:]):
(+[NSAttributedString loadFromHTMLWithString:options:completionHandler:]):
(+[NSAttributedString loadFromHTMLWithData:options:completionHandler:]):
- UIProcess/API/Cocoa/NSAttributedStringPrivate.h: Copied from Source/WebKit/UIProcess/API/Cocoa/WKErrorInternal.h.
- UIProcess/API/Cocoa/WKError.h:
- UIProcess/API/Cocoa/WKError.mm:
(localizedDescriptionForErrorCode):
(createNSError):
- UIProcess/API/Cocoa/WKErrorInternal.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::getContentsAsAttributedString):
- 3:45 PM Changeset in webkit [243112] by
-
- 6 edits in trunk/Source/WebCore
Call transition and animation callbacks on non-composited renderers too.
https://bugs.webkit.org/show_bug.cgi?id=195907
Reviewed by Simon Fraser.
These callbacks are not composited specific functions.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::freezeAtTime):
(WebCore::AnimationBase::compositedRenderer const): Deleted.
- page/animation/AnimationBase.h:
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::startAnimation):
(WebCore::ImplicitAnimation::pauseAnimation):
(WebCore::ImplicitAnimation::endAnimation):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::startAnimation):
(WebCore::KeyframeAnimation::pauseAnimation):
(WebCore::KeyframeAnimation::endAnimation):
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::startTransition):
(WebCore::RenderLayerModelObject::transitionPaused):
(WebCore::RenderLayerModelObject::transitionFinished):
(WebCore::RenderLayerModelObject::startAnimation):
(WebCore::RenderLayerModelObject::animationPaused):
(WebCore::RenderLayerModelObject::animationSeeked):
(WebCore::RenderLayerModelObject::animationFinished):
(WebCore::RenderLayerModelObject::suspendAnimations):
- 3:42 PM Changeset in webkit [243111] by
-
- 2 edits in trunk/Tools
Add a secondary e-mail address for Fujii Hironori to make tools happier.
- Scripts/webkitpy/common/config/contributors.json:
- 3:38 PM Changeset in webkit [243110] by
-
- 49 edits3 copies2 adds in trunk
Implement DownloadMonitor to prevent long-running slow downloads from background apps
https://bugs.webkit.org/show_bug.cgi?id=195785
Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-18
Reviewed by Geoffrey Garen.
Source/WebKit:
This is similar to what was updated in <rdar://problem/42677685> but for WebKit Downloads.
To test it I implemented a throttled TCP server, SPI to speed up DownloadMonitor's timer,
and SPI to synthesize the application going into the background and foreground, which
NSNotificationCenter does on iOS.
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::didReceiveData):
(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
- NetworkProcess/Downloads/Download.h:
(WebKit::Download::applicationEnteredBackground):
(WebKit::Download::applicationEnteredForeground):
(WebKit::Download::manager const):
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::downloadFinished):
(WebKit::DownloadManager::applicationDidEnterBackground):
(WebKit::DownloadManager::applicationWillEnterForeground):
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/Downloads/DownloadMap.cpp:
(WebKit::DownloadMap::values):
- NetworkProcess/Downloads/DownloadMap.h:
- NetworkProcess/Downloads/DownloadMonitor.cpp: Added.
(WebKit::operator _kbps):
(WebKit::timeUntilNextInterval):
(WebKit::DownloadMonitor::DownloadMonitor):
(WebKit::DownloadMonitor::measuredThroughputRate const):
(WebKit::DownloadMonitor::downloadReceivedBytes):
(WebKit::DownloadMonitor::applicationEnteredForeground):
(WebKit::DownloadMonitor::applicationEnteredBackground):
(WebKit::DownloadMonitor::speedMultiplier const):
(WebKit::DownloadMonitor::timerFired):
- NetworkProcess/Downloads/DownloadMonitor.h: Added.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::applicationDidEnterBackground):
(WebKit::NetworkProcess::applicationWillEnterForeground):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextDownloadURLRequest):
(WKContextResumeDownload):
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _synthesizeAppIsBackground:]):
(-[WKProcessPool _downloadURLRequest:originatingWebView:]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration downloadMonitorSpeedMultiplier]):
(-[_WKProcessPoolConfiguration setDownloadMonitorSpeedMultiplier:]):
- UIProcess/Cocoa/DownloadProxyMapCocoa.mm: Added.
(WebKit::DownloadProxyMap::platformCreate):
(WebKit::DownloadProxyMap::platformDestroy):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::didCancel):
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::DownloadProxyMap):
(WebKit::DownloadProxyMap::~DownloadProxyMap):
(WebKit::DownloadProxyMap::platformCreate):
(WebKit::DownloadProxyMap::platformDestroy):
(WebKit::DownloadProxyMap::applicationDidEnterBackground):
(WebKit::DownloadProxyMap::applicationWillEnterForeground):
(WebKit::DownloadProxyMap::createDownloadProxy):
(WebKit::DownloadProxyMap::downloadFinished):
- UIProcess/Downloads/DownloadProxyMap.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::synthesizeAppIsBackground):
(WebKit::NetworkProcessProxy::createDownloadProxy):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::handleDownloadRequest):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::createDownloadProxy):
(WebKit::WebProcessPool::synthesizeAppIsBackground):
- UIProcess/WebProcessPool.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleDownloadRequest):
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::handleDownloadRequest):
- WebKit.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/TCPServer.cpp: Added.
(TestWebKitAPI::TCPServer::TCPServer):
(TestWebKitAPI::TCPServer::~TCPServer):
(TestWebKitAPI::TCPServer::socketBindListen):
(TestWebKitAPI::TCPServer::waitForAndReplyToRequests):
- TestWebKitAPI/TCPServer.h: Added.
(TestWebKitAPI::TCPServer::port const):
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[DownloadMonitorTestDelegate _downloadDidStart:]):
(-[DownloadMonitorTestDelegate _downloadDidCancel:]):
(-[DownloadMonitorTestDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[DownloadMonitorTestDelegate _download:didReceiveData:]):
(TestWebKitAPI::respondSlowly):
(TestWebKitAPI::webViewWithDownloadMonitorSpeedMultiplier):
(TestWebKitAPI::downloadAtRate):
(TestWebKitAPI::TEST):
- 3:29 PM Changeset in webkit [243109] by
-
- 14 edits1 move2 adds in trunk
Add experimental "alphaChannel" property to VideoConfiguration
https://bugs.webkit.org/show_bug.cgi?id=195853
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/mediacapabilities/mock-decodingInfo-alphaChannel.html
Add a new, experimental addition to Media Capabilities to allow pages to query for
alpha channel support.
- Modules/mediacapabilities/MediaCapabilities.cpp:
(WebCore::MediaCapabilities::decodingInfo):
- Modules/mediacapabilities/MediaCapabilities.h:
- Modules/mediacapabilities/MediaCapabilities.idl:
- Modules/mediacapabilities/VideoConfiguration.idl:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/cocoa/VideoToolboxSoftLink.cpp:
- platform/cocoa/VideoToolboxSoftLink.h:
- platform/graphics/cocoa/HEVCUtilitiesCocoa.h:
- platform/graphics/cocoa/HEVCUtilitiesCocoa.mm: Renamed from Source/WebCore/platform/graphics/cocoa/HEVCUtilitiesCocoa.cpp.
(WebCore::validateHEVCParameters):
- platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:
(WebCore::createMediaPlayerDecodingConfigurationCocoa):
- platform/mediacapabilities/VideoConfiguration.h:
- platform/mock/MediaEngineConfigurationFactoryMock.cpp:
(WebCore::canDecodeMedia):
(WebCore::canEncodeMedia):
LayoutTests:
- media/mediacapabilities/mock-decodingInfo-alphaChannel-expected.txt: Added.
- media/mediacapabilities/mock-decodingInfo-alphaChannel.html: Added.
- 3:24 PM Changeset in webkit [243108] by
-
- 1 copy in tags/Safari-607.1.40.1.5
Tag Safari-607.1.40.1.5.
- 3:19 PM Changeset in webkit [243107] by
-
- 7 edits in branches/safari-607.1.40.1-branch/Source
Versioning.
- 2:57 PM Changeset in webkit [243106] by
-
- 3 edits in trunk/Source/WebCore
Remove unused webkitEditableContentChanged event
https://bugs.webkit.org/show_bug.cgi?id=195909
Reviewed by Wenson Hsieh.
Removed webkitEditableContentChanged event which is no longer used after r206944.
Note that only WebKit's C++ code can fire events in TextControlInnerElements
since the element is an implementation detail of input and textarea elements.
- dom/EventNames.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::defaultEventHandler):
- 2:30 PM Changeset in webkit [243105] by
-
- 5 edits in trunk
[WHLSL] Hook up the compiler to our WebGPU implementation
https://bugs.webkit.org/show_bug.cgi?id=195509
Unreviewed.
Update after r243091.
Source/WebCore:
- Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp:
- platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:
(WebCore::trySetWHLSLFunctionsForPipelineDescriptor):
LayoutTests:
- webgpu/whlsl.html:
- 2:27 PM Changeset in webkit [243104] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r236862): early frame decoupling leaves JSC ArrayBuffer objects lingering
https://bugs.webkit.org/show_bug.cgi?id=195322
Reviewed by Ryosuke Niwa.
Since r236862, DOMWindow objects get disconnected from their Frame object as soon as
their iframe element gets removed from the document. Previously, DOMWindow was a
FrameDestructionObserver and would stay connected to its frame until the frame died.
This means that some of the work that we were doing in DOMWindow::frameDestroyed() and
Document::willDetachPage() no longer happens for subframe windows because they get
disconnected from their frame because they get a chance to get such notifications.
To address this issue, we now also do this work in DOMWindow::willDetachDocumentFromFrame()
which gets called when the iframe gets removed from the document and the document / window
get disconnected from the Frame element.
No new tests, verified locally that the leak is gone on JetStream.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::willDetachDocumentFromFrame):
- 2:25 PM Changeset in webkit [243103] by
-
- 8 edits in trunk/Source/WebCore
Move animation and transition functions from RenderBoxModelObject to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=195903
Reviewed by Simon Fraser.
Transitions and animations do not require RenderBoxModelObject. Move these functions to RenderElement and override them at RenderLayerModelObject to support
composition related callbacks.
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::compositedRenderer const):
- page/animation/AnimationBase.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::startTransition): Deleted.
(WebCore::RenderBoxModelObject::transitionPaused): Deleted.
(WebCore::RenderBoxModelObject::transitionFinished): Deleted.
(WebCore::RenderBoxModelObject::startAnimation): Deleted.
(WebCore::RenderBoxModelObject::animationPaused): Deleted.
(WebCore::RenderBoxModelObject::animationSeeked): Deleted.
(WebCore::RenderBoxModelObject::animationFinished): Deleted.
(WebCore::RenderBoxModelObject::suspendAnimations): Deleted.
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::startTransition):
(WebCore::RenderElement::transitionPaused):
(WebCore::RenderElement::transitionFinished):
(WebCore::RenderElement::startAnimation):
(WebCore::RenderElement::animationPaused):
(WebCore::RenderElement::animationSeeked):
(WebCore::RenderElement::animationFinished):
(WebCore::RenderElement::suspendAnimations):
- rendering/RenderElement.h:
- 2:22 PM Changeset in webkit [243102] by
-
- 10 edits2 adds in trunk
[iOS] Native selection views sometimes appear in hidden editable areas after losing focus
https://bugs.webkit.org/show_bug.cgi?id=195894
<rdar://problem/48849989>
Reviewed by Tim Horton.
Source/WebKit:
On certain websites, focus is moved away from an editable element while maintaining a selection inside the
editable element. In the case where the editable element is hidden, this currently breaks our text interaction
suppression heuristics, which suppress text selection gestures and overlays inside focused hidden editable
elements. To fix this, we refactor our text interaction suppression heuristics, such that they are not dependent
on an editable element being focused. See changes below for more details.
Test: editing/selection/ios/hide-selection-in-non-focused-element.html
- Shared/EditorState.cpp:
(WebKit::EditorState::PostLayoutData::encode const):
(WebKit::EditorState::PostLayoutData::decode):
- Shared/EditorState.h:
Rename elementIsTransparentOrFullyClipped to editableRootIsTransparentOrFullyClipped, and additionally compute
this flag by checking whether the root editable element containing the selection is transparent or clipped,
instead of using the currently focused element.
- Shared/FocusedElementInformation.cpp:
(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):
- Shared/FocusedElementInformation.h:
Remove the elementIsTransparentOrFullyClipped flag from FocusedElementInformation (see below for more detail).
- UIProcess/ios/WKContentViewInteraction.h:
Rename FocusedElementIsTransparentOrFullyClipped to EditableRootIsTransparentOrFullyClipped.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _zoomToRevealFocusedElement]):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
Remove logic that currently uses state on FocusedElementInformation to determine whether to suppress platform
text interactions; instead, only use EditorState to make this determination. This logic was originally added in
the initial implementation of the text interaction suppression heuristic as a way to begin suppressing text
selection state before zooming to reveal the focused element; however, since we now zoom to reveal the text
selection when focusing editable elements, zooming is deferred until the next complete EditorState update
arrives in the UI process so we don't need to worry about beginning to suppress text interactions prior to this
initial editor state update.
(-[WKContentView _elementDidBlur]):
(-[WKContentView _updateSelectionAssistantSuppressionState]):
Add a helper method that updates text selection suppression state using the current EditorState.
(-[WKContentView _selectionChanged]):
(-[WKContentView _updateChangedSelection:]):
Always update text suppression state when receiving an EditorState, instead of only doing so when processing a
text selection gesture.
(-[WKContentView _startSuppressingSelectionAssistantForReason:]):
Renamed from _beginSuppressingSelectionAssistantForReason:, to better match "start/end" terminology of
_endSuppressingSelectionAssistantForReason:.
(-[WKContentView dropInteraction:performDrop:]):
(-[WKContentView _beginSuppressingSelectionAssistantForReason:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::editorStateChanged):
Ensure that we run logic to zoom to the focused element *after* updating text selection suppression state, so we
don't erroneously zoom to reveal hidden editable elements.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformEditorState const):
(WebKit::WebPage::getFocusedElementInformation):
LayoutTests:
Add a test to verify that moving focus away from a hidden editable element doesn't cause platform selection
views in the element to appear. See WebKit ChangeLog for more details.
- editing/selection/ios/hide-selection-in-non-focused-element-expected.txt: Added.
- editing/selection/ios/hide-selection-in-non-focused-element.html: Added.
- 2:18 PM Changeset in webkit [243101] by
-
- 1 copy in releases/WPE WebKit/webkit-2.23.91
WPE WebKit 2.23.91
- 2:17 PM Changeset in webkit [243100] by
-
- 3 edits1 add in trunk
Add a plan file for JetStream 2
https://bugs.webkit.org/show_bug.cgi?id=190734
Reviewed by Mark Lam.
PerformanceTests:
Make the delay when starting via run-benchmark longer to allow
the page's animation to finish.
- JetStream2/JetStreamDriver.js:
(Driver.prototype.async.initialize):
Tools:
- Scripts/webkitpy/benchmark_runner/data/plans/jetstream2.plan: Added.
- 2:17 PM Changeset in webkit [243099] by
-
- 4 edits in releases/WebKitGTK/webkit-2.24
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.23.91 release
build-rc/..:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
build-rc/../Source/WebKit:
- wpe/NEWS: Add release notes for 2.23.91
- 2:17 PM Changeset in webkit [243098] by
-
- 3 edits2 moves in releases/WebKitGTK/webkit-2.24
Merged r243073 - [WPE] Bump public API to wpe-1.0
https://bugs.webkit.org/show_bug.cgi?id=195887
Reviewed by Philippe Normand.
.:
- Source/cmake/OptionsWPE.cmake: Bump public API version to 1.0
Source/WebKit:
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt: Renamed from Source/WebKit/UIProcess/API/wpe/docs/wpe-0.1-sections.txt.
- WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-1.0-sections.txt: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt.
- 1:56 PM Changeset in webkit [243097] by
-
- 22 edits10 adds in branches/safari-607-branch
Apply patch. rdar://problem/48839387
- 1:29 PM Changeset in webkit [243096] by
-
- 2 edits in trunk/Source/WebCore
Try to fix Windows build.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
- 1:26 PM Changeset in webkit [243095] by
-
- 12 edits5 adds in branches/safari-607-branch/Tools
Cherry-pick r243030. rdar://problem/48896182
webkitpy: Upload test results
https://bugs.webkit.org/show_bug.cgi?id=195755
<rdar://problem/48896182>
Reviewed by Aakash Jain.
Establish a new format for uploading results that is not tied to layout tests, apply
that format to webkitpy tests.
- Scripts/webkitpy/common/checkout/scm/git.py: (Git.native_branch): Return what branch the current checkout is on.
- Scripts/webkitpy/common/checkout/scm/scm_mock.py:
- Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
- Scripts/webkitpy/common/checkout/scm/svn.py: (SVN.native_branch): Ditto.
- Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo.build_version): Return a build version for Mac.
- Scripts/webkitpy/common/system/platforminfo_mock.py: (MockPlatformInfo.init): (MockPlatformInfo.build_version):
- Scripts/webkitpy/results: Added.
- Scripts/webkitpy/results/init.py: Added.
- Scripts/webkitpy/results/options.py: Added. (upload_options): OptParse list for upload options.
- Scripts/webkitpy/results/upload.py: Added. (Upload): Class which enforces the upload format expected by the results server. (Upload.Expectations): (Upload.create_configuration): (Upload.create_commit): (Upload.create_details): (Upload.create_run_stats): (Upload.create_test_result): (Upload.init): (Upload.Encoder): Encode Upload object as json. (Upload.upload): Upload results to the results server, returning 'True' if the upload is successful.
- Scripts/webkitpy/results/upload_unittest.py: Added.
- Scripts/webkitpy/test/main.py: (Tester._parse_args): Add upload arguments. (Tester._run_tests): Allow results to be uploaded.
- Scripts/webkitpy/test/runner.py: (Runner.init): Record which tests were run, rather than just counting them. (Runner.handle):
- Scripts/webkitpy/test/runner_unittest.py: (RunnerTest.test_run):
- Scripts/webkitpy/thirdparty/init.py: (AutoinstallImportHook.find_module): Add requests auto-install. (AutoinstallImportHook._install_requests):
- Scripts/webkitpy/tool/commands/queues_unittest.py: (PatchProcessingQueueTest.test_upload_results_archive_for_patch): Update os name for testing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:23 PM Changeset in webkit [243094] by
-
- 42 edits in trunk
Delay WebProcess launch until a load is triggered in a Web view
https://bugs.webkit.org/show_bug.cgi?id=195758
<rdar://problem/48126013>
Reviewed by Geoff Garen.
Source/WebKit:
This is achieved by constructing WebPageProxy objects with a WebProcessProxy that is in
terminated state (because it never launched its process). This is convenient because
it is a state that the WebPageProxy supports, which normally happened by the WebProcess
crashes. When trying to do a load, we were already checking if the WebPageProxy's process
was running (via an isValid() check) and we would re-launch the WebProcess if necessary
by calling reattachToWebProcess(). For clarity, given that this state is no longer
indicating that the WebProcess crashed, I renamed isValid() to hasRunningProcess() and
reattachToWebProcess() to launchProcess().
The reason delaying the WebProcess launch until the first load is useful is because it
allows us to leverage the WebProcessCache given that we now know which registrable
domain is going to be loaded in the process.
This is a progression from a power usage standpoint. When it comes to page load time,
it would be a progression if we found a suitable process in the cache. I do not expect
a performance hit when no process is found in the cache because of process prewarming.
- Shared/API/Cocoa/RemoteObjectRegistry.h:
- Shared/API/Cocoa/RemoteObjectRegistry.mm:
(WebKit::m_launchInitialProcessIfNecessary):
(WebKit::RemoteObjectRegistry::sendInvocation):
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _processCacheSize]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isValid]):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::willShowJavaScriptDialog):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::performDictionaryLookupAtLocation):
(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection):
- UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:
(WebKit::DrawingAreaProxyCoordinatedGraphics::sendUpdateBackingStoreState):
(WebKit::DrawingAreaProxyCoordinatedGraphics::waitForAndDispatchDidUpdateBackingStoreState):
(WebKit::DrawingAreaProxyCoordinatedGraphics::dispatchAfterEnsuringDrawing):
- UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::setViewExposedRect):
(WebKit::DrawingAreaProxy::viewExposedRectChangedTimerFired):
- UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
- UIProcess/InspectorTargetProxy.cpp:
(WebKit::InspectorTargetProxy::connect):
(WebKit::InspectorTargetProxy::disconnect):
(WebKit::InspectorTargetProxy::sendMessageToTargetBackend):
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::captureDevicesChanged):
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied):
(WebKit::UserMediaPermissionRequestManagerProxy::denyRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted):
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame):
(WebKit::UserMediaPermissionRequestManagerProxy::captureStateChanged):
- UIProcess/ViewGestureController.cpp:
(WebKit::ViewGestureController::ViewGestureController):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::~WebBackForwardList):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
- UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::unapply):
(WebKit::WebEditCommandProxy::reapply):
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::stopLoading const):
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
- UIProcess/WebPageProxy.cpp:
(WebKit::m_resetRecentCrashCountTimer):
(WebKit::WebPageProxy::hasRunningProcess const):
(WebKit::WebPageProxy::setUIClient):
(WebKit::WebPageProxy::setIconLoadingClient):
(WebKit::WebPageProxy::launchProcess):
(WebKit::WebPageProxy::swapToWebProcess):
(WebKit::WebPageProxy::finishAttachingToWebProcess):
(WebKit::WebPageProxy::didAttachToRunningProcess):
(WebKit::WebPageProxy::launchProcessForReload):
(WebKit::WebPageProxy::launchProcessWithItem):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::tryClose):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPageProxy::stopLoading):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::tryRestoreScrollPosition):
(WebKit::WebPageProxy::setControlledByAutomation):
(WebKit::WebPageProxy::setIndicating):
(WebKit::WebPageProxy::setBackgroundColor):
(WebKit::WebPageProxy::setTopContentInset):
(WebKit::WebPageProxy::setUnderlayColor):
(WebKit::WebPageProxy::viewWillStartLiveResize):
(WebKit::WebPageProxy::viewWillEndLiveResize):
(WebKit::WebPageProxy::dispatchActivityStateChange):
(WebKit::WebPageProxy::layerHostingModeDidChange):
(WebKit::WebPageProxy::waitForDidUpdateActivityState):
(WebKit::WebPageProxy::setInitialFocus):
(WebKit::WebPageProxy::clearSelection):
(WebKit::WebPageProxy::restoreSelectionInFocusedEditableElement):
(WebKit::WebPageProxy::validateCommand):
(WebKit::WebPageProxy::increaseListLevel):
(WebKit::WebPageProxy::decreaseListLevel):
(WebKit::WebPageProxy::changeListType):
(WebKit::WebPageProxy::setBaseWritingDirection):
(WebKit::WebPageProxy::setNeedsFontAttributes):
(WebKit::WebPageProxy::executeEditCommand):
(WebKit::WebPageProxy::requestFontAttributesAtSelectionStart):
(WebKit::WebPageProxy::setEditable):
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::dragEnded):
(WebKit::WebPageProxy::didStartDrag):
(WebKit::WebPageProxy::dragCancelled):
(WebKit::WebPageProxy::handleMouseEvent):
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
(WebKit::WebPageProxy::handleWheelEvent):
(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::handleGestureEvent):
(WebKit::WebPageProxy::handleTouchEventSynchronously):
(WebKit::WebPageProxy::handleTouchEventAsynchronously):
(WebKit::WebPageProxy::handleTouchEvent):
(WebKit::WebPageProxy::scrollBy):
(WebKit::WebPageProxy::centerSelectionInVisibleArea):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::setUserAgent):
(WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
(WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
(WebKit::WebPageProxy::setCustomTextEncodingName):
(WebKit::WebPageProxy::setTextZoomFactor):
(WebKit::WebPageProxy::setPageZoomFactor):
(WebKit::WebPageProxy::setPageAndTextZoomFactors):
(WebKit::WebPageProxy::scalePage):
(WebKit::WebPageProxy::scalePageInViewCoordinates):
(WebKit::WebPageProxy::scaleView):
(WebKit::WebPageProxy::windowScreenDidChange):
(WebKit::WebPageProxy::setCustomDeviceScaleFactor):
(WebKit::WebPageProxy::accessibilitySettingsDidChange):
(WebKit::WebPageProxy::updateAccessibilityEventsEnabled):
(WebKit::WebPageProxy::setUseFixedLayout):
(WebKit::WebPageProxy::setFixedLayoutSize):
(WebKit::WebPageProxy::setAlwaysShowsHorizontalScroller):
(WebKit::WebPageProxy::setAlwaysShowsVerticalScroller):
(WebKit::WebPageProxy::listenForLayoutMilestones):
(WebKit::WebPageProxy::setSuppressScrollbarAnimations):
(WebKit::WebPageProxy::setEnableVerticalRubberBanding):
(WebKit::WebPageProxy::setEnableHorizontalRubberBanding):
(WebKit::WebPageProxy::setBackgroundExtendsBeyondPage):
(WebKit::WebPageProxy::setPaginationMode):
(WebKit::WebPageProxy::setPaginationBehavesLikeColumns):
(WebKit::WebPageProxy::setPageLength):
(WebKit::WebPageProxy::setGapBetweenPages):
(WebKit::WebPageProxy::setPaginationLineGridEnabled):
(WebKit::WebPageProxy::countStringMatches):
(WebKit::WebPageProxy::replaceMatches):
(WebKit::WebPageProxy::launchInitialProcessIfNecessary):
(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::runJavaScriptInMainFrameScriptWorld):
(WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
(WebKit::WebPageProxy::getSourceForFrame):
(WebKit::WebPageProxy::getContentsAsString):
(WebKit::WebPageProxy::getContentsAsAttributedString):
(WebKit::WebPageProxy::getBytecodeProfile):
(WebKit::WebPageProxy::getSamplingProfilerOutput):
(WebKit::WebPageProxy::getContentsAsMHTMLData):
(WebKit::WebPageProxy::getSelectionOrContentsAsString):
(WebKit::WebPageProxy::getSelectionAsWebArchiveData):
(WebKit::WebPageProxy::getMainResourceDataOfFrame):
(WebKit::WebPageProxy::getResourceDataFromFrame):
(WebKit::WebPageProxy::getWebArchiveOfFrame):
(WebKit::WebPageProxy::forceRepaint):
(WebKit::WebPageProxy::preferencesDidChange):
(WebKit::WebPageProxy::setMediaVolume):
(WebKit::WebPageProxy::setMuted):
(WebKit::WebPageProxy::setMediaCaptureEnabled):
(WebKit::WebPageProxy::stopMediaCapture):
(WebKit::WebPageProxy::stopAllMediaPlayback):
(WebKit::WebPageProxy::suspendAllMediaPlayback):
(WebKit::WebPageProxy::resumeAllMediaPlayback):
(WebKit::WebPageProxy::handleMediaEvent):
(WebKit::WebPageProxy::setVolumeOfMediaElement):
(WebKit::WebPageProxy::setMayStartMediaWhenInWindow):
(WebKit::WebPageProxy::didChooseColor):
(WebKit::WebPageProxy::didEndColorPicker):
(WebKit::WebPageProxy::didSelectOption):
(WebKit::WebPageProxy::inspector const):
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):
(WebKit::WebPageProxy::didCancelForOpenPanel):
(WebKit::WebPageProxy::removeEditCommand):
(WebKit::WebPageProxy::processDidBecomeUnresponsive):
(WebKit::WebPageProxy::processDidBecomeResponsive):
(WebKit::WebPageProxy::processDidTerminate):
(WebKit::WebPageProxy::processWillBecomeSuspended):
(WebKit::WebPageProxy::processWillBecomeForeground):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::setCanRunModal):
(WebKit::WebPageProxy::canRunModal):
(WebKit::WebPageProxy::computePagesForPrinting):
(WebKit::WebPageProxy::drawRectToImage):
(WebKit::WebPageProxy::drawPagesToPDF):
(WebKit::WebPageProxy::drawPagesForPrinting):
(WebKit::WebPageProxy::updateBackingStoreDiscardableState):
(WebKit::WebPageProxy::setViewLayoutSize):
(WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight):
(WebKit::WebPageProxy::setViewportSizeForCSSViewportUnits):
(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::cancelComposition):
(WebKit::WebPageProxy::setScrollPinningBehavior):
(WebKit::WebPageProxy::setOverlayScrollbarStyle):
(WebKit::WebPageProxy::changeFontAttributes):
(WebKit::WebPageProxy::changeFont):
(WebKit::WebPageProxy::setTextAsync):
(WebKit::WebPageProxy::insertTextAsync):
(WebKit::WebPageProxy::getMarkedRangeAsync):
(WebKit::WebPageProxy::getSelectedRangeAsync):
(WebKit::WebPageProxy::characterIndexForPointAsync):
(WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
(WebKit::WebPageProxy::setCompositionAsync):
(WebKit::WebPageProxy::confirmCompositionAsync):
(WebKit::WebPageProxy::takeSnapshot):
(WebKit::WebPageProxy::requestActiveNowPlayingSessionInfo):
(WebKit::WebPageProxy::setUseSystemAppearance):
(WebKit::WebPageProxy::installActivityStateChangeCompletionHandler):
(WebKit::WebPageProxy::setPlaybackTarget):
(WebKit::WebPageProxy::externalOutputDeviceAvailableDidChange):
(WebKit::WebPageProxy::setShouldPlayToPlaybackTarget):
(WebKit::WebPageProxy::clearWheelEventTestTrigger):
(WebKit::WebPageProxy::callAfterNextPresentationUpdate):
(WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
(WebKit::WebPageProxy::getLoadDecisionForIcon):
(WebKit::WebPageProxy::setResourceCachingDisabled):
(WebKit::WebPageProxy::setUserInterfaceLayoutDirection):
(WebKit::WebPageProxy::effectiveAppearanceDidChange):
(WebKit::WebPageProxy::insertAttachment):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::getApplicationManifest):
(WebKit::WebPageProxy::textInputContextsInRect):
(WebKit::WebPageProxy::focusTextInputContext):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::create):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::maybeShutDown):
- UIProcess/WebProcessProxy.h:
- UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.cpp:
(WebKit::InstallMissingMediaPluginsPermissionRequest::allow):
(WebKit::InstallMissingMediaPluginsPermissionRequest::didEndRequestInstallMissingMediaPlugins):
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformDetach):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _hoverGestureRecognizerChanged:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::requestFocusedElementInformation):
(WebKit::WebPageProxy::updateVisibleContentRects):
(WebKit::WebPageProxy::updateStringForFind):
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationViewLayoutSize):
(WebKit::WebPageProxy::setForceAlwaysUserScalable):
(WebKit::WebPageProxy::setMaximumUnobscuredSize):
(WebKit::WebPageProxy::setDeviceOrientation):
(WebKit::WebPageProxy::setOverrideViewportArguments):
(WebKit::WebPageProxy::selectWithGesture):
(WebKit::WebPageProxy::updateSelectionWithTouches):
(WebKit::WebPageProxy::requestAutocorrectionData):
(WebKit::WebPageProxy::applyAutocorrection):
(WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
(WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
(WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
(WebKit::WebPageProxy::selectPositionAtPoint):
(WebKit::WebPageProxy::beginSelectionInDirection):
(WebKit::WebPageProxy::updateSelectionWithExtentPoint):
(WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary):
(WebKit::WebPageProxy::requestDictationContext):
(WebKit::WebPageProxy::getSelectionContext):
(WebKit::WebPageProxy::selectWithTwoTouches):
(WebKit::WebPageProxy::requestRectsForGranularityWithSelectionOffset):
(WebKit::WebPageProxy::requestRectsAtSelectionOffsetWithText):
(WebKit::WebPageProxy::moveSelectionByOffset):
(WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
(WebKit::WebPageProxy::focusNextFocusedElement):
(WebKit::WebPageProxy::computePagesForPrintingAndDrawToPDF):
(WebKit::WebPageProxy::requestEvasionRectsAboveSelection):
(WebKit::WebPageProxy::requestDragStart):
(WebKit::WebPageProxy::requestAdditionalItemsForDragSession):
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::viewLayoutSizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::createFence):
(WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::windowAndViewFramesChanged):
(WebKit::WebPageProxy::setMainFrameIsScrollable):
(WebKit::WebPageProxy::insertDictatedTextAsync):
(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
(WebKit::WebPageProxy::fontAtSelection):
(WebKit::WebPageProxy::stringSelectionForPasteboard):
(WebKit::WebPageProxy::dataSelectionForPasteboard):
(WebKit::WebPageProxy::readSelectionFromPasteboard):
(WebKit::WebPageProxy::sendComplexTextInputToPlugin):
(WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
(WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
(WebKit::WebPageProxy::acceptsFirstMouse):
- UIProcess/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformDetach):
- UIProcess/win/WebView.cpp:
(WebKit::WebView::cursorToShow const):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_hostFileDescriptor):
Tools:
Add API test coverage. Also update some existing API tests to not expect
constructing a WKWebView to launch both a WebProcess and a NetworkProcess.
- TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/mac/GetBackingScaleFactor.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(testDidResignInputElementStrongPasswordAppearanceAfterEvaluatingJavaScript):
- 1:18 PM Changeset in webkit [243093] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 12:42 PM Changeset in webkit [243092] by
-
- 15 edits5 adds in trunk
Layer with no backing store should still hit-test over a scroller
https://bugs.webkit.org/show_bug.cgi?id=195378
<rdar://problem/48652078>
Reviewed by Simon Fraser.
Source/WebCore:
Tests: fast/scrolling/ios/overflow-scroll-overlap-3.html
fast/scrolling/ios/overflow-scroll-overlap-4.html
Move collecting event region from paint to compositing update time.
This solves a number of problems including regions for non-painting layers.
- platform/graphics/GraphicsLayer.h:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
Use the existing visibleToHitTesting() helper.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
Use flag for event region collecting, don't paint content.
(WebCore::RenderLayer::paintList):
We can bail out immediately if there is no overflow.
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::collectEventRegionForFragments):
Move to a separate function.
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
Update event region on backing configuration update. This is called after anything interesting changes on a sublayer.
(WebCore::RenderLayerBacking::updateEventRegion):
(WebCore::RenderLayerBacking::paintIntoLayer):
- rendering/RenderLayerBacking.h:
Source/WebKit:
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::makeNode):
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(WebKit::collectDescendantViewsAtPoint):
No need for special WKTiledBackingView, tiled views now have correct event regions.
LayoutTests:
Reorganize the tests a bit and add some new ones.
- fast/scrolling/ios/overflow-scroll-overlap-2-expected.txt:
- fast/scrolling/ios/overflow-scroll-overlap-2.html:
- fast/scrolling/ios/overflow-scroll-overlap-3-expected.txt: Added.
- fast/scrolling/ios/overflow-scroll-overlap-3.html: Added.
- fast/scrolling/ios/overflow-scroll-overlap-4-expected.txt: Added.
- fast/scrolling/ios/overflow-scroll-overlap-4.html: Added.
- fast/scrolling/ios/overflow-scroll-overlap.html:
- fast/scrolling/resources/overflow-scroll-overlap.js: Added.
(sleep):
(async.runTest):
(logScroll):
(outputCase):
- 12:23 PM Changeset in webkit [243091] by
-
- 58 edits1 move2 adds in trunk
[WHLSL] Hook up the compiler to our WebGPU implementation
https://bugs.webkit.org/show_bug.cgi?id=195509
Reviewed by Dean Jackson.
Source/WebCore:
This represents a collection of changes necessary to compile and run the first WHLSL program in WebKit.
Because WHLSL isn't fully implemented yet, this patch doesn't remove the existing method for supplying
Metal shaders to WebGPU. Instead, it adds a new boolean to WebGPUShaderModuleDescriptor, "isWHLSL" which
causes us to run the WHLSL compiler.
More details below.
Test: webgpu/whlsl.html
- Modules/webgpu/WHLSL/AST/WHLSLCallExpression.h: Use raw pointer instead of Optional<std::reference_wrapper>.
(WebCore::WHLSL::AST::CallExpression::setCastData):
(WebCore::WHLSL::AST::CallExpression::isCast):
(WebCore::WHLSL::AST::CallExpression::castReturnType):
- Modules/webgpu/WHLSL/AST/WHLSLNativeTypeDeclaration.h:
(WebCore::WHLSL::AST::NativeTypeDeclaration::isAtomic const):
(WebCore::WHLSL::AST::NativeTypeDeclaration::setIsAtomic):
(WebCore::WHLSL::AST::NativeTypeDeclaration::name const): Deleted. The parent class already has a name string.
(WebCore::WHLSL::AST::NativeTypeDeclaration::name): Deleted.
- Modules/webgpu/WHLSL/AST/WHLSLReturn.h:
- Modules/webgpu/WHLSL/AST/WHLSLTypeReference.h:
(WebCore::WHLSL::AST::TypeReference::cloneTypeReference const): When cloning a type reference, make sure to
clone the pointer to its resolved type, too.
- Modules/webgpu/WHLSL/AST/WHLSLVariableReference.h:
- Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp: Incorporate resolution from
https://github.com/gpuweb/gpuweb/pull/188.
(WebCore::WHLSL::Metal::EntryPointScaffolding::EntryPointScaffolding):
(WebCore::WHLSL::Metal::EntryPointScaffolding::resourceHelperTypes):
(WebCore::WHLSL::Metal::EntryPointScaffolding::resourceSignature):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::unpack):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::pack): Support semantics being placed directly on the
entry point, instead of being placed on a structure member.
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::pack): Ditto.
(WebCore::WHLSL::Metal::EntryPointScaffolding::mappedBindGroups const): Deleted.
- Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h:
- Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::visit):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::createEntryPointScaffolding):
(WebCore::WHLSL::Metal::ComputeFunctionDefinitionWriter::createEntryPointScaffolding):
(WebCore::WHLSL::Metal::metalFunctions):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::takeVertexMappedBindGroups): Deleted. After
https://github.com/gpuweb/gpuweb/pull/188, we don't need the mappings.
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::takeFragmentMappedBindGroups): Deleted. Ditto.
(WebCore::WHLSL::Metal::ComputeFunctionDefinitionWriter::takeMappedBindGroups): Deleted. Ditto.
- Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.h: Ditto.
- Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.cpp: Ditto.
(WebCore::WHLSL::Metal::generateMetalCodeShared):
(WebCore::WHLSL::Metal::generateMetalCode):
- Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h: Ditto.
- Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp: Support compiler-generated functions. Change
CRASH() to notImplemented().
(WebCore::WHLSL::Metal::writeNativeFunction):
(WebCore::WHLSL::Metal::getNativeName): Deleted.
- Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.h:
- Modules/webgpu/WHLSL/Metal/WHLSLNativeTypeWriter.cpp:
(WebCore::WHLSL::Metal::writeNativeType):
- Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.cpp: The dependency graph needs to track all unnamed types. Also,
we need to track types that are the results of expressions (not just types literally spelled out in the
program). Enumerations need to be emitted after their base types are emitted.
(WebCore::WHLSL::Metal::TypeNamer::visit):
(WebCore::WHLSL::Metal::MetalTypeDeclarationWriter::MetalTypeDeclarationWriter):
(WebCore::WHLSL::Metal::TypeNamer::metalTypeDeclarations):
(WebCore::WHLSL::Metal::TypeNamer::emitUnnamedTypeDefinition):
(WebCore::WHLSL::Metal::TypeNamer::emitNamedTypeDefinition):
(WebCore::WHLSL::Metal::TypeNamer::emitAllUnnamedTypeDefinitions):
(WebCore::WHLSL::Metal::TypeNamer::metalTypeDefinitions):
- Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.h:
- Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.cpp:
(WebCore::WHLSL::checkDuplicateFunctions):
- Modules/webgpu/WHLSL/WHLSLChecker.cpp: Wrap ResolvingType in a class to make sure it plays nicely with
HashMap. Also, use raw pointers instead of Optional<std::reference_wrapper>s.
(WebCore::WHLSL::resolveWithReferenceComparator):
(WebCore::WHLSL::resolveByInstantiation):
(WebCore::WHLSL::checkOperatorOverload):
(WebCore::WHLSL::Checker::assignTypes):
(WebCore::WHLSL::Checker::checkShaderType):
(WebCore::WHLSL::Checker::visit):
(WebCore::WHLSL::matchAndCommit):
(WebCore::WHLSL::Checker::recurseAndGetInfo):
(WebCore::WHLSL::Checker::assignType):
(WebCore::WHLSL::Checker::forwardType):
(WebCore::WHLSL::getUnnamedType):
(WebCore::WHLSL::Checker::finishVisitingPropertyAccess):
(WebCore::WHLSL::Checker::isBoolType):
- Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.cpp:
(WebCore::WHLSL::Gatherer::visit):
- Modules/webgpu/WHLSL/WHLSLInferTypes.cpp:
(WebCore::WHLSL::inferTypesForCall):
- Modules/webgpu/WHLSL/WHLSLInferTypes.h:
- Modules/webgpu/WHLSL/WHLSLIntrinsics.cpp:
(WebCore::WHLSL::Intrinsics::addPrimitive):
(WebCore::WHLSL::Intrinsics::addFullTexture):
- Modules/webgpu/WHLSL/WHLSLIntrinsics.h:
(WebCore::WHLSL::Intrinsics::ucharType const):
(WebCore::WHLSL::Intrinsics::ushortType const):
(WebCore::WHLSL::Intrinsics::charType const):
(WebCore::WHLSL::Intrinsics::shortType const):
(WebCore::WHLSL::Intrinsics::intType const):
(WebCore::WHLSL::Intrinsics::uchar2Type const):
(WebCore::WHLSL::Intrinsics::uchar4Type const):
(WebCore::WHLSL::Intrinsics::ushort2Type const):
(WebCore::WHLSL::Intrinsics::ushort4Type const):
(WebCore::WHLSL::Intrinsics::uint2Type const):
(WebCore::WHLSL::Intrinsics::uint4Type const):
(WebCore::WHLSL::Intrinsics::char2Type const):
(WebCore::WHLSL::Intrinsics::char4Type const):
(WebCore::WHLSL::Intrinsics::short2Type const):
(WebCore::WHLSL::Intrinsics::short4Type const):
(WebCore::WHLSL::Intrinsics::int2Type const):
(WebCore::WHLSL::Intrinsics::int4Type const):
- Modules/webgpu/WHLSL/WHLSLLexer.cpp:
(WebCore::WHLSL::Lexer::recognizeKeyword):
- Modules/webgpu/WHLSL/WHLSLNameContext.cpp:
(WebCore::WHLSL::NameContext::add):
- Modules/webgpu/WHLSL/WHLSLNameResolver.cpp:
(WebCore::WHLSL::NameResolver::visit): Don't visit recursive types.
Also, make sure we preserve the CurrentFunction in our recursive scopes.
- Modules/webgpu/WHLSL/WHLSLNameResolver.h:
- Modules/webgpu/WHLSL/WHLSLParser.cpp:
(WebCore::WHLSL::Parser::fail):
(WebCore::WHLSL::Parser::peek):
(WebCore::WHLSL::Parser::parseType):
(WebCore::WHLSL::Parser::parseBuiltInSemantic):
- Modules/webgpu/WHLSL/WHLSLParser.h:
- Modules/webgpu/WHLSL/WHLSLPipelineDescriptor.h:
- Modules/webgpu/WHLSL/WHLSLPrepare.cpp:
(WebCore::WHLSL::prepareShared):
(WebCore::WHLSL::prepare):
- Modules/webgpu/WHLSL/WHLSLPrepare.h:
- Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.cpp: Move big inline functions out-of-line.
(WebCore::WHLSL::RecursiveTypeChecker::visit):
(WebCore::WHLSL::checkRecursiveTypes):
(): Deleted.
- Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.cpp:
(WebCore::WHLSL::conversionCost):
(WebCore::WHLSL::resolveFunctionOverloadImpl):
- Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.h:
- Modules/webgpu/WHLSL/WHLSLResolvingType.h:
(WebCore::WHLSL::ResolvingType::ResolvingType):
(WebCore::WHLSL::ResolvingType::operator=):
(WebCore::WHLSL::ResolvingType::getUnnamedType):
(WebCore::WHLSL::ResolvingType::visit):
- Modules/webgpu/WHLSL/WHLSLScopedSetAdder.h: Renamed from Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLMappedBindings.h.
(WebCore::WHLSL::ScopedSetAdder::ScopedSetAdder):
(WebCore::WHLSL::ScopedSetAdder::~ScopedSetAdder):
(WebCore::WHLSL::ScopedSetAdder::isNewEntry const):
- Modules/webgpu/WHLSL/WHLSLSemanticMatcher.cpp:
(WebCore::WHLSL::isAcceptableFormat):
- Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt: Turns out a bunch of texture types don't exist in MSL.
- Modules/webgpu/WHLSL/WHLSLSynthesizeArrayOperatorLength.cpp:
(WebCore::WHLSL::synthesizeArrayOperatorLength):
- Modules/webgpu/WHLSL/WHLSLSynthesizeArrayOperatorLength.h:
- Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: Adding to the program can fail.
(WebCore::WHLSL::synthesizeConstructors): Some constructors shouldn't be generated for "void" and for atomic types.
- Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.h: Adding to the program can fail.
- Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.cpp: Ditto.
(WebCore::WHLSL::synthesizeEnumerationFunctions):
- Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.h: Ditto.
- Modules/webgpu/WHLSL/WHLSLSynthesizeStructureAccessors.cpp: Ditto.
(WebCore::WHLSL::synthesizeStructureAccessors):
- Modules/webgpu/WHLSL/WHLSLSynthesizeStructureAccessors.h: Ditto.
- Modules/webgpu/WHLSL/WHLSLVisitor.cpp:
(WebCore::WHLSL::Visitor::visit):
- Modules/webgpu/WebGPUDevice.cpp: Add flag that triggers the WHLSL compiler.
(WebCore::WebGPUDevice::createShaderModule const):
- Modules/webgpu/WebGPUShaderModuleDescriptor.h: Ditto.
- Modules/webgpu/WebGPUShaderModuleDescriptor.idl: Ditto.
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/gpu/GPUPipelineLayout.h:
(WebCore::GPUPipelineLayout::bindGroupLayouts const):
- platform/graphics/gpu/GPUShaderModule.h: Add a string that represents the WHLSL shader source. The compiler currently
needs the rest of the pipeline state descriptor, so we defer compilation until create*Pipeline().
(WebCore::GPUShaderModule::platformShaderModule const):
(WebCore::GPUShaderModule::whlslSource const):
- platform/graphics/gpu/GPUShaderModuleDescriptor.h:
- platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm: Convert GPU types into WHLSL types, and invoke the compiler.
(WebCore::convertVertexFormat):
(WebCore::convertShaderStageFlags):
(WebCore::convertBindingType):
(WebCore::convertTextureFormat):
(WebCore::convertLayout):
(WebCore::convertRenderPipelineDescriptor):
(WebCore::trySetMetalFunctionsForPipelineDescriptor):
(WebCore::trySetWHLSLFunctionsForPipelineDescriptor):
(WebCore::trySetFunctionsForPipelineDescriptor):
(WebCore::tryCreateMtlRenderPipelineState):
- platform/graphics/gpu/cocoa/GPUShaderModuleMetal.mm:
(WebCore::GPUShaderModule::create):
(WebCore::GPUShaderModule::GPUShaderModule):
LayoutTests:
- webgpu/whlsl-expected.html: Added.
- webgpu/whlsl.html: Added.
- 12:18 PM Changeset in webkit [243090] by
-
- 13 edits in trunk
[Web GPU] GPUAdapter.createDevice -> GPUAdapter.requestDevice
https://bugs.webkit.org/show_bug.cgi?id=195781
Reviewed by Myles C. Maxfield.
Source/WebCore:
A Web GPU device is now acquired via a promise returned from GPUAdapter.requestDevice().
Existing tests updated for new behavior.
- Modules/webgpu/WebGPUAdapter.cpp:
(WebCore::WebGPUAdapter::requestDevice const):
(WebCore::WebGPUAdapter::createDevice): Deleted.
- Modules/webgpu/WebGPUAdapter.h:
- Modules/webgpu/WebGPUAdapter.idl:
- Modules/webgpu/WebGPUDevice.cpp:
(WebCore::WebGPUDevice::tryCreate):
(WebCore::WebGPUDevice::WebGPUDevice):
(WebCore::WebGPUDevice::create): Deleted.
- Modules/webgpu/WebGPUDevice.h:
- platform/graphics/gpu/GPUDevice.h:
- platform/graphics/gpu/cocoa/GPUDeviceMetal.mm:
(WebCore::GPUDevice::tryCreate):
(WebCore::GPUDevice::create): Deleted.
LayoutTests:
Update affected Web GPU tests.
- webgpu/adapter-options.html:
- webgpu/js/webgpu-functions.js:
(async.getBasicDevice):
- webgpu/queue-creation.html:
- webgpu/webgpu-enabled.html:
- 12:07 PM Changeset in webkit [243089] by
-
- 18 edits in trunk
[Web GPU] API updates: GPUTexture.createDefaultView and type-safe GPURenderPassEncoder.setPipeline
https://bugs.webkit.org/show_bug.cgi?id=195896
Reviewed by Jon Lee.
Source/WebCore:
Rename createDefaultTextureView -> createDefaultView and move setPipeline from GPUProgrammablePassEncoder to GPURenderPassEncoder.
Existing tests updated for createDefaultView name.
- Modules/webgpu/WebGPUProgrammablePassEncoder.cpp:
(WebCore::WebGPUProgrammablePassEncoder::setPipeline): Deleted.
- Modules/webgpu/WebGPUProgrammablePassEncoder.h:
- Modules/webgpu/WebGPUProgrammablePassEncoder.idl:
- Modules/webgpu/WebGPURenderPassEncoder.cpp:
(WebCore::WebGPURenderPassEncoder::setPipeline):
- Modules/webgpu/WebGPURenderPassEncoder.h:
- Modules/webgpu/WebGPURenderPassEncoder.idl:
- Modules/webgpu/WebGPUTexture.cpp:
(WebCore::WebGPUTexture::createDefaultView):
(WebCore::WebGPUTexture::createDefaultTextureView): Deleted.
- Modules/webgpu/WebGPUTexture.h:
- Modules/webgpu/WebGPUTexture.idl:
- platform/graphics/gpu/GPUProgrammablePassEncoder.h:
- platform/graphics/gpu/GPURenderPassEncoder.h:
LayoutTests:
Rename createDefaultTextureView -> createDefaultView.
- webgpu/buffer-command-buffer-races.html:
- webgpu/depth-enabled-triangle-strip.html:
- webgpu/js/webgpu-functions.js:
(beginBasicRenderPass):
- webgpu/texture-triangle-strip.html:
- webgpu/textures-textureviews.html:
- 12:03 PM Changeset in webkit [243088] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove the inline capacity of Operands
https://bugs.webkit.org/show_bug.cgi?id=195898
Reviewed by Yusuke Suzuki.
Operands currently has a vector with an inline capacity of 24.
I tested on JetStream2, and only 4776 functions out of 12035 (that reach the DFG tier) have 24 or fewer elements in it.
This is a major problem, because we have 5 Operands in every DFG::BasicBlock, resulting in 2688 bytes of inline capacity per basic block.
Still on JetStream 2, functions have an average of 18 BB, but those functions whose operands overflow have an average of 27 BB (so we are wasting 72kB on average when compiling them), and the largest function has 1241 BB (!), for a total of 3.3MB being wasted while it is compiled.
So I removed the inline capacity of the vector in Operands, and here are the results:
Baseline Jetstream2:
159.741
159.746
159.989
Baseline RAMification on grouped and jit tests: (end/peak/score)
89.288/89.763/89.526
90.166/90.761/90.418
89.560/90.014/89.787
After optimization Jetstream2:
159.342
161.812
162.037
After optimization RAMification:
89.147/89.644/89.395
89.102.89.585/89.343
88.953/89.536/89.2444
So it looks like a roughly 1% improvement on RAMification (at least the tests where the JIT is enabled), and more surprisingly also a 1% progression on Jetstream2 (although I have more doubts about this one considering the variability in my numbers).
I hope to land this, and get more accurate results from the bots.
- bytecode/Operands.h:
- 11:47 AM Changeset in webkit [243087] by
-
- 6 edits in trunk
Web Inspector: HAR Extension for
serverIPAddressport number
https://bugs.webkit.org/show_bug.cgi?id=195695
Reviewed by Matt Baker.
Source/WebInspectorUI:
- UserInterface/Controllers/HARBuilder.js:
(WI.HARBuilder.entry):
(WI.HARBuilder.port):
- UserInterface/Models/LocalResource.js:
(WI.LocalResource.fromHAREntry):
LayoutTests:
- http/tests/inspector/network/har/har-basic-expected.txt:
- http/tests/inspector/network/har/har-page-expected.txt:
- 11:35 AM Changeset in webkit [243086] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Add --destroy-vm shell option and dumpHeapStatisticsAtVMDestruction option
https://bugs.webkit.org/show_bug.cgi?id=195897
Reviewed by Keith Miller.
It is useful if we have an option logging the status of all the existing MarkedBlocks and their objects at VM destruction.
I used this feature to find wasting memory, and successfully removed many wasted MarkedBlocks and JS cells like r243081.
This patch adds,
- --destroy-vm option to JSC shell to destroy main thread JSC::VM
- dumpHeapStatisticsAtVMDestruction to dump MarkedBlocks at VM destruction
While the current option name is "dumpHeapStatisticsAtVMDestruction", we just dump the status of MarkedBlocks and cells. But eventually,
we would like to collect heap statistics and dump them to investigate Heap status more.
This patch also removes logHeapStatisticsAtExit option since it is no longer used in JSC.
- heap/Heap.cpp:
(JSC::Heap::dumpHeapStatisticsAtVMDestruction):
(JSC::Heap::lastChanceToFinalize):
- heap/Heap.h:
- jsc.cpp:
(printUsageStatement):
(CommandLine::parseArguments):
(runJSC):
- runtime/Options.h:
- 11:27 AM Changeset in webkit [243085] by
-
- 2 edits in trunk/Source/WebCore
[iOS] The network process sometimes gets killed for trying to suspend while holding locked files
https://bugs.webkit.org/show_bug.cgi?id=195890
<rdar://problem/48934338>
Reviewed by Geoffrey Garen.
The network process sometimes gets killed for trying to suspend while holding locked files while
under SQLiteDatabase::open(). The SQLiteDatabaseTracker normally keeps tracking of "transactions"
in progress so we know that we're holding locked files and the WebSQLiteDatabaseTracker takes
care of notifying the UIProcess via IPC that it should hold a background assertion on our behalf
to avoid trying to suspend while holding locked files.
However, we were missing a SQLiteTransactionInProgressAutoCounter when trying to execute the
PRAGMA statement.
Note that we have a similar SQLiteTransactionInProgressAutoCounter in SQLiteDatabase::useWALJournalMode()
when executing such PRAGMA statement already.
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
- 11:17 AM Changeset in webkit [243084] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening after r243024.
- inspector/timeline/timeline-recording-expected.txt:
- inspector/timeline/timeline-recording.html:
Filter out the markers, but keep the display as an array.
- 11:07 AM Changeset in webkit [243083] by
-
- 2 edits in trunk/Tools
[CMake] Prevent potential warning when determining $architecture
https://bugs.webkit.org/show_bug.cgi?id=195891
Patch by Xan Lopez <Xan Lopez> on 2019-03-18
Reviewed by Michael Catanzaro.
It's possible for generateBuildSystemForCMakeProject to be called
before determineArchitecture() is ever called. This will make the
first eq check with $architecture to be bogus (and print a
warning). Change that to an eq check with architecture(), which
implicitly calls determineArchitecture() if needed, and change all
the other similar cases in the method in the same way to prevent
future bugs like this one.
- Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
- 10:59 AM Changeset in webkit [243082] by
-
- 3 edits4 adds in trunk
[iOS] No DOM keypress event emitted for cursor key commands when non-editable element is focused
https://bugs.webkit.org/show_bug.cgi?id=195626
<rdar://problem/48810626>
Reviewed by Wenson Hsieh.
Source/WebKit:
Following the UIKit fix <rdar://problem/47333786> WebKit will be asked whether it can perform some
more actions, including cursor movements and more editing actions. All such actions are only applicable
to editable elements. By responding NO to UIKit for such actions when we are not in an editable element
we avoid the need to do such bookkeeping ourselves as UIKit will forward our response back to us
on return from -handleKeyTextCommandForCurrentEvent, called from -[WKContentView _interpretKeyEvent].
WebKit is then in a position to try to handle the event or in the case of all standard text editing
key commands at the time of writing (e.g. Control + a) tell WebCore that it did not handle the event
so that WebCore can continue the DOM key event dispatch algorithm. For standard text editing key
commands, such as Control + a, we will emit a DOM keypress event for the 'a'.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView canPerformAction:withSender:]):
LayoutTests:
Add some tests. These tests depend on UIKit work.
- fast/events/ios/key-events-control-expected.txt: Added.
- fast/events/ios/key-events-control.html: Copied from LayoutTests/fast/events/ios/key-events-meta-alt-combinations.html.
- fast/events/ios/key-events-meta-expected.txt: Added.
- fast/events/ios/key-events-meta.html: Copied from LayoutTests/fast/events/ios/key-events-meta-alt-combinations.html.
- 10:50 AM Changeset in webkit [243081] by
-
- 9 edits in trunk/Source/JavaScriptCore
[JSC] jsSubstring should resolve rope before calling JSRopeString::create
https://bugs.webkit.org/show_bug.cgi?id=195840
Reviewed by Geoffrey Garen.
jsSubstring always ends up resolving rope of the base string because substring JSRopeString only accepts non-rope JSString
as its base. Instead of resolving ropes in finishCreationSubstring, we should resolve before passing it to JSRopeString.
So that, we can access string data before creating JSRopeString, and we can introduce optimizations like avoiding creation
of single character substrings.
We can find that a lot of substrings for length = 1 are allocated in RAMification regexp tests. This patch avoids creation of these
strings to save memory.
This patch also strengthen error checks caused by rope resolution for base of substrings. Previously we sometimes miss this checks.
- dfg/DFGOperations.cpp:
- runtime/JSString.cpp:
(JSC::JSString::dumpToStream):
- runtime/JSString.h:
(JSC::jsSubstring):
(JSC::jsSubstringOfResolved):
(JSC::jsSingleCharacterString):
- runtime/RegExpCachedResult.cpp:
(JSC::RegExpCachedResult::lastResult): We no longer need to have length = 0 path since jsSubstring returns an empty string if length == 0.
(JSC::RegExpCachedResult::leftContext):
(JSC::RegExpCachedResult::rightContext):
(JSC::RegExpCachedResult::setInput):
- runtime/RegExpGlobalData.cpp:
(JSC::RegExpGlobalData::getBackref):
(JSC::RegExpGlobalData::getLastParen):
- runtime/StringObject.h:
(JSC::jsStringWithReuse):
(JSC::jsSubstring):
- runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
(JSC::operationStringProtoFuncReplaceRegExpEmptyStr):
(JSC::replaceUsingStringSearch):
(JSC::stringProtoFuncSlice):
(JSC::splitStringByOneCharacterImpl):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
Someconst String& value = string->value(exec)is dangerous if GC happens later. Changed to gettingStringinstead ofconst String&here.
- runtime/StringPrototypeInlines.h:
(JSC::stringSlice):
- 10:38 AM Changeset in webkit [243080] by
-
- 2 edits in trunk/LayoutTests
Fix bad substitution made in r241282
Revert substitution of "computeSubsets(modifierKeys)" back to "modiferKeySubsetsToTest" so
that the test only checks key commands with Command and Option modifiers as opposed to all
modifiers. That will make what the test actually tests match the checked-in expected resutls.
- fast/events/ios/key-events-meta-alt-combinations.html:
- 10:36 AM Changeset in webkit [243079] by
-
- 3 edits1 add in trunk
Missing a ThrowScope release in JSObject::toString().
https://bugs.webkit.org/show_bug.cgi?id=195893
<rdar://problem/48970986>
Reviewed by Michael Saboff.
JSTests:
- stress/to-string-exception-check-release.js: Added.
Source/JavaScriptCore:
Placate the validator with a RELEASE_AND_RETURN().
- runtime/JSObject.cpp:
(JSC::JSObject::toString const):
- 10:13 AM Changeset in webkit [243078] by
-
- 1 edit in tags/Safari-608.1.9.1/Source/WTF/wtf/FeatureDefines.h
Cherry-pick r242907. rdar://problem/48931041
Try again to fix the Mac build.
- wtf/FeatureDefines.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:13 AM Changeset in webkit [243077] by
-
- 2 edits in tags/Safari-608.1.9.1/Source
Cherry-pick r242904. rdar://problem/48931041
Try to fix the Mac build after r242356.
Source/WebKit:
- Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: (WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest):
Source/WTF:
- wtf/FeatureDefines.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:09 AM Changeset in webkit [243076] by
-
- 7 edits in tags/Safari-608.1.9.1/Source
Versioning.
- 10:05 AM Changeset in webkit [243075] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed, rolling out r243037.
Broke the Windows build
Reverted changeset:
"Reduce the size of Node::deref by eliminating an explicit
parentNode check"
https://bugs.webkit.org/show_bug.cgi?id=195776
https://trac.webkit.org/changeset/243037
- 9:56 AM Changeset in webkit [243074] by
-
- 1 copy in tags/Safari-608.1.9.1
New tag.
- 9:53 AM Changeset in webkit [243073] by
-
- 3 edits2 moves in trunk
[WPE] Bump public API to wpe-1.0
https://bugs.webkit.org/show_bug.cgi?id=195887
Reviewed by Philippe Normand.
.:
- Source/cmake/OptionsWPE.cmake: Bump public API version to 1.0
Source/WebKit:
- UIProcess/API/wpe/docs/wpe-1.0-sections.txt: Renamed from Source/WebKit/UIProcess/API/wpe/docs/wpe-0.1-sections.txt.
- WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-1.0-sections.txt: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt.
- 9:52 AM Changeset in webkit [243072] by
-
- 14 edits in trunk/Source/WebCore
Change some logging levels
https://bugs.webkit.org/show_bug.cgi?id=195861
<rdar://problem/48961669>
Reviewed by Jer Noble.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::dispatchEvent):
- Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::addInput):
(WebCore::AudioNode::addOutput):
(WebCore::AudioNode::connect):
(WebCore::AudioNode::disconnect):
- Modules/webaudio/AudioParam.cpp:
(WebCore::AudioParam::connect):
(WebCore::AudioParam::disconnect):
- Modules/webaudio/WaveShaperNode.cpp:
(WebCore::WaveShaperNode::setOversample):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType const):
(WebCore::HTMLMediaElement::seekTask):
(WebCore::HTMLMediaElement::dispatchEvent):
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::setMediaControlsDependOnPageScaleFactor):
- html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::addGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):
(WebCore::InbandGenericTextTrack::newCuesParsed):
- html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newCuesParsed):
- html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newCuesAvailable):
- html/track/TextTrack.cpp:
(WebCore::TextTrack::removeCue):
- inspector/agents/WebConsoleAgent.cpp:
(WebCore::WebConsoleAgent::getLoggingChannels):
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings):
(WebCore::InbandTextTrackPrivateAVF::removeCompletedCues):
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isCurrentPlaybackTargetWireless const):
- 9:30 AM Changeset in webkit [243071] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r243032) inspector/model/remote-object.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=195892
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 9:25 AM Changeset in webkit [243070] by
-
- 3 edits in trunk/Source/WebCore
Make mouse event simulation a quirk
https://bugs.webkit.org/show_bug.cgi?id=195218
<rdar://problem/48516794>
Reviewed by Dean Jackson.
Add new quirks to control whether we should dispatch simulated mouse events and whether we should assume
preventDefault() was called when a simulated "mousemove" event was handled. Currently both return false
but will be made to return more interesting results as we determine heuristics or specific sites that
may require such quirks.
- page/Quirks.cpp:
(WebCore::Quirks::shouldDispatchSimulateMouseEvents const):
(WebCore::Quirks::shouldMousemoveEventHandlingPreventDefault const):
- page/Quirks.h:
- 9:18 AM Changeset in webkit [243069] by
-
- 3 edits1 add in trunk
Structure::flattenDictionary() should clear unused property slots.
https://bugs.webkit.org/show_bug.cgi?id=195871
<rdar://problem/48959497>
Reviewed by Michael Saboff.
JSTests:
- stress/structure-flattenDictionary-should-clear-unused-property-slots.js: Added.
Source/JavaScriptCore:
It currently attempts to do this but fails because it's actually clearing up the
preCapacity region instead. The fix is simply to account for the preCapacity
when computing the start address of the property slots.
- runtime/Structure.cpp:
(JSC::Structure::flattenDictionaryStructure):
- 8:44 AM Changeset in webkit [243068] by
-
- 2 edits in trunk/LayoutTests
[WPE] Update test expectation
Unreviewed gardening.
Since iframe.referrerPolicy was implemented the WPE expectation
for the test below has been out of date.
- platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt: Update.
- 8:36 AM Changeset in webkit [243067] by
-
- 2 edits in releases/WebKitGTK/webkit-2.24/Tools
Merged r243066 - [WPE] Tarballs generated with “make dist” cannot build documentation
https://bugs.webkit.org/show_bug.cgi?id=195885
Reviewed by Carlos Garcia Campos.
- wpe/manifest.txt.in: Add missing Tools/glib/common.py file to be included in release tarballs.
- 8:34 AM Changeset in webkit [243066] by
-
- 2 edits in trunk/Tools
[WPE] Tarballs generated with “make dist” cannot build documentation
https://bugs.webkit.org/show_bug.cgi?id=195885
Reviewed by Carlos Garcia Campos.
- wpe/manifest.txt.in: Add missing Tools/glib/common.py file to be included in release tarballs.
- 8:29 AM Changeset in webkit [243065] by
-
- 3 edits in trunk/Source/JavaScriptCore
B3 should reduce Shl(<S|Z>Shr(@x, @const), @const) to BitAnd(@x, -(1<<@const))
https://bugs.webkit.org/show_bug.cgi?id=152164
Reviewed by Filip Pizlo.
Turn this: Shl(<S|Z>Shr(@x, @const), @const)
Into this: BitAnd(@x, -(1<<@const))
I added two tests: one for ZShr/32 bits, and one for SShr/64 bits, I think it is enough coverage (no reason for any interaction between the signedness of the shift and the bitwidth).
I also modified a few adjacent tests to remove undefined behaviours.
- b3/B3ReduceStrength.cpp:
- b3/testb3.cpp:
(JSC::B3::testShlImms):
(JSC::B3::testShlArgImm):
(JSC::B3::testShlSShrArgImm):
(JSC::B3::testShlImms32):
(JSC::B3::testShlArgImm32):
(JSC::B3::testShlZShrArgImm32):
(JSC::B3::run):
- 8:26 AM Changeset in webkit [243064] by
-
- 2 edits in trunk/LayoutTests
[WPE] Unreviewed, fix test expectation linter warnings
https://bugs.webkit.org/show_bug.cgi?id=195881
- platform/wpe/TestExpectations:
- 8:20 AM Changeset in webkit [243063] by
-
- 8 edits in releases/WebKitGTK/webkit-2.24
Merged r243060 - [WPE] Bump dependencies to wpe-1.0 and wpebackend-fdo-1.0
https://bugs.webkit.org/show_bug.cgi?id=195786
Reviewed by Philippe Normand.
.:
- Source/cmake/FindWPE.cmake: Check for the wpe-1.0 pkg-config package.
Source/WebKit:
- wpe/wpe-web-extension.pc.in: Change dependency to wpe-1.0
- wpe/wpe-webkit.pc.in: Ditto.
Tools:
- flatpak/org.webkit.WPEModules.yaml: Use libwpe 1.1.90 and wpebackend-fdo 1.1.91.
- wpe/jhbuild.modules: Ditto.
- 8:19 AM Changeset in webkit [243062] by
-
- 2 edits in trunk/Tools
[GTK][WPE] Cryptic error from Tools/gtkdoc/generate-gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=195883
Reviewed by Carlos Garcia Campos.
- gtkdoc/gtkdoc.py:
(GTKDoc._run_command): When commands fail to run, include the full command line for
the program invocation and the output it has generated on the standard error stream.
- 6:42 AM Changeset in webkit [243061] by
-
- 3 edits in trunk/LayoutTests
[GTK][WPE] Fix webanimations test
https://bugs.webkit.org/show_bug.cgi?id=189344
Reviewed by Philippe Normand.
GLib-based ports will have issues with recognizing the mimetype of
zero-byte files.
- platform/gtk/TestExpectations: Test below should pass now.
- webanimations/css-animation-effect-target-change-and-animation-removal-crash-expected.html:
Make it a 1-byte empty file.
- 4:02 AM Changeset in webkit [243060] by
-
- 8 edits in trunk
[WPE] Bump dependencies to wpe-1.0 and wpebackend-fdo-1.0
https://bugs.webkit.org/show_bug.cgi?id=195786
Reviewed by Philippe Normand.
.:
- Source/cmake/FindWPE.cmake: Check for the wpe-1.0 pkg-config package.
Source/WebKit:
- wpe/wpe-web-extension.pc.in: Change dependency to wpe-1.0
- wpe/wpe-webkit.pc.in: Ditto.
Tools:
- flatpak/org.webkit.WPEModules.yaml: Use libwpe 1.1.90 and wpebackend-fdo 1.1.91.
- wpe/jhbuild.modules: Ditto.
- 3:42 AM Changeset in webkit [243059] by
-
- 2 edits in trunk/LayoutTests
[GTK][GStreamer] Mark flaky crashing test
- platform/gtk/TestExpectations:
Unreviewed gardening.
- platform/gtk/TestExpectations: Mark
imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer.html
- 3:34 AM Changeset in webkit [243058] by
-
- 9 edits in trunk
[GStreamer] Rewrite HTTP source element using pushsrc base class
https://bugs.webkit.org/show_bug.cgi?id=195631
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
If we want to use webkitwebsrc in adaptivedemux (HLS, DASH, etc)
we need a source element that behaves like souphttpsrc, which is
implemented using pushsrc. This rewrite might also fix some seek
issues.
No new tests, existing http/tests/media tests cover this patch.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_class_init):
(webkitWebSrcReset):
(webkit_web_src_init):
(webKitWebSrcCreate):
(webKitWebSrcStart):
(webKitWebSrcCloseSession):
(webKitWebSrcStop):
(webKitWebSrcGetSize):
(webKitWebSrcIsSeekable):
(webKitWebSrcDoSeek):
(webKitWebSrcQuery):
(webKitWebSrcUnLock):
(webKitWebSrcUnLockStop):
(webKitWebSrcChangeState):
(CachedResourceStreamingClient::checkUpdateBlocksize):
(CachedResourceStreamingClient::responseReceived):
(CachedResourceStreamingClient::dataReceived):
(CachedResourceStreamingClient::accessControlCheckFailed):
(CachedResourceStreamingClient::loadFailed):
(CachedResourceStreamingClient::loadFinished):
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
LayoutTests:
- platform/gtk/TestExpectations:
- platform/gtk/http/tests/media/hls/video-controls-live-stream-expected.txt:
Update expectations, though it's not really related with this
patch.
- 2:30 AM Changeset in webkit [243057] by
-
- 2 edits in trunk/Source/WebCore
[WPE][GTK] Fix a build warning because of missing to handle an enum value
https://bugs.webkit.org/show_bug.cgi?id=195876
Reviewed by Žan Doberšek.
When building WPE or GTK port, there is a build warning. The switch-case needs to
handle *Positioned* enum value as well in order to avoid the build warning.
- page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
(WebCore::ScrollingTreeNicosia::createScrollingTreeNode): Add case ScrollingNodeType::Positioned.
- 2:07 AM Changeset in webkit [243056] by
-
- 2 edits in trunk/LayoutTests
[GTK][GStreamer] Mark flaky crashing test
Unreviewed gardening.
- platform/gtk/TestExpectations: Mark
imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-mode.html
Mar 17, 2019:
- 7:16 PM Changeset in webkit [243055] by
-
- 4 edits in trunk
[Win][WK1] Null dereference in WebFrameNetworkingContext::storageSession
https://bugs.webkit.org/show_bug.cgi?id=195741
Reviewed by Ross Kirsling.
Source/WebKitLegacy/win:
- WebCoreSupport/WebFrameNetworkingContext.cpp:
(WebFrameNetworkingContext::storageSession const): Added a null check of frame()->page() as well as Mac port does (Bug 183455).
LayoutTests:
- platform/wincairo/TestExpectations: Unskipped http/tests/ssl/ping-with-unsafe-redirect.html.
- 7:08 PM Changeset in webkit [243054] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Block the accessibility server when accessibility is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=195342
<rdar://problem/48615720>
Unreviewed build fix for WinCairo.
- Shared/SandboxExtension.h: Use ProcessID instead of pid_t.
- 4:45 PM Changeset in webkit [243053] by
-
- 2 edits in trunk/Source/JavaScriptCore
ParserError can be shrunk by 8 bytes
https://bugs.webkit.org/show_bug.cgi?id=195496
Reviewed by Mark Lam.
- parser/ParserError.h:
- 5:06 AM Changeset in webkit [243052] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix WPE and GTK Debug builds after r243049
https://bugs.webkit.org/show_bug.cgi?id=195860
Unreviewed, build fix after r243049.
- runtime/StringPrototype.cpp:
(JSC::normalizationAffects8Bit):
- 12:45 AM Changeset in webkit [243051] by
-
- 24 edits in trunk/Source
REGRESSION: !vm.isInitializingObject() void* JSC::tryAllocateCellHelper<JSC::Structure> JSC::Structure::create
https://bugs.webkit.org/show_bug.cgi?id=195858
Reviewed by Mark Lam.
Source/JavaScriptCore:
r243011 changed WebAssembly related structures lazily-allocated. It means that this lazy allocation must not be done in the middle of
the other object allocations. This patch changes the signature of wasm related objects' ::create functions to taking Structure*.
This prevents us from materializing lazily-allocated structures while allocating wasm related objects, and this style is used in the
other places to fix the same problem. This bug is caught by existing debug tests for wasm.
- runtime/JSGlobalObject.h:
- wasm/js/JSWebAssemblyCompileError.cpp:
(JSC::createJSWebAssemblyCompileError):
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::finalizeCreation):
(JSC::JSWebAssemblyInstance::create):
- wasm/js/JSWebAssemblyLinkError.cpp:
(JSC::createJSWebAssemblyLinkError):
- wasm/js/JSWebAssemblyModule.cpp:
(JSC::JSWebAssemblyModule::createStub):
(JSC::JSWebAssemblyModule::finishCreation):
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJSException):
- wasm/js/WebAssemblyCompileErrorConstructor.cpp:
(JSC::constructJSWebAssemblyCompileError):
(JSC::callJSWebAssemblyCompileError):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::create):
- wasm/js/WebAssemblyFunction.h:
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::constructJSWebAssemblyInstance):
- wasm/js/WebAssemblyLinkErrorConstructor.cpp:
(JSC::constructJSWebAssemblyLinkError):
(JSC::callJSWebAssemblyLinkError):
- wasm/js/WebAssemblyMemoryConstructor.cpp:
(JSC::constructJSWebAssemblyMemory):
- wasm/js/WebAssemblyModuleConstructor.cpp:
(JSC::WebAssemblyModuleConstructor::createModule):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link):
(JSC::WebAssemblyModuleRecord::evaluate):
- wasm/js/WebAssemblyPrototype.cpp:
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
- wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::constructJSWebAssemblyRuntimeError):
(JSC::callJSWebAssemblyRuntimeError):
- wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::constructJSWebAssemblyTable):
- wasm/js/WebAssemblyToJSCallee.cpp:
(JSC::WebAssemblyToJSCallee::create):
- wasm/js/WebAssemblyToJSCallee.h:
- wasm/js/WebAssemblyWrapperFunction.cpp:
(JSC::WebAssemblyWrapperFunction::create):
- wasm/js/WebAssemblyWrapperFunction.h:
Source/WebCore:
Changed the accessor names.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readTerminal):
Mar 16, 2019:
- 8:50 PM Changeset in webkit [243050] by
-
- 2 edits in trunk/Tools
[ews-build] Don't run clean builds on EWS builders
https://bugs.webkit.org/show_bug.cgi?id=195851
Reviewed by Geoffrey Garen.
- BuildSlaveSupport/ews-build/factories.py:
- 7:20 PM Changeset in webkit [243049] by
-
- 13 edits in trunk/Source
Improve normalization code, including moving from unorm.h to unorm2.h
https://bugs.webkit.org/show_bug.cgi?id=195330
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
- runtime/JSString.h: Move StringViewWithUnderlyingString to StringView.h.
- runtime/StringPrototype.cpp: Include unorm2.h instead of unorm.h.
(JSC::normalizer): Added. Function to create normalizer object given
enumeration value indicating which is selected. Simplified because we
know the function will not fail and so we don't need error handling code.
(JSC::normalize): Changed this function to take a JSString* so we can
optimize the case where no normalization is needed. Added an early exit
if the string is stored as 8-bit and another if the string is already
normalized, using unorm2_isNormalized. Changed error handling to only
check cases that can actually fail in practice. Also did other small
optimizations like passing VM rather than ExecState.
(JSC::stringProtoFuncNormalize): Used smaller enumeration names that are
identical to the names used in the API and normalization parlance rather
than longer ones that expand the acronyms. Updated to pass JSString* to
the normalize function, so we can optimize 8-bit and already-normalized
cases, rather than callling the expensive String::upconvertedCharacters
function. Use throwVMRangeError.
Source/WebCore:
- editing/TextIterator.cpp: Include unorm2.h.
(WebCore::normalizeCharacters): Rewrote to use unorm2_normalize rather than
unorm_normalize, but left the logic otherwise the same.
- platform/graphics/SurrogatePairAwareTextIterator.cpp: Include unorm2.h.
(WebCore::SurrogatePairAwareTextIterator::normalizeVoicingMarks):
Use unorm2_composePair instead of unorm_normalize.
- platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(characterSequenceIsEmoji): Changed to use existing SurrogatePairAwareTextIterator.
(FontCascade::fontForCombiningCharacterSequence): Use normalizedNFC instead of
calling unorm2_normalize directly.
- WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp:
Removed unneeded include of <unicode/normlzr.h>.
- platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode const): Use normalizedNFC instead of the
code that was here. The normalizedNFC function is better in multiple ways,
but primarily it handles 8-bit strings and other already-normalized
strings much more efficiently.
Source/WTF:
- wtf/URLHelpers.cpp: Removed unneeded include of unorm.h since the
normalization code is now in StringView.cpp.
(WTF::URLHelpers::escapeUnsafeCharacters): Renamed from
createStringWithEscapedUnsafeCharacters since it now only creates
a new string if one is needed. Use unsigned for string lengths, since
that's what WTF::String uses, not size_t. Added a first loop so that
we can return the string unmodified if no lookalike characters are
found. Removed unnecessary round trip from UTF-16 and then back in
the case where the character is not a lookalike.
(WTF::URLHelpers::toNormalizationFormC): Deleted. Moved this logic
into the WTF::normalizedNFC function in StringView.cpp.
(WTF::URLHelpers::userVisibleURL): Call escapeUnsafeCharacters and
normalizedNFC. The normalizedNFC function is better in multiple ways,
but primarily it handles 8-bit strings and other already-normalized
strings much more efficiently.
- wtf/text/StringView.cpp:
(WTF::normalizedNFC): Added. This has two overloads. One is for when
we already have a String, and want to re-use it if no normalization
is needed, and another is when we only have a StringView, and may need
to allocate a String to hold the result. Includes a fast special case
for 8-bit and already-normalized strings, and uses the same strategy
that JSC::normalize was already using: calls unorm2_normalize twice,
first just to determine the length.
- wtf/text/StringView.h: Added normalizedNFC, which can be called with
either a StringView or a String. Also moved StringViewWithUnderlyingString
here from JSString.h, here for use as the return value of normalizedNFC;
it is used for a similar purpose in the JavaScriptCore rope implementation.
Also removed an inaccurate comment.
- 3:58 PM Changeset in webkit [243048] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed unified-build fix; GPUBindGroupMetal uses symbols from the Metal.framework; it should import it.
- platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm:
- 3:03 PM Changeset in webkit [243047] by
-
- 2 edits in trunk/Source/WebKit
ASSERT(gestureRecognizer == _doubleTapGestureRecognizer) in _doubleTapDidFail:
https://bugs.webkit.org/show_bug.cgi?id=195857
<rdar://problem/48954679>
Reviewed by Wenson Hsieh.
Reset an existing gesture recognizer before creating a new one.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]):
(-[WKContentView _setDoubleTapGesturesEnabled:]):
- 3:00 PM Changeset in webkit [243046] by
-
- 12 edits in trunk
Add a new MediaCapabilitiesExtensionsEnabled setting
https://bugs.webkit.org/show_bug.cgi?id=195843
Reviewed by Geoffrey Garen.
Source/WebCore:
Add a new setting, MediaCapabilitiesExtensionsEnabled, which controls whether extensions
to the Media Capabilities API are available.
Drive-by fix: make sure that the configuration is passed through to MediaCapabilitiesInfo
when no factory can support the configuration.
- Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
- bindings/scripts/IDLAttributes.json:
- page/Settings.yaml:
- platform/mediacapabilities/MediaEngineConfigurationFactory.cpp:
(WebCore::MediaEngineConfigurationFactory::createDecodingConfiguration):
Source/WebKit:
- Shared/WebPreferences.yaml:
LayoutTests:
- media/mediacapabilities/mock-decodingInfo-supportedConfiguration-expected.txt:
- media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html:
- 2:22 PM Changeset in webkit [243045] by
-
- 2 edits in trunk/Tools
REGRESSION (r243019): Failing API test: WebKit.WebsiteDataStoreCustomPathsWithoutPrewarming
https://bugs.webkit.org/show_bug.cgi?id=195849
Reviewed by Chris Dumez.
We should expect IDB database files to be at path IndexedDB/v1/ after r243019.
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
- 2:17 PM Changeset in webkit [243044] by
-
- 3 edits2 adds in trunk
[iOS] Software keyboard never appears when editing on some websites
https://bugs.webkit.org/show_bug.cgi?id=195824
<rdar://problem/48020610>
Reviewed by Ryosuke Niwa.
Source/WebKit:
In the scenario where an element has already been programmatically focused but the UI process isn't showing an
input view for it, there are a couple of different ways in which an input view may still be shown for that
element:
- If the page attempts to programmatically focus the element, we'll invoke elementDidRefocus to recompute
information about the focused element and propagate it to the UI process. By default, if programmatic focus was
triggered under the scope of user interaction, we'll allow the input view to appear.
- In the case where page does not attempt to programmatically focus the element but a click is dispatched,
there is logic in WebPage::completeSyntheticClick to send information about the already-focused element.
On the web page relevant to this bug, focus is programmatically moved to hidden contenteditable areas upon page
load, and touchstart is also prevented; furthermore, the page does not attempt to programmatically refocus the
hidden editable area upon receiving touchstart. This means that the user will never be able to bring up the
keyboard, since the editable area is already programmatically focused and subsequent attempts to tap in the
page do nothing, because the page has already focused the hidden editable area (with the expectation that the
software keyboard should already be present).
To fix this, we bring some of the same logic in completeSyntheticClick over to dispatchTouchEvent, by sending
focused element information to the UI process if the focused element did not change over the course of
dispatching the touch event. Similar code was introduced in r167774 to fix the same type of issue (i.e.
inability to bring up the software keyboard), but this was later reverted in r188405 due to causing bugs such as
<rdar://problem/22204108>, wherein this logic to bring up the keyboard in dispatchTouchEvent would scroll and
zoom the page, such that the click event fired after touchend would be dispatched in the wrong location and (in
the case of <rdar://problem/22204108>) caused the focused element to immediately blur again.
To mitigate this issue, we add the additional constraint that we only send focused element info in the case
where the touch won't also generate a click later down the road, by requiring that the dispatched event was
handled by the page (i.e. prevented).
Test: fast/events/touch/ios/show-keyboard-after-preventing-touchstart.html
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::dispatchTouchEvent):
LayoutTests:
Add a layout test to verify that tapping a programmatically focused textarea that prevents touchstart still
causes the keyboard to appear.
- fast/events/touch/ios/show-keyboard-after-preventing-touchstart-expected.txt: Added.
- fast/events/touch/ios/show-keyboard-after-preventing-touchstart.html: Added.
- 12:54 PM Changeset in webkit [243043] by
-
- 6 edits2 adds in trunk
Source/WebCore:
[iOS] Unable to close trending window on naver.com.
https://bugs.webkit.org/show_bug.cgi?id=195842
<rdar://problem/48067338>
This patch issues a synthetic mouse move to the tap location after we decided to hover.
It ensures that the node under the mouse is up-to-date and when a new tap comes in we can
send the mouseout event to the correct node. It fixes the case when the hover content is positioned over
the tap target so that the tap target is no longer "under the mouse".
On desktop this "transition" happens automatically since the mouse is always present.
Reviewed by Simon Fraser.
Tests: fast/events/touch/ios/content-observation/new-content-covers-tap-target.html
fast/events/touch/ios/content-observation/prevent-default-on-touch-start.html
- page/EventHandler.h:
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::dispatchSyntheticMouseMove):
Source/WebKit:
Unable to close trending window on naver.com.
https://bugs.webkit.org/show_bug.cgi?id=195842
<rdar://problem/48067338>
Reviewed by Simon Fraser.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::dispatchSyntheticMouseMove):
(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):
LayoutTests:
[iOS] Unable to close trending window on naver.com.
https://bugs.webkit.org/show_bug.cgi?id=195842
<rdar://problem/48067338>
Reviewed by Simon Fraser.
- fast/events/touch/ios/content-observation/new-content-covers-tap-target-expected.txt: Added.
- fast/events/touch/ios/content-observation/new-content-covers-tap-target.html: Added.
- fast/events/touch/ios/content-observation/prevent-default-on-touch-start.html: Added.
- 11:38 AM Changeset in webkit [243042] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r242807): Unified sources build failure from missing imports.
https://bugs.webkit.org/show_bug.cgi?id=195852
Unreviewed speculative build fix.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
Include <wtf/SoftLinking.h> and "UIKitSPI.h" on iOS.
- 9:35 AM Changeset in webkit [243041] by
-
- 65 edits1 move23 adds in trunk/LayoutTests
Update WPT WebRTC tests up to a22a149
https://bugs.webkit.org/show_bug.cgi?id=195831
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc: Resynced.
LayoutTests:
- tests-options.json:
- 4:26 AM Changeset in webkit [243040] by
-
- 2 edits in trunk/Source/WTF
[GTK] [WPE] Fix compilation errors due to undefined ALWAYS_LOG_IF
https://bugs.webkit.org/show_bug.cgi?id=195850
Unreviewed build fix after r243033.
- wtf/LoggerHelper.h:
- 1:57 AM Changeset in webkit [243039] by
-
- 13 edits in trunk
Layout tests imported/w3c/web-platform-tests/IndexedDB/*-exception-order.html are failing
https://bugs.webkit.org/show_bug.cgi?id=195650
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Updated test expectations to PASS.
- web-platform-tests/IndexedDB/idbdatabase-createObjectStore-exception-order-expected.txt:
- web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt:
- web-platform-tests/IndexedDB/idbindex-query-exception-order-expected.txt:
- web-platform-tests/IndexedDB/idbobjectstore-delete-exception-order-expected.txt:
- web-platform-tests/IndexedDB/idbobjectstore-query-exception-order-expected.txt:
Source/WebCore:
Fix some exception orders in IDB.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
Step 6 of https://www.w3.org/TR/IndexedDB-2/#dom-idbdatabase-createobjectstore.
(WebCore::IDBDatabase::transaction):
Step 1 of https://www.w3.org/TR/IndexedDB-2/#dom-idbdatabase-transaction.
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::doOpenCursor):
(WebCore::IDBIndex::openCursor):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-opencursor.
(WebCore::IDBIndex::doOpenKeyCursor):
(WebCore::IDBIndex::openKeyCursor):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-openkeycursor.
(WebCore::IDBIndex::count):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-count.
(WebCore::IDBIndex::doCount):
(WebCore::IDBIndex::get):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-get.
(WebCore::IDBIndex::doGet):
(WebCore::IDBIndex::getKey):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getkey.
(WebCore::IDBIndex::doGetKey):
(WebCore::IDBIndex::doGetAll):
(WebCore::IDBIndex::getAll):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getkey.
(WebCore::IDBIndex::doGetAllKeys):
(WebCore::IDBIndex::getAllKeys):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getallkeys.
- Modules/indexeddb/IDBIndex.h:
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::doOpenCursor):
(WebCore::IDBObjectStore::openCursor):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-opencursor.
(WebCore::IDBObjectStore::doOpenKeyCursor):
(WebCore::IDBObjectStore::openKeyCursor):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-openkeycursor.
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::doDelete):
(WebCore::IDBObjectStore::count):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-count.
(WebCore::IDBObjectStore::doCount):
(WebCore::IDBObjectStore::doGetAll):
(WebCore::IDBObjectStore::getAll):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getall.
(WebCore::IDBObjectStore::doGetAllKeys):
(WebCore::IDBObjectStore::getAllKeys):
Step 5 of https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getallkeys.
- Modules/indexeddb/IDBObjectStore.h:
- 1:31 AM Changeset in webkit [243038] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Changes: style attribute changes aren't being tracked
https://bugs.webkit.org/show_bug.cgi?id=193859
<rdar://problem/47568977>
Reviewed by Devin Rousso.
- UserInterface/Controllers/CSSManager.js:
(WI.CSSManager):
(WI.CSSManager.prototype.get modifiedStyles):
(WI.CSSManager.prototype.addModifiedStyle):
(WI.CSSManager.prototype._mainResourceDidChange):
(WI.CSSManager.prototype.get modifiedCSSRules): Deleted.
(WI.CSSManager.prototype.addModifiedCSSRule): Deleted.
(WI.CSSManager.prototype.removeModifiedCSSRule): Deleted.
- UserInterface/Models/CSSRule.js:
(WI.CSSRule.prototype.get stringId): Deleted.
(WI.CSSRule.prototype.markModified): Deleted.
- UserInterface/Models/CSSStyleDeclaration.js:
(WI.CSSStyleDeclaration.prototype.get stringId):
(WI.CSSStyleDeclaration.prototype.markModified):
Inline styles weren't tracked because they didn't have owner rules.
Track style declarations instead of CSS rules.
- UserInterface/Views/ChangesDetailsSidebarPanel.css:
(.sidebar > .panel.changes-panel .css-rule):
(.sidebar > .panel.changes-panel .css-rule + .css-rule):
(.changes-panel .selector.style-attribute):
(.changes-panel .selector:not(.style-attribute)):
(.changes-panel .css-property-line > .property):
(.changes-panel .css-property-line.unchanged): Deleted.
Drive-by: use text-color-secondary for unchanged properties instead of altering opacity.
- UserInterface/Views/ChangesDetailsSidebarPanel.js:
(WI.ChangesDetailsSidebarPanel.prototype.layout):
(WI.ChangesDetailsSidebarPanel.prototype._createRuleElement):
For an inline style declaration, instead of showing a CSS source file location show an appropriate selector for its DOM node.
- 12:50 AM Changeset in webkit [243037] by
-
- 5 edits in trunk/Source/WebCore
Reduce the size of Node::deref by eliminating an explicit parentNode check
https://bugs.webkit.org/show_bug.cgi?id=195776
Reviewed by Geoffrey Garen.
This patch eliminates the nullity check of m_parentNode in Node::deref as well as the store to
m_refCount in the case of invoking Node::removedLastRef() as done for RefCounted in r30042.
Together, this patch shrinks WebCore's size by 46KB or ~0.7%.
To do this, we take we take a similar approach as WTF::String by using the lowest bit of m_refCount
to indicate whether a node has a parent or not. Regular ref-counting is done on the upper 31 bits.
Node::setParentNode updates this flag, and Node::deref() would onlydelete thisif m_refCount
is identically equal to 0.
For a Document, we set m_refCounted to 0 before in the case of non-zero m_referencingNodeCount
since decrementReferencingNodeCount needs to be able to tell if there is an outstanding Ref/RefPtr
or not when m_referencingNodeCount becomes 0.
No new tests since there should be no behavioral change.
- dom/Document.cpp:
(WebCore::Document::removedLastRef):
- dom/Document.h:
(WebCore::Document::decrementReferencingNodeCount):
- dom/Node.cpp:
(WebCore::Node::Node): Moved the initialization of m_refCount to the member variable declaration.
(WebCore::Node::~Node):
(WebCore::Node::removedLastRef):
- dom/Node.h:
(WebCore::Node): Changed the type of m_refCount from signed int to uint32_t. It was changed from
unsigned int to signed int back in r11492 but I don't think the signedness is needed.
(WebCore::Node::ref): Increment the ref count by 2 (upper 31-bit).
(WebCore::Node::deref): Implemented the optimization. This is what shrinks the WebCore binary size.
(WebCore::Node::hasOneRef const):
(WebCore::Node::refCount const): Ignore the lowest bit. Without this fix, the optimization in
replaceChildrenWithFragment to avoid replacing the text node is disabled whenever there is a parent.
(WebCore::Node::setParentNode): Sets the lowest bit to 1 if the node has a parent and 0 otherwise.
- 12:42 AM Changeset in webkit [243036] by
-
- 26 edits17 copies13 adds4 deletes in trunk/Source/WebCore
Remove the SVG property tear off objects for SVGAnimatedInteger
https://bugs.webkit.org/show_bug.cgi?id=195722
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-03-16
Reviewed by Simon Fraser.
Instead of saving a raw integer value in the SVGElement and then wrapping
the pointer to this raw data in a tear off object, we will represent the
integer as Ref<SVGAnimatedInteger> in SVGElement. This will make the
representation of the property in IDL file match the C++ header file.
When the DOM requests the SVGAnimatedInteger, we get return a reference
to the new animated property. When the rendering code asks for the current
value of the this animated property, we return the animVal() or the
baseVal() depending on whether the property is animating or not.
A pointer to a member in the SVGElement will be registered along with the
associated attribute name in SVGPropertyRegistry. Registering the property
creates an SVGMemberAccessor and links to the associated attribute. The
function of SVGMemberAccessor is to retrieve the value of the property
given a pointer to an SVGElement.
SVGPropertyRegistry manages all the properties of SVGElement. It takes
into account the inherited properties as well.
SVGElement will have a virtual method called propertyRegistry(). Every
superclass will override this method to return a reference to its registry
which includes all the registered properties of this class and its bases.
One important function of the SVGPropertyRegistry and SVGAccessor is they
create the appropriate SVGAttributeAnimator for this property.
SVGAttributeAnimator is just a connection between the animated property
and SVGAnimationFunction. SVGAnimationFunction calculates the values of
the animated property within a time interval. SVGAnimatedPropertyAnimator
updates animVal of the animated property and invalidates the associated
SVGElement and all the instances that references this element.
The plan is to remove all the SVG tear off objects like what this patch
does for SVGAnimatedInteger. So for a period of time the old code and the
new code will co-exist together. These things to consider when reviewing
this patch:
-- SVGAnimatedElementBase was re-factored to use SVGAttributeAnimationControllerBase
which is inherited by SVGLegacyAttributeAnimationController and
SVGAttributeAnimationController. The tear-off properties code which uses
SVGAnimatedType now lives in SVGLegacyAttributeAnimationController. The
new code was added to SVGAttributeAnimationController. The plan is to
remove the three animation controllers and to move the code of
SVGAttributeAnimationController to SVGAnimatedElementBase when all the tear
off code is removed.
-- SVGElement now keeps two registries one for the tear-off world and the
other for the new world. Eventually we need to get rid of tear-off registry.
-- SVGElement will differentiate between the type of the property by the
the method isAnimatedAttribute().
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- svg/SVGAnimateElementBase.cpp:
(WebCore::SVGAnimateElementBase::SVGAnimateElementBase):
(WebCore::SVGAnimateElementBase::attributeAnimationController):
(WebCore::SVGAnimateElementBase::attributeAnimationControllerIfExists):
(WebCore::SVGAnimateElementBase::hasValidAttributeType const):
(WebCore::SVGAnimateElementBase::determineAnimatedPropertyType const):
(WebCore::SVGAnimateElementBase::calculateAnimatedValue):
(WebCore::SVGAnimateElementBase::calculateToAtEndOfDurationValue):
(WebCore::SVGAnimateElementBase::calculateFromAndToValues):
(WebCore::SVGAnimateElementBase::calculateFromAndByValues):
(WebCore::SVGAnimateElementBase::resetAnimatedType):
(WebCore::SVGAnimateElementBase::clearAnimatedType):
(WebCore::SVGAnimateElementBase::applyResultsToTarget):
(WebCore::SVGAnimateElementBase::isAdditive const):
(WebCore::SVGAnimateElementBase::calculateDistance):
(WebCore::SVGAnimateElementBase::setTargetElement):
(WebCore::SVGAnimateElementBase::setAttributeName):
(WebCore::SVGAnimateElementBase::resetAnimation):
(WebCore::SVGAnimateElementBase::hasInvalidCSSAttributeType const):
(WebCore::SVGAnimateElementBase::hasValidAttributeType): Deleted.
(WebCore::propertyTypesAreConsistent): Deleted.
(WebCore::applyCSSPropertyToTarget): Deleted.
(WebCore::removeCSSPropertyFromTarget): Deleted.
(WebCore::applyCSSPropertyToTargetAndInstances): Deleted.
(WebCore::removeCSSPropertyFromTargetAndInstances): Deleted.
(WebCore::notifyTargetAboutAnimValChange): Deleted.
(WebCore::notifyTargetAndInstancesAboutAnimValChange): Deleted.
(WebCore::SVGAnimateElementBase::animatedPropertyTypeSupportsAddition const): Deleted.
(WebCore::SVGAnimateElementBase::resetAnimatedPropertyType): Deleted.
(WebCore::SVGAnimateElementBase::ensureAnimator): Deleted.
- svg/SVGAnimateElementBase.h:
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::hasValidAttributeType const):
(WebCore::SVGAnimateMotionElement::hasValidAttributeName const):
(WebCore::SVGAnimateMotionElement::hasValidAttributeType): Deleted.
(WebCore::SVGAnimateMotionElement::hasValidAttributeName): Deleted.
- svg/SVGAnimateMotionElement.h:
- svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::hasValidAttributeType const):
(WebCore::SVGAnimateTransformElement::hasValidAttributeType): Deleted.
- svg/SVGAnimateTransformElement.h:
- svg/SVGAnimatedInteger.cpp: Removed.
- svg/SVGAnimatedInteger.h: Removed.
- svg/SVGAnimatedIntegerOptionalInteger.cpp: Removed.
- svg/SVGAnimatedIntegerOptionalInteger.h: Removed.
- svg/SVGAnimatedPointList.h:
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setAttributeType):
(WebCore::SVGAnimationElement::resetAnimation):
(WebCore::SVGAnimationElement::resetAnimatedPropertyType): Deleted.
(WebCore::SVGAnimationElement::setTargetElement): Deleted.
(WebCore::SVGAnimationElement::checkInvalidCSSAttributeType): Deleted.
- svg/SVGAnimationElement.h:
(WebCore::SVGAnimationElement::attributeType const):
(WebCore::SVGAnimationElement::hasInvalidCSSAttributeType const): Deleted.
- svg/SVGAnimatorFactory.h:
(WebCore::SVGAnimatorFactory::create):
- svg/SVGAttributeAnimationController.cpp: Added.
(WebCore::SVGAttributeAnimationController::SVGAttributeAnimationController):
(WebCore::SVGAttributeAnimationController::animator const):
(WebCore::SVGAttributeAnimationController::isDiscreteAnimator const):
(WebCore::SVGAttributeAnimationController::isAdditive const):
(WebCore::SVGAttributeAnimationController::hasValidAttributeType const):
(WebCore::SVGAttributeAnimationController::calculateFromAndToValues):
(WebCore::SVGAttributeAnimationController::calculateFromAndByValues):
(WebCore::SVGAttributeAnimationController::calculateToAtEndOfDurationValue):
(WebCore::SVGAttributeAnimationController::resetAnimatedType):
(WebCore::SVGAttributeAnimationController::calculateAnimatedValue):
(WebCore::SVGAttributeAnimationController::applyResultsToTarget):
(WebCore::SVGAttributeAnimationController::clearAnimatedType):
(WebCore::SVGAttributeAnimationController::calculateDistance):
- svg/SVGAttributeAnimationController.h: Added.
(WebCore::SVGAttributeAnimationController::animatorIfExists const):
- svg/SVGAttributeAnimationControllerBase.cpp: Added.
(WebCore::SVGAttributeAnimationControllerBase::SVGAttributeAnimationControllerBase):
(WebCore::SVGAttributeAnimationControllerBase::determineAnimatedPropertyType):
- svg/SVGAttributeAnimationControllerBase.h: Added.
- svg/SVGElement.cpp:
(WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute):
(WebCore::SVGElement::synchronizeAnimatedSVGAttribute const):
(WebCore::SVGElement::commitPropertyChange):
(WebCore::SVGElement::isAnimatedPropertyAttribute const):
(WebCore::SVGElement::isAnimatedAttribute const):
(WebCore::SVGElement::createAnimator):
- svg/SVGElement.h:
(WebCore::SVGElement::propertyRegistry const):
- svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
(WebCore::SVGFEConvolveMatrixElement::registerAttributes):
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
(WebCore::SVGFEConvolveMatrixElement::setOrder):
(WebCore::SVGFEConvolveMatrixElement::orderXIdentifier): Deleted.
(WebCore::SVGFEConvolveMatrixElement::orderYIdentifier): Deleted.
- svg/SVGFEConvolveMatrixElement.h:
- svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
(WebCore::SVGFETurbulenceElement::registerAttributes):
(WebCore::SVGFETurbulenceElement::parseAttribute):
(WebCore::SVGFETurbulenceElement::svgAttributeChanged):
- svg/SVGFETurbulenceElement.h:
- svg/SVGFilterElement.h:
- svg/SVGLegacyAttributeAnimationController.cpp: Added.
(WebCore::SVGLegacyAttributeAnimationController::SVGLegacyAttributeAnimationController):
(WebCore::SVGLegacyAttributeAnimationController::animatedTypeAnimator):
(WebCore::SVGLegacyAttributeAnimationController::isAdditive const):
(WebCore::SVGLegacyAttributeAnimationController::hasValidAttributeType const):
(WebCore::SVGLegacyAttributeAnimationController::calculateFromAndToValues):
(WebCore::SVGLegacyAttributeAnimationController::calculateFromAndByValues):
(WebCore::SVGLegacyAttributeAnimationController::calculateToAtEndOfDurationValue):
(WebCore::propertyTypesAreConsistent):
(WebCore::SVGLegacyAttributeAnimationController::resetAnimatedType):
(WebCore::SVGLegacyAttributeAnimationController::calculateAnimatedValue):
(WebCore::applyCSSPropertyToTarget):
(WebCore::removeCSSPropertyFromTarget):
(WebCore::applyCSSPropertyToTargetAndInstances):
(WebCore::removeCSSPropertyFromTargetAndInstances):
(WebCore::notifyTargetAboutAnimValChange):
(WebCore::notifyTargetAndInstancesAboutAnimValChange):
(WebCore::SVGLegacyAttributeAnimationController::applyResultsToTarget):
(WebCore::SVGLegacyAttributeAnimationController::clearAnimatedType):
(WebCore::SVGLegacyAttributeAnimationController::calculateDistance):
- svg/SVGLegacyAttributeAnimationController.h: Added.
- svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::hasValidAttributeName const):
(WebCore::SVGSMILElement::hasValidAttributeName): Deleted.
- svg/animation/SVGSMILElement.h:
- svg/properties/SVGAnimatedPrimitiveProperty.h: Added.
(WebCore::SVGAnimatedPrimitiveProperty::create):
(WebCore::SVGAnimatedPrimitiveProperty::setBaseVal):
(WebCore::SVGAnimatedPrimitiveProperty::setBaseValInternal):
(WebCore::SVGAnimatedPrimitiveProperty::baseVal const):
(WebCore::SVGAnimatedPrimitiveProperty::setAnimVal):
(WebCore::SVGAnimatedPrimitiveProperty::animVal const):
(WebCore::SVGAnimatedPrimitiveProperty::animVal):
(WebCore::SVGAnimatedPrimitiveProperty::currentValue const):
(WebCore::SVGAnimatedPrimitiveProperty::SVGAnimatedPrimitiveProperty):
- svg/properties/SVGAnimatedProperty.cpp: Added.
(WebCore::SVGAnimatedProperty::owner const):
(WebCore::SVGAnimatedProperty::commitPropertyChange):
- svg/properties/SVGAnimatedProperty.h: Added.
(WebCore::SVGAnimatedProperty::isAttached const):
(WebCore::SVGAnimatedProperty::detach):
(WebCore::SVGAnimatedProperty::contextElement const):
(WebCore::SVGAnimatedProperty::baseValAsString const):
(WebCore::SVGAnimatedProperty::animValAsString const):
(WebCore::SVGAnimatedProperty::isDirty const):
(WebCore::SVGAnimatedProperty::setDirty):
(WebCore::SVGAnimatedProperty::synchronize):
(WebCore::SVGAnimatedProperty::isAnimating const):
(WebCore::SVGAnimatedProperty::startAnimation):
(WebCore::SVGAnimatedProperty::stopAnimation):
(WebCore::SVGAnimatedProperty::instanceStartAnimation):
(WebCore::SVGAnimatedProperty::instanceStopAnimation):
(WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
- svg/properties/SVGAnimatedPropertyAccessor.h: Added.
- svg/properties/SVGAnimatedPropertyAccessorImpl.h: Added.
- svg/properties/SVGAnimatedPropertyAnimator.h: Added.
(WebCore::SVGAnimatedPropertyAnimator::appendAnimatedInstance):
(WebCore::SVGAnimatedPropertyAnimator::SVGAnimatedPropertyAnimator):
- svg/properties/SVGAnimatedPropertyAnimatorImpl.h: Added.
- svg/properties/SVGAnimatedPropertyImpl.h: Added.
- svg/properties/SVGAnimatedPropertyPairAccessor.h: Added.
(WebCore::SVGAnimatedPropertyPairAccessor::SVGAnimatedPropertyPairAccessor):
(WebCore::SVGAnimatedPropertyPairAccessor::singleton):
(WebCore::SVGAnimatedPropertyPairAccessor::property1 const):
(WebCore::SVGAnimatedPropertyPairAccessor::property2 const):
- svg/properties/SVGAnimatedPropertyPairAccessorImpl.h: Added.
- svg/properties/SVGAnimatedPropertyPairAnimator.h: Added.
(WebCore::SVGAnimatedPropertyPairAnimator::appendAnimatedInstance):
(WebCore::SVGAnimatedPropertyPairAnimator::SVGAnimatedPropertyPairAnimator):
- svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h: Added.
- svg/properties/SVGAnimationAdditiveFunction.h: Added.
(WebCore::SVGAnimationAdditiveFunction::SVGAnimationAdditiveFunction):
(WebCore::SVGAnimationAdditiveFunction::progress):
- svg/properties/SVGAnimationAdditiveValueFunction.h: Added.
(WebCore::SVGAnimationAdditiveValueFunction::toAtEndOfDuration const):
- svg/properties/SVGAnimationAdditiveValueFunctionImpl.h: Added.
(WebCore::SVGAnimationIntegerFunction::progress):
- svg/properties/SVGAnimationFunction.h: Added.
(WebCore::SVGAnimationFunction::isDiscrete const):
(WebCore::SVGAnimationFunction::calculateDistance const):
(WebCore::SVGAnimationFunction::SVGAnimationFunction):
(WebCore::SVGAnimationFunction::addFromAndToValues):
- svg/properties/SVGAttributeAnimator.cpp: Added.
(WebCore::SVGAttributeAnimator::applyAnimatedPropertyChange):
- svg/properties/SVGAttributeAnimator.h: Added.
(WebCore::SVGAttributeAnimator::SVGAttributeAnimator):
(WebCore::SVGAttributeAnimator::isDiscrete const):
(WebCore::SVGAttributeAnimator::setFromAndToValues):
(WebCore::SVGAttributeAnimator::setFromAndByValues):
(WebCore::SVGAttributeAnimator::setToAtEndOfDurationValue):
(WebCore::SVGAttributeAnimator::calculateDistance const):
- svg/properties/SVGAttributeOwnerProxy.cpp:
- svg/properties/SVGAttributeOwnerProxy.h:
- svg/properties/SVGAttributeRegistry.h:
- svg/properties/SVGMemberAccessor.h: Added.
(WebCore::SVGMemberAccessor::detach const):
(WebCore::SVGMemberAccessor::isAnimatedProperty const):
(WebCore::SVGMemberAccessor::isAnimatedLength const):
(WebCore::SVGMemberAccessor::matches const):
(WebCore::SVGMemberAccessor::synchronize const):
(WebCore::SVGMemberAccessor::createAnimator const):
(WebCore::SVGMemberAccessor::appendAnimatedInstance const):
- svg/properties/SVGPointerMemberAccessor.h: Added.
(WebCore::SVGPointerMemberAccessor::SVGPointerMemberAccessor):
(WebCore::SVGPointerMemberAccessor::property const):
(WebCore::SVGPointerMemberAccessor::singleton):
- svg/properties/SVGProperty.h: Added.
- svg/properties/SVGPropertyOwner.h: Added.
(WebCore::SVGPropertyOwner::owner const):
(WebCore::SVGPropertyOwner::attributeContextElement const):
(WebCore::SVGPropertyOwner::commitPropertyChange):
- svg/properties/SVGPropertyOwnerRegistry.h: Added.
(WebCore::SVGPropertyOwnerRegistry::SVGPropertyOwnerRegistry):
(WebCore::SVGPropertyOwnerRegistry::registerProperty):
(WebCore::SVGPropertyOwnerRegistry::enumerateRecursively):
(WebCore::SVGPropertyOwnerRegistry::isKnownAttribute):
(WebCore::SVGPropertyOwnerRegistry::enumerateRecursivelyBaseTypes):
(WebCore::SVGPropertyOwnerRegistry::findAccessor):
- svg/properties/SVGPropertyRegistry.h: Added.
- 12:37 AM Changeset in webkit [243035] by
-
- 4 edits in trunk/Source/WebCore
Remove LayoutAssertionDisableScope after r241289
https://bugs.webkit.org/show_bug.cgi?id=195848
Reviewed by Antti Koivisto.
Remove LayoutAssertionDisableScope for good now that the underlying bug has been fixed in r241289.
- dom/Document.cpp:
(WebCore::isSafeToUpdateStyleOrLayout):
- dom/ScriptDisallowedScope.h:
(WebCore::ScriptDisallowedScope::LayoutAssertionDisableScope): Deleted.
- page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layout):
Mar 15, 2019:
- 10:44 PM Changeset in webkit [243034] by
-
- 16 edits in trunk/Source
[iOS] Block the accessibility server when accessibility is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=195342
Reviewed by Brent Fulgham.
Source/WebKit:
By default, block the iOS accessibility server in the sandbox. If accessibility is enabled,
let the UI process issue a mach extension to the WebContent process. The UI process will
issue the mach extension the the WebContent process by its process identifier. The sandbox
extension handle is sent to the WebContent process to be consumed. The message will be sent
when the WebProcess has finished launching, and also when accessibility is turned on.
- Platform/spi/ios/AccessibilitySupportSPI.h:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/SandboxExtension.h:
- Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtensionImpl::create):
(WebKit::SandboxExtensionImpl::sandboxExtensionForType):
(WebKit::SandboxExtensionImpl::SandboxExtensionImpl):
(WebKit::SandboxExtension::createHandleForMachLookupByPid):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebProcessProxy.h:
- UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::unblockAccessibilityServer):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
Source/WTF:
Add SPI to issue a mach extension to a process by pid. Also, add a macro for
the availability of this SPI.
- wtf/Platform.h:
- wtf/spi/darwin/SandboxSPI.h:
- 10:21 PM Changeset in webkit [243033] by
-
- 40 edits in trunk/Source
Add media stream release logging
https://bugs.webkit.org/show_bug.cgi?id=195823
Source/WebCore:
<rdar://problem/48939406>
Reviewed by Youenn Fablet.
No new tests, no behavioral change.
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::clone):
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::removeTrack):
(WebCore::MediaStream::addTrackFromPlatform):
(WebCore::MediaStream::setIsActive):
(WebCore::MediaStream::mediaCanStart):
(WebCore::MediaStream::startProducingData):
(WebCore::MediaStream::stopProducingData):
(WebCore::MediaStream::endCaptureTracks):
(WebCore::MediaStream::stop):
(WebCore::MediaStream::logChannel const):
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::logChannel const):
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addTrack):
(WebCore::LibWebRTCMediaEndpoint::sourceFromNewReceiver):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
(WebCore::nextLogIdentifier): Deleted.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::nextLogIdentifier): Deleted.
- html/HTMLMediaElement.h:
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::PlatformMediaSession):
(WebCore::nextLogIdentifier): Deleted.
- platform/audio/PlatformMediaSession.h:
- platform/graphics/IntSize.cpp:
(WebCore::IntSize::toJSONObject const):
(WebCore::IntSize::toJSONString const):
- platform/graphics/IntSize.h:
(WTF::LogArgument<WebCore::IntSize>::toString):
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::addTrack):
(WebCore::MediaStreamPrivate::removeTrack):
(WebCore::MediaStreamPrivate::startProducingData):
(WebCore::MediaStreamPrivate::stopProducingData):
(WebCore::MediaStreamPrivate::setCaptureTracksMuted):
(WebCore::MediaStreamPrivate::trackMutedChanged):
(WebCore::MediaStreamPrivate::trackEnabledChanged):
(WebCore::MediaStreamPrivate::trackStarted):
(WebCore::MediaStreamPrivate::trackEnded):
(WebCore::MediaStreamPrivate::setLogger):
(WebCore::MediaStreamPrivate::logChannel const):
- platform/mediastream/MediaStreamPrivate.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::setLogger):
(WebCore::MediaStreamTrackPrivate::logChannel const):
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeIncomingAudioSource.cpp:
(WebCore::RealtimeIncomingAudioSource::RealtimeIncomingAudioSource):
(WebCore::RealtimeIncomingAudioSource::logChannel const): Deleted.
(WebCore::RealtimeIncomingAudioSource::logger const): Deleted.
- platform/mediastream/RealtimeIncomingAudioSource.h:
(WebCore::RealtimeIncomingAudioSource::setLogger): Deleted.
- platform/mediastream/RealtimeIncomingVideoSource.cpp:
(WebCore::RealtimeIncomingVideoSource::RealtimeIncomingVideoSource):
(WebCore::RealtimeIncomingVideoSource::logChannel const): Deleted.
(WebCore::RealtimeIncomingVideoSource::logger const): Deleted.
- platform/mediastream/RealtimeIncomingVideoSource.h:
(WebCore::RealtimeIncomingVideoSource::setLogger): Deleted.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::RealtimeMediaSource):
(WebCore::RealtimeMediaSource::setInterrupted):
(WebCore::RealtimeMediaSource::setMuted):
(WebCore::RealtimeMediaSource::notifyMutedChange):
(WebCore::RealtimeMediaSource::notifySettingsDidChangeObservers):
(WebCore::RealtimeMediaSource::videoSampleAvailable):
(WebCore::RealtimeMediaSource::start):
(WebCore::RealtimeMediaSource::stop):
(WebCore::RealtimeMediaSource::captureFailed):
(WebCore::RealtimeMediaSource::applyConstraint):
(WebCore::RealtimeMediaSource::supportsConstraints):
(WebCore::RealtimeMediaSource::applyConstraints):
(WebCore::RealtimeMediaSource::setSize):
(WebCore::RealtimeMediaSource::setIntrinsicSize):
(WebCore::RealtimeMediaSource::setFrameRate):
(WebCore::RealtimeMediaSource::setAspectRatio):
(WebCore::RealtimeMediaSource::setFacingMode):
(WebCore::RealtimeMediaSource::setVolume):
(WebCore::RealtimeMediaSource::setSampleRate):
(WebCore::RealtimeMediaSource::setSampleSize):
(WebCore::RealtimeMediaSource::setEchoCancellation):
(WebCore::RealtimeMediaSource::setLogger):
(WebCore::RealtimeMediaSource::logChannel const):
(WebCore::convertEnumerationToString):
- platform/mediastream/RealtimeMediaSource.h:
(WTF::LogArgument<WebCore::RealtimeMediaSource::Type>::toString):
- platform/mediastream/RealtimeMediaSourceSettings.cpp:
(WebCore::RealtimeMediaSourceSettings::convertFlagsToString):
(WebCore::convertEnumerationToString):
- platform/mediastream/RealtimeMediaSourceSettings.h:
(WTF::LogArgument<WebCore::RealtimeMediaSourceSettings::VideoFacingMode>::toString):
(WTF::LogArgument<OptionSet<WebCore::RealtimeMediaSourceSettings::Flag>>::toString):
- platform/mediastream/RealtimeOutgoingAudioSource.cpp:
(WebCore::RealtimeOutgoingAudioSource::RealtimeOutgoingAudioSource):
(WebCore::RealtimeOutgoingAudioSource::logChannel const):
(WebCore::RealtimeOutgoingAudioSource::logger const): Deleted.
- platform/mediastream/RealtimeOutgoingAudioSource.h:
(WebCore::RealtimeOutgoingAudioSource::setLogger): Deleted.
- platform/mediastream/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::RealtimeOutgoingVideoSource):
(WebCore::RealtimeOutgoingVideoSource::sendOneBlackFrame):
(WebCore::RealtimeOutgoingVideoSource::sendFrame):
(WebCore::RealtimeOutgoingVideoSource::logChannel const):
(WebCore::RealtimeOutgoingVideoSource::logger const): Deleted.
- platform/mediastream/RealtimeOutgoingVideoSource.h:
(WebCore::RealtimeOutgoingVideoSource::setLogger): Deleted.
- platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::setSizeAndFrameRate):
(WebCore::SizeAndFrameRate::toJSONObject const):
(WebCore::SizeAndFrameRate::toJSONString const):
- platform/mediastream/RealtimeVideoSource.h:
(WTF::LogArgument<WebCore::SizeAndFrameRate>::toString):
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::clearSession):
(WebCore::AVVideoCaptureSource::startProducingData):
(WebCore::AVVideoCaptureSource::stopProducingData):
(WebCore::AVVideoCaptureSource::setSizeAndFrameRateWithPreset):
(WebCore::AVVideoCaptureSource::setupSession):
(WebCore::AVVideoCaptureSource::frameDurationForFrameRate):
(WebCore::AVVideoCaptureSource::setupCaptureSession):
(WebCore::AVVideoCaptureSource::captureSessionIsRunningDidChange):
(WebCore::AVVideoCaptureSource::captureDeviceSuspendedDidChange):
(WebCore::AVVideoCaptureSource::captureSessionRuntimeError):
(WebCore::AVVideoCaptureSource::captureSessionBeginInterruption):
(WebCore::AVVideoCaptureSource::captureSessionEndInterruption):
(WebCore::AVVideoCaptureSource::deviceDisconnected):
(-[WebCoreAVVideoCaptureSourceObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVVideoCaptureSourceObserver deviceConnectedDidChange:]):
(-[WebCoreAVVideoCaptureSourceObserver sessionRuntimeError:]):
(-[WebCoreAVVideoCaptureSourceObserver beginSessionInterrupted:]):
(-[WebCoreAVVideoCaptureSourceObserver endSessionInterrupted:]):
(WebCore::AVVideoCaptureSource::initializeSession): Deleted.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::setupAudioUnit):
(WebCore::CoreAudioSharedUnit::verifyIsCapturing):
(WebCore::CoreAudioSharedUnit::captureFailed):
(WebCore::CoreAudioCaptureSource::initializeToStartProducingData):
(WebCore::CoreAudioCaptureSource::addEchoCancellationSource):
(WebCore::CoreAudioCaptureSource::removeEchoCancellationSource):
(WebCore::CoreAudioCaptureSource::startProducingData):
(WebCore::CoreAudioCaptureSource::stopProducingData):
(WebCore::CoreAudioCaptureSource::scheduleReconfiguration):
(WebCore::CoreAudioCaptureSource::beginInterruption):
(WebCore::CoreAudioCaptureSource::endInterruption):
- platform/mediastream/mac/CoreAudioCaptureSource.h:
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream):
(WebCore::ScreenDisplayCaptureSourceMac::startProducingData):
(WebCore::ScreenDisplayCaptureSourceMac::stopProducingData):
(WebCore::ScreenDisplayCaptureSourceMac::startDisplayStream):
Source/WTF:
Reviewed by Youenn Fablet.
- wtf/LoggerHelper.h: Add LOG_IF variants that check a condition before logging.
- 9:44 PM Changeset in webkit [243032] by
-
- 8 edits1 add in trunk
Need to check ObjectPropertyCondition liveness before accessing it when firing watchpoints.
https://bugs.webkit.org/show_bug.cgi?id=195827
<rdar://problem/48845513>
Reviewed by Filip Pizlo.
JSTests:
- stress/check-object-property-condition-liveness-before-accessing-it-when-watchpoints-fire.js: Added.
Source/JavaScriptCore:
m_object in ObjectPropertyCondition may no longer be live by the time the watchpoint fires.
- bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp:
(JSC::AdaptiveInferredPropertyValueWatchpointBase::fire):
- bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp:
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal):
- bytecode/ObjectPropertyCondition.cpp:
(JSC::ObjectPropertyCondition::dumpInContext const):
- bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::StructureStubClearingWatchpoint::fireInternal):
- dfg/DFGAdaptiveStructureWatchpoint.cpp:
(JSC::DFG::AdaptiveStructureWatchpoint::fireInternal):
- runtime/StructureRareData.cpp:
(JSC::ObjectToStringAdaptiveStructureWatchpoint::fireInternal):
- 8:14 PM Changeset in webkit [243031] by
-
- 6 edits in trunk
Web Inspector: HAR Extension for Resource Priority
https://bugs.webkit.org/show_bug.cgi?id=195693
Reviewed by Devin Rousso.
Source/WebInspectorUI:
- UserInterface/Controllers/HARBuilder.js:
(WI.HARBuilder.entry):
(WI.HARBuilder.priority):
(WI.HARBuilder.networkPriorityFromHARPriority):
Include priority custom extension.
- UserInterface/Models/LocalResource.js:
(WI.LocalResource.fromHAREntry):
Import priority.
LayoutTests:
- http/tests/inspector/network/har/har-basic-expected.txt:
- http/tests/inspector/network/har/har-page-expected.txt:
- 7:48 PM Changeset in webkit [243030] by
-
- 12 edits5 adds in trunk/Tools
webkitpy: Upload test results
https://bugs.webkit.org/show_bug.cgi?id=195755
<rdar://problem/48896182>
Reviewed by Aakash Jain.
Establish a new format for uploading results that is not tied to layout tests, apply
that format to webkitpy tests.
- Scripts/webkitpy/common/checkout/scm/git.py:
(Git.native_branch): Return what branch the current checkout is on.
- Scripts/webkitpy/common/checkout/scm/scm_mock.py:
- Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
- Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.native_branch): Ditto.
- Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.build_version): Return a build version for Mac.
- Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.init):
(MockPlatformInfo.build_version):
- Scripts/webkitpy/results: Added.
- Scripts/webkitpy/results/init.py: Added.
- Scripts/webkitpy/results/options.py: Added.
(upload_options): OptParse list for upload options.
- Scripts/webkitpy/results/upload.py: Added.
(Upload): Class which enforces the upload format expected by the results server.
(Upload.Expectations):
(Upload.create_configuration):
(Upload.create_commit):
(Upload.create_details):
(Upload.create_run_stats):
(Upload.create_test_result):
(Upload.init):
(Upload.Encoder): Encode Upload object as json.
(Upload.upload): Upload results to the results server, returning 'True' if the upload is successful.
- Scripts/webkitpy/results/upload_unittest.py: Added.
- Scripts/webkitpy/test/main.py:
(Tester._parse_args): Add upload arguments.
(Tester._run_tests): Allow results to be uploaded.
- Scripts/webkitpy/test/runner.py:
(Runner.init): Record which tests were run, rather than just counting them.
(Runner.handle):
- Scripts/webkitpy/test/runner_unittest.py:
(RunnerTest.test_run):
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook.find_module): Add requests auto-install.
(AutoinstallImportHook._install_requests):
- Scripts/webkitpy/tool/commands/queues_unittest.py:
(PatchProcessingQueueTest.test_upload_results_archive_for_patch): Update os name for testing.
- 7:21 PM Changeset in webkit [243029] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Canvas: remove agent as observer when disabling
https://bugs.webkit.org/show_bug.cgi?id=195825
<rdar://problem/48940255>
Reviewed by Joseph Pecoraro.
No change in functionality.
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::disable):
- 4:50 PM Changeset in webkit [243028] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed speculative build fix for non-Cocoa ports after r243012.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getContentsAsAttributedString):
- UIProcess/WebPageProxy.h:
- 4:49 PM Changeset in webkit [243027] by
-
- 15 edits in trunk/Source
Unreviewed, rolling out r243008.
This revision broke High Sierra builders
Reverted changeset:
"[iOS] Block the accessibility server when accessibility is
not enabled."
https://bugs.webkit.org/show_bug.cgi?id=195342
https://trac.webkit.org/changeset/243008
- 4:45 PM Changeset in webkit [243026] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: CPU Usage Timeline - Give long thread names a tooltip if they could be ellipsized
https://bugs.webkit.org/show_bug.cgi?id=195314
Reviewed by Devin Rousso.
- UserInterface/Views/CPUUsageView.js:
(WI.CPUUsageView):
- 4:45 PM Changeset in webkit [243025] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: CPU Usage Timeline - Reduce the intensity of the orange overlay color in dark mode
https://bugs.webkit.org/show_bug.cgi?id=195772
Reviewed by Devin Rousso.
- UserInterface/Views/Variables.css:
(@media (prefers-color-scheme: dark)):
(:root):
- 4:45 PM Changeset in webkit [243024] by
-
- 42 edits2 copies2 adds in trunk
Web Inspector: Timelines - Import / Export Timeline Recordings
https://bugs.webkit.org/show_bug.cgi?id=195709
<rdar://problem/23188921>
Reviewed by Devin Rousso.
Source/WebInspectorUI:
Timeline exporting saves TimelineRecording and TimelineOverview state.
The TimelineRecording includes all kinds of model objects, such as
records, markers, memory pressure events, etc. It also includes raw
protocol data, such as script profiler samples. TimelineOverview
includes some of the view state to restore, such as the selected
time range, zoom level, and selected timeline.
Timeline importing constructs a new TimelineRecording by replaying
the records, markers, and other events, as well as re-initializing
more state. To finally display the imported recording, the content
view will immediately initialize start/current/end times and the
overview will restore the view state.
- Localizations/en.lproj/localizedStrings.js:
New strings.
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.synthesizeImportError):
(WI.TimelineManager.prototype.importRecording):
Import API.
(WI.TimelineManager.prototype.scriptProfilerTrackingCompleted):
Initialize the samples on the recording via a different path
so that the data can be saved for exporting.
- UserInterface/Models/TimelineRecording.js:
(WI.TimelineRecording):
(WI.TimelineRecording.import):
(WI.TimelineRecording.prototype.exportData):
(WI.TimelineRecording.prototype.get capturing):
(WI.TimelineRecording.prototype.get imported):
(WI.TimelineRecording.prototype.unloaded):
(WI.TimelineRecording.prototype.reset):
(WI.TimelineRecording.prototype.addEventMarker):
(WI.TimelineRecording.prototype.addRecord):
(WI.TimelineRecording.prototype.addMemoryPressureEvent):
(WI.TimelineRecording.prototype.initializeCallingContextTrees):
(WI.TimelineRecording.prototype.canExport):
Save data at the TimelineRecording level that can be used for export.
We only allow exporting a TimelineRecording that has started/stopped
at least once and is not currently capturing.
- UserInterface/Views/TimelineRecordingContentView.js:
(WI.TimelineRecordingContentView):
(WI.TimelineRecordingContentView.prototype.get navigationItems):
(WI.TimelineRecordingContentView.prototype.get supportsSave):
(WI.TimelineRecordingContentView.prototype.get saveData):
(WI.TimelineRecordingContentView.prototype.shown):
(WI.TimelineRecordingContentView.prototype._capturingStarted):
(WI.TimelineRecordingContentView.prototype._capturingStopped):
(WI.TimelineRecordingContentView.prototype._initializeImportedRecording):
(WI.TimelineRecordingContentView.prototype._exportTimelineRecording):
(WI.TimelineRecordingContentView.prototype._importButtonNavigationItemClicked):
(WI.TimelineRecordingContentView.prototype._recordingReset):
Add Import and Export buttons in the Timeline navigation bar.
- UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview):
(WI.TimelineOverview.prototype.exportData):
(WI.TimelineOverview.prototype._instrumentAdded):
(WI.TimelineOverview.prototype._recordingImported):
When importing a recording update the TimelineOverview state
soon afterwards.
- UserInterface/Models/CPUTimelineRecord.js:
(WI.CPUTimelineRecord.fromJSON):
(WI.CPUTimelineRecord.prototype.toJSON):
- UserInterface/Models/GarbageCollection.js:
(WI.GarbageCollection.fromJSON):
(WI.GarbageCollection.prototype.toJSON):
- UserInterface/Models/Geometry.js:
(WI.Quad.fromJSON):
(WI.Quad.prototype.toJSON):
- UserInterface/Models/HeapAllocationsTimelineRecord.js:
(WI.HeapAllocationsTimelineRecord.fromJSON):
(WI.HeapAllocationsTimelineRecord.prototype.toJSON):
- UserInterface/Models/LayoutTimelineRecord.js:
(WI.LayoutTimelineRecord.fromJSON):
(WI.LayoutTimelineRecord.prototype.toJSON):
- UserInterface/Models/MediaTimelineRecord.js:
(WI.MediaTimelineRecord.fromJSON):
(WI.MediaTimelineRecord.prototype.toJSON):
- UserInterface/Models/MemoryPressureEvent.js:
(WI.MemoryPressureEvent.fromJSON):
(WI.MemoryPressureEvent.prototype.toJSON):
- UserInterface/Models/MemoryTimelineRecord.js:
(WI.MemoryTimelineRecord):
(WI.MemoryTimelineRecord.fromJSON):
(WI.MemoryTimelineRecord.prototype.toJSON):
- UserInterface/Models/RenderingFrameTimelineRecord.js:
(WI.RenderingFrameTimelineRecord.fromJSON):
(WI.RenderingFrameTimelineRecord.prototype.toJSON):
- UserInterface/Models/ResourceTimelineRecord.js:
(WI.ResourceTimelineRecord.fromJSON):
(WI.ResourceTimelineRecord.prototype.toJSON):
- UserInterface/Models/ScriptTimelineRecord.js:
(WI.ScriptTimelineRecord.fromJSON):
(WI.ScriptTimelineRecord.prototype.toJSON):
- UserInterface/Models/TimelineMarker.js:
(WI.TimelineMarker.fromJSON):
(WI.TimelineMarker.prototype.toJSON):
(WI.TimelineMarker.prototype.get type):
(WI.TimelineMarker.prototype.get details):
(WI.TimelineMarker.prototype.set time):
(WI.TimelineMarker):
- UserInterface/Models/TimelineRecord.js:
(WI.TimelineRecord.fromJSON):
(WI.TimelineRecord.prototype.toJSON):
Import / Export toJSON / fromJSON implementations.
- UserInterface/Views/CPUTimelineOverviewGraph.js:
(WI.CPUTimelineOverviewGraph):
(WI.CPUTimelineOverviewGraph.prototype._cpuTimelineRecordAdded):
(WI.CPUTimelineOverviewGraph.prototype._processRecord):
- UserInterface/Views/LayoutTimelineOverviewGraph.js:
(WI.LayoutTimelineOverviewGraph):
(WI.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
(WI.LayoutTimelineOverviewGraph.prototype._processRecord):
- UserInterface/Views/LayoutTimelineView.js:
(WI.LayoutTimelineView):
(WI.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
(WI.LayoutTimelineView.prototype._processRecord):
- UserInterface/Views/MediaTimelineView.js:
(WI.MediaTimelineView):
(WI.MediaTimelineView.prototype._handleRecordAdded):
(WI.MediaTimelineView.prototype._processRecord):
- UserInterface/Views/MemoryTimelineOverviewGraph.js:
(WI.MemoryTimelineOverviewGraph):
(WI.MemoryTimelineOverviewGraph.prototype._memoryTimelineRecordAdded):
(WI.MemoryTimelineOverviewGraph.prototype._processRecord):
- UserInterface/Views/MemoryTimelineView.js:
(WI.MemoryTimelineView):
(WI.MemoryTimelineView.prototype._memoryTimelineRecordAdded):
(WI.MemoryTimelineView.prototype._processRecord):
- UserInterface/Views/NetworkTimelineOverviewGraph.js:
(WI.NetworkTimelineOverviewGraph):
(WI.NetworkTimelineOverviewGraph.prototype.reset):
(WI.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):
(WI.NetworkTimelineOverviewGraph.prototype._processRecord):
(WI.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.compareByStartTime): Deleted.
- UserInterface/Views/NetworkTimelineView.js:
(WI.NetworkTimelineView):
(WI.NetworkTimelineView.prototype._networkTimelineRecordAdded):
(WI.NetworkTimelineView.prototype._processRecord):
- UserInterface/Views/RenderingFrameTimelineView.js:
(WI.RenderingFrameTimelineView):
(WI.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
(WI.RenderingFrameTimelineView.prototype._processRecord):
- UserInterface/Views/ScriptDetailsTimelineView.js:
(WI.ScriptDetailsTimelineView):
(WI.ScriptDetailsTimelineView.prototype._scriptTimelineRecordAdded):
(WI.ScriptDetailsTimelineView.prototype._processRecord):
Add common _processRecord path to each timeline OverviewGraph and TimelineView.
By calling this in construction we populate graphs with TimelineRecords that
may have already existed. This is necessary for imports, but this also fixes
the case where you enable a timeline that had data and it didn't show data.
- UserInterface/Views/LayoutTimelineOverviewGraph.css:
(.timeline-overview-graph.layout-overview > .graph-row):
(.timeline-overview-graph.layout-overview > .graph-row > .timeline-record-bar):
(.timeline-overview-graph.layout-overview > .graph-row > .timeline-record-bar > .segment):
(.timeline-overview-graph.layout > .graph-row): Deleted.
(.timeline-overview-graph.layout > .graph-row > .timeline-record-bar): Deleted.
(.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment): Deleted.
- UserInterface/Views/TimelineRecordBar.css:
(.timeline-record-bar.timeline-record-type-layout.paint > .segment,):
(.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment,): Deleted.
We simplified some of the sub-record type enum strings. To do this we needed to change
"layout" to "layout-overview" to avoid a conflict.
LayoutTests:
- inspector/timeline/timeline-recording-expected.txt: Added.
- inspector/timeline/timeline-recording.html: Added.
- 4:33 PM Changeset in webkit [243023] by
-
- 1 copy in tags/Safari-607.2.2
Tag Safari-607.2.2.
- 4:12 PM Changeset in webkit [243022] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION (r239814): Most classes that user Timer have 7 bytes of padding after the Timer
https://bugs.webkit.org/show_bug.cgi?id=194196
Reviewed by Simon Fraser.
Use std::nan as the value of m_unalignedNextFireTime to indicate the timer had been deleted
instead of having a dedicated boolean, which consumes 7 extra bytes for padding.
Note that some code in WebKit uses +Infinity as a fire time so we can't use that.
- platform/Timer.cpp:
(WebCore::TimerBase::TimerBase):
(WebCore::TimerBase::~TimerBase):
(WebCore::TimerBase::setNextFireTime):
(WebCore::TimerBase::nextUnalignedFireInterval const):
- platform/Timer.h:
- 4:09 PM Changeset in webkit [243021] by
-
- 4 edits in trunk/Tools
[iOS] Crash under -[TestRunnerWKWebView _didShowMenu] while running layout tests on iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=195810
Reviewed by Tim Horton.
Ensure that the process of resetting web view state between tests doesn't also invoke testing callbacks
registered by the previous layout test. This fixes an occasional crash when hiding the callout menu after
ending certain layout tests.
- WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]):
(-[TestRunnerWKWebView resetInteractionCallbacks]):
Pull logic to reset all of TestRunnerWKWebView's callback handler blocks into a separate helper method; use this
helper method when destroying the web view, and when resetting state between tests.
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
Hide the callout menu *after* clearing out interaction callbacks registered on the web view.
- 3:37 PM Changeset in webkit [243020] by
-
- 3 edits in trunk/Source/WebKit
All networking from WebKit.Networking fails when Network Extension content filter is enabled
https://bugs.webkit.org/show_bug.cgi?id=195815
<rdar://problem/47598758>
Reviewed by Brent Fulgham.
The sandbox needs to allow an associated mach lookup.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- 3:32 PM Changeset in webkit [243019] by
-
- 24 edits3 adds in trunk
[ Mojave WK1 ] Layout Test storage/indexeddb/database-odd-names.html is failing
https://bugs.webkit.org/show_bug.cgi?id=190350
<rdar://problem/45089503>
Reviewed by Geoffrey Garen.
Source/WebCore:
Start to use hash for database file names so that the files can work on any filesystem.
We created v0 folder in IndexedDB directory to put the legacy databases, and v1 folder to put the upgraded
databases.
Tests: TestWebKitAPI.IndexedDB.IndexedDBFileName
TestWebKitAPI.IndexedDB.IndexedDBFileNameV0
TestWebKitAPI.IndexedDB.IndexedDBFileNameV1
TestWebKitAPI.IndexedDB.IndexedDBFileNameAPI
TestWebKitAPI.IndexedDB.HashCollision
- Modules/indexeddb/IDBDatabaseIdentifier.cpp:
(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot const):
(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot):
- Modules/indexeddb/IDBDatabaseIdentifier.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::m_quotaManagerGetter):
(WebCore::IDBServer::IDBServer::performGetAllDatabaseNames):
(WebCore::IDBServer::removeAllDatabasesForFullOriginPath):
(WebCore::IDBServer::removeAllDatabasesForOriginPath):
(WebCore::IDBServer::IDBServer::removeDatabasesModifiedSinceForVersion):
(WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::removeDatabasesWithOriginsForVersion):
(WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesForOrigins):
(WebCore::IDBServer::IDBServer::computeSpaceUsedForOrigin):
(WebCore::IDBServer::IDBServer::upgradeFilesIfNecessary):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::SQLiteIDBBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabasePathForDirectory):
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabasePath const):
(WebCore::IDBServer::SQLiteIDBBackingStore::databaseNameFromFile):
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::quotaForOrigin const):
(WebCore::IDBServer::SQLiteIDBBackingStore::databasesSizeForOrigin const):
(WebCore::IDBServer::SQLiteIDBBackingStore::getBlobRecordsForObjectStoreRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabaseDirectory const): Deleted.
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
(WebCore::IDBServer::SQLiteIDBBackingStore::databaseDirectory const):
- Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
(WebCore::IDBServer::SQLiteIDBTransaction::moveBlobFilesIfNecessary):
(WebCore::IDBServer::SQLiteIDBTransaction::deleteBlobFilesIfNecessary):
- platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::computeHashForFileName):
- platform/sql/SQLiteFileSystem.h:
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::collectIndexedDatabaseOriginsForVersion):
(WebKit::NetworkProcess::indexedDatabaseOrigins):
- NetworkProcess/NetworkProcess.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::addSession):
(WebKit::NetworkProcessProxy::createSymLinkForFileUpgrade): For efficientcy and atomicity, we choose to use
symlink to create v0 folder. Because network process does not have the permission to create a symlink, we need
to do this in UI process. UI process would create v0 folder inside the IndexedDB directory if there isn't one.
Also if there is a v0 directory but it doesn't have content, it means it's not a correct symlink and we need to
delete it and create again.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDB.sqlite3:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDB.sqlite3-shm:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDB.sqlite3-wal:
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName-1.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName-2.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm: Added.
(-[IndexedDBFileNameMessageHandler userContentController:didReceiveScriptMessage:]):
(runTest):
(createDirectories):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/StoreBlobThenDelete.mm:
(TEST):
- 3:27 PM Changeset in webkit [243018] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Restrict iokit-user-client-class "IOHIDLibUserClient" from WebKit
https://bugs.webkit.org/show_bug.cgi?id=195821
<rdar://problem/47606250>
Reviewed by Brent Fulgham.
This should be removed from the WebContent sandbox on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 3:18 PM Changeset in webkit [243017] by
-
- 4 edits2 adds in trunk
[ContentChangeObserver] HTMLImageElement::willRespondToMouseClickEvents returns quirk value.
https://bugs.webkit.org/show_bug.cgi?id=195657
<rdar://problem/48834987>
Reviewed by Simon Fraser.
Source/WebCore:
Images should not trigger hover by default (only when they actually respond to mouse events).
Test: fast/events/touch/ios/content-observation/visibility-change-with-image-content.html
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::StyleChangeScope::isConsideredClickable const):
LayoutTests:
- fast/events/touch/ios/content-observation/visibility-change-with-image-content-expected.txt: Added.
- fast/events/touch/ios/content-observation/visibility-change-with-image-content.html: Added.
- 3:18 PM Changeset in webkit [243016] by
-
- 3 edits in trunk/Source/WebKit
_WKDownload should conform to NSCopying protocol
https://bugs.webkit.org/show_bug.cgi?id=195718
Reviewed by Tim Horton.
This will allow us to use it as keys in NSMutableDictionaries, which Safari already kind of does.
- UIProcess/API/Cocoa/_WKDownload.h:
- UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload copyWithZone:]):
- 3:06 PM Changeset in webkit [243015] by
-
- 5 edits1 copy1 add in trunk
Provide an option for an always-on fast click mode in iOS
https://bugs.webkit.org/show_bug.cgi?id=195822
<rdar://problem/48939357>
Reviewed by Sam Weinig.
Source/WebKit:
Add an option that will always trigger a click and never
wait for a double tap to zoom. It is disabled by default.
- Shared/WebPreferences.yaml:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _handleSmartMagnificationInformationForPotentialTap:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:]):
LayoutTests:
New test for "always fast click" mode.
- fast/events/ios/ipad/fast-click-always-expected.txt: Added.
- fast/events/ios/ipad/fast-click-always.html: Copied from LayoutTests/fast/events/ios/ipad/fast-click-double-tap-sends-click-on-insignificant-zoom.html.
- fast/events/ios/ipad/fast-click-double-tap-sends-click-on-insignificant-zoom.html:
- 3:02 PM Changeset in webkit [243014] by
-
- 22 edits4 copies2 adds in trunk
Add a "supportedConfiguration" dictionary to MediaCapabilitiesDecodingInfo and MediaCapabilitiesEncodingInfo
https://bugs.webkit.org/show_bug.cgi?id=195763
Reviewed by Jon Lee.
Source/WebCore:
Test: media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html
Add support for a proposed addition to the Media Capabilities spec that would future-proof additional changes
to Media Capabilities by allowing sites to check exactly what properties were queried by the browser when
answering a decodeInfo() or enocdeInfo() query.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/mediacapabilities/AudioConfiguration.idl:
- Modules/mediacapabilities/MediaCapabilities.cpp:
(WebCore::MediaCapabilities::decodingInfo):
(WebCore::MediaCapabilities::encodingInfo):
- Modules/mediacapabilities/MediaCapabilities.idl:
- Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl:
- Modules/mediacapabilities/MediaCapabilitiesInfo.idl:
- Modules/mediacapabilities/MediaDecodingConfiguration.idl:
- Modules/mediacapabilities/MediaEncodingConfiguration.idl:
- Modules/mediacapabilities/VideoConfiguration.idl:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/MediaCapabilitiesDecodingInfo.h: Copied from Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h.
(WebCore::MediaCapabilitiesDecodingInfo::MediaCapabilitiesDecodingInfo):
- platform/MediaCapabilitiesEncodingInfo.h: Copied from Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h.
(WebCore::MediaCapabilitiesEncodingInfo::MediaCapabilitiesEncodingInfo):
- platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:
(WebCore::createMediaPlayerDecodingConfigurationCocoa):
- platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h:
- platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.cpp:
(WebCore::createMediaPlayerDecodingConfigurationGStreamer):
- platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.h:
- platform/mediacapabilities/MediaEngineConfigurationFactory.cpp:
(WebCore::MediaEngineConfigurationFactory::createDecodingConfiguration):
(WebCore::MediaEngineConfigurationFactory::createEncodingConfiguration):
- platform/mediacapabilities/MediaEngineConfigurationFactory.h:
- platform/mock/MediaEngineConfigurationFactoryMock.cpp:
(WebCore::MediaEngineConfigurationFactoryMock::createDecodingConfiguration):
(WebCore::MediaEngineConfigurationFactoryMock::createEncodingConfiguration):
- platform/mock/MediaEngineConfigurationFactoryMock.h:
LayoutTests:
- media/mediacapabilities/mock-decodingInfo-supportedConfiguration-expected.txt: Added.
- media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html: Added.
- 2:45 PM Changeset in webkit [243013] by
-
- 2 edits in trunk/PerformanceTests
Fixed a bug preventing the overall sore to be displayed on JetStream2
https://bugs.webkit.org/show_bug.cgi?id=195817
Rubber-stamped by Saam Barati.
- JetStream2/JetStreamDriver.js:
(Driver.prototype.async.start):
- 2:36 PM Changeset in webkit [243012] by
-
- 12 edits in trunk
Add support to WebPage for getting the contents as an attributed string.
https://bugs.webkit.org/show_bug.cgi?id=195636
rdar://problem/45055697
Reviewed by Tim Horton.
Source/WebKit:
- Shared/mac/AttributedString.h:
(WebKit::AttributedString::AttributedString):
- Shared/mac/AttributedString.mm:
(IPC::ArgumentCoder<WebKit::AttributedString>::encode):
(IPC::ArgumentCoder<WebKit::AttributedString>::decode):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _getContentsAsAttributedStringWithCompletionHandler:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getContentsAsAttributedString):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::getContentsAsAttributedString):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm:
(TEST(WKWebView, GetContentsShouldReturnAttributedString): Added.
- 2:33 PM Changeset in webkit [243011] by
-
- 9 edits in trunk/Source/JavaScriptCore
[JSC] Make more properties lazily-allocated in JSGlobalObject, including properties only used in JIT mode
https://bugs.webkit.org/show_bug.cgi?id=195816
Reviewed by Michael Saboff.
This patch makes more properties lazily-allocated in JSGlobalObject. This patch makes the following lazily-allocated.
- iteratorResultObjectStructure
- WebAssembly related objects except for JSWebAssembly top-level object.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::iteratorResultObjectStructure const):
(JSC::JSGlobalObject::webAssemblyModuleRecordStructure const):
(JSC::JSGlobalObject::webAssemblyFunctionStructure const):
(JSC::JSGlobalObject::webAssemblyWrapperFunctionStructure const):
(JSC::JSGlobalObject::webAssemblyToJSCalleeStructure const):
- wasm/js/JSWebAssembly.cpp:
- wasm/js/JSWebAssembly.h:
- 2:30 PM Changeset in webkit [243010] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Fix sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=195387
<rdar://problem/48442387>
Reviewed by Brent Fulgham.
The sandbox on iOS and macOS needs to allow mach lookup to the "com.apple.nesessionmanager.content-filter"
mach service. Also, mach lookups to "com.apple.nehelper" should be allowed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 2:07 PM Changeset in webkit [243009] by
-
- 7 edits in trunk
[PSON] Make sure the WebProcessCache is leverage when relaunching a process after termination
https://bugs.webkit.org/show_bug.cgi?id=195747
Reviewed by Geoff Garen.
Source/WebKit:
Make sure the WebProcessCache and the prewarmed process are used when relaunching a process
after termination (e.g. crash).
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::reattachToWebProcessForReload):
(WebKit::WebPageProxy::reattachToWebProcessWithItem):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::processForNavigationInternal):
(WebKit::WebProcessPool::tryPrewarmWithDomainInformation):
- UIProcess/WebProcessPool.h:
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 1:27 PM Changeset in webkit [243008] by
-
- 15 edits in trunk/Source
[iOS] Block the accessibility server when accessibility is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=195342
Reviewed by Brent Fulgham.
Source/WebKit:
By default, block the iOS accessibility server in the sandbox. If accessibility is enabled,
let the UI process issue a mach extension to the WebContent process. The UI process will
issue the mach extension the the WebContent process by its process identifier. The sandbox
extension handle is sent to the WebContent process to be consumed. The message will be sent
when the WebProcess has finished launching, and also when accessibility is turned on.
- Platform/spi/ios/AccessibilitySupportSPI.h:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/SandboxExtension.h:
- Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtensionImpl::create):
(WebKit::SandboxExtensionImpl::sandboxExtensionForType):
(WebKit::SandboxExtensionImpl::SandboxExtensionImpl):
(WebKit::SandboxExtension::createHandleForMachLookupByPid):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebProcessProxy.h:
- UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::unblockAccessibilityServer):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
Source/WTF:
Add SPI to issue a mach extension to a process by pid.
- wtf/spi/darwin/SandboxSPI.h:
- 1:06 PM Changeset in webkit [243007] by
-
- 18 edits in trunk/Source
Use Region for event region even when it is a rectangle
https://bugs.webkit.org/show_bug.cgi?id=195803
Reviewed by Simon Fraser.
Source/WebCore:
Region type is now optimized for the common single-rectangle case so we can simplify code.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setEventRegion):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::eventRegion const):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setEventRegion):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/PlatformCALayer.h:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
Source/WebKit:
- Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyProperties):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode const):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
- UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h:
(WebKit::RemoteLayerTreeNode::eventRegion const):
- UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm:
(WebKit::RemoteLayerTreeNode::setEventRegion):
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(WebKit::collectDescendantViewsAtPoint):
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::setEventRegion):
(WebKit::PlatformCALayerRemote::eventRegion const): Deleted.
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h:
- 12:34 PM Changeset in webkit [243006] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed unified build fix: GPUBindGroup has a default public constructor and destructor, so all its member
variables must be fully defined.
- platform/graphics/gpu/GPUBindGroup.h:
- 12:14 PM Changeset in webkit [243005] by
-
- 2 edits in trunk/Source/JavaScriptCore
[CMake] Move test .js files into testapiScripts
https://bugs.webkit.org/show_bug.cgi?id=195565
Reviewed by Yusuke Suzuki.
testapi expect .js file in the testapiScripts-directory.
- shell/CMakeLists.txt:
- 11:44 AM Changeset in webkit [243004] by
-
- 4 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Network - Toggle Between Live Activity and Imported HAR resource collections
https://bugs.webkit.org/show_bug.cgi?id=195734
Reviewed by Devin Rousso.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Images/NetworkHAR.svg: Added.
- UserInterface/Images/NetworkOverview.svg: Added.
- UserInterface/Views/NetworkTableContentView.css:
(.content-view.tab.network > .content-browser > .navigation-bar .hierarchical-path .icon):
(.network-overview-icon > .icon):
(.network-har-icon > .icon):
(@media (prefers-color-scheme: dark)):
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.get navigationItems):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.tableIndexForRepresentedObject):
(WI.NetworkTableContentView.prototype.tableRepresentedObjectForIndex):
(WI.NetworkTableContentView.prototype.tableNumberOfRows):
(WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
(WI.NetworkTableContentView.prototype.tableSelectionDidChange):
(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._addCollection):
(WI.NetworkTableContentView.prototype._setActiveCollection):
(WI.NetworkTableContentView.prototype._addCollectionPathComponent):
(WI.NetworkTableContentView.prototype._collectionsHierarchicalPathComponentWasSelected):
(WI.NetworkTableContentView.prototype._changeCollection):
(WI.NetworkTableContentView.prototype.handleClearShortcut):
(WI.NetworkTableContentView.prototype._updateWaterfallTimeRange):
(WI.NetworkTableContentView.prototype._updateWaterfallTimelineRuler):
(WI.NetworkTableContentView.prototype._canExportHAR):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
(WI.NetworkTableContentView.prototype._rowIndexForRepresentedObject):
(WI.NetworkTableContentView.prototype._updateEntryForResource):
(WI.NetworkTableContentView.prototype._updateEmptyFilterResultsMessage):
(WI.NetworkTableContentView.prototype._mainResourceDidChange):
(WI.NetworkTableContentView.prototype._mainFrameDidChange):
(WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
(WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
(WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
(WI.NetworkTableContentView.prototype._handleResourceAdded):
(WI.NetworkTableContentView.prototype._runForMainCollection):
(WI.NetworkTableContentView.prototype._isShowingMainCollection):
(WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
(WI.NetworkTableContentView.prototype._handleNodeDidFireEvent):
(WI.NetworkTableContentView.prototype._handleNodeLowPowerChanged):
(WI.NetworkTableContentView.prototype._updateSort):
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._urlFilterDidChange):
(WI.NetworkTableContentView.prototype._HARResources):
(WI.NetworkTableContentView.prototype._importHAR):
Introduce the concept of collections that can be swapped in/out
to re-render the Network Table with different contents.
- 11:26 AM Changeset in webkit [243003] by
-
- 7 edits in trunk
Unreviewed, rolling out r242952.
Causing API failures on iOS Simulator
Reverted changeset:
"[PSON] Make sure the WebProcessCache is leverage when
relaunching a process after termination"
https://bugs.webkit.org/show_bug.cgi?id=195747
https://trac.webkit.org/changeset/242952
- 11:18 AM Changeset in webkit [243002] by
-
- 26 edits4 adds in trunk/Source
[macOS] Broker access to Speech Synthesis
https://bugs.webkit.org/show_bug.cgi?id=195645
<rdar://problem/35369026>
Reviewed by Brent Fulgham.
To be able to close the connection to the speech synthesis daemon in the WebContent process,
speech synthesis should be performed in the UI process. This patch forwards speech synthesis
requests to the UI process by sending messages. On the UI process side, the speech synthesis
is performed by simply using the existing platform speech synthesizer. Speech synthesis
events are sent back to the WebContent process. All messages are async, except for the
message to get the list of available voices.
Source/WebCore:
No new tests, covered by existing tests.
- Modules/speech/DOMWindowSpeechSynthesis.cpp:
(WebCore::DOMWindowSpeechSynthesis::speechSynthesis):
- Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::create):
(WebCore::SpeechSynthesis::SpeechSynthesis):
(WebCore::SpeechSynthesis::setPlatformSynthesizer):
(WebCore::SpeechSynthesis::getVoices):
(WebCore::SpeechSynthesis::startSpeakingImmediately):
(WebCore::SpeechSynthesis::cancel):
(WebCore::SpeechSynthesis::pause):
(WebCore::SpeechSynthesis::resume):
(WebCore::SpeechSynthesis::boundaryEventOccurred):
(WebCore::SpeechSynthesis::didStartSpeaking):
(WebCore::SpeechSynthesis::didFinishSpeaking):
(WebCore::SpeechSynthesis::didPauseSpeaking):
(WebCore::SpeechSynthesis::didResumeSpeaking):
(WebCore::SpeechSynthesis::speakingErrorOccurred):
(WebCore::SpeechSynthesis::voicesChanged):
- Modules/speech/SpeechSynthesis.h:
- WebCore.xcodeproj/project.pbxproj:
- page/Page.cpp:
(WebCore::Page::Page):
- page/Page.h:
(WebCore::Page::speechSynthesisClient const):
- page/PageConfiguration.cpp:
- page/PageConfiguration.h:
- page/SpeechSynthesisClient.h: Added.
- platform/PlatformSpeechSynthesisUtterance.h:
- platform/PlatformSpeechSynthesizer.h:
- platform/ios/PlatformSpeechSynthesizerIOS.mm:
(-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakRangeOfSpeechString:utterance:]):
- platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):
- platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::speak):
Source/WebKit:
- Sources.txt:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::didStartSpeaking):
(WebKit::WebPageProxy::didFinishSpeaking):
(WebKit::WebPageProxy::didPauseSpeaking):
(WebKit::WebPageProxy::didResumeSpeaking):
(WebKit::WebPageProxy::speakingErrorOccurred):
(WebKit::WebPageProxy::boundaryEventOccurred):
(WebKit::WebPageProxy::voicesDidChange):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::ensureSpeechSynthesisData):
(WebKit::WebPageProxy::speechSynthesisVoiceList):
(WebKit::WebPageProxy::speechSynthesisSpeak):
(WebKit::WebPageProxy::speechSynthesisCancel):
(WebKit::WebPageProxy::speechSynthesisPause):
(WebKit::WebPageProxy::speechSynthesisResume):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp: Added.
(WebKit::WebSpeechSynthesisClient::voiceList):
(WebKit::WebSpeechSynthesisClient::speak):
(WebKit::WebSpeechSynthesisClient::cancel):
(WebKit::WebSpeechSynthesisClient::pause):
(WebKit::WebSpeechSynthesisClient::resume):
- WebProcess/WebCoreSupport/WebSpeechSynthesisClient.h: Added.
(WebKit::WebSpeechSynthesisClient::WebSpeechSynthesisClient):
(WebKit::WebSpeechSynthesisClient::~WebSpeechSynthesisClient):
- WebProcess/WebCoreSupport/WebSpeechSynthesisVoice.h: Added.
(WebKit::WebSpeechSynthesisVoice::encode const):
(WebKit::WebSpeechSynthesisVoice::decode):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_hostFileDescriptor):
(WebKit::WebPage::speakingErrorOccurred):
(WebKit::WebPage::boundaryEventOccurred):
(WebKit::WebPage::voicesDidChange):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/com.apple.WebProcess.sb.in:
- WebProcess/glib/WebProcessGLib.cpp:
- 11:07 AM Changeset in webkit [243001] by
-
- 2 edits in branches/safari-607.1.40.0-branch/Source/WebCore
Revert r242781. rdar://problem/48795264
- 11:07 AM Changeset in webkit [243000] by
-
- 2 edits in branches/safari-607.1.40.0-branch/Source/WebCore
Revert r242822. rdar://problem/48795264
- 10:14 AM Changeset in webkit [242999] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: add a missing exception check after r242991.
https://bugs.webkit.org/show_bug.cgi?id=195791
Unreviewed.
- tools/JSDollarVM.cpp:
(JSC::functionGetGetterSetter):
- 9:50 AM Changeset in webkit [242998] by
-
- 2 edits in trunk/Source/WebCore
Try to fix watchOS build.
- platform/graphics/Region.h:
(WebCore::Region::Span::decode):
- 9:26 AM Changeset in webkit [242997] by
-
- 12 edits4 adds in trunk
[Async overflow Scrolling] Update positioned node layers when overflows are scrolled
https://bugs.webkit.org/show_bug.cgi?id=195733
rdar://problem/11642295
Reviewed by Antti Koivisto.
Source/WebCore:
Make ScrollingTree positioned nodes in the two cases where we need them, as
detected by RenderLayerCompositor::computeCoordinatedPositioningForLayer().
For "Moves" layers we know that the overflow is not in the z-order ancestor chain,
so ScrollingTree needs a map of overflow node -> affected positioned nodes which
notifyRelatedNodesAfterScrollPositionChange() uses to find nodes to update after
a scroll. Computing these dependent nodes in RenderLayerCompositor() would require
correct dependency analysis between an overflow layers and "positioned" layers which
is hard. It's easier to have "positioned" layers figure out which overflow nodes
affect them, then compute the inverse relationship when the scrolling tree is updated
which happens in ScrollingTreePositionedNode::commitStateBeforeChildren().
Tests: scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll.html
scrollingcoordinator/ios/relative-layer-should-move-with-scroll.html
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::applyLayerPositions):
(WebCore::ScrollingTree::notifyRelatedNodesAfterScrollPositionChange):
(WebCore::ScrollingTree::scrollingTreeAsText):
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::overflowRelatedNodes):
- page/scrolling/ScrollingTreeOverflowScrollingNode.cpp:
(WebCore::ScrollingTreeOverflowScrollingNode::dumpProperties const):
- page/scrolling/ScrollingTreeOverflowScrollingNode.h:
- page/scrolling/cocoa/ScrollingTreePositionedNode.mm:
(WebCore::ScrollingTreePositionedNode::commitStateBeforeChildren):
(WebCore::ScrollingTreePositionedNode::applyLayerPositions):
(WebCore::ScrollingTreePositionedNode::relatedNodeScrollPositionDidChange):
- rendering/RenderLayerCompositor.cpp:
(WebCore::layerContainingBlockCrossesCoordinatedScrollingBoundary):
(WebCore::layerParentedAcrossCoordinatedScrollingBoundary):
(WebCore::RenderLayerCompositor::computeCoordinatedPositioningForLayer const):
(WebCore::collectRelatedCoordinatedScrollingNodes):
(WebCore::RenderLayerCompositor::updateScrollingNodeForPositioningRole):
LayoutTests:
New tests that use uiController.scrollUpdatesDisabled, and are the two move/stationary
cases.
- platform/ios-wk2/scrollingcoordinator/scrolling-tree/positioned-nodes-expected.txt:
- scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll-expected.html: Added.
- scrollingcoordinator/ios/absolute-layer-should-not-move-with-scroll.html: Added.
- scrollingcoordinator/ios/relative-layer-should-move-with-scroll-expected.html: Added.
- scrollingcoordinator/ios/relative-layer-should-move-with-scroll.html: Added.
- scrollingcoordinator/ios/ui-scrolling-tree-expected.txt: Fixed the last paren showing up.
- scrollingcoordinator/scrolling-tree/positioned-nodes-expected.txt: We make positioned nodes now.
- 9:20 AM Changeset in webkit [242996] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 8:43 AM Changeset in webkit [242995] by
-
- 11 edits in trunk/Source
Optimize Region for single rectangle case
https://bugs.webkit.org/show_bug.cgi?id=195743
Reviewed by Simon Fraser.
Source/WebCore:
Instrumentation shows vast majority of Region objects consist of a single rectangle. However it always allocates
the large Shape data structure. This makes it unsuitable to use as a member in any popular objects.
This patch optimizes the single rectangle case by using only the bounds rectangle to describe it.
Shape is allocated on demand. This makes it safe to use Region as a data member where a rectangle is the common case.
The patch also modernizes Region encoding/decoding support.
- platform/graphics/Region.cpp:
(WebCore::Region::Region):
(WebCore::Region::~Region):
(WebCore::Region::operator=):
(WebCore::Region::rects const):
(WebCore::Region::contains const):
(WebCore::Region::intersects const):
(WebCore::Region::Shape::Shape):
(WebCore::Region::Shape::appendSpan):
(WebCore::Region::dump const):
(WebCore::Region::intersect):
(WebCore::Region::unite):
(WebCore::Region::subtract):
(WebCore::Region::translate):
(WebCore::Region::setShape):
(WebCore::Region::Shape::isValid const): Deleted.
(WebCore::Region::Shape::swap): Deleted.
(WebCore::Region::updateBoundsFromShape): Deleted.
Remove some now unused function.
- platform/graphics/Region.h:
(WebCore::Region::isRect const):
(WebCore::Region::gridSize const):
(WebCore::Region::copyShape const):
(WebCore::operator==):
(WebCore::Region::Span::encode const):
(WebCore::Region::Span::decode):
(WebCore::Region::Shape::encode const):
(WebCore::Region::Shape::decode):
(WebCore::Region::encode const):
(WebCore::Region::decode):
This is now part of type.
(WebCore::Region::isValid const): Deleted.
(WebCore::Region::Span::Span): Deleted.
(WebCore::Region::shapeSegments const): Deleted.
(WebCore::Region::shapeSpans const): Deleted.
(WebCore::Region::setShapeSegments): Deleted.
(WebCore::Region::setShapeSpans): Deleted.
(WebCore::Region::Shape::segments const): Deleted.
(WebCore::Region::Shape::spans const): Deleted.
(WebCore::Region::Shape::setSegments): Deleted.
(WebCore::Region::Shape::setSpans): Deleted.
No need to expose these for encoding anymore.
Source/WebKit:
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<EventTrackingRegions>::decode):
(IPC::ArgumentCoder<Region::Span>::encode): Deleted.
(IPC::ArgumentCoder<Region::Span>::decode): Deleted.
(IPC::ArgumentCoder<Region>::encode): Deleted.
(IPC::ArgumentCoder<Region>::decode): Deleted.
- Shared/WebCoreArgumentCoders.h:
- 4:25 AM Changeset in webkit [242994] by
-
- 2 edits in trunk/JSTests
[ARM,MIPS] Skip slow tests
https://bugs.webkit.org/show_bug.cgi?id=195799
Unreviewed, test does not finish on ARM and MIPS within the
timeout limit.
- stress/symbol-is-destructed-before-refing-underlying-symbol-impl.js:
- 2:32 AM Changeset in webkit [242993] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening for WinCairo port
- platform/wincairo/TestExpectations: Unskipped http/tests/ssl and Marked them the current results.
- 1:12 AM Changeset in webkit [242992] by
-
- 35 edits3 adds in trunk
Web Inspector: provide a way to capture a screenshot of a node from within the page
https://bugs.webkit.org/show_bug.cgi?id=194279
<rdar://problem/10731573>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
Add
console.screenshotfunctionality, which displays a screenshot of a given object (if
able) within Web Inspector's Console tab. From there, it can be viewed and saved.
Currently,
console.screenshotwill
- capture an image of a
Node(if provided) - capture an image of the viewport if nothing is provided
- inspector/protocol/Console.json:
Add
Imageenum value toConsoleMessagetype.
- runtime/ConsoleTypes.h:
- inspector/ConsoleMessage.h:
- inspector/ConsoleMessage.cpp:
(Inspector::messageTypeValue):
- runtime/ConsoleClient.h:
- runtime/ConsoleObject.cpp:
(JSC::ConsoleObject::finishCreation):
(JSC::consoleProtoFuncScreenshot): Added.
- inspector/JSGlobalObjectConsoleClient.h:
- inspector/JSGlobalObjectConsoleClient.cpp:
(Inspector::JSGlobalObjectConsoleClient::screenshot): Added.
Source/WebCore:
Test: inspector/console/console-screenshot.html
Add
console.screenshotfunctionality, which displays a screenshot of a given object (if
able) within Web Inspector's Console tab. From there, it can be viewed and saved.
Currently,
console.screenshotwill
- capture an image of a
Node(if provided) - capture an image of the viewport if nothing is provided
- page/PageConsoleClient.h:
- page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::screenshot): Added.
- workers/WorkerConsoleClient.h:
- workers/WorkerConsoleClient.cpp:
(WebCore::WorkerConsoleClient::screenshot): Added.
- worklets/WorkletConsoleClient.h:
- worklets/WorkletConsoleClient.cpp:
(WebCore::WorkletConsoleClient::screenshot): Added.
- inspector/CommandLineAPIModuleSource.js:
(CommandLineAPIImpl.prototype.screenshot): Added.
- inspector/InspectorInstrumentation.h:
Source/WebInspectorUI:
Add
console.screenshotfunctionality, which displays a screenshot of a given object (if
able) within Web Inspector's Console tab. From there, it can be viewed and saved.
Currently,
console.screenshotwill
- capture an image of a
Node(if provided) - capture an image of the viewport if nothing is provided
- UserInterface/Models/ConsoleMessage.js:
(WI.ConsoleMessage):
- UserInterface/Views/ConsoleCommandView.js:
(WI.ConsoleCommandView.prototype.render):
- UserInterface/Views/ConsoleMessageView.js:
(WI.ConsoleMessageView.prototype.render):
(WI.ConsoleMessageView.prototype.toClipboardString):
(WI.ConsoleMessageView.prototype._appendMessageTextAndArguments):
(WI.ConsoleMessageView.prototype._appendSavedResultIndex):
(WI.ConsoleMessageView.prototype._appendStackTrace):
(WI.ConsoleMessageView.prototype._makeExpandable):
(WI.ConsoleMessageView.prototype._handleContextMenu): Added.
- UserInterface/Views/ConsoleMessageView.css:
(.console-user-command.special-user-log > .console-message-body): Added.
(.console-message-body): Added.
(.console-message-body > span): Added.
(.console-message-body > span > :matches(.console-message-enclosed, .console-message-preview, .console-message-preview-divider)): Added.
(.console-message-body > .console-image): Added.
(.console-message-body > .show-grid): Added.
(.console-error-level .console-message-body): Added.
(.console-warning-level .console-message-body): Added.
(.console-log-level.console-image-container::before): Added.
(.console-user-command > .console-message-body): Added.
(.console-warning-level .console-message-body): Added.
(.console-error-level .console-message-body): Added.
(.console-user-command > .console-message-body): Added.
(.console-user-command.special-user-log > .console-message-text): Deleted.
(.console-message-text): Deleted.
(.console-message-text > span): Deleted.
(.console-message-text > span > :matches(.console-message-enclosed, .console-message-preview, .console-message-preview-divider)): Deleted.
(.console-error-level .console-message-text): Deleted.
(.console-warning-level .console-message-text): Deleted.
(.console-user-command > .console-message-text): Deleted.
(.console-warning-level .console-message-text): Deleted.
(.console-error-level .console-message-text): Deleted.
(.console-user-command > .console-message-text): Deleted.
- UserInterface/Views/LogContentView.css:
(.search-in-progress .console-item:not(.filtered-out-by-search).special-user-log .console-message-text .highlighted): Added.
(.search-in-progress .console-item:not(.filtered-out-by-search).special-user-log .console-message-body .highlighted): Deleted.
Renamed variables/classes to be more semantically correct when the content is an image.
_messageTextElementto_messageBodyElement(JS).console-message-textto.console-message-body(CSS)
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WI.JavaScriptLogViewController.prototype.renderPendingMessages):
- UserInterface/Views/Main.css:
(:matches(img, canvas).show-grid):
(@media (prefers-color-scheme: dark) :matches(img, canvas).show-grid):
- UserInterface/Base/FileUtilities.js:
(WI.FileUtilities.screenshotString): Added.
- UserInterface/Models/NativeFunctionParameters.js:
- UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
- UserInterface/Images/ConsoleImage.svg: Copied from UserInterface/Images/Canvas.svg.
- Localizations/en.lproj/localizedStrings.js:
LayoutTests:
- js/console.html:
- js/console-expected.txt:
- inspector/console/console-screenshot.html: Added.
- inspector/console/console-screenshot-expected.txt: Added.
- http/tests/inspector/dom/cross-domain-inspected-node-access-expected.txt: