The document discusses compiling and optimizing your own browser using WebKit. It provides an overview of WebKit, including its history, extensive testing, review process, components, and how it is used in different browsers. It then describes how to get and compile the WebKit source code, launch a browser, capture screenshots, view the network log, run tests, and use remote debugging tools. The presentation encourages contributions to WebKit and notes job opportunities at Sencha.
Ext GWT 3 is coming! Learn about the new features in Ext GWT 3.0, including the implementation of the GWT handler design, UIBinder support, component lifecycle changes, and new and improved components such as the tri-state tree panel and tree grid and pivot grid.
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
By Silvia Cho.
Given the popularity of HTML5 and web technologies, browsers have become an essential technology in almost all industries, including the automotive. Because of its complexity, it is very important to understand the pros and cons of the available choices before making a decision. This talk aims to explain and compare each of the available open source options.
WebKit is a web rendering engine with a generic part (WebCore, JSEngine), and ports for specific platforms that implement bits like rendering, networking or multimedia. GTK+, EFL and Wayland ports are available. Blink is fork of WebKit from which several projects have evolved such as Chromium, Crosswalk, and CEF. During the presentation, Silvia will explain and compare each them and provide more details of WebKit for Wayland which has several advantages for the IVI system.
By Antonio Gomes.
(c) BlinkOn 7 (Sunnyvale, California)
Jan 31 - Feb 01, 2017
https://docs.google.com/document/d/1jlpsfv0kXCveOEX5l75aATgRXbcAvwyse4Tn6jVprWs/edit
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...Igalia
By Juan José Sánchez Penas.
WebKit is a web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JSEngine), and 'ports' for specific platforms that implement bits like rendering, networking or multimedia. In the WebKit community, companies&individuals cooperate to evolve a complex codebase. Given the popularity of HTML5 and web tech, WebKit is a key open source project. Recently, Google announced Blink, a fork of WebKit, with consequences for the project still difficult to predict. Igalia's Browsers team maintains the WebKitGTK+ port and is top contributor to WebCore, JSC, V8, other ports (EFL, Clutter, Qt), and Blink. The talk will review the past/present/future of WebKit/Blink, their dynamics and development process, the relationship with the Linux ecosystem, and will give information about how to contribute to or use both projects.
By Michael Catanzaro.
Major Linux distributions have a problem with WebKit security. Whereas major desktop browsers push automatic security updates directly to users on a regular basis so that users don’t have to worry about updates, Linux users are dependent on their distributions to release updates. Well over 100 vulnerabilities that could allow remote code execution were fixed in WebKit last year, so getting updates out to users is critical. This talk examines the disconnect between how the WebKit project handles security issues upstream and how different major distributions do (or do not) handle security issues, shows that WebKit security issues have widespread impact even for users who do not use a WebKit-based web browser, and discusses the security consequences of the split between the original WebKit API and WebKit2.
Ext GWT 3 is coming! Learn about the new features in Ext GWT 3.0, including the implementation of the GWT handler design, UIBinder support, component lifecycle changes, and new and improved components such as the tri-state tree panel and tree grid and pivot grid.
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
By Silvia Cho.
Given the popularity of HTML5 and web technologies, browsers have become an essential technology in almost all industries, including the automotive. Because of its complexity, it is very important to understand the pros and cons of the available choices before making a decision. This talk aims to explain and compare each of the available open source options.
WebKit is a web rendering engine with a generic part (WebCore, JSEngine), and ports for specific platforms that implement bits like rendering, networking or multimedia. GTK+, EFL and Wayland ports are available. Blink is fork of WebKit from which several projects have evolved such as Chromium, Crosswalk, and CEF. During the presentation, Silvia will explain and compare each them and provide more details of WebKit for Wayland which has several advantages for the IVI system.
By Antonio Gomes.
(c) BlinkOn 7 (Sunnyvale, California)
Jan 31 - Feb 01, 2017
https://docs.google.com/document/d/1jlpsfv0kXCveOEX5l75aATgRXbcAvwyse4Tn6jVprWs/edit
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...Igalia
By Juan José Sánchez Penas.
WebKit is a web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JSEngine), and 'ports' for specific platforms that implement bits like rendering, networking or multimedia. In the WebKit community, companies&individuals cooperate to evolve a complex codebase. Given the popularity of HTML5 and web tech, WebKit is a key open source project. Recently, Google announced Blink, a fork of WebKit, with consequences for the project still difficult to predict. Igalia's Browsers team maintains the WebKitGTK+ port and is top contributor to WebCore, JSC, V8, other ports (EFL, Clutter, Qt), and Blink. The talk will review the past/present/future of WebKit/Blink, their dynamics and development process, the relationship with the Linux ecosystem, and will give information about how to contribute to or use both projects.
By Michael Catanzaro.
Major Linux distributions have a problem with WebKit security. Whereas major desktop browsers push automatic security updates directly to users on a regular basis so that users don’t have to worry about updates, Linux users are dependent on their distributions to release updates. Well over 100 vulnerabilities that could allow remote code execution were fixed in WebKit last year, so getting updates out to users is critical. This talk examines the disconnect between how the WebKit project handles security issues upstream and how different major distributions do (or do not) handle security issues, shows that WebKit security issues have widespread impact even for users who do not use a WebKit-based web browser, and discusses the security consequences of the split between the original WebKit API and WebKit2.
Por José María Casanova Crespo.
El próximo 23 de febrero se impartirá en el CiTIUS el workshop Licencias Software Libre, en el que se ofrecerá una visión introductoria sobre el licenciamiento de software y los principales ejes temáticos que lo caracterizan: derechos y obligaciones, impacto y otros aspectos relacionados con su uso, en particular relacionado con su distribución de forma binaria o en formato de código fuente. Durante la sesión, de hora y media de duración, se abordarán también otros temas de posible interés para los asistentes, caso de la compatibilidad de licencias o los pasos a seguir para el licenciar un software propio.
(c) CiTIUS, CC-BY-SA 4.0
https://citius.usc.es/novidades/eventos/freesoftwarelicenses
23 Febrero 2017
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...Patrick Chanezon
Learn what's new with App Engine. We'll take a whirlwind tour through the changes since last year.
We'll top it off with a glimpse into some new features that we've planned for the year ahead. This session will include an overview of Google App Engine for Business.
Advanced Data Widgets and Server IntegrationSencha
Ext GWT provides a rich set of data components including lists, trees, and grids. Rather than just covering the client-side implementation, this session will demonstrate how to manage your data and data updates from the server. In addition, you will advanced techniques to customize the display of your data.
Por José María Casanova Crespo.
El próximo 23 de febrero se impartirá en el CiTIUS el workshop Licencias Software Libre, en el que se ofrecerá una visión introductoria sobre el licenciamiento de software y los principales ejes temáticos que lo caracterizan: derechos y obligaciones, impacto y otros aspectos relacionados con su uso, en particular relacionado con su distribución de forma binaria o en formato de código fuente. Durante la sesión, de hora y media de duración, se abordarán también otros temas de posible interés para los asistentes, caso de la compatibilidad de licencias o los pasos a seguir para el licenciar un software propio.
(c) CiTIUS, CC-BY-SA 4.0
https://citius.usc.es/novidades/eventos/freesoftwarelicenses
23 Febrero 2017
GDD Brazil 2010 - What's new in Google App Engine and Google App Engine For B...Patrick Chanezon
Learn what's new with App Engine. We'll take a whirlwind tour through the changes since last year.
We'll top it off with a glimpse into some new features that we've planned for the year ahead. This session will include an overview of Google App Engine for Business.
Advanced Data Widgets and Server IntegrationSencha
Ext GWT provides a rich set of data components including lists, trees, and grids. Rather than just covering the client-side implementation, this session will demonstrate how to manage your data and data updates from the server. In addition, you will advanced techniques to customize the display of your data.
Application performance is critical to a usable user interface. Learn about the tools and techniques that Ext GWT developers can use to tune client-side code. Get detailed instructions on how to use the available performance profiling tools including Speed Tracer, Firebug, and Visual Studio.
Vagrant presentation at LA Ruby in September 2010.
The main takeaway for this presentation I wanted to give was the reasoning and importance for virtualization development environments.
Ext GWT provides a solid foundation to build rich internet applications. In this session, you will learn the best practices used to build these applications. Topics include how to use HTML templates and HtmlLayout, MVC / MVP, RPC, and managing data.
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsSencha
You probably have an existing JavaScript application using components that you love, maybe a grid, some graphs, etc. Perhaps today you use Angular and your company is thinking about moving to React, or Vue, and with new frameworks appearing every week, who knows what is next. How do you bring along those great components you have been using?
That is where Web Components fits in!
In this session we will look at some popular enterprise components and their usage in Angular and React. Then we will look at the Web Components spec to use those existing components you know and love in any framework - including no framework at all!
Our latest release, Sencha Ext JS 6.6, includes several major enhancements as well as support for npm packaging and open tooling for exceptionally easy workflows that every JavaScript developer is familiar with. With open tooling, Ext JS developers now have powerful tooling to rapidly generate, build and update Ext JS applications. Read the blog post to learn more: https://www.sencha.com/blog/announcing-sencha-ext-js-6-6-with-open-tooling-ga/
Die Sicht auf große Datenmengen läßt sich in ExtJS auf zwei Wege darstellen – entweder durch Paging oder durch scrollen. Während beide Konzepte das selbe Ziel verfolgen, bringt die Implementierung eines Buffered Stores in ExtJS einige Hürden mit sich, die UI-Konzepte wie dynamisches Löschen oder Hinzufügen von Datensätzen verhindern. Diese Session gibt einen Einblick in den Aufbau eines BufferedStores und zeigt Ansätze, wie man mehr Dynamik in Grids bringen kann, die diesen Store verwenden.
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha
Learn how to use Ext JS and Cmd to deliver Progressive Web Applications to deliver the best of both web and mobile app experiences. Web apps can be found easily on the internet and every user is guaranteed access to the same and latest version of the application. Plus, mobile app capabilities, such as offline support and optimizing access to the underlying network using service workers, take the user experience to a whole new level.
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha
Learn how to create end-to-end functional tests quickly across multiple browsers simultaneously and scale the automated test suite to over thousands of test cases and cross-browser combinations for a complete regression cycle. We will demonstrate how we are able to locate a component, generate test code, and execute tests from TeamCity.
Sencha Roadshow 2017: What's New in Sencha TestSencha
Learn how you can improve the quality of web applications through Sencha Test 2.2. We’ll demonstrate how you can build robust tests using Page Objects, visualize tests using a tree view and utilize unique locators by using the DOM Tree directly from Sencha Studio.
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha
A case study into the common problems faced by companies when trying to upgrade their legacy Sencha applications. Learn about the benefits of upgrading, the common issues faced and how to avoid them in the future.
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha
JavaScript is advancing and ES2015 (formerly ES6) is the foundation of its future. Sencha is committed to delivering cutting-edge technology for your applications, and supporting the evolution of JavaScript is a central part of that commitment. The expansive feature set of ES2015 formally enables coding paradigms: modules to better organize your code, classes to cleanly declare reusable units of functionality, and so much more. In this session, you'll see how Ext JS is embracing these new language and toolset features, and how they will expand your development horizons.
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha
Learn the best practices for building a beautiful, data-intensive Ext JS application. In this session, we’ll review the Coworkee employee directory full-stack sample application and we’ll share with you how we leveraged the power of the grid, pivot grid, charts and many other features to deliver a highly performant web application.
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha
Historically, web developers approached app development from the desktop first, and mobile was a secondary goal. Now with the extraordinary growth of mobile users across the globe, that approach is being reversed. Developers are building mobile first, and then making progressive enhancements so the app is available on desktop. In this presentation, we’ll explore the benefits of each approach.
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha
Learn about the advancements we’ve made in Ext JS 6.5 and what’s planned for future releases. You’ll learn about powerful components we’ve added to the framework and the new dynamic package loader which enables a smooth loading experience for large enterprise applications.
Leveraging React and GraphQL to Create a Performant, Scalable Data GridSencha
User interfaces often utilize components such as grids and tables to help users browse and understand data. Today’s large data sets require sophisticated capabilities to ensure users can effectively comprehend data while remaining flexible and responsive. Building this functionality is time consuming, has integration and maintenance risks, and worst of all, distracts developers from the task at hand -- actually building the app. View the slides from our latest webinar to learn how the web’s most powerful data grid and GraphQL can help you deliver advanced functionality with minimal effort. View the recording here: https://www.brighttalk.com/webcast/11505/276417
Learn Key Insights from The State of Web Application Testing Research ReportSencha
In a recent study by Dimensional Research of 1,011 development and QA professionals, almost every survey respondent cited that application quality is important, with 84% believing it is very or critically important. Despite this, findings revealed that 94% of teams still face challenges when it comes to conducting adequate QA. View the presentation to learn why organizations must prioritize automated testing and QA practices to deliver high-quality applications and increase customer satisfaction.
Introducing ExtReact: Adding Powerful Sencha Components to React AppsSencha
Learn about Sencha’s newest release, ExtReact: the most comprehensive set of components for React apps. Now you can quickly and easily add any of our 115+ professionally tested and supported components including grid, tree grid, pivot grid, charts, D3 visualizations, trees, calendar, buttons, menus and more to your React applications.
With ExtReact, all of the components are designed to work together seamlessly which eliminates time-consuming integration work and reduces ongoing maintenance burdens. View this presentation to learn how to:
- Build data-intensive, cross-platform web apps leveraging Sencha components and React.
- Build immersive user engagement using layouts and adaptive design features.
- Leverage material design and other themes to save time and effort. Modify or extend themes without writing a single line of code.
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...Sencha
Ext JS provides easy-to-use charting components that satisfy common needs, but sometimes you want to deliver an exceptional, unique user experience. This presentation will discuss how Ext JS leverages the popular and extremely powerful D3 library to create sophisticated, data-driven visualizations. This functionality helps your users understand the story behind their data, so they can make informed decisions.
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...Sencha
LinkRest is an active project commissioned and open sourced by NHL under Apache 2.0 license. It was conceived specifically as the server-side counterpart to Ext JS, so it natively supports Ext JS rest proxy, including CRUD, grouping, sorting, filtering, and more. In this session, we'll review Ext JS protocol support. You'll also see extensions that allow the client to safely query the server for specific data and shape the response. We'll cover advanced features, including security, constraints, idempotent methods, and metadata service. We'll show demos and try to allow time for Q&A.
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSencha
Dealing with unexpected exceptions on the server side is something we've all done for ages. Now it's time to apply the same quality goals and monitoring to our JS codebase. This is especially important for Sencha applications where the front-end usually contains 100k+ lines of code. I'll demonstrate various powerful monitoring techniques and tricks that we are using ourselves at Bryntum.
Ext JS Architecture Best Practices - Mitchell SimeonsSencha
Starting your application on the right foot is important. You’re probably excited to start coding, but it’s important to think about the architecture you’ll need. In this session, we’ll cover architectural best practices including the difference between MVC and MVVM, how to start architecting your application, and using the Ext JS router to your advantage.
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...Sencha
Developers are building mobile first, and then making progressive enhancements so the app is available on desktop. Should you be taking either a mobile or desktop first approach, or thinking about Universal Apps to deliver the right user experiences. This approach maximizes the shareability of code across these experiences. In this presentation, we’ll explore case studies that show the benefits of each approach.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
7. History
80000
70000
60000
50000
Revisions
40000
30000
20000
10000
0
0 1 2 3 4 5 6 7 8 9 10
Years
Monday, November 29, 2010
8. History ~2000 commits/month
80000
70000
60000
50000
Revisions
40000
30000
20000
10000
0
0 1 2 3 4 5 6 7 8 9 10
Years
Monday, November 29, 2010
9. Extensive Tests
tests
≈ 20,000 tests 904 MB the rest
229 MB
Monday, November 29, 2010
10. Workflow
1 Every commit needs to be reviewed
2 Broken commit must be reverted
Monday, November 29, 2010
11. Workflow
quality control
1 Every commit needs to be reviewed
2 Broken commit must be reverted
zero-regression policy
Monday, November 29, 2010
12. Level of Involvement
Contributor
after 10-20 patches
after 80 patches
Committer
≈ 130 Reviewer
checks in reviewed patches
≈ 80
accept or reject patches
Monday, November 29, 2010
13. WebKit Reviewers
Apple
39
Google
19
Misc
12
RIM Nokia
6 6
Monday, November 29, 2010
14. WebKit Reviewers
Apple
39
Google
19
Misc
12
1 RIM Nokia
6 6
Monday, November 29, 2010
15. Components of WebKit
DOM CSS
WebCore SVG
HTML rendering
JavaScriptCore
WebKit Library
Monday, November 29, 2010
16. Web Browsers
WebCore + JavaScriptCore
Safari Eclair
WebCore + V8
Chrome Froyo
Monday, November 29, 2010
17. How Fresh?
AIR 2.5
531.9
Chrome 7
534.7
Android 2.2
533.1
Safari 4 Safari 5
528.16
533.18
mid 2009 Spring 2010 Fall 2010
Monday, November 29, 2010
21. Requirements
•Subversion or Git
•C++ compiler
•Perl
•Python
•Various SDK
Monday, November 29, 2010
22. Using Subversion
svn checkout http://svn.webkit.org/repository/
webkit/trunk webkit
cd webkit
Monday, November 29, 2010
23. Using git
git clone git://git.webkit.org/WebKit.git
cd WebKit
≈ 1.2 GB .git
Monday, November 29, 2010
24. Build
WebKitTools/Scripts/build-webkit
--qt for Qt, --gtk for Gtk+
--debug for “Debug” mode
Monday, November 29, 2010
25. Launch
WebKitTools/Scripts/run-launcher
--qt for Qt, --gtk for Gtk+
--debug for “Debug” mode
Monday, November 29, 2010
26. Render Tree
paragraph
<html><body><p>Hello SenchaCon!</p></body></html>
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x576
RenderBlock {P} at (0,0) size 784x18
RenderText {#text} at (0,1) size 117x16
text run at (0,1) width 117: "Hello SenchaCon!"
Monday, November 29, 2010