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

Remove gecko-media dependency #19806

Merged
merged 1 commit into from Jan 19, 2018
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

@@ -18,7 +18,6 @@ matrix:
- sudo apt-get update -q
- sudo apt-get install clang-3.9 llvm-3.9 llvm-3.9-runtime -y
- export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config
- export CC=gcc-5 CXX=g++-5
- curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain none -y
- source ~/.profile
script:
@@ -43,24 +42,12 @@ matrix:
CARGO_INCREMENTAL=0
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:jonathonf/ffmpeg-3'
packages:
- cmake
- dbus-x11
- freeglut3-dev
- gcc-5
- g++-5
- gperf
- libavcodec-dev
- libavformat-dev
- libosmesa6-dev
- libpulse-dev
- libgles2-mesa-dev
- libswscale-dev
- libswresample-dev
- pulseaudio
- python-virtualenv
- xorg-dev
- ccache

Large diffs are not rendered by default.

@@ -82,10 +82,7 @@ sudo apt install git curl freeglut3-dev autoconf libx11-dev \
libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \
gperf g++ build-essential cmake virtualenv python-pip \
libssl1.0-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \
libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev \
pulseaudio dbus-x11 libavcodec-dev libavformat-dev \
libavutil-dev libswresample-dev libswscale-dev libdbus-1-dev \
libpulse-dev clang
libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev
```

If you using a version prior to **Ubuntu 17.04** or **Debian Sid**, replace `libssl1.0-dev` with `libssl-dev`.
@@ -101,7 +98,7 @@ sudo dnf install curl freeglut-devel libtool gcc-c++ libXi-devel \
freetype-devel mesa-libGL-devel mesa-libEGL-devel glib2-devel libX11-devel libXrandr-devel gperf \
fontconfig-devel cabextract ttmkfdir python python-virtualenv python-pip expat-devel \
rpm-build openssl-devel cmake bzip2-devel libXcursor-devel libXmu-devel mesa-libOSMesa-devel \
dbus-devel ncurses-devel pulseaudio-libs-devel clang clang-libs
dbus-devel ncurses-devel
```
#### On CentOS

