Difference between revisions of "User:Minooz/OSD600/FF"
(→Firefox Bug) |
(→Firefox Bug) |
||
Line 51: | Line 51: | ||
* Patches | * Patches | ||
− | : 1- | + | : 1- patchMoz_Apr6 |
<source lang="java"> | <source lang="java"> |
Revision as of 22:21, 6 April 2011
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 Bug
- 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';
}