Closed Bug 574188 Opened 14 years ago Closed 14 years ago

Figure out where in the Firefox codebase TabCandy needs to land

Categories

(Firefox Graveyard :: Panorama, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: iangilman, Assigned: Mardak)

References

Details

Attachments

(5 files, 2 obsolete files)

TabCandy won't be a separate XPI, so where does it need to go in the Firefox code?
Blocks: 574217
I would assume it'll live under..

browser/components/tabcandy

There'll be some stuff directly in browser/base/content to hook into tabcandy.

The jar.mn file can map things into chrome://browser/content/tabcandy/.. for loading the page in the xul:deck, etc.
Based on conversation with mardak today, looks like it actually needs to go in:

browser/base/content/tabcandy

Inside that folder, we'll have a tabcandy.js that is just a bunch of #include for all of the other js files. We'll also have our image files (though some, like our navbar icon, may need to live elsewhere) and our index.html. Perhaps we should fold our CSS into index.html to save a file?

We'll need to add our contents to: 

browser/base/jar.mn

Note that instead of chrome://tabcandy/content, our new path will be: 

chrome://browser/content/tabcandy/
So the xul:deck browser will probably load chrome://browser/content/tabcandy/index.html and that page loads the unified chrome://browser/content/tabcandy/tabcandy.js
Depends on: 574815
In addition, we'll need to: 

* Add the toolbar button directly to the xul rather than adding it dynamically as we do now. 

* Update all of our chrome://tabcandy references to chrome://browser/.../tabcandy. For instance, images and css will be at chrome://browser/skin/tabcandy/. 

* Duplicate image for windows and linux themes
Attached file hg convert filemap v1 (obsolete) —
Here's a filemap that will move the js, css, images, xhtml files to the right places.
test.js probably is unneeded so need to exclude that from the filemap
The tests from test.js need to be integrated into the Firefox unit test framework. Where is that? How is that done?
The file map looks great, by the way. I'm still confused about merging firefoxOverlay.xul into browser.xul will work; the "rename" makes me think we'll just clobber browser.xul. Just my lack of Mercurial skills, I suppose.
I'll be converting one repo into another. You can think of it as you having two repositories A and B that happen to have the same file foo. If you were in repo A and did a "hg pull B", it'll pull the changesets into repo A but it'll exist as a branch. Only after a "hg merge" will there be a final merged repo "AB", and during the merge, you'll need to resolve the merge conflicts of A/foo and B/foo.
I would assume we'll need mochitests for the tests as it involves UI/rendering pieces and not just JS code functionality.
(In reply to comment #10)
> I would assume we'll need mochitests for the tests as it involves UI/rendering
> pieces and not just JS code functionality.

Where do we put the mochitests?
Attached file hg convert filemap v2
Added more renames to preserve more history in the same file and removed the firefox overlay and tests for now.
Attachment #454172 - Attachment is obsolete: true
Attachment #454648 - Attachment mime type: application/octet-stream → text/plain
Attached patch jar.mn v1 (obsolete) — Splinter Review
Builds tabcandy.js and update jar.mn for content files
Attached patch UI v1Splinter Review
Hook up view menu, toolbar, keyboard shortcut with new icon from shorlander.
Assignee: nobody → edilee
Status: NEW → ASSIGNED
Attached patch jar.mn v2Splinter Review
Fix up chrome://tabcandy references and hook up tabcandy.js, jar.mn for content and skin.
Attachment #454747 - Attachment is obsolete: true
http://hg.mozilla.org/users/edward.lee_engineering.uiuc.edu/tabcandy-central/rev/700bdb469779
Add UI hooks to trigger tab candy 

http://hg.mozilla.org/users/edward.lee_engineering.uiuc.edu/tabcandy-central/rev/da9dfdef8dfe
Include individual js pieces into tabcandy.js and expose content and skin files with jar.mn 

After building a non-debug build of Firefox, tabcandy should be usable.

There's still some missing bits like windows and linux theme files and integrating tests.
Attachment #454801 - Flags: feedback?(dao)
Attachment #454803 - Flags: feedback?(dao)
I've now taken care of the windows and linux versions of the theme files (hopefully I did it right): 

http://hg.mozilla.org/users/edward.lee_engineering.uiuc.edu/tabcandy-central/rev/2763944239c2

I've also created a bug for unit tests (Bug 577321). 

With that, I think this bug is resolved.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Attachment #454803 - Flags: feedback?(dao)
Attachment #454801 - Flags: feedback?(dao)
Mass moving all Tab Candy bugs from Mozilla Labs to Firefox::Tab Candy.  Filter the bugmail spam with "tabcandymassmove".
Product: Mozilla Labs → Firefox
Target Milestone: -- → ---
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: