Skip to content

[EWS] Need /bin/sh equivalent on wincairo#142

Merged
JonWBedard merged 0 commit into
WebKit:mainfrom
JonWBedard:eng/github-ews-support-wincairo-shell
Feb 15, 2022
Merged

[EWS] Need /bin/sh equivalent on wincairo#142
JonWBedard merged 0 commit into
WebKit:mainfrom
JonWBedard:eng/github-ews-support-wincairo-shell

Conversation

@JonWBedard

@JonWBedard JonWBedard commented Feb 14, 2022

Copy link
Copy Markdown
Member

6f12010

[EWS] Need /bin/sh equivalent on wincairo
https://bugs.webkit.org/show_bug.cgi?id=236608
<rdar://problem/88926062 >

Reviewed by Don Olmstead.

* Tools/CISupport/ews-build/steps.py:
(ShellMixin.shell_command): Invoke provided command with
the system shell (either /bin/sh or cmd)
(ShellMixin.shell_exit_0): Trailing shell command ensuring
a 0 exit code regardless of the outcome of previous commands.
(ApplyPatch.start): Invoke command with cmd or /bin/sh/.
(CheckOutPullRequest.run): Ditto.
(CleanGitRepo.run): Ditto.
* Tools/CISupport/ews-build/steps_unittest.py:


Canonical link: https://commits.webkit.org/247276@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

@JonWBedard JonWBedard self-assigned this Feb 14, 2022
Comment thread Tools/CISupport/ews-build/steps.py Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably be checking whether or not its a windows cmd shell here

@JonWBedard JonWBedard Feb 14, 2022

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At the moment, we don't have such a property.

What I'm going to do is make the code clear that we're using the platform to decide if we're working with a Windows shell. In the future when/if there are other platforms using a Windows shell, it will be easy to add them or determine if we need a Windows shell in a more centralized place in the build.

Comment thread Tools/CISupport/ews-build/steps.py Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same

Comment thread Tools/CISupport/ews-build/steps.py Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably also be ||

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually given the naming of things I don't think this should have any conditional operators it should just return the command

@JonWBedard
JonWBedard force-pushed the eng/github-ews-support-wincairo-shell branch from f9132f3 to b5da806 Compare February 14, 2022 23:37
Comment thread Tools/CISupport/ews-build/steps.py Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/c is needed for cmd.

@JonWBedard
JonWBedard force-pushed the eng/github-ews-support-wincairo-shell branch from b5da806 to 6c268cc Compare February 15, 2022 01:10
@JonWBedard
JonWBedard requested a review from fujii February 15, 2022 01:10
@JonWBedard JonWBedard closed this Feb 15, 2022
@JonWBedard
JonWBedard force-pushed the eng/github-ews-support-wincairo-shell branch from 6c268cc to 6f12010 Compare February 15, 2022 15:46
@JonWBedard
JonWBedard merged commit 6f12010 into WebKit:main Feb 15, 2022
@JonWBedard

Copy link
Copy Markdown
Member Author

@JonWBedard
JonWBedard deleted the eng/github-ews-support-wincairo-shell branch February 15, 2022 15:47
@JonWBedard

Copy link
Copy Markdown
Member Author

Bots are looking happy with this: https://ews-build.webkit.org/#/builders/12/builds/73499

@JonWBedard JonWBedard added Tools / Tests Tools in the Tools directory, build issues, test infrastructure, and bugs in test cases WebKit Nightly Build labels Mar 29, 2022
webkit-commit-queue pushed a commit to xingri/WebKit that referenced this pull request Sep 6, 2023
https://bugs.webkit.org/show_bug.cgi?id=258794

Reviewed by Youenn Fablet.

The current WebRTC HEVC is using generic packetization instead of RFC 7789 Packetization.
So this is about implementing the RFC 7798 Packetization.

