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

Timeline



Jan 1, 2020:

3:53 PM Changeset in webkit [253972] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][Integration] Provide the viewport size when faking ICB
https://bugs.webkit.org/show_bug.cgi?id=205676
<rdar://problem/58263799>

Reviewed by Antti Koivisto.

Normally we would get the viewport size by checking the ICB, but in integration mode
the ICB is not sized to the size of the RenderView.

  • layout/LayoutState.cpp:

(WebCore::Layout::LayoutState::setViewportSize):
(WebCore::Layout::LayoutState::viewportSize const):

  • layout/LayoutState.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::prepareRootGeometryForLayout):

1:22 PM Changeset in webkit [253971] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Make SelectorCompiler interface use CompiledSelector type
https://bugs.webkit.org/show_bug.cgi?id=205673

Reviewed by Sam Weinig.

SelectorCompiler interface is currently rather low-level, taking void* code references.
Expand use of CompiledSelector type to simplify clients.

  • cssjit/CompiledSelector.h:

(WebCore::CompiledSelector::wasUsed):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::compileSelector):

Generate code directory to a CompiledSelector.

  • cssjit/SelectorCompiler.h:

(WebCore::SelectorCompiler::ruleCollectorSimpleSelectorCheckerFunction):
(WebCore::SelectorCompiler::querySelectorSimpleSelectorCheckerFunction):
(WebCore::SelectorCompiler::ruleCollectorSelectorCheckerFunctionWithCheckingContext):
(WebCore::SelectorCompiler::querySelectorSelectorCheckerFunctionWithCheckingContext):

Take CompiledSelector.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::SelectorDataList):
(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker const):
(WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext const):
(WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData const):
(WebCore::SelectorDataList::compileSelector):
(WebCore::SelectorDataList::execute const):
(WebCore::isCompiledSelector): Deleted.

  • dom/SelectorQuery.h:

(WebCore::SelectorDataList::SelectorData::SelectorData): Deleted.
(WebCore::SelectorDataList::SelectorData::~SelectorData): Deleted.
(WebCore::SelectorDataList::SelectorData::compiledSelectorUsed const): Deleted.

Replace SelectorData fields with a CompiledSelector member.

  • style/ElementRuleCollector.cpp:

(WebCore::Style::ElementRuleCollector::ruleMatches):

1:15 PM Changeset in webkit [253970] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC][IFC] Add support for ink overflow
https://bugs.webkit.org/show_bug.cgi?id=205674
<rdar://problem/58262376>

Reviewed by Antti Koivisto.

Add ink overflow information to Display::Run and to each Display::LineBox while
the display boxes are being created.
(Eventually we should add both scrollable and ink overflow to Display::Box)

  • layout/displaytree/DisplayInlineRect.h:

(WebCore::Display::InlineRect::expandToContain):
(WebCore::Display::InlineRect::inflate):

  • layout/displaytree/DisplayLineBox.h:

(WebCore::Display::LineBox::scrollableOverflow const):
(WebCore::Display::LineBox::inkOverflow const):
(WebCore::Display::LineBox::setScrollableOverflow):
(WebCore::Display::LineBox::setInkOverflow):
(WebCore::Display::LineBox::scrollableOverflowRect const): Deleted.
(WebCore::Display::LineBox::setScrollableOverflowRect): Deleted.

  • layout/displaytree/DisplayRun.h:

(WebCore::Display::Run::inkOverflow const):
(WebCore::Display::Run::Run):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::alignContentVertically):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::collectOverflow):
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::computeVisualOverflow): Deleted.

  • platform/graphics/LayoutSize.h:

(WebCore::ceiledIntSize):

10:29 AM Changeset in webkit [253969] by mark.lam@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Declare some classes as final.
https://bugs.webkit.org/show_bug.cgi?id=205670

Reviewed by Sam Weinig.

