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

Refactor compositor #431

Merged
merged 7 commits into from May 9, 2013

servo: Warning police.

  • Loading branch information
pcwalton committed May 9, 2013
commit 7267f806a7817e48b0ac0c9c4aa23a8a0d288b03
@@ -174,7 +174,7 @@ extern fn getBoundingClientRect(cx: *JSContext, _argc: c_uint, vp: *JSVal) -> JS
extern fn setAttribute(cx: *JSContext, argc: c_uint, vp: *JSVal) -> JSBool {
unsafe {
let obj = JS_THIS_OBJECT(cx, vp);
let mut node = unwrap(obj);
let node = unwrap(obj);

if (argc < 2) {
return 0; //XXXjdm throw exception
@@ -212,7 +212,7 @@ extern fn HTMLImageElement_getWidth(cx: *JSContext, _argc: c_uint, vp: *mut JSVa
return 0;
}

let mut node = unwrap(obj);
let node = unwrap(obj);
let width = match node.type_id() {
ElementNodeTypeId(HTMLImageElementTypeId) => {
let content = task_from_context(cx);
@@ -245,7 +245,7 @@ extern fn HTMLImageElement_setWidth(cx: *JSContext, _argc: c_uint, vp: *mut JSVa
return 0;
}

let mut node = unwrap(obj);
let node = unwrap(obj);
match node.type_id() {
ElementNodeTypeId(HTMLImageElementTypeId) => {
do node.as_mut_element |elem| {
@@ -269,7 +269,7 @@ extern fn getTagName(cx: *JSContext, _argc: c_uint, vp: *mut JSVal) -> JSBool {
return 0;
}

let mut node = unwrap(obj);
let node = unwrap(obj);
do node.with_imm_element |elem| {
let s = str(copy elem.tag_name);
*vp = domstring_to_jsval(cx, &s);
@@ -68,7 +68,7 @@ pub fn create(cx: *JSContext, node: &mut AbstractNode) -> jsobj {
}

pub unsafe fn unwrap(obj: *JSObject) -> AbstractNode {
let raw = unsafe { utils::unwrap::<*mut Node>(obj) };
let raw = utils::unwrap::<*mut Node>(obj);
AbstractNode::from_raw(raw)
}

@@ -15,7 +15,6 @@ use util::task::spawn_listener;

use core::cell::Cell;
use core::comm::{Chan, Port, SharedChan};
use gfx::compositor::Compositor;
use gfx::opts::Opts;
use gfx::render_task::RenderTask;
use gfx::render_task;
@@ -127,8 +127,7 @@ impl BlockLayout for FlowContext {
assert!(self.starts_block_flow());

let mut remaining_width = self.with_imm_node(|this| this.position.size.width);
let mut _right_used = Au(0);
let mut left_used = Au(0);
let left_used = Au(0);

// Let the box consume some width. It will return the amount remaining for its children.
do self.with_block_box |box| {
@@ -21,8 +21,7 @@ use gfx::font::{FontStyle, FontWeight300};
use gfx::geometry::Au;
use gfx::image::holder::ImageHolder;
use gfx::resource::local_image_cache::LocalImageCache;
use gfx;
use newcss::color::{Color, rgb};
use newcss::color::rgb;
use newcss::complete::CompleteStyle;
use newcss::units::{Cursive, Em, Fantasy, Length, Monospace, Pt, Px, SansSerif, Serif};
use newcss::values::{CSSBorderWidthLength, CSSBorderWidthMedium};
@@ -10,8 +10,7 @@ use dom::node::{ElementNodeTypeId, TextNodeTypeId};
use layout::block::BlockFlowData;
use layout::box::{GenericRenderBoxClass, ImageRenderBox, ImageRenderBoxClass, RenderBox};
use layout::box::{RenderBoxBase, RenderBoxType, RenderBox_Generic, RenderBox_Image};
use layout::box::{RenderBox_Text, TextRenderBox, UnscannedTextRenderBox};
use layout::box::{UnscannedTextRenderBoxClass};
use layout::box::{RenderBox_Text, UnscannedTextRenderBox, UnscannedTextRenderBoxClass};
use layout::context::LayoutContext;
use layout::debug::{BoxedMutDebugMethods, DebugMethods};
use layout::flow::{AbsoluteFlow, BlockFlow, FloatFlow, Flow_Absolute, Flow_Block, Flow_Float};
@@ -20,7 +19,6 @@ use layout::flow::{FlowContextType, FlowData, InlineBlockFlow, InlineFlow, RootF
use layout::inline::{InlineFlowData, InlineLayout};
use layout::root::RootFlowData;

use gfx::image::holder::ImageHolder;
use newcss::values::{CSSDisplay, CSSDisplayBlock, CSSDisplayInline, CSSDisplayInlineBlock};
use newcss::values::{CSSDisplayNone};
use servo_util::range::Range;
@@ -461,7 +459,7 @@ pub impl LayoutTreeBuilder {
let result = match ty {
RenderBox_Generic => GenericRenderBoxClass(@mut base),
RenderBox_Text => UnscannedTextRenderBoxClass(@mut UnscannedTextRenderBox::new(base)),
RenderBox_Image => self.make_image_box(layout_ctx, node, flow_context, base),
RenderBox_Image => self.make_image_box(layout_ctx, node, base),
};
debug!("LayoutTreeBuilder: created box: %s", result.debug_str());
result
@@ -470,7 +468,6 @@ pub impl LayoutTreeBuilder {
fn make_image_box(&mut self,
layout_ctx: &LayoutContext,
node: AbstractNode,
flow_context: FlowContext,
base: RenderBoxBase)
-> RenderBox {
assert!(node.is_image_element());
@@ -17,7 +17,6 @@ use core::util;
use geom::{Point2D, Rect, Size2D};
use gfx::display_list::DisplayList;
use gfx::geometry::Au;
use gfx::image::holder;
use gfx::text::text_run::TextRun;
use gfx::text::util::*;
use newcss::values::{CSSTextAlignCenter, CSSTextAlignJustify, CSSTextAlignLeft};
@@ -674,7 +673,7 @@ impl InlineFlowData {
let width = Au::from_px(size.get_or_default(Size2D(0, 0)).width);
image_box.base.position.size.width = width;
}
TextRenderBoxClass(text_box) => {
TextRenderBoxClass(_) => {
// Text boxes are preinitialized.
}
GenericRenderBoxClass(generic_box) => {
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.