Firefox/Projects/TabCandy/Work: Difference between revisions

no edit summary
No edit summary
Line 1: Line 1:
This is the top-level work page for the TabCandy team.  
This is the top-level work page for the Tab Candy team.  


= Who =
= Who =
Line 36: Line 36:
TabCandy is part of Firefox, so to build it you need to build Firefox. Use the [https://developer.mozilla.org/en/build_documentation basic instructions].
TabCandy is part of Firefox, so to build it you need to build Firefox. Use the [https://developer.mozilla.org/en/build_documentation basic instructions].


You can work with the mozilla-central branch, but we also have a tabcandy-central branch available: '''ssh://hg.mozilla.org/users/edward.lee_engineering.uiuc.edu/tabcandy-central/'''
You can work with the mozilla-central branch, but we also have a tabcandy-central branch (though it's currently frozen): '''ssh://hg.mozilla.org/users/edward.lee_engineering.uiuc.edu/tabcandy-central/'''


Once you've done a full build, for future builds you can just package up the various pieces TabCandy needs. One approach is to make a shell script like so:  
Once you've done a full build, for future builds you can just package up the various pieces TabCandy needs. One approach is to make a shell script like so:  
Line 50: Line 50:
  objdir-ff-release/dist/Minefield.app/Contents/MacOS/firefox-bin -no-remote -P tcc
  objdir-ff-release/dist/Minefield.app/Contents/MacOS/firefox-bin -no-remote -P tcc


The html and javascript files are in '''browser/base/content/tabview'''. The images and CSS file are in '''browser/themes/<platform>/browser/tabcandy'''.
The html and javascript files are in '''browser/base/content/tabview'''. The images and CSS file are in '''browser/themes/<platform>/browser/tabview'''. The tests are in '''browser/base/content/test/tabview'''.


== Debugging ==
= Debugging =


All of our JavaScript files get concatenated into a single tabcandy.js, so error line numbers don't line up with the original source files. You can, however, go to chrome://browser/content/tabview.js, hit "view source", and then command+L is "go to line".  
All of our JavaScript files get concatenated into a single tabcandy.js, so error line numbers don't line up with the original source files. You can, however, go to chrome://browser/content/tabview.js, hit "view source", and then command+L is "go to line".  
= Mercurial Queues =
Very handy for managing multiple patches in flight. Pop one on, work with it, pop it off again. See https://developer.mozilla.org/en/Mercurial_Queues to get started.
Once you have it all set up and do that init dance, you need to create the patch you'll be working on. You can either do this by doing '''hg qnew ''<patchname>''''' or by importing a patch. To import, grab the patch and '''hg qimport ''<patchname>'''''.
Either way, you then apply the patch with '''hg qpush ''<patchname>''''', at which point you have the patch applied, and you can make live edits.
To update the patch do '''hg qrefresh'''. Edit, refresh, edit, refresh, etc.
When done, do '''hg qrefresh''' and then '''hg qpop'''. Now the patch is no longer being worked on. Navigate to '''.hg/patches/''<patchname>''''' and you'll have the patch ready for upload.


= Landing =  
= Landing =  
68

edits