Skip to content

Commit e58e8ab

Browse files
mrobinsongw3583
authored andcommitted
Upgrade to the latest version of WebRender
1 parent 4b6e793 commit e58e8ab

File tree

88 files changed

+554
-521
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+554
-521
lines changed

Cargo.lock

+81-81
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

components/canvas/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ log = "0.3.5"
2020
num-traits = "0.1.32"
2121
offscreen_gl_context = { version = "0.11", features = ["serde"] }
2222
servo_config = {path = "../config"}
23-
webrender_traits = {git = "https://github.com/servo/webrender", features = ["ipc"]}
23+
webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}

components/canvas/canvas_paint_thread.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use std::borrow::ToOwned;
1717
use std::mem;
1818
use std::sync::Arc;
1919
use std::thread;
20-
use webrender_traits;
20+
use webrender_api;
2121

2222
impl<'a> CanvasPaintThread<'a> {
2323
/// It reads image data from the canvas
@@ -57,8 +57,8 @@ pub struct CanvasPaintThread<'a> {
5757
path_builder: PathBuilder,
5858
state: CanvasPaintState<'a>,
5959
saved_states: Vec<CanvasPaintState<'a>>,
60-
webrender_api: webrender_traits::RenderApi,
61-
image_key: Option<webrender_traits::ImageKey>,
60+
webrender_api: webrender_api::RenderApi,
61+
image_key: Option<webrender_api::ImageKey>,
6262
}
6363