There are a few "Status" classes, all of whom have static computeFor() methods.
All of these classes do not have derived classes, and are independent of each
others in terms of inheritance relationships. By explicitly declaring them as
final, we can make it clear that a call to any unqualified computeFor() methods
within one of these classes must be from the self class, and that external calls
to any given computeFor() method qualified with a class name is defined in that
class (and is not inherited from another class).

This detail may already be known to folks who are familiar with these classes.
Declaring them as final helps surface this independence for readers of the code
who is not already in the know.

  • bytecode/CallLinkStatus.h:
  • bytecode/ComplexGetStatus.h:
  • bytecode/GetByStatus.h:
  • bytecode/InByIdStatus.h:
  • bytecode/InstanceOfStatus.h:
  • bytecode/PutByIdStatus.h:
9:58 AM Changeset in webkit [253968] by jeffm@apple.com
  • 19 edits in trunk

Update user-visible copyright strings to include 2020
https://bugs.webkit.org/show_bug.cgi?id=205552

Reviewed by Darin Adler.

.:

  • Source/cmake/tools/scripts/COPYRIGHT-END-YEAR:

Source/JavaScriptCore:

  • Info.plist:

Source/WebCore:

  • Info.plist:

Source/WebKit:

  • GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-OSX.plist:
  • GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-iOS.plist:
  • Info.plist:
  • NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-OSX.plist:
  • NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-iOS.plist:
  • PluginProcess/EntryPoint/Cocoa/XPCService/PluginService.64.Info.plist:
  • WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-OSX.plist:
  • WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist:

Source/WebKitLegacy/mac:

  • Info.plist:

WebKitLibraries:

  • win/tools/scripts/COPYRIGHT-END-YEAR:
5:05 AM Changeset in webkit [253967] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

ServiceWorkerJobData should have a move constructor
https://bugs.webkit.org/show_bug.cgi?id=205555
<rdar://problem/57853373>

Reviewed by Darin Adler.

Previously, ServiceWorkerJobData did not have a move constructor.
Refactor code to enable it.
This improves efficiency and ensures that strings and other ref counted fields are
properly moved and isolated.
Covered by existing tests.

  • workers/service/ServiceWorkerJobData.cpp:

(WebCore::ServiceWorkerJobData::isolatedCopy const):

  • workers/service/ServiceWorkerJobData.h:

(WebCore::ServiceWorkerJobData::decode):

4:55 AM Changeset in webkit [253966] by youenn@apple.com
  • 27 edits
    1 copy
    1 add in trunk

Implement transceiver setCodecPreferences
https://bugs.webkit.org/show_bug.cgi?id=190840
<rdar://problem/45496326>

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCRtpTransceiver-setCodecPreferences-expected.txt:

Source/ThirdParty/libwebrtc:

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:

Source/WebCore:

Add binding code to pipe setCodecPreferences up to webrtc backend,
Covered by updated and rebased tests.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/mediastream/RTCRtpCapabilities.idl:
  • Modules/mediastream/RTCRtpCodecCapability.idl: Added.
  • Modules/mediastream/RTCRtpTransceiver.cpp:

(WebCore::RTCRtpTransceiver::setCodecPreferences):

  • Modules/mediastream/RTCRtpTransceiver.h:
  • Modules/mediastream/RTCRtpTransceiver.idl:
  • Modules/mediastream/RTCRtpTransceiverBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCObservers.h:

(WebCore::toExceptionCode): Deleted.

  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp:

(WebCore::toRtpCodecCapability):
(WebCore::LibWebRTCRtpTransceiverBackend::setCodecPreferences):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:

(WebCore::toExceptionCode):
(WebCore::toException):

  • Modules/mediastream/libwebrtc/LibWebRTCUtils.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/RTCRtpCapabilities.h:

(): Deleted.

  • platform/mediastream/RTCRtpCodecCapability.h: Added.
  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::toRTCRtpCapabilities):

LayoutTests:

  • webrtc/video-mute-vp8.html:
3:25 AM Changeset in webkit [253965] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Make better use of HTTPHeaderValues constants
https://bugs.webkit.org/show_bug.cgi?id=205672

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-01
Reviewed by Youenn Fablet.

Use HTTPHeaderValues constants instead of allocating
temporary strings.

  • Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::webSocketConnectRequest):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeRequest const):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::addExtraFieldsToRequest):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::createRequest):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

Dec 31, 2019:

6:27 PM Changeset in webkit [253964] by commit-queue@webkit.org
  • 32 edits
    6 copies
    8 adds in trunk

Add remote media resource loader for the GPU process
https://bugs.webkit.org/show_bug.cgi?id=205379

Patch by Peng Liu <Peng Liu> on 2019-12-31
Reviewed by Youenn Fablet.

Source/WebCore:

There are two definitions of ShouldContinue: WebCore::ScriptExecutionContext::ShouldContinue
and WebCore::ShouldContinue. This patch moves WebCore::ShouldContinue to
WebCore::PolicyChecker::ShouldContinue in order to support transmitting it in XPC messages.

Tests: media/audio-play-with-video-element.html

media/audio-play.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

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

(WebCore::MediaResource::responseReceived):

  • loader/PolicyChecker.h:
  • platform/graphics/PlatformMediaResourceLoader.h:

(WebCore::PlatformMediaResourceClient::responseReceived):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(CachedResourceStreamingClient::responseReceived):

  • platform/network/cocoa/WebCoreNSURLSession.mm:

(WebCore::WebCoreNSURLSessionDataTaskClient::responseReceived):
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:completionHandler:]):

Source/WebKit:

In the GPU process, the RemoteMediaResourceLoader creates RemoteMediaResource(s),
which will notify the media resource clients (WebCoreNSURLSessionDataTaskClient).
Then the data will be forwarded to AVFoundation.

In the Web process, MeidaResourceLoader creates MediaResource(s), which take care of
downloading media data through the network process. The received data will be forwarded to
RemoteMediaResourceProxy, which will forward the data to the corresponding RemoteMediaResource
through XPC messages.

(WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):
(WebKit::GPUConnectionToWebProcess::didReceiveMessage):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::~RemoteMediaPlayerProxy):
(WebKit::RemoteMediaPlayerProxy::requestResource):
(WebKit::RemoteMediaPlayerProxy::removeResource):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerCreateResourceLoader):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:

(WebKit::RemoteMediaPlayerProxy::~RemoteMediaPlayerProxy): Deleted.
(WebKit::RemoteMediaPlayerProxy::mediaPlayerLogIdentifier): Deleted.

  • GPUProcess/media/RemoteMediaResource.cpp: Added.

(WebKit::RemoteMediaResource::create):
(WebKit::RemoteMediaResource::RemoteMediaResource):
(WebKit::RemoteMediaResource::~RemoteMediaResource):
(WebKit::RemoteMediaResource::stop):
(WebKit::RemoteMediaResource::didPassAccessControlCheck const):
(WebKit::RemoteMediaResource::responseReceived):
(WebKit::RemoteMediaResource::redirectReceived):
(WebKit::RemoteMediaResource::shouldCacheResponse):
(WebKit::RemoteMediaResource::dataSent):
(WebKit::RemoteMediaResource::dataReceived):
(WebKit::RemoteMediaResource::accessControlCheckFailed):
(WebKit::RemoteMediaResource::loadFailed):
(WebKit::RemoteMediaResource::loadFinished):

  • GPUProcess/media/RemoteMediaResource.h: Added.

(WebKit::RemoteMediaResource::ready const):
(WebKit::RemoteMediaResource::setReady):

  • GPUProcess/media/RemoteMediaResourceIdentifier.h: Added.
  • GPUProcess/media/RemoteMediaResourceLoader.cpp: Added.

(WebKit::RemoteMediaResourceLoader::RemoteMediaResourceLoader):
(WebKit::RemoteMediaResourceLoader::~RemoteMediaResourceLoader):
(WebKit::RemoteMediaResourceLoader::requestResource):

  • GPUProcess/media/RemoteMediaResourceLoader.h: Added.
  • GPUProcess/media/RemoteMediaResourceManager.cpp: Added.

(WebKit::RemoteMediaResourceManager::RemoteMediaResourceManager):
(WebKit::RemoteMediaResourceManager::~RemoteMediaResourceManager):
(WebKit::RemoteMediaResourceManager::addMediaResource):
(WebKit::RemoteMediaResourceManager::removeMediaResource):
(WebKit::RemoteMediaResourceManager::responseReceived):
(WebKit::RemoteMediaResourceManager::redirectReceived):
(WebKit::RemoteMediaResourceManager::dataSent):
(WebKit::RemoteMediaResourceManager::dataReceived):
(WebKit::RemoteMediaResourceManager::accessControlCheckFailed):
(WebKit::RemoteMediaResourceManager::loadFailed):
(WebKit::RemoteMediaResourceManager::loadFinished):

  • GPUProcess/media/RemoteMediaResourceManager.h: Added.
  • GPUProcess/media/RemoteMediaResourceManager.messages.in: Added.
  • WebProcess/GPU/GPUProcessConnection.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::requestResource):
(WebKit::MediaPlayerPrivateRemote::removeResource):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemoteIdentifier.h:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::RemoteMediaPlayerManager::supportsTypeAndCodecs):
(WebKit::RemoteMediaPlayerManager::originsInMediaCache):
(WebKit::RemoteMediaPlayerManager::clearMediaCacheForOrigins):
(WebKit::RemoteMediaPlayerManager::networkStateChanged):
(WebKit::RemoteMediaPlayerManager::readyStateChanged):
(WebKit::RemoteMediaPlayerManager::volumeChanged):
(WebKit::RemoteMediaPlayerManager::muteChanged):
(WebKit::RemoteMediaPlayerManager::timeChanged):
(WebKit::RemoteMediaPlayerManager::durationChanged):
(WebKit::RemoteMediaPlayerManager::rateChanged):
(WebKit::RemoteMediaPlayerManager::playbackStateChanged):
(WebKit::RemoteMediaPlayerManager::engineFailedToLoad):
(WebKit::RemoteMediaPlayerManager::requestResource):
(WebKit::RemoteMediaPlayerManager::removeResource):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:

(WebKit::RemoteMediaPlayerManager::didReceiveMessageFromGPUProcess):
(WebKit::RemoteMediaPlayerManager::didReceiveMessageFromWebProcess): Deleted.

  • WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in:
  • WebProcess/GPU/media/RemoteMediaResourceProxy.cpp: Added.

(WebKit::RemoteMediaResourceProxy::RemoteMediaResourceProxy):
(WebKit::RemoteMediaResourceProxy::~RemoteMediaResourceProxy):
(WebKit::RemoteMediaResourceProxy::responseReceived):
(WebKit::RemoteMediaResourceProxy::redirectReceived):
(WebKit::RemoteMediaResourceProxy::shouldCacheResponse):
(WebKit::RemoteMediaResourceProxy::dataSent):
(WebKit::RemoteMediaResourceProxy::dataReceived):
(WebKit::RemoteMediaResourceProxy::accessControlCheckFailed):
(WebKit::RemoteMediaResourceProxy::loadFailed):
(WebKit::RemoteMediaResourceProxy::loadFinished):

  • WebProcess/GPU/media/RemoteMediaResourceProxy.h: Added.

LayoutTests:

  • gpu-process/TestExpectations:
  • media/audio-play-expected.txt: Added.
  • media/audio-play-with-video-element-expected.txt: Added.
  • media/audio-play-with-video-element.html: Added.
  • media/audio-play.html: Added.
4:02 PM Changeset in webkit [253963] by Darin Adler
  • 11 edits in trunk/Source

Tidy a bit of StringBuilder usage
https://bugs.webkit.org/show_bug.cgi?id=205509

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode): Remove unneeded check that
duplicates range checking that StringBuilder::appendSubstring does.

Source/WebCore:

  • dom/Range.cpp:

(WebCore::Range::toString const): Remove redundant range checking and let the
StringBuilder::appendSubstring take care of it.

  • editing/MarkupAccumulator.cpp:

(WebCore::appendCharactersReplacingEntitiesInternal): Use appendSubstring.
(WebCore::MarkupAccumulator::appendNamespace): Use single calls to
StringBuilder::append with multiple arguments rather than multiple calls.

Source/WTF:

  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::decodeFromFilename): Fix misleading variable name "hexDigit"
for result of decoding "%+XXXX"; what's decoded is a character, not a hex digit.

  • wtf/HexNumber.h: Remove unused appendUnsignedAsHexFixedSize function for

destinations other than StringBuilder. Don't need it at this time, could add
it later if we ever decide we do.

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::appendSubstring): Improved logic in appendSubstring so it
will handle even absurd values for offset and length correctly, and added a
default length of "infinity" just like in String::substring.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::convertToLowercaseWithoutLocale): Use isASCII.
(WTF::StringImpl::convertToLowercaseWithoutLocaleStartingAtFailingIndex8Bit): Ditto.

  • wtf/text/WTFString.cpp:

(asciiDebug): Use StringBuilder to build the string; this was the one place that
used appendUnsignedAsHexFixedSize on something else, and there is no need.

2:45 PM Changeset in webkit [253962] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] Add scrollable overflow rect to Display::LineBox
https://bugs.webkit.org/show_bug.cgi?id=205661
<rdar://problem/58256282>

Reviewed by Antti Koivisto.

Compute layout overflow rect while closing the line and adjusting the rust vertically.

  • layout/displaytree/DisplayInlineRect.h:

(WebCore::Display::InlineRect::setBottom):
(WebCore::Display::InlineRect::expandVerticallyToContain):

  • layout/displaytree/DisplayLineBox.h:

(WebCore::Display::LineBox::scrollableOverflowRect const):
(WebCore::Display::LineBox::logicalTopLeft const):
(WebCore::Display::LineBox::setScrollableOverflowRect):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::alignContentVertically):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::collectOverflow):

10:18 AM Changeset in webkit [253961] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Fix imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-014.html
https://bugs.webkit.org/show_bug.cgi?id=205657
<rdar://problem/58254951>

Reviewed by Antti Koivisto.

Use the adjusted available width when justifying the runs during line close.

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::justifyRuns const):
(WebCore::Layout::LineBuilder::alignHorizontally):

  • layout/inlineformatting/InlineLineBuilder.h:
8:51 AM Changeset in webkit [253960] by clopez@igalia.com
  • 2 edits in trunk/Tools

[WPE] OpenJPEG missing in install dependencies script.
https://bugs.webkit.org/show_bug.cgi?id=205647

Unreviewed follow-up fix.

Add also the OpenJPEG-2 package to the WPE install list.

  • wpe/install-dependencies:
8:15 AM Changeset in webkit [253959] by Antti Koivisto
  • 20 edits in trunk/Source/WebCore

StyleRule accessor in RuleData should return a const reference
https://bugs.webkit.org/show_bug.cgi?id=205655

Reviewed by Zalan Bujtas.

It is currently a non-const pointer.

This leads to StyleRule being const in many other places too.

  • css/StyleRule.h:

(WebCore::StyleRuleBase::deref const):
(WebCore::StyleRuleBase::deref): Deleted.

Make deref const, matching RefCounted and allowing RefPtr<const StyleRule>

  • editing/EditingStyle.cpp:

(WebCore::styleFromMatchedRulesForElement):

  • inspector/agents/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

  • inspector/agents/InspectorCSSAgent.h:
  • style/ElementRuleCollector.cpp:

(WebCore::Style::ElementRuleCollector::matchedRuleList const):
(WebCore::Style::ElementRuleCollector::transferMatchedRules):
(WebCore::Style::ElementRuleCollector::ruleMatches):
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):

  • style/ElementRuleCollector.h:
  • style/InspectorCSSOMWrappers.cpp:

(WebCore::Style::InspectorCSSOMWrappers::getWrapperForRuleInSheets):

  • style/InspectorCSSOMWrappers.h:
  • style/RuleData.cpp:

(WebCore::Style::RuleData::RuleData):

  • style/RuleData.h:

(WebCore::Style::RuleData::styleRule const):
(WebCore::Style::RuleData::compiledSelector const):
(WebCore::Style::RuleData::rule const): Deleted.

  • style/RuleFeature.cpp:

(WebCore::Style::RuleFeature::RuleFeature):
(WebCore::Style::RuleFeatureSet::collectFeatures):

  • style/RuleFeature.h:

(WebCore::Style::RuleFeature::RuleFeature): Deleted.

  • style/RuleSet.cpp:

(WebCore::Style::RuleSet::addRule):
(WebCore::Style::RuleSet::addStyleRule):
(WebCore::Style::RuleSet::evaluteDynamicMediaQueryRules):
(WebCore::Style::RuleSet::MediaQueryCollector::addRuleIfNeeded):

  • style/RuleSet.h:
  • style/StyleResolver.cpp:

(WebCore::Style::Resolver::styleRulesForElement):
(WebCore::Style::Resolver::pseudoStyleRulesForElement):

  • style/StyleResolver.h:
  • style/StyleScopeRuleSets.cpp:

(WebCore::Style::makeRuleSet):
(WebCore::Style::ensureInvalidationRuleSets):

8:13 AM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
Change insure -> ensure. Using "insure" to mean "ensure" seems archaic! (diff)
7:55 AM Changeset in webkit [253958] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC](Regression r253909) Fix fast/text/simple-line-with-br.html
https://bugs.webkit.org/show_bug.cgi?id=205653
<rdar://problem/58248900>

Reviewed by Antti Koivisto.

When the inline content is followed by a line break (e.g. text content<br>), the line
break should not initiate a new line unless the line is empty (e.g text content<br><br>).
Let's include the line break in the LineCandidateContent so that we can close the line by
adding the trailing line break (This is a partial revert of r253909).

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::nextWrapOpportunity):
(WebCore::Layout::LineCandidateContent::inlineRuns const):
(WebCore::Layout::LineCandidateContent::trailingLineBreak const):
(WebCore::Layout::LineCandidateContent::setTrailingLineBreak):
(WebCore::Layout::LineCandidateContent::append):
(WebCore::Layout::LineLayoutContext::layoutLine):
(WebCore::Layout::LineLayoutContext::nextContentForLine):
(WebCore::Layout::LineLayoutContext::tryAddingInlineItems):
(WebCore::Layout::LineCandidateContent::runs const): Deleted.
(WebCore::Layout::LineCandidateContent::isLineBreak const): Deleted.
(WebCore::Layout::LineCandidateContent::setIsLineBreak): Deleted.

  • layout/inlineformatting/LineLayoutContext.h:
2:00 AM Changeset in webkit [253957] by youenn@apple.com
  • 34 edits
    2 copies
    9 adds in trunk

Implement RTC VTB decoders in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205607

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Expose remote decoder abilities with C like functions.
This allows WebProcess to implement IPC-based decoders.
Expose VTB H264 decoder as C like functions.
This allows GPU process to instantiate wasily H2664 decoders.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:

