From f32ca3183a09be626dd0b7c8e42539ee7f033439 Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Thu, 23 Nov 2017 09:39:42 -0500 Subject: [PATCH] Bug 1419440 - Update for API changes in WR PR 2050. r=kats MozReview-Commit-ID: 4TFZB8XpY6l --HG-- extra : rebase_source : 31be31fa926dd9144378146fe8c1a3e47cb389aa --- gfx/webrender_bindings/Cargo.toml | 1 - gfx/webrender_bindings/src/bindings.rs | 33 +++++++++++--------- gfx/webrender_bindings/src/lib.rs | 1 - gfx/webrender_bindings/src/moz2d_renderer.rs | 2 +- toolkit/library/gtest/rust/Cargo.lock | 1 - toolkit/library/rust/Cargo.lock | 1 - 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/gfx/webrender_bindings/Cargo.toml b/gfx/webrender_bindings/Cargo.toml index d03ac4244c65..c80a89d4ed32 100644 --- a/gfx/webrender_bindings/Cargo.toml +++ b/gfx/webrender_bindings/Cargo.toml @@ -5,7 +5,6 @@ authors = ["The Mozilla Project Developers"] license = "MPL-2.0" [dependencies] -webrender_api = {path = "../webrender_api", version = "0.54.0"} rayon = "0.8" thread_profiler = "0.1.1" euclid = "0.15" diff --git a/gfx/webrender_bindings/src/bindings.rs b/gfx/webrender_bindings/src/bindings.rs index 3f143908ac0b..a874abaec4ed 100644 --- a/gfx/webrender_bindings/src/bindings.rs +++ b/gfx/webrender_bindings/src/bindings.rs @@ -6,7 +6,7 @@ use std::sync::Arc; use std::os::raw::{c_void, c_char, c_float}; use gleam::gl; -use webrender_api::*; +use webrender::api::*; use webrender::{ReadPixelsFormat, Renderer, RendererOptions, ThreadListener}; use webrender::{ExternalImage, ExternalImageHandler, ExternalImageSource}; use webrender::DebugFlags; @@ -26,8 +26,6 @@ use core_foundation::string::CFString; #[cfg(target_os = "macos")] use core_graphics::font::CGFont; -extern crate webrender_api; - /// cbindgen:field-names=[mNamespace, mHandle] type WrExternalImageBufferType = ExternalImageType; @@ -78,7 +76,8 @@ pub struct DocumentHandle { impl DocumentHandle { pub fn new(api: RenderApi, size: DeviceUintSize) -> DocumentHandle { - let doc = api.add_document(size); + let layer = 0; //TODO + let doc = api.add_document(size, layer); DocumentHandle { api: api, document_id: doc @@ -446,23 +445,29 @@ extern "C" { raw_event: usize); } -impl webrender_api::RenderNotifier for CppNotifier { - fn clone(&self) -> Box { +impl RenderNotifier for CppNotifier { + fn clone(&self) -> Box { Box::new(CppNotifier { window_id: self.window_id, }) } - fn new_frame_ready(&self) { + fn wake_up(&self) { unsafe { wr_notifier_new_frame_ready(self.window_id); } } - fn new_scroll_frame_ready(&self, - composite_needed: bool) { + fn new_document_ready(&self, + _: DocumentId, + scrolled: bool, + composite_needed: bool) { unsafe { - wr_notifier_new_scroll_frame_ready(self.window_id, composite_needed); + if scrolled { + wr_notifier_new_scroll_frame_ready(self.window_id, composite_needed); + } else { + wr_notifier_new_frame_ready(self.window_id); + } } } @@ -1166,7 +1171,7 @@ pub unsafe extern "C" fn wr_api_get_namespace(dh: &mut DocumentHandle) -> WrIdNa pub struct WebRenderFrameBuilder { pub root_pipeline_id: WrPipelineId, - pub dl_builder: webrender_api::DisplayListBuilder, + pub dl_builder: DisplayListBuilder, } impl WebRenderFrameBuilder { @@ -1174,7 +1179,7 @@ impl WebRenderFrameBuilder { content_size: LayoutSize) -> WebRenderFrameBuilder { WebRenderFrameBuilder { root_pipeline_id: root_pipeline_id, - dl_builder: webrender_api::DisplayListBuilder::new(root_pipeline_id, content_size), + dl_builder: DisplayListBuilder::new(root_pipeline_id, content_size), } } pub fn with_capacity(root_pipeline_id: WrPipelineId, @@ -1182,7 +1187,7 @@ impl WebRenderFrameBuilder { capacity: usize) -> WebRenderFrameBuilder { WebRenderFrameBuilder { root_pipeline_id: root_pipeline_id, - dl_builder: webrender_api::DisplayListBuilder::with_capacity(root_pipeline_id, content_size, capacity), + dl_builder: DisplayListBuilder::with_capacity(root_pipeline_id, content_size, capacity), } } @@ -1300,7 +1305,7 @@ pub extern "C" fn wr_dp_push_stacking_context(state: &mut WrState, state.frame_builder .dl_builder .push_stacking_context(&prim_info, - webrender_api::ScrollPolicy::Scrollable, + ScrollPolicy::Scrollable, transform_binding, transform_style, perspective, diff --git a/gfx/webrender_bindings/src/lib.rs b/gfx/webrender_bindings/src/lib.rs index 286fa2ad8c2e..5ffa18e37da3 100644 --- a/gfx/webrender_bindings/src/lib.rs +++ b/gfx/webrender_bindings/src/lib.rs @@ -5,7 +5,6 @@ #![deny(warnings)] extern crate webrender; -extern crate webrender_api; extern crate euclid; extern crate app_units; extern crate gleam; diff --git a/gfx/webrender_bindings/src/moz2d_renderer.rs b/gfx/webrender_bindings/src/moz2d_renderer.rs index 410bac25d8fe..df0fba84cd6c 100644 --- a/gfx/webrender_bindings/src/moz2d_renderer.rs +++ b/gfx/webrender_bindings/src/moz2d_renderer.rs @@ -1,5 +1,5 @@ #![allow(improper_ctypes)] // this is needed so that rustc doesn't complain about passing the &Arc to an extern function -use webrender_api::*; +use webrender::api::*; use bindings::{ByteSlice, MutByteSlice, wr_moz2d_render_cb, ArcVecU8}; use rayon::ThreadPool; diff --git a/toolkit/library/gtest/rust/Cargo.lock b/toolkit/library/gtest/rust/Cargo.lock index a2b99a9af335..eb5875e204e8 100644 --- a/toolkit/library/gtest/rust/Cargo.lock +++ b/toolkit/library/gtest/rust/Cargo.lock @@ -1549,7 +1549,6 @@ dependencies = [ "rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "thread_profiler 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "webrender 0.54.0", - "webrender_api 0.54.0", ] [[package]] diff --git a/toolkit/library/rust/Cargo.lock b/toolkit/library/rust/Cargo.lock index 3d8f987ab4ae..40149490ca5e 100644 --- a/toolkit/library/rust/Cargo.lock +++ b/toolkit/library/rust/Cargo.lock @@ -1561,7 +1561,6 @@ dependencies = [ "rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "thread_profiler 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "webrender 0.54.0", - "webrender_api 0.54.0", ] [[package]]