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 display lists to use less memory. #476

Merged
merged 10 commits into from May 30, 2013

Commits on May 28, 2013

  1. Move the test harnesses into test/.

    This is preparation for removing the `servo-` prefixes from the various
    Servo components.
    pcwalton committed May 28, 2013
  2. Introduce a phantom type to prevent script from accessing the layout …

    …data directly.
    
    Nodes are now parameterized over a "View" type. The particular View type
    determines which methods can be called. Layout data accessors and mutators are
    only accessible to nodes with a LayoutView. The only way to convert a
    `Node<ScriptView>` to a `Node<LayoutView>` is through a transmutation, which is
    done at the moment the layout task receives nodes. (This should be factored
    better to contain the unsafety.)
    
    We should also lock down DOM node mutation to the ScriptView to forbid data
    races, but this patch doesn't do that.
    
    This also reduces coupling between DOM and layout. Soon I would like to move
    the DOM into its own crate, and this is a step on the way of doing that.
    pcwalton committed May 28, 2013
  3. Fix merge fallout.

    pcwalton committed May 28, 2013
  4. Reduce coupling between layout and the DOM by separating out the layo…

    …ut interface.
    
    Eventually, the layout interface will be moved along with the DOM into a
    separate crate.
    pcwalton committed May 28, 2013
  5. Remove the layout debug methods.

    Premature abstraction; nothing used the traits polymorphically. Furthermore,
    they increased coupling between layout and the DOM.
    pcwalton committed May 28, 2013

Commits on May 29, 2013

  1. etc: Make tidy more resilient to dirty build directories

    pcwalton committed May 29, 2013
  2. Refactor display lists to use less memory.

    pcwalton committed May 29, 2013
You can’t perform that action at this time.