Difference between revisions of "User:Dtheosab"
(Contributions added.) |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | =About me= | |
− | Name: Daino Theosabrata | + | *Name: Daino Theosabrata |
− | Email: dtheosab@learn.senecac.on.ca | + | *Email: dtheosab@learn.senecac.on.ca |
+ | *Open Source Blog: [http://dtheosab.wordpress.com/ http://dtheosab.wordpress.com/] | ||
+ | *Project: [[Radio Button Bookmarks Extension]] | ||
+ | *FSOSS Report: [[User:Dtheosab/FSOSS_2007|FSOSS 2007]] | ||
+ | |||
+ | |||
+ | =Contributions= | ||
+ | *Helps [[User:Vbala|Vijey Balasundaram]] in starting his [[Full-Text_History_Search_extension|project]]. | ||
+ | *Tested Canvas 3D on my home pc and give feedback to [[User:Catherine.leung|Catherine Leung]]. | ||
+ | *Tested [[Add_support_for_more_compilers_to_distcc|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. | ||
+ | <pre> | ||
+ | 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; | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | ==Modifying the Browser Part II - writing an extension== | ||
+ | *This extension that will open a new tab next to the current tab. | ||
+ | *Click here to [http://zenit.senecac.on.ca/wiki/imgs/Addtabbeside-dtheosab.xpi 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. | ||
+ | <pre> | ||
+ | 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.... | ||
+ | </pre> |
Latest revision as of 22:10, 9 December 2007
Contents
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....