Today I thought I’d go between miniconfs a little looking for talks I’m interested in. I was originally going to come mostly to openstack but I some of the talks seem a little specialised and there are some good talks elsewhere. Hopefully everybody will to close to schedule so switching will be easy.
Introduction to OpenStack – Joshua McKenty
Worked at NASA
Components increasing a rapid rate but most computer, networking and storage
Almost all commiters are paid to work on openstack
Quantum/Networking: Lots of paid plugins alongside free options
Generally a bit of an intro to the openstack organisation rather than the technology that I was expecting.
The WebKit Browser Engine – An Overview – Dirk Schulze
What is webkit?
- Just a browser engine
- Used in Safari, Chrome and others
- High market share on mobile, lower penetration on desktop
Components
- Webcore – triggering load pages, actually drawing, calculating layout,
- Javascript engine (alternative used in Chrome is V8)
- “Webkit” – platform dependent stuff, access graphic libraries (gtk, qt)
Webcore
- html document + CSS + Javascript
- Parse HTML docs, get dom elements, create a DOM Tree
- Everything in DOM tree can be accessed from javascript
- Render Tree just has stuff needed to render the page
- Eg <head> element doesn’t get into render tree but are in dom tree, same with “display: none” elements
- Some elements are in render tree but not Dom tree (eg anonymous blocks)
- Renderlayer – render elements above/below other elements ( eg using – style=”z-index: 1;” ), stacking context ( also via opacity, filter or mask )
Render Object
- Layout – dimension of the element ( height, width, plus borders, positioning )
- So if updated only need to repaint affected area
- Paint – Draw element on screen
- Multiple paint phases called from RenderLayer
- Background, borders
- floating content
- inline content
- Based on CSS boxing model, code follows spec
- Hit testing
- Pointer events – homer, onmouseover
- SVG – different from other renderers
- One element – one renderer
- No CSS boxing model, No anonymous blocks, different handling on transformations
Implementing new elements and Interfaces
- Look at the specification