aboutsummaryrefslogtreecommitdiffstats
path: root/components/servo/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* Consume official GStreamer binaries on MacOSMukilan Thiyagarajan2023-05-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR re-enables support for the gstreamer mediastack in macOS by consuming the official binary '.pkg' files from gstreamer.freedesktop.org To maintain symmetry with other platforms, the '.pkg' files are uploaded to servo-build-deps and fetched from there using the new script 'etc/install_macos_gstreamer.sh'. Unlike the Homebrew version, the official GStreamer is distributed as a 'relocatable' framework i.e the dylibs all have @rpath-relative install names and also link to other dylibs using @rpath relative path. To address this difference the 'servo' binary needs to be patched with 'install_name_tool' to add an LC_RPATH command that sets the relative paths that the dynamic linker should search when trying to satify dependencies. In Servo's case, this will be a path relative to the 'servo' binary itself i.e '@executable_path/lib/' The additional 'lib' is due to a flaw in the gstreamer packaging where the install names of some of the dylibs have the prefix '@rpath/lib' and some of them just have '@rpath'. This PR also fixes a couple of issues present in the `mach build` process on MacOS: 1. `mach build` process was not copying transitive dependencies of servo binary but only the first level dylibs 2. `mach build` process didn't patch the links to dylibs in servo binary (and dependencies). This meant though (some) dylibs were copied to local path, the binary still loaded the dylibs from system GStreamer installation i.e homebrew instead of the copieds dylibs The build and runtime dependencies in etc/homebrew/Brewfile and etc/homebrew/Brewfile-build have also been removed in This PR. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Make sender and receiver name more coherentatbrakhi2023-05-081-8/+8
|
* Clean up debug optionsMartin Robinson2023-05-011-8/+12
|
* Update user agent stringsAlex Touchet2023-03-301-7/+7
|
* Create initial browser id for compositor on startup.Josh Matthews2021-10-181-4/+12
|
* Only request synchronous repaint when a resize will actually occur.Josh Matthews2021-03-051-4/+7
|
* Remove stub debugger server.Josh Matthews2020-08-101-6/+0
|
* Pipe GST_DEBUG output to its own log file on UWP.Josh Matthews2020-08-071-2/+1
|
* Make reload button clear the network cache.Josh Matthews2020-07-271-0/+7
|
* Update user agent stringsAlex Touchet2020-07-261-6/+6
|
* Auto merge of #27304 - paulrouget:staticdevtoolsport, r=jdmbors-servo2020-07-211-3/+9
|\ | | | | | | | | | | | | | | | | | | | | UWP: non random port for devtools, and support for custom UWP prefs packages-prefs.json is now taken into account for libsimpleservo. Making it possible to have custom pref for the UWP builds, removing some weirdness in the way we handle preferences in the hololens code. This also adds a new set of preferences to control the devtools server startup state, and make the port choice constant across sessions. Fix #27267 Fix #22970
| * Configure devtools server via preferencesPaul Rouget2020-07-171-3/+9
| |
* | Auto merge of #27302 - jdm:gst-package-mac, r=Manishearthbors-servo2020-07-171-53/+16
|\ \ | |/ |/| | | | | | | | | | | Make gstreamer packaging explicit This change aligns Windows and macOS in terms of loading an explicit set of included plugins when initializing gstreamer. It also creates a single source of truth - the set of expected plugins is generated in a build script by the same python code that is used for packaging, so it should be impossible for platforms relying on this system to get out of sync. Fixes #27293
| * Load explicit set of gstreamer plugins on macos, and include them in the ↵Josh Matthews2020-07-161-53/+16
| | | | | | | | nightly package.
* | Unfocus input when virtual keyboard is dismissedPaul Rouget2020-07-131-0/+10
|/
* Auto merge of #27016 - gterzian:fix_closing_window, r=jdm,paulrougetbors-servo2020-06-301-5/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure clean shutdown of JS threads <!-- Please describe your changes on the following line: --> FIX https://github.com/servo/servo/issues/26685 FIX https://github.com/servo/servo/issues/26996 FIX https://github.com/servo/servo/issues/9672 FIX #27027 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
| * ensure clean shutdown of all threads running JSGregory Terzian2020-06-301-5/+1
| |
* | Support for webxr layer managementAlan Jeffrey2020-06-281-72/+32
|/
* Implement GPUSwapChain and GPUCanvasContext and interface with WebrenderKunal Mohan2020-06-131-1/+19
|
* Auto merge of #26697 - utsavoza:ugo/issue-11681/22-05-2020, r=jdmbors-servo2020-06-121-4/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement CanvasRenderingContext2d.fillText The PR consists of broadly two main changes: - Implementation of Canvas2dRenderingContext.font - Basic implementation of Canvas2dRenderingContext.fillText Although I am not fully sure about the long term goals for the canvas backend in Servo, I assumed limited scope for font and text handling (should support simple text drawing with font selection) in the current implementation as I believe a more complete implementation would eventually be brought in as a part of #22957. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #11681 - [x] There are tests for these changes
| * Enable textAlign, textBaseline and direction attributes for canvasUtsav Oza2020-06-101-4/+6
| |
* | Update webrender.Josh Matthews2020-06-111-1/+1
| |
* | canvas: Don't panic if webrender isn't reachable.Josh Matthews2020-06-101-2/+2
|/
* Proxy all WR interactions for layout/font/script/canvas threads to the ↵Josh Matthews2020-06-091-16/+53
| | | | | | | compositor thread. There is now a single RenderApi that is used, and all transactions are serialized through the compositor.
* Remove support for heartbeats profilingSimon Sapin2020-06-041-1/+0
|
* Convert all uses of UpdateResources api to use webrender transactions.Josh Matthews2020-05-111-0/+4
|
* Update webrender.Josh Matthews2020-05-111-9/+0
|
* Remove use of `webrender::RendererKind`Simon Sapin2020-04-201-8/+1
| | | | | It appears to be unused since 2017 with https://github.com/servo/webrender/pull/1587 CC https://bugzilla.mozilla.org/show_bug.cgi?id=1631579
* Update surfman to 0.2 and remove glutinAlan Jeffrey2020-04-171-54/+41
|
* Update user agent stringsAlex Touchet2020-04-081-6/+6
|
* Remove WebVRAlan Jeffrey2020-04-081-52/+1
|
* Extract user_agent from global optsUtsav Oza2020-04-061-3/+67
|
* allow for a service worker manager per originGregory Terzian2020-04-051-38/+34
|
* Check the BHM option before starting it in multi-process mode.Quentin Rasmont2020-04-041-2/+5
|
* Pass context menu callbacks down to the openxr deviceManish Goregaokar2020-03-311-1/+2
|
* Integrate swapchain surface provider changes into webgl and webxr ↵Josh Matthews2020-03-091-15/+30
| | | | implementations.
* Track outstanding WR frames and delay reftest screenshot when necessary.Josh Matthews2020-02-211-0/+7
|
* Stop animations when window is hidden (API + UWP)Paul Rouget2020-02-191-0/+13
|
* Auto merge of #25242 - paulrouget:prompt, r=manishearthbors-servo2020-02-101-1/+4
|\ | | | | | | | | | | | | | | | | | | Mechanism to allow Servo to prompt the user This blocks the embedder thread (compositor thread). Not ideal. I don't think it's too much work to only block script, I'll do that in a follow up bug. Fix #23376 @Manishearth we have a few new APIs. Hopefully this will cover your needs. A thing I haven't implemented yet is a way to ask the user to pick from a list. Let me know if it's something you'll need.
| * Prompt user before accepting incoming devtools connectionPaul Rouget2020-02-101-1/+4
| |
* | Remove dependency of constellation on canvasKunal Mohan2020-02-061-0/+5
|/ | | | | | move `ConstellationCanvasMsg` to canvas_traits and start canvas paint thread to components/servo. This, however, does not remove dependency for conditional compilation options.
* move ConstellationMsg to compositingKunal Mohan2020-01-291-4/+2
|
* Only start WebGPU thread if an adapter is requestedZakor Gyula2020-01-131-3/+0
|
* Auto merge of #24862 - jdm:js-init-destroy-fit-the-second, r=asajeffreybors-servo2019-11-271-2/+12
|\ | | | | | | | | | | | | | | | | | | | | | | Ensure SpiderMonkey shuts down cleanly This is the alternate solution that I described in #24845. Given how much simpler the resulting code is, I'm now much more in favour of this design. Depends on https://github.com/servo/rust-mozjs/pull/487. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #21696 and fix #22276 - [x] There are tests for these changes
| * script: Ensure JS engine is initialized and deinitialized on the same thread.Josh Matthews2019-11-261-2/+12
| |
* | Auto merge of #24859 - jdm:surfman-fallible, r=Manishearthbors-servo2019-11-261-9/+24
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | Don't panic if surfman initialization fails. Since WebGL is only one component of the web platform, there's no reason that failing to initialize surfman for webgl support should take down the entire browser. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #24642 (in that the browser will now start up) and fix #24627 - [x] These changes do not require tests because tests for graphics acceleration? don't make me laugh.
| * Don't panic if surfman initialization fails.Josh Matthews2019-11-251-9/+24
| |
* | Auto merge of #24708 - szeged:webgpu-base, r=gterzian,kvarkbors-servo2019-11-251-0/+4
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial implementation of WebGPU API <!-- Please describe your changes on the following line: --> - Added the WebIDL bindings for GPU and GPUadapter interfaces. - Created a background thread for WebGPU api calls. - Established the async communication between the background thread and the WebGPU interfaces. - Implemented the `requesAdapter` function of `navigator.gpu` `./mach test-tidy` reports an error due to the different `arrayvec` version used in `servo` and `webgpu`, so added it to the ignore list in `servo-tidy.toml` --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes addresses a part of #https://github.com/servo/servo/issues/24706 <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> cc @jdm, cc @kvark <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24708) <!-- Reviewable:end -->
| * Initial implementation of WebGPU APIZakor Gyula2019-11-211-0/+4
| |
* | Make gstreamer(-sys) optionalTuncer Ayaz2019-11-211-2/+2
| |