(webrtc::videoDecoderCallbacks):
(webrtc::setVideoDecoderCallbacks):
(webrtc::RemoteVideoDecoder::RemoteVideoDecoder):
(webrtc::RemoteVideoDecoder::decodeComplete):
(webrtc::RemoteVideoDecoder::InitDecode):
(webrtc::RemoteVideoDecoder::Decode):
(webrtc::RemoteVideoDecoder::RegisterDecodeCompleteCallback):
(webrtc::RemoteVideoDecoder::Release):
(webrtc::RemoteVideoDecoderFactory::RemoteVideoDecoderFactory):
(webrtc::RemoteVideoDecoderFactory::GetSupportedFormats const):
(webrtc::RemoteVideoDecoderFactory::CreateVideoDecoder):
(webrtc::createWebKitDecoderFactory):
(webrtc::createLocalDecoder):
(webrtc::releaseLocalDecoder):
(webrtc::decodeFrame):

  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:

(-[RTCVideoDecoderH264 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
(-[RTCVideoDecoderH264 decodeData:size:timeStamp:]):

Source/WebCore:

Add routine to create a RemoveVideoSample from a pixel buffer.
Update LibWebRTCProvider to enable/disable decoding in GPU Process and add internals API.

Test: webrtc/video-gpuProcess.html

  • platform/graphics/RemoteVideoSample.cpp:

(WebCore::RemoteVideoSample::create):

  • platform/graphics/RemoteVideoSample.h:
  • platform/graphics/cv/ImageTransferSessionVT.h:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::LibWebRTCProvider::setUseGPUProcess):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUseGPUProcessForWebRTC):

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

Source/WebKit:

Implement decoder factory callbacks.
Implement WebProcess codecs by sending IPC for creating/releasing/decoding a frame.
WebProcess receives IPC messages from GPU Process whenever a frame is decoded.

  • Configurations/WebKit.xcconfig:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::libWebRTCCodecsProxy):
(WebKit::GPUConnectionToWebProcess::didReceiveMessage):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.h: Added.

(WebKit::LibWebRTCCodecsProxy::didReceiveMessageFromWebProcess):

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in: Added.
  • GPUProcess/webrtc/LibWebRTCCodecsProxy.mm: Added.

(WebKit::LibWebRTCCodecsProxy::LibWebRTCCodecsProxy):
(WebKit::LibWebRTCCodecsProxy::~LibWebRTCCodecsProxy):
(WebKit::LibWebRTCCodecsProxy::createDecoder):
(WebKit::LibWebRTCCodecsProxy::releaseDecoder):
(WebKit::LibWebRTCCodecsProxy::decodeFrame):

  • Scripts/webkit/messages.py:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/GPUProcessConnection.cpp:

(WebKit::GPUProcessConnection::didReceiveMessage):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp: Added.

(WebKit::createVideoDecoder):
(WebKit::releaseVideoDecoder):
(WebKit::decodeVideoFrame):
(WebKit::registerDecodeCompleteCallback):
(WebKit::LibWebRTCCodecs::setVideoDecoderCallbacks):
(WebKit::LibWebRTCCodecs::createDecoder):
(WebKit::LibWebRTCCodecs::releaseDecoder):
(WebKit::LibWebRTCCodecs::decodeFrame):
(WebKit::LibWebRTCCodecs::registerDecodeFrameCallback):
(WebKit::LibWebRTCCodecs::failedDecoding):
(WebKit::LibWebRTCCodecs::completedDecoding):

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.h: Added.
  • WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in: Added.
  • WebProcess/GPU/webrtc/RTCDecoderIdentifier.h: Added.
  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp:

(WebKit::LibWebRTCProvider::createDecoderFactory):

  • WebProcess/Network/webrtc/LibWebRTCProvider.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::libWebRTCCodecs):

  • WebProcess/WebProcess.h:

LayoutTests:

  • webrtc/video-gpuProcess-expected.txt: Added.
  • webrtc/video-gpuProcess.html: Added.
Note: See TracTimeline for information about the timeline view.