Webkit for Web Developers.Key

Webkit for Web Developers.Key

An introduction to WebKit for Web developers Jeremy Moskovich & Pam Greene 13-Sept-2010 Web Rendering Engines TridentTrident PrestoPresto GeckoGecko WebKitWebKit WebKit Everywhere Desktop Mobile What is WebKit? • http://www.webkit.org • Open Source rendering engine • JS Engine: JavascriptCore (pluggable) • Lots of built-in functionality Vital Stats • Net ~1 Million lines of code • Mostly C++, Some JS (Web Inspector) • 198 committers, 81 reviewers Layout [Reflow] in action http://www.youtube.com/watch?v=ZTnIxIA5KGw Chrome and WebKit Multiprocess browsing? • Crashing/slow tabs shouldn’t affect other tabs. • OS processes already do this. • Added security. Chrome Architecture WebKit WebKit WebKit Flash Process Browser Process Chrome and WebKit Chrome & Chromium Chrome Chromium Sniffing Chrome User Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/6.0.437.3 Safari/534.1 • Very hard to get navigator.userAgent parsing code right • Prefer Object detection Prefer Object Detection Bad: if (navigator.userAgent.indexOf("Gecko/") != -1) ... else if (navigator.userAgent.indexOf("; MSIE")) ... else if (navigator.userAgent.indexOf("Safari/")) ... else ... ✓ Good: if (document.querySelectorAll) { // We know that document.querySelectorAll is definitely implemented. var a = document.querySelectorAll(“:hover”); } Chrome Release Cycle • Chrome autoupdates. • New major release every 6 weeks, version number not relevant. • Check WebKit version not Chrome version! Sniffing Chrome User Agent var isWebKit = navigator.userAgent.indexOf("AppleWebKit") > -1; var WebKitVersion = parseFloat(navigator.userAgent.split("AppleWebKit/")[1]) || undefined; if (WebKitVersion && WebKitVersion > 500 ) { // use spiffy WebKit feature here } Is this bug in WebKit or Chrome? • Create a reduced test case. • Does the bug reproduce in a WebKit nightly build http://nightly.webkit.org/ ? • If not - http://crbug.com Filing a WebKit bug. • http://bugs.webkit.org • Search for existing bugs. • Test in 1 or 2 other browsers. • Extra credit: include a Layout Test (more on that later). http://webkit.org/quality/reporting.html.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us