Summer of Code/2010/Abstract Browser: Difference between revisions
No edit summary |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 33: | Line 33: | ||
# Design and implement a browser engine abstraction layer in Python with two backends: hulahop/xulrunner and pywebkitgtk/webkit. | # Design and implement a browser engine abstraction layer in Python with two backends: hulahop/xulrunner and pywebkitgtk/webkit. | ||
# Port Browse to this new abstraction layer, complete with [[Webified|SSB support]]. | # Port Browse to this new abstraction layer, complete with [[Webified|SSB support]]. | ||
Since recent efforts to empower browsers like HTML5, Jetpack and the Chrome extension API are minimalistic in nature, the web development world is moving towards engine-independent extensions. Thus, implementing Jetpack/Chrome extensions/similar homegrown API for Browse should be both feasible and would benefit from a wealth of existing code. | |||
SSBs are becoming less "web app to replace desktop apps" and more "internet apps to fit better in the desktop". I will design Browse's new SSB support to match this trend. | |||
* '''What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.''' | * '''What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.''' | ||
Weeks: | Weeks: | ||
# Write prototype of abstraction layer | # Write prototype of abstraction layer | ||
#* WebView GTK widget that wraps hulahop.WebView or pywebkitgtk.WebView | |||
#* nothing more than WebView.load_uri() | |||
# Simple Browser activity based on the abstraction layer | # Simple Browser activity based on the abstraction layer | ||
#* recycle code from Browse & Surf | |||
#* implement missing functionality as needed | |||
# Basic browser functionality | # Basic browser functionality | ||
#* DOM access | |||
#* html events mapped to gobject events | |||
# More browser functionality | # More browser functionality | ||
#* downloads, history | |||
#* user stylesheets | |||
#* browser settings (i.e. proxy) | |||
# Port SSB code from Browse's ssb branch | # Port SSB code from Browse's ssb branch | ||
#* create ssb | |||
#* edit userstyles/usersheets | |||
#* bookmarklets | |||
# More functionality | # More functionality | ||
# Polish | # Polish | ||