Fix HEVC depacketizer issues. (WebKit#185)
Enalbing low latency mode for RTC (WebKit#169)
Enable HEVC support. (WebKit#165)
Fix out-of-bounds write in H265VpsSpsPpsTracker (WebKit#163)
Apply fix bitstream logic to RtpVideoStreamReceiver2 (WebKit#142)
Add missing CODEC_H265 switch case (WebKit#136)
Add HEVC support for iOS/Android (WebKit#68)
H265 packetization_mode setting fix (WebKit#53)
Add H.265 QP parsing logic (WebKit#47)

This patch is extracted from following Open WebRTC Toolkit code changes:
<open-webrtc-toolkit/owt-deps-webrtc#185>
<open-webrtc-toolkit/owt-deps-webrtc#169>
<open-webrtc-toolkit/owt-deps-webrtc#165>
<open-webrtc-toolkit/owt-deps-webrtc#163>
<open-webrtc-toolkit/owt-deps-webrtc#142>
<open-webrtc-toolkit/owt-deps-webrtc#136>
<open-webrtc-toolkit/owt-deps-webrtc#68>
<open-webrtc-toolkit/owt-deps-webrtc#53>
<open-webrtc-toolkit/owt-deps-webrtc#47>

co-authoured by:
taste1981 <[email protected]>
jianjunz <[email protected]>
Cyril Lashkevich <[email protected]>
Piasy <[email protected]>
ShiJinCheng <[email protected]>
Andreas Unterhuber <[email protected]>
dong-heun <[email protected]>

* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video/video_codec_type.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.h:
(webrtc::VideoCodecH265::operator!= const):
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/call/rtp_payload_params.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/internal_decoder_factory.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h:
(webrtc::RtpPacketizerH265::PacketUnit::PacketUnit):
(webrtc::VideoRtpDepacketizerH265::~VideoRtpDepacketizerH265): Deleted.
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/encoded_frame.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/include/video_codec_interface.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/packet_buffer.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/scenario/video_stream.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/video_codec_settings.h:
(webrtc::test::CodecSettings):
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/encoder_overshoot_detector.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_encoder.cc:
* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/267677@main
eocanha pushed a commit to eocanha/WebKit that referenced this pull request Jun 19, 2024
https://bugs.webkit.org/show_bug.cgi?id=258794

Reviewed by Youenn Fablet.

The current WebRTC HEVC is using generic packetization instead of RFC 7789 Packetization.
So this is about implementing the RFC 7798 Packetization.

Fix HEVC depacketizer issues. (WebKit#185)
Enalbing low latency mode for RTC (WebKit#169)
Enable HEVC support. (WebKit#165)
Fix out-of-bounds write in H265VpsSpsPpsTracker (WebKit#163)
Apply fix bitstream logic to RtpVideoStreamReceiver2 (WebKit#142)
Add missing CODEC_H265 switch case (WebKit#136)
Add HEVC support for iOS/Android (WebKit#68)
H265 packetization_mode setting fix (WebKit#53)
Add H.265 QP parsing logic (WebKit#47)

This patch is extracted from following Open WebRTC Toolkit code changes:
<open-webrtc-toolkit/owt-deps-webrtc#185>
<open-webrtc-toolkit/owt-deps-webrtc#169>
<open-webrtc-toolkit/owt-deps-webrtc#165>
<open-webrtc-toolkit/owt-deps-webrtc#163>
<open-webrtc-toolkit/owt-deps-webrtc#142>
<open-webrtc-toolkit/owt-deps-webrtc#136>
<open-webrtc-toolkit/owt-deps-webrtc#68>
<open-webrtc-toolkit/owt-deps-webrtc#53>
<open-webrtc-toolkit/owt-deps-webrtc#47>

co-authoured by:
taste1981 <[email protected]>
jianjunz <[email protected]>
Cyril Lashkevich <[email protected]>
Piasy <[email protected]>
ShiJinCheng <[email protected]>
Andreas Unterhuber <[email protected]>
dong-heun <[email protected]>

* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video/video_codec_type.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_codec.h:
(webrtc::VideoCodecH265::operator!= const):
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/api/video_codecs/video_encoder.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/call/rtp_payload_params.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_common.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_vps_parser.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/base/media_constants.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/media/engine/internal_decoder_factory.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h:
(webrtc::RtpPacketizerH265::PacketUnit::PacketUnit):
(webrtc::VideoRtpDepacketizerH265::~VideoRtpDepacketizerH265): Deleted.
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/encoded_frame.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/include/video_codec_interface.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/packet_buffer.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/scenario/video_stream.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/video_codec_settings.h:
(webrtc::test::CodecSettings):
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/config/video_encoder_config.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/encoder_overshoot_detector.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver2.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy.cc:
* Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_encoder.cc:
* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/267677@main
Wowfunhappy pushed a commit to Wowfunhappy/WebKit that referenced this pull request Jun 25, 2026
)

Apple Mail's WebContent injected bundle (MailUIWebBundle) talks to the app
over the legacy WKConnection bundle<->app channel, which had been removed
upstream before this backport's base. Reconstruct that subsystem so message
bodies flow to the UI process and images load:

- WKConnection / WKConnectionInternal / WKConnection.mm: the WKConnection
  class + WKConnectionDelegate protocol, with a recursive ObjCObjectGraph
  body serializer (String/Number/Data/Array/Dictionary) and a controller
  round-trip keyed by WebPageProxyIdentifier (shared across processes).
- WKProcessGroup: WKConnection delegate plumbing
  (processGroup:didCreateConnectionToWebProcessPlugIn:).
- WKWebProcessPlugIn: lazily vend a WKConnection backed by WKBundlePostMessage
  and register the browser-context controller under the page-proxy id.
- WKBrowsingContextController: restore activeURL/provisionalURL/committedURL/
  title/estimatedProgress over the live WKPageCopy* C SPI; route
  loadData:...userData: through WKPageLoadDataWithUserData so the userData
  (which carries the image-loading context) is no longer dropped (WebKit#142).
- WKTypeRefWrapper: restore the legacy ObjC wrapper class the bundle dlopens.
- WKPage: in PolicyClient::decidePolicyForNavigationAction, let legacy V0/V1
  clients' own client/user-input loads through without a redundant policy
  round-trip they don't expect (matches Safari-7-era WebKit2 behavior).
- GPUCanvasContextCocoa / MavericksBackportWebCoreGlue: supply WebCore symbols
  whose normal impl TU is excluded from the 10.9 build, so the eagerly-bound
  injected bundle resolves at load time (isRegexpMatching via
  NSRegularExpression; GPUCanvasContext::create returns nullptr as upstream
  does off-Cocoa).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Wowfunhappy pushed a commit to Wowfunhappy/WebKit that referenced this pull request Jul 24, 2026
)

Apple Mail's WebContent injected bundle (MailUIWebBundle) talks to the app
over the legacy WKConnection bundle<->app channel, which had been removed
upstream before this backport's base. Reconstruct that subsystem so message
bodies flow to the UI process and images load:

- WKConnection / WKConnectionInternal / WKConnection.mm: the WKConnection
  class + WKConnectionDelegate protocol, with a recursive ObjCObjectGraph
  body serializer (String/Number/Data/Array/Dictionary) and a controller
  round-trip keyed by WebPageProxyIdentifier (shared across processes).
- WKProcessGroup: WKConnection delegate plumbing
  (processGroup:didCreateConnectionToWebProcessPlugIn:).
- WKWebProcessPlugIn: lazily vend a WKConnection backed by WKBundlePostMessage
  and register the browser-context controller under the page-proxy id.
- WKBrowsingContextController: restore activeURL/provisionalURL/committedURL/
  title/estimatedProgress over the live WKPageCopy* C SPI; route
  loadData:...userData: through WKPageLoadDataWithUserData so the userData
  (which carries the image-loading context) is no longer dropped (WebKit#142).
- WKTypeRefWrapper: restore the legacy ObjC wrapper class the bundle dlopens.
- WKPage: in PolicyClient::decidePolicyForNavigationAction, let legacy V0/V1
  clients' own client/user-input loads through without a redundant policy
  round-trip they don't expect (matches Safari-7-era WebKit2 behavior).
- GPUCanvasContextCocoa / MavericksBackportWebCoreGlue: supply WebCore symbols
  whose normal impl TU is excluded from the 10.9 build, so the eagerly-bound
  injected bundle resolves at load time (isRegexpMatching via
  NSRegularExpression; GPUCanvasContext::create returns nullptr as upstream
  does off-Cocoa).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Tools / Tests Tools in the Tools directory, build issues, test infrastructure, and bugs in test cases

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants