About me
- Name: Daino Theosabrata
- Email: dtheosab@learn.senecac.on.ca
- Open Source Blog: http://dtheosab.wordpress.com/
- Project: Radio Button Bookmarks Extension
- FSOSS Report: FSOSS 2007
Contributions
- Helps Vijey Balasundaram in starting his project.
- Tested Canvas 3D on my home pc and give feedback to Catherine Leung.
- Tested dstcc on my home pc but failed on setup.
Labs
Modifying the Browser Lab Part I
- This patch will make the new tab to be opened next to the current tab.
Index: tabbrowser.xml =================================================================== RCS file: /cvsroot/mozilla/browser/base/content/tabbrowser.xml,v retrieving revision 1.243 diff -u -8 -p -r1.243 tabbrowser.xml --- tabbrowser.xml 18 Sep 2007 00:59:41 -0000 1.243 +++ tabbrowser.xml 15 Oct 2007 22:15:13 -0000 @@ -1088,17 +1088,17 @@ if (!bgLoad) { function selectNewForegroundTab(browser, tab) { browser.selectedTab = tab; } setTimeout(selectNewForegroundTab, 0, getBrowser(), tab); } if (!bgLoad) this.selectedTab = tab; - + var position = currentTabIndex + 1; return tab; ]]> </body> </method> <method name="loadTabs"> <parameter name="aURIs"/> <parameter name="aLoadInBackground"/> @@ -1173,17 +1173,18 @@ t.maxWidth = this.mTabContainer.mTabMaxWidth; t.minWidth = this.mTabContainer.mTabMinWidth; t.width = 0; t.setAttribute("flex", "100"); t.setAttribute("validate", "never"); t.setAttribute("onerror", "this.parentNode.parentNode.parentNode.parentNode.addToMissedIconCache(this.getAttribute('image')); this.removeAttribute('image');"); t.className = "tabbrowser-tab"; - this.mTabContainer.appendChild(t); + var currentTabIndex = this.mTabContainer.selectedIndex; + this.mTabContainer.insertBefore(t, this.mTabContainer.childNodes.item(currentTabIndex + 1)); if (document.defaultView .getComputedStyle(this.mTabContainer, "") .direction == "rtl") { /* In RTL UI, the tab is visually added to the left side of the * tabstrip. This means the tabstip has to be scrolled back in * order to make sure the same set of tabs is visible before and * after the new tab is added */ @@ -1952,17 +1953,17 @@ this.mTabListeners.splice(aIndex, 0, this.mTabListeners.splice(aTab._tPos, 1)[0]); var oldPosition = aTab._tPos; aIndex = aIndex < aTab._tPos ? aIndex: aIndex+1; this.mCurrentTab._selected = false; // use .item() instead of [] because dragging to the end of the strip goes out of // bounds: .item() returns null (so it acts like appendChild), but [] throws - this.mTabContainer.insertBefore(aTab, this.mTabContainer.childNodes.item(aIndex)); + this.mTabContainer. Before(aTab, this.mTabContainer.childNodes.item(aIndex)); // invalidate cache, because mTabContainer is about to change this._browsers = null; var i; for (i = 0; i < this.mTabContainer.childNodes.length; i++) { this.mTabContainer.childNodes[i]._tPos = i; this.mTabContainer.childNodes[i]._selected = false; }
Modifying the Browser Part II - writing an extension
- This extension that will open a new tab next to the current tab.
- Click here to download
Thunderbird Bug Fix Lab
- This patch will fix multiple . after @ sign of mailto link problem.
- In the lab, I somehow could not connect to the cvs server and cannot create the patch. Here is what before and after code.
176 if (inString.FindChar('.', pos) != kNotFound) // if we have a '.' after the @ sign.... 176 if (inString.FindChar('.', pos) != kNotFound && inString.Find("..") == kNotFound) // if we have a '.' after the @ sign....