use boa_cat::Value;
use boa_cat::heap::Heap;
use layout_cat::Viewport;
use crate::error::Error;
use crate::frame::Frame;
pub fn render(html_source: &str, css_source: &str, viewport: Viewport) -> Result<Frame, Error> {
let html_doc = html_cat::parse(html_source)?;
let dom = dom_cat::Document::from_html_doc(&html_doc);
let stylesheet = css_cat::parse(css_source)?;
let layout_tree = layout_cat::layout(&dom, &stylesheet, viewport);
let display_list = paint_cat::build(&layout_tree, &dom);
Ok(Frame::new(
dom,
layout_tree,
display_list,
Value::Undefined,
Heap::new(),
))
}