Open Source Software Seminar — Konstantin Käfer Webkit
Total Page:16
File Type:pdf, Size:1020Kb
WebKit Bug #17229 Konstantin Käfer 1 Open Source SoftwareOpen Seminar Source — Software Konstantin Seminar Käfer Outline ‣ Project Structure and Goals ‣ History ‣ Communication and Process ‣ People ‣ The Bug 2 Open Source Software Seminar — Konstantin Käfer WebKit GTK Android Google Symbian Chrome Safari Qt Toolkit 3 Open Source Software Seminar — Konstantin Käfer 1. Project Structure and Goals WebCore JavaScriptCore Rendering Engine JavaScript Engine WebKit { Wrapper 4 Open Source Software Seminar — Konstantin Käfer 1. Project Structure and Goals Goals ‣ Web Content Engine: mainly web, but also general- purpose display/interaction engine ‣ Portability: Make it usable on many platforms ‣ Hackability: Keep code easy and maintainable ‣ Usability: Use platform-native UI conventions 5 Open Source Software Seminar — Konstantin Käfer 2. History 2. History 1999: Started as KHTML (KDE project) 2002: Apple forked quietly 2005: Apple opens up development process Now: “Unforking” 6 Open Source Software Seminar — Konstantin Käfer 2. History Apple vs. KHTML ‣ Apple did only the minimum required by LGPL ‣ No access to internal CVS ‣ Changes are released as single large patches ‣ Lots of platform-specific code ‣ Only WebCore/JSCore, but not WebKit was released 7 Open Source Software Seminar — Konstantin Käfer 3. Communication and Process Mailing lists Bug tracker IRC Ticket Patch Review Commit 8 Open Source Software Seminar — Konstantin Käfer 3. Communication and Process Mailing lists ‣ webkit-dev: General discussion ‣ webkit-reviews: Receives all review requests ‣ webkit-changes: Receives all commit messages ‣ webkit-unassigned: All unassigned tickets ‣ webkitsdk-dev: Development on Mac OS X 9 Open Source Software Seminar — Konstantin Käfer 3. Communication and Process Bug tracker ‣ Bugzilla 10 Open Source Software Seminar — Konstantin Käfer 3. Communication and Process IRC ‣ #webkit on irc.freenode.net ‣ Lots of core developers ‣ Helpful people 11 Open Source Software Seminar — Konstantin Käfer 3. Communication and Process Other tools ‣ Subversion ‣ Trac: Browse code, wiki and change history ‣ CIA.vc: Statistics ‣ Build bots: Automated testing 12 Open Source Software Seminar — Konstantin Käfer failed jscore-test 1 regression failed found. failed 2 test cases 44 test cases failed failed 35 test failed (<1%) had failed (<1%) had jscore-test jscore-test cases 1 test case failed failed WebKit incorrect failed build incorrect build 1077 1077 (<1%) (<1%) had compile- compile- last build layout slave successful layout successful regressions regressions had incorrect release release_2 205 test lost 20 test cases found. found. incorrect layout cases (2%) (<1%) layout-test layout-test layout timed out timed out 1 test case (<1%) crashed offline offline building building building current activity 138 138 idle building building idle idle idle 5 pending 1 pending 1 pending pending pending trunk- trunk- trunk- trunk- time trunk-mac- mac- mac- trunk-mac- trunk-mac- trunk-win- trunk-qt- trunk-gtk- trunk-wx- changes chromium- chromium- (NZDT) ppc-release intel- intel- intel-pixel ppc-pixel debug linux-release linux-release mac-debug win-release mac-release release debug compiling pixel-layout- updating compiling compiling release tests running r39682 release release stdio stdio stdio stdio stdio Build 2424 upload- results 05:09:34 stdio upload- 44 test cases results (<1%) had 05:08:49 stdio incorrect layout 05:06:16 pixel-layout- 20 test cases test (<1%) timed stdio compiled out release 1 test case warnings (<1%) stdio crashed warnings stdio set configuration release stdio update r39682 stdio 05:05:23 Build 12919 upload- results 05:05:22 stdio jscore-test stdio 05:04:43 results 05:03:21 compiled 13 release 05:03:01 compiled warningsOpen Source Software Seminar — Konstantin Käfer release stdio 3. Communication and Process Website ‣ Explicit commit policy ‣ Bug priorisation ‣ Reporting guidelines ‣ Contribution help 14 Open Source Software Seminar — Konstantin Käfer 4. People ‣ Just some I noticed, by no means complete! ‣ David Hyatt (hyatt) ‣ Maciej Stachowiak (othermaciej) ‣ Mark Rowe (bdash) ‣ Oliver Hunt (olliej) ‣ Timothy Hatcher (xenon) ‣ Adam Roben (aroben) 15 Open Source Software Seminar — Konstantin Käfer 5. The Bug ‣ Bug #17229: “Inspector should show properties of all JS objects in Console” ‣ Web Inspector 16 Open Source Software Seminar — Konstantin Käfer Web Inspector ‣ Similar to Firebug ‣ Allows developers to inspect the web page ‣ Includes JavaScript console ‣ Completely written in HTML/CSS/JavaScript ‣ Inspector can inspect other Inspector ‣ Very clean code 17 Open Source Software Seminar — Konstantin Käfer 5. The Bug The Problem 18 Open Source Software Seminar — Konstantin Käfer 5. The Bug Demo 19 Open Source Software Seminar — Konstantin Käfer Questions? 20 Open Source Software Seminar — Konstantin Käfer.