FIREFOX
My works on firefox stuff
Firefox Build
For building firefox I followed the instructions on annasob's blogon how to build firefox on different platforms, also looked at build instructions and prerequisites @Mozilla Developing Center(MDC). I didn't figure out why it was so slow though on both Vista and Win 7.
First, I tried to build firefox on Vista:
- Intel(R) Processor D CPU 2.17 GHz
- 2GB DDR2 memory
- Windows Vista 32bit
- Visual Studio 2010
and this was my .mozconfig:
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-release
mk_add_options MOZ_MAKE_FLAGS="-j2"
mk_add_options MOZ_CO_PROJECT=browser
ac_add_options --enable-application=browser
ac_add_options --disable-optimize
ac_add_options --enable-debug
Then I started to build it on Windows 7:
- Intel(R) Processor D CPU 3.20 GHz
- 4GB DDR2 memory
- Windows 7 64bit
- Visual Studio 2008
I tried to build based on the same .mozconfig file, but the first error I got was related to SDK. I needed to upgrade SDK version based on these recommendations to SDK 7, and the .Net Framework to 4. Also I needed to change the SDK version in the SDK configuration tool to 7.1.
At the end, the build was successfully done after 2 hours on Win 7 and more than 4 hours on Vista!
Firefox practice (Tabs)
- Source Control: mercurial
- Blog: @ wordpress
- problem
- Open a new tab right beside the selected tab.
- Target file to be changed @mozilla-central
- Patches
- 1- patchMoz_Mar
iff -r cd84bf75a03a browser/base/content/tabbrowser.xml
--- a/browser/base/content/tabbrowser.xml Wed Mar 30 17:41:25 2011 -0400
+++ b/browser/base/content/tabbrowser.xml Wed Mar 30 17:52:21 2011 -0400
@@ -1335,27 +1335,24 @@
// activeness in the tab switcher.
- if ((aRelatedToCurrent == null ? aReferrerURI : aRelatedToCurrent) &&
- Services.prefs.getBoolPref("browser.tabs.insertRelatedAfterCurrent")) {
let newTabPos = (this._lastRelatedTab ||
this.selectedTab)._tPos + 1;
if (this._lastRelatedTab)
this._lastRelatedTab.owner = null;
else
t.owner = this.selectedTab;
this.moveTabTo(t, newTabPos);
this._lastRelatedTab = t;
- }
Firefox Bug (WhiteSpaces)
- Source Control: mercurial
- BugTracker: bugzilla
- Blog: @ wordpress
- Bugs
- Make is_space() in nsImageMap.cpp HTML5-compliant. Ticket @bugzilla #565031
- Target file to be changed @ mozilla-central
- Documentation
- Helpful tips
- Patches
- 1- patchMoz_Apr6
diff -r ec44e31cc46b layout/generic/nsImageMap.cpp
--- a/layout/generic/nsImageMap.cpp Wed Mar 30 20:48:32 2011 -0400
+++ b/layout/generic/nsImageMap.cpp Wed Apr 06 22:11:22 2011 -0400
@@ -107,18 +107,21 @@ Area::~Area()
delete [] mCoords;
}
#include <stdlib.h>
inline PRBool
is_space(char c)
{
- return (c == ' ' ||
- c == '\f' ||
+ return (c == ' ');
+}
+not_space(char c)
+{
+ return (c == '\f' ||
c == '\n' ||
c == '\r' ||
c == '\t' ||
c == '\v');
}
static void logMessage(nsIContent* aContent,
const nsAString& aCoordsSpec,
@@ -181,21 +184,33 @@ void Area::ParseCoords(const nsAString&
while (*n_str != '\0')
{
PRBool has_comma;
/*
* Skip to a separator
*/
tptr = n_str;
- while (!is_space(*tptr) && *tptr != ',' && *tptr != '\0')
+ while (!is_space(*tptr) && *tptr != ',' && *tptr != ';' && *tptr != '\0')
{
- tptr++;
+ if (not_space(*tptr))
+ {
+ break;
+ }
+ else
+ {
+ tptr++;
+ }
}
n_str = tptr;
+
+ if (*tptr == ';')
+ {
+ *tptr = ',';
+ }
/*
* If no more entries, break out here
*/
if (*n_str == '\0')
{
break;
}
@@ -256,17 +271,17 @@ void Area::ParseCoords(const nsAString&
{
return;
}
/*
* Second pass to copy integer values into list.
*/
tptr = cp;
- for (i=0; i<cnt; i++)
+ for (i = 0; i < cnt; i++)
{
char *ptr;
ptr = strchr(tptr, ',');
if (ptr)
{
*ptr = '\0';
}