6464
#[derive(Clone)]
@@ -99,7 +99,7 @@ impl<'a> CanvasPaintState<'a> {
9999

100100
impl<'a> CanvasPaintThread<'a> {
101101
fn new(size: Size2D<i32>,
102-
webrender_api_sender: webrender_traits::RenderApiSender,
102+
webrender_api_sender: webrender_api::RenderApiSender,
103103
antialias: bool) -> CanvasPaintThread<'a> {
104104
let draw_target = CanvasPaintThread::create(size);
105105
let path_builder = draw_target.create_path_builder();
@@ -117,7 +117,7 @@ impl<'a> CanvasPaintThread<'a> {
117117
/// Creates a new `CanvasPaintThread` and returns an `IpcSender` to
118118
/// communicate with it.
119119
pub fn start(size: Size2D<i32>,
120-
webrender_api_sender: webrender_traits::RenderApiSender,
120+
webrender_api_sender: webrender_api::RenderApiSender,
121121
antialias: bool)
122122
-> IpcSender<CanvasMsg> {
123123
let (sender, receiver) = ipc::channel::<CanvasMsg>().unwrap();
@@ -562,15 +562,15 @@ impl<'a> CanvasPaintThread<'a> {
562562
self.drawtarget.snapshot().get_data_surface().with_data(|element| {
563563
let size = self.drawtarget.get_size();
564564

565-
let descriptor = webrender_traits::ImageDescriptor {
565+
let descriptor = webrender_api::ImageDescriptor {
566566
width: size.width as u32,
567567
height: size.height as u32,
568568
stride: None,
569-
format: webrender_traits::ImageFormat::BGRA8,
569+
format: webrender_api::ImageFormat::BGRA8,
570570
offset: 0,
571571
is_opaque: false,
572572
};
573-
let data = webrender_traits::ImageData::Raw(Arc::new(element.into()));
573+
let data = webrender_api::ImageData::Raw(Arc::new(element.into()));
574574

575575
match self.image_key {
576576
Some(image_key) => {

components/canvas/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ extern crate log;
1515
extern crate num_traits;
1616
extern crate offscreen_gl_context;
1717
extern crate servo_config;
18-
extern crate webrender_traits;
18+
extern crate webrender_api;
1919

2020
pub mod canvas_paint_thread;
2121
pub mod webgl_paint_thread;

components/canvas/webgl_paint_thread.rs

+14-14
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use std::borrow::ToOwned;
1414
use std::sync::Arc;
1515
use std::sync::mpsc::channel;
1616
use std::thread;
17-
use webrender_traits;
17+
use webrender_api;
1818

1919
enum GLContextWrapper {
2020
Native(GLContext<NativeGLContext>),
@@ -88,7 +88,7 @@ impl GLContextWrapper {
8888
}
8989
}
9090

91-
pub fn apply_command(&self, cmd: webrender_traits::WebGLCommand) {
91+
pub fn apply_command(&self, cmd: webrender_api::WebGLCommand) {
9292
match *self {
9393
GLContextWrapper::Native(ref ctx) => {
9494
cmd.apply(ctx);
@@ -101,8 +101,8 @@ impl GLContextWrapper {
101101
}
102102

103103
enum WebGLPaintTaskData {
104-
WebRender(webrender_traits::RenderApi, webrender_traits::WebGLContextId),
105-
Readback(GLContextWrapper, webrender_traits::RenderApi, Option<webrender_traits::ImageKey>),
104+
WebRender(webrender_api::RenderApi, webrender_api::WebGLContextId),
105+
Readback(GLContextWrapper, webrender_api::RenderApi, Option<webrender_api::ImageKey>),
106106
}
107107

108108
pub struct WebGLPaintThread {
@@ -112,7 +112,7 @@ pub struct WebGLPaintThread {
112112

113113
fn create_readback_painter(size: Size2D<i32>,
114114
attrs: GLContextAttributes,
115-
webrender_api: webrender_traits::RenderApi,
115+
webrender_api: webrender_api::RenderApi,
116116
gl_type: gl::GlType)
117117
-> Result<(WebGLPaintThread, GLLimits), String> {
118118
let context = GLContextWrapper::new(size, attrs, gl_type)?;
@@ -128,11 +128,11 @@ fn create_readback_painter(size: Size2D<i32>,
128128
impl WebGLPaintThread {
129129
fn new(size: Size2D<i32>,
130130
attrs: GLContextAttributes,
131-
webrender_api_sender: webrender_traits::RenderApiSender,
131+
webrender_api_sender: webrender_api::RenderApiSender,
132132
gl_type: gl::GlType)
133133
-> Result<(WebGLPaintThread, GLLimits), String> {
134134
let wr_api = webrender_api_sender.create_api();
135-
let device_size = webrender_traits::DeviceIntSize::from_untyped(&size);
135+
let device_size = webrender_api::DeviceIntSize::from_untyped(&size);
136136
match wr_api.request_webgl_context(&device_size, attrs) {
137137
Ok((id, limits)) => {
138138
let painter = WebGLPaintThread {
@@ -148,7 +148,7 @@ impl WebGLPaintThread {
148148
}
149149
}
150150

151-
fn handle_webgl_message(&self, message: webrender_traits::WebGLCommand) {
151+
fn handle_webgl_message(&self, message: webrender_api::WebGLCommand) {
152152
debug!("WebGL message: {:?}", message);
153153
match self.data {
154154
WebGLPaintTaskData::WebRender(ref api, id) => {
@@ -160,7 +160,7 @@ impl WebGLPaintThread {
160160
}
161161
}
162162

163-
fn handle_webvr_message(&self, message: webrender_traits::VRCompositorCommand) {
163+
fn handle_webvr_message(&self, message: webrender_api::VRCompositorCommand) {
164164
match self.data {
165165
WebGLPaintTaskData::WebRender(ref api, id) => {
166166
api.send_vr_compositor_command(id, message);
@@ -176,7 +176,7 @@ impl WebGLPaintThread {
176176
/// communicate with it.
177177
pub fn start(size: Size2D<i32>,
178178
attrs: GLContextAttributes,
179-
webrender_api_sender: webrender_traits::RenderApiSender)
179+
webrender_api_sender: webrender_api::RenderApiSender)
180180
-> Result<(IpcSender<CanvasMsg>, GLLimits), String> {
181181
let (sender, receiver) = ipc::channel::<CanvasMsg>().unwrap();
182182
let (result_chan, result_port) = channel();
@@ -250,15 +250,15 @@ impl WebGLPaintThread {
250250
// rgba -> bgra
251251
byte_swap(&mut pixels);
252252

253-
let descriptor = webrender_traits::ImageDescriptor {
253+
let descriptor = webrender_api::ImageDescriptor {
254254
width: width as u32,
255255
height: height as u32,
256256
stride: None,
257-
format: webrender_traits::ImageFormat::BGRA8,
257+
format: webrender_api::ImageFormat::BGRA8,
258258
offset: 0,
259259
is_opaque: false,
260260
};
261-
let data = webrender_traits::ImageData::Raw(Arc::new(pixels));
261+
let data = webrender_api::ImageData::Raw(Arc::new(pixels));
262262

263263
match *image_key {
264264
Some(image_key) => {
@@ -305,7 +305,7 @@ impl WebGLPaintThread {
305305
}
306306
}
307307
WebGLPaintTaskData::WebRender(ref api, id) => {
308-
let device_size = webrender_traits::DeviceIntSize::from_untyped(&size);
308+
let device_size = webrender_api::DeviceIntSize::from_untyped(&size);
309309
api.resize_webgl_context(id, &device_size);
310310
}
311311
}

components/canvas_traits/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ heapsize = "0.4"
1616
heapsize_derive = "0.1"
1717
ipc-channel = "0.8"
1818
serde = "1.0"
19-
webrender_traits = {git = "https://github.com/servo/webrender", features = ["ipc"]}
19+
webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}

components/canvas_traits/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ extern crate heapsize;
1313
#[macro_use] extern crate heapsize_derive;
1414
extern crate ipc_channel;
1515
#[macro_use] extern crate serde;
16-
extern crate webrender_traits;
16+
extern crate webrender_api;
1717

1818
use cssparser::RGBA;
1919
use euclid::{Transform2D, Point2D, Vector2D, Rect, Size2D};
2020
use ipc_channel::ipc::IpcSender;
2121
use std::default::Default;
2222
use std::str::FromStr;
23-
use webrender_traits::{WebGLCommand, WebGLContextId, VRCompositorCommand};
23+
use webrender_api::{WebGLCommand, WebGLContextId, VRCompositorCommand};
2424

2525
#[derive(Clone, Deserialize, Serialize)]
2626
pub enum FillRule {
@@ -52,7 +52,7 @@ pub enum CanvasData {
5252

5353
#[derive(Clone, Deserialize, Serialize)]
5454
pub struct CanvasImageData {
55-
pub image_key: webrender_traits::ImageKey,
55+
pub image_key: webrender_api::ImageKey,
5656
}
5757

5858
#[derive(Clone, Deserialize, Serialize)]

components/compositing/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ servo_url = {path = "../url"}
2626
style_traits = {path = "../style_traits"}
2727
time = "0.1.17"
2828
webrender = {git = "https://github.com/servo/webrender"}
29-
webrender_traits = {git = "https://github.com/servo/webrender", features = ["ipc"]}
29+
webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}

components/compositing/compositor.rs

+19-19
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ use style_traits::viewport::ViewportConstraints;
3434
use time::{precise_time_ns, precise_time_s};
3535
use touch::{TouchHandler, TouchAction};
3636
use webrender;
37-
use webrender_traits::{self, ClipId, LayoutPoint, LayoutVector2D, ScrollEventPhase, ScrollLocation, ScrollClamping};
37+
use webrender_api::{self, ClipId, LayoutPoint, LayoutVector2D, ScrollEventPhase, ScrollLocation, ScrollClamping};
3838
use windowing::{self, MouseWindowEvent, WindowEvent, WindowMethods, WindowNavigateMsg};
3939

4040
#[derive(Debug, PartialEq)]
@@ -58,7 +58,7 @@ trait ConvertPipelineIdFromWebRender {
5858
fn from_webrender(&self) -> PipelineId;
5959
}
6060

61-
impl ConvertPipelineIdFromWebRender for webrender_traits::PipelineId {
61+
impl ConvertPipelineIdFromWebRender for webrender_api::PipelineId {
6262
fn from_webrender(&self) -> PipelineId {
6363
PipelineId {
6464
namespace_id: PipelineNamespaceId(self.0),
@@ -180,7 +180,7 @@ pub struct IOCompositor<Window: WindowMethods> {
180180
webrender: webrender::Renderer,
181181

182182
/// The webrender interface, if enabled.
183-
webrender_api: webrender_traits::RenderApi,
183+
webrender_api: webrender_api::RenderApi,
184184

185185
/// GL functions interface (may be GL or GLES)
186186
gl: Rc<gl::Gl>,
@@ -315,7 +315,7 @@ impl RenderNotifier {
315315
}
316316
}
317317

318-
impl webrender_traits::RenderNotifier for RenderNotifier {
318+
impl webrender_api::RenderNotifier for RenderNotifier {
319319
fn new_frame_ready(&mut self) {
320320
self.compositor_proxy.recomposite(CompositingReason::NewWebRenderFrame);
321321
}
@@ -330,7 +330,7 @@ struct CompositorThreadDispatcher {
330330
compositor_proxy: CompositorProxy
331331
}
332332

333-
impl webrender_traits::RenderDispatcher for CompositorThreadDispatcher {
333+
impl webrender_api::RenderDispatcher for CompositorThreadDispatcher {
334334
fn dispatch(&self, f: Box<Fn() + Send>) {
335335
self.compositor_proxy.send(Msg::Dispatch(f));
336336
}
@@ -704,12 +704,12 @@ impl<Window: WindowMethods> IOCompositor<Window> {
704704
let dppx = self.page_zoom * self.hidpi_factor();
705705

706706
let window_rect = {
707-
let offset = webrender_traits::DeviceUintPoint::new(self.window_rect.origin.x, self.window_rect.origin.y);
708-
let size = webrender_traits::DeviceUintSize::new(self.window_rect.size.width, self.window_rect.size.height);
709-
webrender_traits::DeviceUintRect::new(offset, size)
707+
let offset = webrender_api::DeviceUintPoint::new(self.window_rect.origin.x, self.window_rect.origin.y);
708+
let size = webrender_api::DeviceUintSize::new(self.window_rect.size.width, self.window_rect.size.height);
709+
webrender_api::DeviceUintRect::new(offset, size)
710710
};
711711

712-
let frame_size = webrender_traits::DeviceUintSize::new(self.frame_size.width, self.frame_size.height);
712+
let frame_size = webrender_api::DeviceUintSize::new(self.frame_size.width, self.frame_size.height);
713713
self.webrender_api.set_window_parameters(frame_size, window_rect);
714714

715715
let initial_viewport = self.window_rect.size.to_f32() / dppx;
@@ -988,7 +988,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
988988
let cursor = TypedPoint2D::new(-1, -1); // Make sure this hits the base layer.
989989
self.pending_scroll_zoom_events.push(ScrollZoomEvent {
990990
magnification: magnification,
991-
scroll_location: ScrollLocation::Delta(webrender_traits::LayoutVector2D::from_untyped(
991+
scroll_location: ScrollLocation::Delta(webrender_api::LayoutVector2D::from_untyped(
992992
&scroll_delta.to_untyped())),
993993
cursor: cursor,
994994
phase: ScrollEventPhase::Move(true),
@@ -1128,8 +1128,8 @@ impl<Window: WindowMethods> IOCompositor<Window> {
11281128

11291129
let cursor =
11301130
(combined_event.cursor.to_f32() / self.scale).to_untyped();
1131-
let location = webrender_traits::ScrollLocation::Delta(delta);
1132-
let cursor = webrender_traits::WorldPoint::from_untyped(&cursor);
1131+
let location = webrender_api::ScrollLocation::Delta(delta);
1132+
let cursor = webrender_api::WorldPoint::from_untyped(&cursor);
11331133
self.webrender_api.scroll(location, cursor, combined_event.phase);
11341134
last_combined_event = None
11351135
}
@@ -1139,7 +1139,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
11391139
(last_combined_event @ &mut None, _) => {
11401140
*last_combined_event = Some(ScrollZoomEvent {
11411141
magnification: scroll_event.magnification,
1142-
scroll_location: ScrollLocation::Delta(webrender_traits::LayoutVector2D::from_untyped(
1142+
scroll_location: ScrollLocation::Delta(webrender_api::LayoutVector2D::from_untyped(
11431143
&this_delta.to_untyped())),
11441144
cursor: this_cursor,
11451145
phase: scroll_event.phase,
@@ -1178,14 +1178,14 @@ impl<Window: WindowMethods> IOCompositor<Window> {
11781178
ScrollLocation::Delta(delta) => {
11791179
let scaled_delta = (TypedVector2D::from_untyped(&delta.to_untyped()) / self.scale)
11801180
.to_untyped();
1181-
let calculated_delta = webrender_traits::LayoutVector2D::from_untyped(&scaled_delta);
1181+
let calculated_delta = webrender_api::LayoutVector2D::from_untyped(&scaled_delta);
11821182
ScrollLocation::Delta(calculated_delta)
11831183
},
11841184
// Leave ScrollLocation unchanged if it is Start or End location.
11851185
sl @ ScrollLocation::Start | sl @ ScrollLocation::End => sl,
11861186
};
11871187
let cursor = (combined_event.cursor.to_f32() / self.scale).to_untyped();
1188-
let cursor = webrender_traits::WorldPoint::from_untyped(&cursor);
1188+
let cursor = webrender_api::WorldPoint::from_untyped(&cursor);
11891189
self.webrender_api.scroll(scroll_location, cursor, combined_event.phase);
11901190
self.waiting_for_results_of_scroll = true
11911191
}
@@ -1283,7 +1283,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
12831283
}
12841284

12851285
fn update_page_zoom_for_webrender(&mut self) {
1286-
let page_zoom = webrender_traits::ZoomFactor::new(self.page_zoom.get());
1286+
let page_zoom = webrender_api::ZoomFactor::new(self.page_zoom.get());
12871287
self.webrender_api.set_page_zoom(page_zoom);
12881288
}
12891289

@@ -1381,8 +1381,8 @@ impl<Window: WindowMethods> IOCompositor<Window> {
13811381
let mut pipeline_epochs = HashMap::new();
13821382
for (id, _) in &self.pipeline_details {
13831383
let webrender_pipeline_id = id.to_webrender();
1384-
if let Some(webrender_traits::Epoch(epoch)) = self.webrender
1385-
.current_epoch(webrender_pipeline_id) {
1384+
if let Some(webrender_api::Epoch(epoch)) = self.webrender
1385+
.current_epoch(webrender_pipeline_id) {
13861386
let epoch = Epoch(epoch);
13871387
pipeline_epochs.insert(*id, epoch);
13881388
}
@@ -1475,7 +1475,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
14751475
debug!("compositor: compositing");
14761476

14771477
// Paint the scene.
1478-
let size = webrender_traits::DeviceUintSize::from_untyped(&self.frame_size.to_untyped());
1478+
let size = webrender_api::DeviceUintSize::from_untyped(&self.frame_size.to_untyped());
14791479
self.webrender.render(size);
14801480
});
14811481

components/compositing/compositor_thread.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use std::sync::mpsc::{Receiver, Sender};
1919
use style_traits::cursor::Cursor;
2020
use style_traits::viewport::ViewportConstraints;
2121
use webrender;
22-
use webrender_traits;
22+
use webrender_api;
2323

2424

2525
/// Used to wake up the event loop, provided by the servo port/embedder.
@@ -85,7 +85,7 @@ pub enum Msg {
8585
ShutdownComplete,
8686

8787
/// Scroll a page in a window
88-
ScrollFragmentPoint(webrender_traits::ClipId, Point2D<f32>, bool),
88+
ScrollFragmentPoint(webrender_api::ClipId, Point2D<f32>, bool),
8989
/// Alerts the compositor that the current page has changed its title.
9090
ChangePageTitle(PipelineId, Option<String>),
9191
/// Alerts the compositor that the given pipeline has changed whether it is running animations.
@@ -194,5 +194,5 @@ pub struct InitialCompositorState {
194194
pub mem_profiler_chan: mem::ProfilerChan,
195195
/// Instance of webrender API
196196
pub webrender: webrender::Renderer,
197-
pub webrender_api_sender: webrender_traits::RenderApiSender,
197+
pub webrender_api_sender: webrender_api::RenderApiSender,
198198
}

components/compositing/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ extern crate servo_url;
2222
extern crate style_traits;
2323
extern crate time;
2424
extern crate webrender;
25-
extern crate webrender_traits;
25+
extern crate webrender_api;
2626

2727
pub use compositor_thread::CompositorProxy;
2828
pub use compositor::IOCompositor;

components/compositing/windowing.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use servo_url::ServoUrl;
1616
use std::fmt::{Debug, Error, Formatter};
1717
use std::rc::Rc;
1818
use style_traits::cursor::Cursor;
19-
use webrender_traits::ScrollLocation;
19+
use webrender_api::ScrollLocation;
2020

2121
#[derive(Clone)]
2222
pub enum MouseWindowEvent {

0 commit comments

Comments
 (0)