@@ -110,42 +107,27 @@ sudo yum install curl freeglut-devel libtool gcc-c++ libXi-devel \
freetype-devel mesa-libGL-devel mesa-libEGL-devel glib2-devel libX11-devel libXrandr-devel gperf \
fontconfig-devel cabextract ttmkfdir python python-virtualenv python-pip expat-devel \
rpm-build openssl-devel cmake3 bzip2-devel libXcursor-devel libXmu-devel mesa-libOSMesa-devel \
dbus-devel ncurses-devel python34 pulseaudio-libs-devel clang clang-libs llvm-toolset-7
dbus-devel ncurses-devel python34
```

Build inside `llvm-toolset` and `devtoolset`:
```
scl enable devtoolset-7 llvm-toolset-7 bash
```
with the following environmental variables set:
```
export CMAKE=cmake3
export LIBCLANG_PATH=/opt/rh/llvm-toolset-7/root/usr/lib64
```

#### On openSUSE Linux
``` sh
sudo zypper install libX11-devel libexpat-devel libbz2-devel Mesa-libEGL-devel Mesa-libGL-devel cabextract cmake \
dbus-1-devel fontconfig-devel freetype-devel gcc-c++ git glib2-devel gperf \
harfbuzz-devel libOSMesa-devel libXcursor-devel libXi-devel libXmu-devel libXrandr-devel libopenssl-devel \
python-pip python-virtualenv rpm-build glu-devel llvm-clang libclang
python-pip python-virtualenv rpm-build glu-devel
```
#### On Arch Linux

``` sh
sudo pacman -S --needed base-devel git python2 python2-virtualenv python2-pip mesa cmake bzip2 libxmu glu pkg-config clang
sudo pacman -S --needed base-devel git python2 python2-virtualenv python2-pip mesa cmake bzip2 libxmu glu pkg-config
```
#### On Gentoo Linux

```sh
sudo emerge net-misc/curl media-libs/freeglut \
media-libs/freetype media-libs/mesa dev-util/gperf \
dev-python/virtualenv dev-python/pip dev-libs/openssl \
x11-libs/libXmu media-libs/glu x11-base/xorg-server sys-devel/clang
```
with the following environment variable set:
```sh
export LIBCLANG_PATH="/usr/lib64/llvm/*/lib64"
x11-libs/libXmu media-libs/glu x11-base/xorg-server
```
#### On Windows (MSVC)

@@ -43,6 +43,3 @@ webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}

[target.'cfg(all(not(target_os = "windows"), not(target_os = "ios")))'.dependencies]
gaol = {git = "https://github.com/servo/gaol"}

[target.'cfg(all(any(target_os = "macos", target_os = "linux"), not(any(target_arch = "arm", target_arch = "aarch64"))))'.dependencies]
gecko-media = {git = "https://github.com/servo/gecko-media.git"}
@@ -108,8 +108,6 @@ use debugger;
use devtools_traits::{ChromeToDevtoolsControlMsg, DevtoolsControlMsg};
use euclid::{Size2D, TypedSize2D, TypedScale};
use event_loop::EventLoop;
#[cfg(all(any(target_os = "macos", target_os = "linux"), not(any(target_arch = "arm", target_arch = "aarch64"))))]
use gecko_media::GeckoMedia;
use gfx::font_cache_thread::FontCacheThread;
use gfx_traits::Epoch;
use ipc_channel::{Error as IpcError};
@@ -1483,16 +1481,6 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF>

debug!("Asking compositor to complete shutdown.");
self.compositor_proxy.send(ToCompositorMsg::ShutdownComplete);

#[cfg(all(
any(target_os = "macos", target_os = "linux"),
not(any(target_arch = "arm", target_arch = "aarch64")),
))]
{
if let Err(()) = GeckoMedia::shutdown() {
warn!("Media stack shutdown failed.");
}
}
}

fn handle_pipeline_exited(&mut self, pipeline_id: PipelineId) {
@@ -17,8 +17,6 @@ extern crate devtools_traits;
extern crate euclid;
#[cfg(all(not(target_os = "windows"), not(target_os = "ios")))]
extern crate gaol;
#[cfg(all(any(target_os = "macos", target_os = "linux"), not(any(target_arch = "arm", target_arch = "aarch64"))))]
extern crate gecko_media;
extern crate gfx;
extern crate gfx_traits;
extern crate hyper;
@@ -23,9 +23,6 @@ phf_codegen = "0.7.18"
phf_shared = "0.7.18"
serde_json = "1.0"

[target.'cfg(all(any(target_os = "macos", target_os = "linux"), not(any(target_arch = "arm", target_arch = "aarch64"))))'.dependencies]
gecko-media = {git = "https://github.com/servo/gecko-media.git"}

[target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies]
tinyfiledialogs = "2.5.9"

@@ -31,13 +31,10 @@ use dom::node::{window_from_node, document_from_node, Node, UnbindContext};
use dom::promise::Promise;
use dom::virtualmethods::VirtualMethods;
use dom_struct::dom_struct;
#[cfg(all(any(target_os = "macos", target_os = "linux"), not(any(target_arch = "arm", target_arch = "aarch64"))))]
use gecko_media::{CanPlayType, GeckoMedia};
use html5ever::{LocalName, Prefix};
use ipc_channel::ipc;
use ipc_channel::router::ROUTER;
use microtask::{Microtask, MicrotaskRunnable};
#[allow(unused_imports)]
use mime::{Mime, SubLevel, TopLevel};
use net_traits::{FetchResponseListener, FetchMetadata, Metadata, NetworkError};
use net_traits::request::{CredentialsMode, Destination, RequestInit};
@@ -870,27 +867,6 @@ impl HTMLMediaElementMethods for HTMLMediaElement {
self.media_element_load_algorithm();
}

#[cfg(all(
any(target_os = "macos", target_os = "linux"),
not(any(target_arch = "arm", target_arch = "aarch64")),
))]
// https://html.spec.whatwg.org/multipage/#dom-navigator-canplaytype
fn CanPlayType(&self, type_: DOMString) -> CanPlayTypeResult {
let gecko_media = match GeckoMedia::get() {
Ok(gecko_media) => gecko_media,
Err(_) => return CanPlayTypeResult::_empty,
};
match gecko_media.can_play_type(&type_) {
CanPlayType::No => CanPlayTypeResult::_empty,
CanPlayType::Maybe => CanPlayTypeResult::Maybe,
CanPlayType::Probably => CanPlayTypeResult::Probably
}
}

#[cfg(not(all(
any(target_os = "macos", target_os = "linux"),
not(any(target_arch = "arm", target_arch = "aarch64")),
)))]
// https://html.spec.whatwg.org/multipage/#dom-navigator-canplaytype
fn CanPlayType(&self, type_: DOMString) -> CanPlayTypeResult {
match type_.parse::<Mime>() {
@@ -42,9 +42,6 @@ extern crate domobject_derive;
extern crate encoding_rs;
extern crate euclid;
extern crate fnv;
#[allow(unused_extern_crates)]
#[cfg(all(any(target_os = "macos", target_os = "linux"), not(any(target_arch = "arm", target_arch = "aarch64"))))]
extern crate gecko_media;
extern crate gleam;
extern crate half;
#[macro_use] extern crate html5ever;
@@ -75,15 +75,15 @@ mac-nightly:
linux-rel-intermittent:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env CC=gcc-5 CXX=g++-5 ./mach build --release
- ./mach build --release
- ./etc/ci/check_intermittents.sh --log-raw intermittents.log

linux-rel-nogate:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env CC=gcc-5 CXX=g++-5 ./mach build --release
- ./mach build --release
- python ./etc/ci/chaos_monkey_test.py
- env CC=gcc-5 CXX=g++-5 RUSTFLAGS= bash ./etc/ci/mutation_test.sh
- RUSTFLAGS= bash ./etc/ci/mutation_test.sh

mac-rel-intermittent:
- ./mach clean-nightlies --keep 3 --force
@@ -96,11 +96,11 @@ linux-dev:
- ./mach clean-cargo-cache --keep 3 --force
- ./mach test-tidy --no-progress --all
- ./mach test-tidy --no-progress --self-test
- env CC=gcc-5 CXX=g++-5 ./mach build --dev
- env CC=gcc-5 CXX=g++-5 ./mach test-unit
- ./mach build --dev
- ./mach test-unit
- ./mach package --dev
- env CC=gcc-5 CXX=g++-5 ./mach build-cef
- env CC=gcc-5 CXX=g++-5 ./mach build --dev --no-default-features --features default-except-unstable
- ./mach build-cef
- ./mach build --dev --no-default-features --features default-except-unstable
- ./mach build-geckolib
- ./mach test-stylo
- bash ./etc/ci/lockfile_changed.sh
@@ -110,7 +110,7 @@ linux-dev:
linux-rel-wpt:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env CC=gcc-5 CXX=g++-5 ./mach build --release --with-debug-assertions
- ./mach build --release --with-debug-assertions
- ./mach test-wpt-failure
- ./mach test-wpt --release --processes 24 --total-chunks 2 --this-chunk 1 --log-raw test-wpt.log --log-errorsummary wpt-errorsummary.log --always-succeed
- ./mach filter-intermittents wpt-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-wpt-errorsummary.log --tracker-api default --reporter-api default
@@ -119,7 +119,7 @@ linux-rel-wpt:
linux-rel-css:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env CC=gcc-5 CXX=g++-5 ./mach build --release --with-debug-assertions
- ./mach build --release --with-debug-assertions
- ./mach test-wpt --release --processes 24 --total-chunks 2 --this-chunk 2 --log-raw test-wpt.log --log-errorsummary wpt-errorsummary.log --always-succeed
- ./mach filter-intermittents wpt-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-wpt-errorsummary.log --tracker-api default --reporter-api default
- ./mach build-geckolib --release
@@ -130,7 +130,7 @@ linux-rel-css:
linux-nightly:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env CC=gcc-5 CXX=g++-5 ./mach build --release
- ./mach build --release
- ./mach package --release
- ./mach upload-nightly linux
- ./mach test-perf
@@ -38,10 +38,6 @@ num = [
packages = [
"bitflags",
"lazy_static",
"mime",
"semver",
"toml",
"unicase",
"winapi",
]
# Files that are ignored for all tidy and lint checks.
@@ -51,27 +51,75 @@
[video/ogg with and without codecs]
expected: FAIL

[audio/mp4 (optional)]
[video/x-new-fictional-format]
expected: FAIL

[audio/ogg (optional)]
[audio/mp4; codecs="mp4a.40.2" (optional)]
expected: FAIL

[audio/wav (optional)]
[audio/mp4 with bogus codec]
expected: FAIL

[audio/webm (optional)]
[audio/ogg; codecs="opus" (optional)]
expected: FAIL

[video/3gpp (optional)]
[audio/ogg; codecs="vorbis" (optional)]
expected: FAIL

[video/mp4 (optional)]
[audio/ogg with bogus codec]
expected: FAIL

[video/ogg (optional)]
[audio/wav; codecs="1" (optional)]
expected: FAIL

[video/webm (optional)]
[audio/wav with bogus codec]
expected: FAIL

[audio/webm with bogus codec]
expected: FAIL

[audio/webm with and without codecs]
expected: FAIL

[video/3gpp with bogus codec]
expected: FAIL

[video/3gpp with and without codecs]
expected: FAIL

[video/mp4; codecs="mp4a.40.2" (optional)]
expected: FAIL

[video/mp4; codecs="avc1.42E01E" (optional)]
expected: FAIL

[video/mp4; codecs="avc1.4D401E" (optional)]
expected: FAIL

[video/mp4; codecs="avc1.58A01E" (optional)]
expected: FAIL

[video/mp4; codecs="avc1.64001E" (optional)]
expected: FAIL

[video/mp4 with bogus codec]
expected: FAIL

[video/ogg; codecs="opus" (optional)]
expected: FAIL

[video/ogg; codecs="vorbis" (optional)]
expected: FAIL

[video/ogg; codecs="theora" (optional)]
expected: FAIL

[video/ogg with bogus codec]
expected: FAIL

[video/webm with bogus codec]
expected: FAIL

[video/webm with and without codecs]
expected: FAIL

ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.