mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
update deps
switch to using webrender_traits::ImageData update use of webrender_traits::StackingContext in layout use webrender_traits::channel::msg_channel in webgl ipc fix use of resource_override_path in components/servo/lib
This commit is contained in:
parent
7e34f4cb5b
commit
fb98acbc4d
16 changed files with 168 additions and 146 deletions
|
@ -17,7 +17,7 @@ gleam = "0.2.8"
|
|||
ipc-channel = "0.5"
|
||||
log = "0.3.5"
|
||||
num-traits = "0.1.32"
|
||||
offscreen_gl_context = "0.4"
|
||||
offscreen_gl_context = "0.5.0"
|
||||
plugins = {path = "../plugins"}
|
||||
util = {path = "../util"}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ layout_traits = {path = "../layout_traits"}
|
|||
log = "0.3.5"
|
||||
msg = {path = "../msg"}
|
||||
net_traits = {path = "../net_traits"}
|
||||
offscreen_gl_context = "0.4"
|
||||
offscreen_gl_context = "0.5.0"
|
||||
plugins = {path = "../plugins"}
|
||||
profile_traits = {path = "../profile_traits"}
|
||||
rand = "0.3"
|
||||
|
|
|
@ -11,7 +11,7 @@ use app_units::Au;
|
|||
use euclid::{Matrix4D, Point2D, Rect, Size2D, TypedRect};
|
||||
use gfx::display_list::{BorderRadii, BoxShadowClipMode, ClippingRegion};
|
||||
use gfx::display_list::{DisplayItem, DisplayList, DisplayListTraversal, StackingContextType};
|
||||
use gfx_traits::{FragmentType, ScrollPolicy, StackingContextId, ScrollRootId};
|
||||
use gfx_traits::{FragmentType, ScrollPolicy, ScrollRootId};
|
||||
use style::computed_values::{image_rendering, mix_blend_mode};
|
||||
use style::computed_values::filter::{self, Filter};
|
||||
use style::values::computed::BorderStyle;
|
||||
|
@ -346,22 +346,14 @@ impl WebRenderDisplayItemConverter for DisplayItem {
|
|||
ScrollPolicy::FixedPosition => webrender_traits::ScrollPolicy::Fixed,
|
||||
};
|
||||
|
||||
let scroll_layer_id = if stacking_context.id == StackingContextId::root() {
|
||||
Some(frame_builder.next_scroll_layer_id(ScrollRootId::root()))
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let context =
|
||||
webrender_traits::StackingContext::new(
|
||||
scroll_layer_id,
|
||||
webrender_scroll_policy,
|
||||
stacking_context.bounds.to_rectf(),
|
||||
stacking_context.overflow.to_rectf(),
|
||||
stacking_context.z_index,
|
||||
&stacking_context.transform,
|
||||
&stacking_context.perspective,
|
||||
stacking_context.establishes_3d_context,
|
||||
stacking_context.blend_mode.to_blend_mode(),
|
||||
stacking_context.filters.to_filter_ops(),
|
||||
&mut frame_builder.auxiliary_lists_builder);
|
||||
|
@ -372,14 +364,12 @@ impl WebRenderDisplayItemConverter for DisplayItem {
|
|||
DisplayItem::PushScrollRoot(ref item) => {
|
||||
let overflow = TypedRect::new(Point2D::zero(), item.scroll_root.size);
|
||||
let context = webrender_traits::StackingContext::new(
|
||||
Some(frame_builder.next_scroll_layer_id(item.scroll_root.id)),
|
||||
webrender_traits::ScrollPolicy::Scrollable,
|
||||
item.scroll_root.clip.to_rectf(),
|
||||
overflow.to_rectf(),
|
||||
0,
|
||||
&Matrix4D::identity(),
|
||||
&Matrix4D::identity(),
|
||||
true,
|
||||
mix_blend_mode::T::normal.to_blend_mode(),
|
||||
filter::T::new(Vec::new()).to_filter_ops(),
|
||||
&mut frame_builder.auxiliary_lists_builder);
|
||||
|
|
|
@ -323,11 +323,12 @@ fn get_placeholder_image(webrender_api: &webrender_traits::RenderApi) -> io::Res
|
|||
let format = convert_format(image.format);
|
||||
let mut bytes = Vec::new();
|
||||
bytes.extend_from_slice(&*image.bytes);
|
||||
let data = webrender_traits::ImageData::new(bytes);
|
||||
image.id = Some(webrender_api.add_image(image.width,
|
||||
image.height,
|
||||
None,
|
||||
format,
|
||||
bytes));
|
||||
data));
|
||||
Ok(Arc::new(image))
|
||||
}
|
||||
|
||||
|
@ -482,11 +483,12 @@ impl ImageCache {
|
|||
let format = convert_format(image.format);
|
||||
let mut bytes = Vec::new();
|
||||
bytes.extend_from_slice(&*image.bytes);
|
||||
let data = webrender_traits::ImageData::new(bytes);
|
||||
image.id = Some(self.webrender_api.add_image(image.width,
|
||||
image.height,
|
||||
None,
|
||||
format,
|
||||
bytes));
|
||||
data));
|
||||
}
|
||||
LoadResult::PlaceholderLoaded(..) | LoadResult::None => {}
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ mime_guess = "1.8.0"
|
|||
msg = {path = "../msg"}
|
||||
net_traits = {path = "../net_traits"}
|
||||
num-traits = "0.1.32"
|
||||
offscreen_gl_context = "0.4"
|
||||
offscreen_gl_context = "0.5.0"
|
||||
open = "1.1.1"
|
||||
parking_lot = "0.3"
|
||||
phf = "0.7.18"
|
||||
|
|
|
@ -9,8 +9,9 @@ use dom::bindings::js::Root;
|
|||
use dom::bindings::reflector::reflect_dom_object;
|
||||
use dom::globalscope::GlobalScope;
|
||||
use dom::webglobject::WebGLObject;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use std::cell::Cell;
|
||||
use webrender_traits;
|
||||
use webrender_traits::{WebGLBufferId, WebGLCommand, WebGLError, WebGLResult};
|
||||
|
||||
#[dom_struct]
|
||||
|
@ -41,7 +42,7 @@ impl WebGLBuffer {
|
|||
|
||||
pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
|
||||
-> Option<Root<WebGLBuffer>> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateBuffer(sender))).unwrap();
|
||||
|
||||
let result = receiver.recv().unwrap();
|
||||
|
|
|
@ -13,8 +13,9 @@ use dom::globalscope::GlobalScope;
|
|||
use dom::webglobject::WebGLObject;
|
||||
use dom::webglrenderbuffer::WebGLRenderbuffer;
|
||||
use dom::webgltexture::WebGLTexture;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use std::cell::Cell;
|
||||
use webrender_traits;
|
||||
use webrender_traits::{WebGLCommand, WebGLFramebufferBindingRequest, WebGLFramebufferId, WebGLResult, WebGLError};
|
||||
|
||||
#[must_root]
|
||||
|
@ -67,7 +68,7 @@ impl WebGLFramebuffer {
|
|||
|
||||
pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
|
||||
-> Option<Root<WebGLFramebuffer>> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateFramebuffer(sender))).unwrap();
|
||||
|
||||
let result = receiver.recv().unwrap();
|
||||
|
|
|
@ -14,8 +14,9 @@ use dom::webglactiveinfo::WebGLActiveInfo;
|
|||
use dom::webglobject::WebGLObject;
|
||||
use dom::webglrenderingcontext::MAX_UNIFORM_AND_ATTRIBUTE_LEN;
|
||||
use dom::webglshader::WebGLShader;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use std::cell::Cell;
|
||||
use webrender_traits;
|
||||
use webrender_traits::{WebGLCommand, WebGLError, WebGLParameter};
|
||||
use webrender_traits::{WebGLProgramId, WebGLResult};
|
||||
|
||||
|
@ -50,7 +51,7 @@ impl WebGLProgram {
|
|||
|
||||
pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
|
||||
-> Option<Root<WebGLProgram>> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateProgram(sender))).unwrap();
|
||||
|
||||
let result = receiver.recv().unwrap();
|
||||
|
@ -224,7 +225,7 @@ impl WebGLProgram {
|
|||
if self.is_deleted() {
|
||||
return Err(WebGLError::InvalidValue);
|
||||
}
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetActiveUniform(self.id, index, sender)))
|
||||
.unwrap();
|
||||
|
@ -238,7 +239,7 @@ impl WebGLProgram {
|
|||
if self.is_deleted() {
|
||||
return Err(WebGLError::InvalidValue);
|
||||
}
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetActiveAttrib(self.id, index, sender)))
|
||||
.unwrap();
|
||||
|
@ -265,7 +266,7 @@ impl WebGLProgram {
|
|||
return Ok(None);
|
||||
}
|
||||
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetAttribLocation(self.id, String::from(name), sender)))
|
||||
.unwrap();
|
||||
|
@ -286,7 +287,7 @@ impl WebGLProgram {
|
|||
return Ok(None);
|
||||
}
|
||||
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetUniformLocation(self.id, String::from(name), sender)))
|
||||
.unwrap();
|
||||
|
@ -307,14 +308,14 @@ impl WebGLProgram {
|
|||
return Ok("One or more shaders failed to compile".to_string());
|
||||
}
|
||||
}
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.renderer.send(CanvasMsg::WebGL(WebGLCommand::GetProgramInfoLog(self.id, sender))).unwrap();
|
||||
Ok(receiver.recv().unwrap())
|
||||
}
|
||||
|
||||
/// glGetProgramParameter
|
||||
pub fn parameter(&self, param_id: u32) -> WebGLResult<WebGLParameter> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.renderer.send(CanvasMsg::WebGL(WebGLCommand::GetProgramParameter(self.id, param_id, sender))).unwrap();
|
||||
receiver.recv().unwrap()
|
||||
}
|
||||
|
|
|
@ -10,8 +10,9 @@ use dom::bindings::js::Root;
|
|||
use dom::bindings::reflector::reflect_dom_object;
|
||||
use dom::globalscope::GlobalScope;
|
||||
use dom::webglobject::WebGLObject;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use std::cell::Cell;
|
||||
use webrender_traits;
|
||||
use webrender_traits::{WebGLCommand, WebGLRenderbufferId, WebGLResult, WebGLError};
|
||||
|
||||
#[dom_struct]
|
||||
|
@ -43,7 +44,7 @@ impl WebGLRenderbuffer {
|
|||
|
||||
pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
|
||||
-> Option<Root<WebGLRenderbuffer>> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateRenderbuffer(sender))).unwrap();
|
||||
|
||||
let result = receiver.recv().unwrap();
|
||||
|
|
|
@ -44,6 +44,7 @@ use net_traits::image_cache_thread::ImageResponse;
|
|||
use offscreen_gl_context::{GLContextAttributes, GLLimits};
|
||||
use script_traits::ScriptMsg as ConstellationMsg;
|
||||
use std::cell::Cell;
|
||||
use webrender_traits;
|
||||
use webrender_traits::{WebGLCommand, WebGLError, WebGLFramebufferBindingRequest, WebGLParameter};
|
||||
use webrender_traits::WebGLError::*;
|
||||
|
||||
|
@ -597,7 +598,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.11
|
||||
fn Finish(&self) {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::Finish(sender)))
|
||||
.unwrap();
|
||||
|
@ -606,7 +607,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.1
|
||||
fn DrawingBufferWidth(&self) -> i32 {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::DrawingBufferWidth(sender)))
|
||||
.unwrap();
|
||||
|
@ -615,7 +616,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.1
|
||||
fn DrawingBufferHeight(&self) -> i32 {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::DrawingBufferHeight(sender)))
|
||||
.unwrap();
|
||||
|
@ -625,7 +626,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
#[allow(unsafe_code)]
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5
|
||||
unsafe fn GetBufferParameter(&self, _cx: *mut JSContext, target: u32, parameter: u32) -> JSVal {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetBufferParameter(target, parameter, sender)))
|
||||
.unwrap();
|
||||
|
@ -681,7 +682,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
_ => {}
|
||||
}
|
||||
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::GetParameter(parameter, sender)))
|
||||
.unwrap();
|
||||
|
@ -719,7 +720,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
|
||||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.2
|
||||
fn GetContextAttributes(&self) -> Option<WebGLContextAttributes> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
|
||||
// If the send does not succeed, assume context lost
|
||||
if let Err(_) = self.ipc_renderer
|
||||
|
@ -1626,7 +1627,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
return result.get()
|
||||
}
|
||||
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer.send(CanvasMsg::WebGL(WebGLCommand::GetVertexAttrib(index, pname, sender))).unwrap();
|
||||
|
||||
match handle_potential_webgl_error!(self, receiver.recv().unwrap(), WebGLParameter::Invalid) {
|
||||
|
@ -1671,7 +1672,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.3
|
||||
fn IsEnabled(&self, cap: u32) -> bool {
|
||||
if self.validate_feature_enum(cap) {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::IsEnabled(cap, sender)))
|
||||
.unwrap();
|
||||
|
@ -1873,7 +1874,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
|||
_ => return Ok(self.webgl_error(InvalidOperation)),
|
||||
};
|
||||
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.ipc_renderer
|
||||
.send(CanvasMsg::WebGL(WebGLCommand::ReadPixels(x, y, width, height, format, pixel_type, sender)))
|
||||
.unwrap();
|
||||
|
|
|
@ -12,9 +12,10 @@ use dom::bindings::reflector::reflect_dom_object;
|
|||
use dom::bindings::str::DOMString;
|
||||
use dom::globalscope::GlobalScope;
|
||||
use dom::webglobject::WebGLObject;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use std::cell::Cell;
|
||||
use std::sync::{ONCE_INIT, Once};
|
||||
use webrender_traits;
|
||||
use webrender_traits::{WebGLCommand, WebGLParameter, WebGLResult, WebGLShaderId};
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Debug, JSTraceable, HeapSizeOf)]
|
||||
|
@ -68,7 +69,7 @@ impl WebGLShader {
|
|||
pub fn maybe_new(global: &GlobalScope,
|
||||
renderer: IpcSender<CanvasMsg>,
|
||||
shader_type: u32) -> Option<Root<WebGLShader>> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateShader(shader_type, sender))).unwrap();
|
||||
|
||||
let result = receiver.recv().unwrap();
|
||||
|
@ -165,7 +166,7 @@ impl WebGLShader {
|
|||
|
||||
/// glGetParameter
|
||||
pub fn parameter(&self, param_id: u32) -> WebGLResult<WebGLParameter> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
self.renderer.send(CanvasMsg::WebGL(WebGLCommand::GetShaderParameter(self.id, param_id, sender))).unwrap();
|
||||
receiver.recv().unwrap()
|
||||
}
|
||||
|
|
|
@ -12,9 +12,10 @@ use dom::bindings::reflector::reflect_dom_object;
|
|||
use dom::globalscope::GlobalScope;
|
||||
use dom::webgl_validations::types::{TexImageTarget, TexFormat, TexDataType};
|
||||
use dom::webglobject::WebGLObject;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use std::cell::Cell;
|
||||
use std::cmp;
|
||||
use webrender_traits;
|
||||
use webrender_traits::{WebGLCommand, WebGLError, WebGLResult, WebGLTextureId};
|
||||
|
||||
pub enum TexParameterValue {
|
||||
|
@ -62,7 +63,7 @@ impl WebGLTexture {
|
|||
|
||||
pub fn maybe_new(global: &GlobalScope, renderer: IpcSender<CanvasMsg>)
|
||||
-> Option<Root<WebGLTexture>> {
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
let (sender, receiver) = webrender_traits::channel::msg_channel().unwrap();
|
||||
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateTexture(sender))).unwrap();
|
||||
|
||||
let result = receiver.recv().unwrap();
|
||||
|
|
|
@ -25,7 +25,7 @@ ipc-channel = "0.5"
|
|||
libc = "0.2"
|
||||
msg = {path = "../msg"}
|
||||
net_traits = {path = "../net_traits"}
|
||||
offscreen_gl_context = "0.4"
|
||||
offscreen_gl_context = "0.5.0"
|
||||
plugins = {path = "../plugins"}
|
||||
profile_traits = {path = "../profile_traits"}
|
||||
rustc-serialize = "0.3.4"
|
||||
|
|
|
@ -161,7 +161,7 @@ impl<Window> Browser<Window> where Window: WindowMethods + 'static {
|
|||
|
||||
webrender::Renderer::new(webrender::RendererOptions {
|
||||
device_pixel_ratio: device_pixel_ratio,
|
||||
resource_path: resource_path,
|
||||
resource_override_path: Some(resource_path),
|
||||
enable_aa: opts.enable_text_antialiasing,
|
||||
enable_msaa: opts.use_msaa,
|
||||
enable_profiler: opts.webrender_stats,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue