Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Cherry pick BrightSign custom changes onto 28-x-y-bs #46

Merged
merged 16 commits into from
Apr 30, 2024

Conversation

t-bashir-bs
Copy link

@t-bashir-bs t-bashir-bs commented Apr 29, 2024

Description of Change

Branch 23-x-y-bs has 33 commits containing custom BrightSign changes. These have been cherry picked and tidied up and and this PR contains those changes. Of the 33 commits, 31 have been cherry picked, with one ignored as the changes have been upstreamed and one (feat: Add SetOpacity functionality to linux ozone wayland: OS-16623 (#41)) will be done later as the changes will be repartitioned so that the wayland protocol updates will be made in BS Weston repo instead. The 31 commits have been cherry picked and squashed into 16 commits. It has been verified the both "Test" and "Release" CI steps are passing.

The csv file below contains details of what was done for each commit.

commit-info-23-x-y-bs.csv

Checklist

Release Notes

Notes:

t-bashir-bs and others added 16 commits April 29, 2024 09:51
* workflows: Copy across BrightSign CI workflows from dev.

* workflows: Temp change to debug new auth method

* workflows: Another temp hack to debug

* workflows: Another temp hack to debug

* workflows: Change to use Github App authentication instead of using a PAT token.

* workflows: Use version of ec2 runner with a fix for authentication in stop case.

* workflows: Update ec2 runner version again.

* workflows: Update to an AMI image that has pkg-config installed.

* workflows: Use new leave_ec2_instance_running debug parameter from the ec2 runner action

* workflows: Temp hack to stop EC2 instances being terminated after test run to debug failures.

* workflows: Update to the ami that has pkg-config installed.

* workflows: Update to a newer ami image that has dependencies installed properly.

* workflows: Remove hack that set leave_ec2_instance_running to true for debugging purposes.

* workflows: Switch to correct AWS account.

OS-14873: Switch to using chromium export_tarball.py  (#10)

* workflows: Switch to using chromium export_tarball.py to create src tarball for release

* workflows: Use ELECTRON_VERSION env var when calling export_tarball.py

* workflows: Add missing $ when accessing env.SOURCE_RELEASE_FILE_NAME

* workflows: Set src tarball upload to be after gclient sync again

* workflows: Fix electron_package_name from .tgz to .gz

* workflows: Remove commented out line

Cherry picked from:
23ffb1e: feat: OS-14592 Create BrightSign CI workflows
5027fb7: OS-14873: Switch to using chromium export_tarball.py  (#10)
* transparent redirect: Make redirects from one file to another transparent

* webRequest: Add new test case to api-web-request-spec for transparent and normal redirects

fix: Clear content-type and last modified from file fetches: OS-16593 (#39)

Clear content-type and last modified from file fetches: OS-16593

Cherry picked from:
b84c835: feat: OS-14993 Make redirects from one file to another transparent (#12)
558b42d: fix: Clear content-type and last modified from file fetches: OS-16593 (#39)
…#11)

file urls: Path to force mime sniffing for file urls in Chromium

Cherry picked from:
572a4c5: feat: OS-14967 Patch to force mime sniffing for file urls in Chromium (#11)
Description of Change
Allow the passing of a quota to the session.fromPartition() API.
This patch allows partitions to have a quota size, which in turn persuades
the storage manager to run a garbage collector(at specific times) to free
reclaimable storage space.

Checklist

- [x]  PR description included and stakeholders cc'd
- [x] npm test passes
- [x] tests are [changed or added](https://github.com/electron/electron/blob/main/docs/development/testing.md)
- [x] relevant documentation is changed or added
- [x] [PR release notes](https://github.com/electron/clerk/blob/master/README.md) describe the change in a way relevant to app developers, and are [capitalized, punctuated, and past tense](https://github.com/electron/clerk/blob/master/README.md#examples).

Release Notes
notes: Allow the passing of a quota to the session.fromPath() API.

Cherry picked from:
9555dc9: feat : backport, Allow partitions to have app set quotas OS-14197 (#14)
* wayland: Add BrightSign custom set-z-index feature

A custom feature has been added to BrightSign Weston server to enable
a z-index to be set to top level xdg windows. This patch adds the functionality
into third_party/wayland and chromium ui/ozone/platform/wayland.

* wayland: Add fixup patch to add missing include

* fixup: Fix for storage quota test case
Patch to set the x & y offsets from the window bounds in the SetWindowGeometry call.

Cherry picked from:
059bbde: OS-14339: Support negative window offsets (#18)
* OS-15351: Add hideScrollBars BrowserWindow constructor param

* tests: Add hideScrollBars test case to BrowserWindow spec

* tests: Add vertical scrollbar check

Cherry picked from:
cd238ba: feat: Add hideScrollBars BrowserWindow constructor param (#19)
Use remote-debugging-address in devtools

Cherry picked from:
87abff9: feat: Use remote-debugging-address in devtools (#26)
OS-14345: Add a webpreference to disable pinch to zoom

In chromium pinch to zoom can be disabled globally using the command line switch
disable-pinch. BrightSign has a requirement to beable to disable pinch to zoom
at a browser window level. This patch adds enable_pinch_zoom as a webpreference
and sets its value in RenderWidgetHostViewEventHandler. The webpreference will
present on all platforms, but the change to set it is only present in aura (linux).
The webpreference will only be used if disable-pinch has not been set on the
command line.

Cherry picked from:
c3ca6fb: feat: Add a webpreference to disable pinch to zoom (#24)

Signed-off-by: Tariq Bashir <120014322+t-bashir-bs@users.noreply.github.com>
* Add will-open-dialog event to webcontent

* Added test cases to api-web-contents-spec

* Fix originUrl param being set as the path

Cherry picked from:
faae348: feat: Add will-open-dialog event to webcontents (#30)
…#37)

* fix: mime sniffer handle html utf8 bom, svg files and xml comments OS-16547

* fix: stop binary sniffer overriding mime type for xml files

Cherry picked from:
9a39462: fix: Patch mime sniffer for html utf8 bom, svg and xml files OS-16547 (#37)
Allow websites from file:// domain to access cookies OS-16546

Cherry picked from:
34d1584: fix: Allow websites from file:// domain to access cookies OS-16546 (#40)
Weston backend refuses to send deletion requests outside selection
area. Newly written text is in selection area, but old text is not.

This casues old text to be not deletable. Deleting outside the
selection area doesn't seem to be a problem as in EXO window manager
mentioned in the code comment.

Cherry picked from:
f768e1f: fix: Fix weston-keyboard backspace problem with existing text
wayland: Retry display server connection before giving up

Brightsign weston server instance might not be up when Electron tries
to connect to it. Added a patch to force 5 retries one second apart
before giving up on it.

Co-authored-by: Caner Altinbasak <cal@brightsign.biz>

Cherry picked from:
7678214: fix: Retry wayland display server connection before giving up (#29)
Added the Chromium patch for integrating Brightsign video player
with Chromium.

fix: Fix assertion with multiple video player instances. OS-15582 (#25)

Renderer diffrentiates between video player instances using the
DelegateId. Derive WebMediaPlayerBrightsign from
WebMediaPlayerDelegate::Observer and initialise WebMediaPlayerDelegate
instance. Provide DelegateId when Observer requests for it to avoid
assertion.

video: Compositor integration for Brightsign Video Player

Brightsign video player uses a customised version of VideoHoleFrames,
which sends video player factory and z-index of the video frames.

These are handled as Overlay planes. Our custom BrightsignUnderlay
strategy sends the geometry, opacity and visibility information via
libvid.

feat: WebMediaPlayerBrightsign: Set new is_video_tag param in vid_player_load (#32)

WebMediaPlayerBrightsign: Set new is_video_tag param in vid_player_load

feat: Add latest fixes to compositor integration for Brightsign VideoPlayer (#33)

feat: Add latest fixes to compositor integration for Brightsign Video Player

Update the existing BrightSign custom BrightsignUnderlay strategy code with
the latest fixes that were made in the QtWebEngine version.

fix: Pass attributes to video_player and correct conversion OS-16220 (#34)

The html5 element attributes were not been set when passed to video_player_load.
Also, some time parameters were being converted from std::chrono to int64 when
passed to the c wrapper. However, they weren't being converted back correctly.
Specifically the duration parameter when set to std::chrono::milliseconds::zero()
was being treated as an int64 and therefore ending up with an incorrect negative
value.

fix: Add fix for single video with hwz cannot be hidden OS-16518 (#35)

webmediaplayer_brightsign: Apply the fix for OnceCallback crash OS-16749

Applied the webmediaplayer_brightsign for the OnceCallback crash found in
OS-16749.

Cherry picked from:
dc2f2de: feat: Add support for brightsign video player
f4078f1: fix: Fix assertion with multiple video player instances. OS-15582 (#25)
8609bc5: video: Compositor integration for Brightsign Video Player
6e1d724: feat: WebMediaPlayerBrightsign: Set new is_video_tag param in vid_player_load (#32)
51d48c1: feat: Add latest fixes to compositor integration for Brightsign VideoPlayer (#33)
0febd19: fix: Pass attributes to video_player and correct conversion OS-16220 (#34)
55e3edd: fix: Add fix for single video with hwz cannot be hidden OS-16518 (#35)
7017af4: webmediaplayer_brightsign: Apply the fix for OnceCallback crash OS-16749
HTMLMediaElement: Add patch for video reuse

Cherry picked from:
83b24f6: feat: OS-14887 video player reuse (#43)
@caneraltinbasak caneraltinbasak merged commit 54252c3 into 28-x-y-bs Apr 30, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants