Archive for the 'implementation' Category

23
Oct
09

Microsoft Open Source inside Google Chrome

Microsoft Open Source inside Google Chrome

overview to come

Advertisements
20
Oct
09

Why was Google’s Chrome browser written almost entirely in C++ and not C# or Java?

Why was Google’s Chrome browser written almost entirely in C++ and not C# or Java?

Discussion on StackOverflow between the general public about why Chrome was implemented in C++ instead of other languages.

20
Oct
09

Code Reuse in Google Chrome Browser

Code Reuse in Google Chrome Browser

Provides a listing of all the 3rd party projects & packages that Chrome uses, as well as where to find it in the source and a link to that package/project’s home page.

20
Oct
09

Web Geek’s Guide to Google Chrome

Web Geek’s Guide to Google Chrome

A Safari Online Book describing in as non-technical terms as possible the feature set of Google Chrome and why it’s conception is so important.
Note: You have to access this either on campus or using the Queen’s proxy.

Interesting sections:

30
Sep
09

WebKit

WebKit

WebKit is the rendering engine used for Google Chrome. It was chosen for its speed compared to other engines, more details and information can be found at their blog.

30
Sep
09

Google Chrome Extensions: Developer Documentation

Google Chrome Extensions: Developer Documentation

This site gives an overview of the Google Chrome extension architecture, and implementation tutorials aimed at developers who want to make their own.

30
Sep
09

Google Developers YouTube Channel

Google Developers Channel

This channel is the home for videos of interest to Google developers. It contains interviews, screencasts, and anything that the Google Code folk think is entertaining and important:

Some useful videos related to Chrome:

  • Exploring Chrome Internals (~1 hour)
    • great general overview of the implementation of most of Chrome’s subsystems presented at the Google I/O conference

      Learn about Google Chrome’s multi-process architecture and sandboxing technology. This talk will provide an overview of the processes, threads, and IPC involved with getting pixels on the screen in a system where the WebKit rendering engine is denied, via the sandbox, from having direct access to your computer.

  • Chromium’s Multi-Process Architecture (~30 mins)
    • explains the way different processes are spawned & managed, as well as how they all communicate

      Chromium’s multi-process architecture is a radical departure from other web browsers. There are many advantages to this design, but with it comes complexity. Darin Fisher gives an overview of how the processes communicate and then dives into specific examples like how optimized scrolling works. This video is a “must see” for any Chromium developer.

  • The Organization and Abstraction Layers of Chromium’s Code (~10 mins)
    • great high level overview of the architecture of Chrome, in particular how it relates to WebKit

      Chromium’s multi-process architecture and tight integration with WebKit necessitate a heavily layered approach. In this talk, Brett Wilson introduced each of the layers and explains how they fit together.

  • Chromium UI Development (~15 mins)
    • overview

      Ben Goodger presents a brief introduction of the Chromium views system used to build UI on Windows. This talk covers the basics of using views, as well as some details about how it works under the hood.

  • WebKit for Chromium Developers (~30 mins)
    • overview

      WebKit is at the heart of Chromium, Safari, and many other web browsers. Because we all share WebKit, the procedure for its development is a bit different than the rest of Chromium. Dimitri Glazkov gives a thorough introduction to WebKit for Chromium developers including productivity tips.

  • Chromium’s Network Stack (~25 mins)
    • overview

      Recently, Chromium’s network stack was completely re-written. Wan-Teh Chang and Eric Roman present the reasons for the re-write, an overview of the code’s components, and walk through some common network stack operations.