Hello aa,

I'd like you to do a code review.  Please execute
        g4 diff -c 9616701

or point your web browser to
        http://mondrian/9616701

to review the following code:

Change 9616701 by z...@zkuznia-corp3 on 2009/01/06 13:22:34 *pending*

        Add support for Firefox 3.1
        
        R=aa
        [email protected]
        DELTA=125  (93 added, 0 deleted, 32 changed)
        OCL=9616701

Affected files ...

... //depot/googleclient/gears/opensource/gears/base/common/js_runner_ff.cc#33 
edit
... 
//depot/googleclient/gears/opensource/gears/base/common/js_standalone_engine_mozjs.cc#6
 edit
... //depot/googleclient/gears/opensource/gears/base/firefox/install.rdf.m4#3 
edit
... //depot/googleclient/gears/opensource/gears/base/firefox/module.cc#18 edit
... //depot/googleclient/gears/opensource/gears/factory/factory_ff.cc#4 edit
... //depot/googleclient/gears/opensource/gears/tools/config.mk#95 edit
... //depot/googleclient/gears/opensource/gears/tools/rules.mk#97 edit
... //depot/googleclient/gears/opensource/gears/tools/sanity.mk#6 edit

125 delta lines: 93 added, 0 deleted, 32 changed

Also consider running:
        g4 lint -c 9616701

which verifies that the changelist doesn't introduce new style violations.

If you can't do the review, please let me know as soon as possible.  During
your review, please ensure that all new code has corresponding unit tests and
that existing unit tests are updated appropriately.  Visit
http://www/eng/code_review.html for more information.

This is a semiautomated message from "g4 mail".  Complaints or suggestions?
Mail [email protected].
Change 9616701 by z...@zkuznia-corp3 on 2009/01/06 13:22:34 *pending*

        Add support for Firefox 3.1

Affected files ...

... //depot/googleclient/gears/opensource/gears/base/common/js_runner_ff.cc#33 
edit
... 
//depot/googleclient/gears/opensource/gears/base/common/js_standalone_engine_mozjs.cc#6
 edit
... //depot/googleclient/gears/opensource/gears/base/firefox/install.rdf.m4#3 
edit
... //depot/googleclient/gears/opensource/gears/base/firefox/module.cc#18 edit
... //depot/googleclient/gears/opensource/gears/factory/factory_ff.cc#4 edit
... //depot/googleclient/gears/opensource/gears/tools/config.mk#95 edit
... //depot/googleclient/gears/opensource/gears/tools/rules.mk#97 edit
... //depot/googleclient/gears/opensource/gears/tools/sanity.mk#6 edit

==== //depot/googleclient/gears/opensource/gears/base/common/js_runner_ff.cc#33 
- c:\src-gears3/googleclient/gears/opensource/gears/base/common/js_runner_ff.cc 
====
# action=edit type=text
--- googleclient/gears/opensource/gears/base/common/js_runner_ff.cc     
2009-01-06 13:14:22.000000000 -0800
+++ googleclient/gears/opensource/gears/base/common/js_runner_ff.cc     
2009-01-05 16:37:26.000000000 -0800
@@ -61,6 +61,11 @@
 #include "gears/base/firefox/dom_utils.h"
 #include "gears/base/firefox/module_wrapper.h"
 
+#if BROWSER_FF3
+// JS_DLL_CALLBACK was deprecated in Firefox 3.1
+#define JS_DLL_CALLBACK
+#endif
+
 static const int kGarbageCollectionIntervalMsec = 2000;
 
 // Local helper function.
==== 
//depot/googleclient/gears/opensource/gears/base/common/js_standalone_engine_mozjs.cc#6
 - 
c:\src-gears3/googleclient/gears/opensource/gears/base/common/js_standalone_engine_mozjs.cc
 ====
# action=edit type=text
--- 
googleclient/gears/opensource/gears/base/common/js_standalone_engine_mozjs.cc   
    2009-01-06 13:14:22.000000000 -0800
+++ 
googleclient/gears/opensource/gears/base/common/js_standalone_engine_mozjs.cc   
    2009-01-05 16:37:25.000000000 -0800
@@ -36,6 +36,11 @@
 #include "third_party/spidermonkey/gears_npapi_bindings/mozjs_npapi_storage.h"
 #include "third_party/spidermonkey/gears_npapi_bindings/mozjs_npruntime.h"
 
+#if BROWSER_FF3
+// JS_DLL_CALLBACK was deprecated in Firefox 3.1
+#define JS_DLL_CALLBACK
+#endif
+
 // Mutex to guard JSCreateContext calls.
 static Mutex engine_creation_mutex;
 
==== //depot/googleclient/gears/opensource/gears/base/firefox/install.rdf.m4#3 
- c:\src-gears3/googleclient/gears/opensource/gears/base/firefox/install.rdf.m4 
====
# action=edit type=text
--- googleclient/gears/opensource/gears/base/firefox/install.rdf.m4     
2009-01-05 14:56:35.000000000 -0800
+++ googleclient/gears/opensource/gears/base/firefox/install.rdf.m4     
2008-12-30 10:39:20.000000000 -0800
@@ -68,7 +68,7 @@
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>1.5</em:minVersion>
-        <em:maxVersion>3.0.*</em:maxVersion>
+        <em:maxVersion>3.1.*</em:maxVersion>
       </Description>
     </em:targetApplication>
 
==== //depot/googleclient/gears/opensource/gears/base/firefox/module.cc#18 - 
c:\src-gears3/googleclient/gears/opensource/gears/base/firefox/module.cc ====
# action=edit type=text
--- googleclient/gears/opensource/gears/base/firefox/module.cc  2009-01-05 
14:56:35.000000000 -0800
+++ googleclient/gears/opensource/gears/base/firefox/module.cc  2009-01-06 
13:06:48.000000000 -0800
@@ -302,18 +302,38 @@
     return NS_ERROR_FAILURE;
   }
 
+  nsCString firefox_version;
+  app_info->GetVersion(firefox_version);
+#if defined(BROWSER_FF31)
+  if (strncmp(firefox_version.BeginReading(), "3.1", 3) != 0) {
+    return NS_ERROR_FAILURE;
+  }
+#else
+  if (strncmp(firefox_version.BeginReading(), "3.0", 3) != 0) {
+    return NS_ERROR_FAILURE;
+  }
+
   // We don't support the early betas of Firefox 3 that many people have
   // installed, so we explicitly disallow those versions here.
   nsCString build_id_string;
   app_info->GetPlatformBuildID(build_id_string);
 
-  // The first FF3 version that we support is RC1. I got its build ID here:
-  // http://wiki.mozilla.org/QA/Firefox3/TestResults/RC1
-  // There are several listed for the various platforms. I use the earliest.
-  int build_id = ParseLeadingInteger(build_id_string.BeginReading(), NULL);
-  if (build_id < 2008051202) {
-    return NS_ERROR_FAILURE;
-  }
+  // We need to test the first ten digits of the build ID to determine if it
+  // predates our Firefox 3 support.  If the ID is longer than 10 digits, then
+  // we support this version.
+  const int BUILDID_SIGNIFICANT_DIGITS = 10;
+  const char *build_id_chars = build_id_string.BeginReading();
+  if (strlen(build_id_chars) <= BUILDID_SIGNIFICANT_DIGITS) {
+    // The first FF3 version that we support is RC1. I got its build ID here:
+    // http://wiki.mozilla.org/QA/Firefox3/TestResults/RC1
+    // There are several listed for the various platforms. I use the earliest.
+    int build_id = ParseLeadingInteger(build_id_chars, NULL);
+    if (build_id < 2008051202) {
+      return NS_ERROR_FAILURE;
+    }
+  }
+#endif
+
 #endif
 
   return NS_NewGenericModule2(&kModuleInfo, result);
==== //depot/googleclient/gears/opensource/gears/factory/factory_ff.cc#4 - 
c:\src-gears3/googleclient/gears/opensource/gears/factory/factory_ff.cc ====
# action=edit type=xtext
--- googleclient/gears/opensource/gears/factory/factory_ff.cc   2009-01-06 
13:14:22.000000000 -0800
+++ googleclient/gears/opensource/gears/factory/factory_ff.cc   2009-01-06 
09:52:44.000000000 -0800
@@ -143,7 +143,9 @@
     }
   }
   if (context.is_exception_set()) {
+#if !(BROWSER_FF31)
     ncc->SetExceptionWasThrown(PR_TRUE);
+#endif
   } else {
     if (!context.is_return_value_set()) {
       // Properties should always either throw an exception, or return a value.
==== //depot/googleclient/gears/opensource/gears/tools/config.mk#95 - 
c:\src-gears3/googleclient/gears/opensource/gears/tools/config.mk ====
# action=edit type=text
--- googleclient/gears/opensource/gears/tools/config.mk 2009-01-05 
15:38:22.000000000 -0800
+++ googleclient/gears/opensource/gears/tools/config.mk 2009-01-05 
16:30:12.000000000 -0800
@@ -200,7 +200,11 @@
 ifeq ($(BROWSER),FF2)
 GECKO_BASE = ../third_party/gecko_1.8
 else
+ifeq  ($(BROWSER),FF3)
 GECKO_BASE = ../third_party/gecko_1.9
+else
+GECKO_BASE = ../third_party/gecko_1.9.1
+endif
 endif
 GECKO_BIN = $(GECKO_SDK)/gecko_sdk/bin
 GECKO_LIB = $(GECKO_SDK)/gecko_sdk/lib
@@ -216,11 +220,13 @@
 # TODO(cprince): Update source files so we don't need this compatibility 
define?
 FF2_CPPFLAGS += -DBROWSER_FF=1
 FF3_CPPFLAGS += -DBROWSER_FF=1
+FF31_CPPFLAGS += -DBROWSER_FF3=1 -DBROWSER_FF=1
 
 # FF2/FF3_CPPFLAGS includes several different base paths of GECKO_SDK because
 # different sets of files include SDK/internal files differently.
 FF2_CPPFLAGS += -I$(GECKO_BASE) -I$(GECKO_SDK) 
-I$(GECKO_SDK)/gecko_sdk/include -DMOZILLA_STRICT_API
 FF3_CPPFLAGS += -I$(GECKO_BASE) -I$(GECKO_SDK) 
-I$(GECKO_SDK)/gecko_sdk/include -DMOZILLA_STRICT_API
+FF31_CPPFLAGS += -I$(GECKO_BASE) -I$(GECKO_SDK) 
-I$(GECKO_SDK)/gecko_sdk/include -DMOZILLA_STRICT_API
 IE_CPPFLAGS +=
 CHROME_CPPFLAGS += -I../third_party/v8/bindings_local
 
@@ -546,12 +552,14 @@
 # Keep these in sync:
 FF2_LIBS = -L$(GECKO_SDK)/gecko_sdk/lib -lxpcom -lxpcomglue_s
 FF3_LIBS = -L$(GECKO_SDK)/gecko_sdk/lib -lxpcom -lxpcomglue_s
+FF31_LIBS = -L$(GECKO_SDK)/gecko_sdk/lib -lxpcom -lxpcomglue_s
 # Append differences here:
 # Although the 1.9 SDK contains libnspr4, it is better to link against libxul,
 # which in turn depends on libnspr4. In Ubuntu 8.04, libnspr4 was not listed in
 # /usr/lib, only libxul was.
 FF2_LIBS += -lnspr4
 FF3_LIBS += -lxul
+FF31_LIBS += -lxul
 endif
 
 ######################################################################
@@ -719,9 +727,11 @@
 # Keep these in sync:
 FF2_LIBS = -L$(GECKO_SDK)/gecko_sdk/lib -lxpcom -lmozjs -lnspr4 -lplds4 -lplc4
 FF3_LIBS = -L$(GECKO_SDK)/gecko_sdk/lib -lxpcom -lmozjs -lnspr4 -lplds4 -lplc4
+FF31_LIBS = -L$(GECKO_SDK)/gecko_sdk/lib -lxpcom -lmozjs -lnspr4 -lplds4 -lplc4
 # Append differences here:
 FF2_LIBS +=  -lxpcom_core
 FF3_LIBS +=  $(GECKO_SDK)/gecko_sdk/lib/XUL 
$(GECKO_SDK)/gecko_sdk/lib/libxpcomglue_s.a -lsqlite3 -lsmime3 -lssl3 -lnss3 
-lnssutil3 -lsoftokn3
+FF31_LIBS +=  $(GECKO_SDK)/gecko_sdk/lib/XUL 
$(GECKO_SDK)/gecko_sdk/lib/libxpcomglue_s.a -lsqlite3 -lsmime3 -lssl3 -lnss3 
-lnssutil3 -lsoftokn3
 
 # Iceberg command line tool.
 ICEBERG = /usr/local/bin/freeze
@@ -881,6 +891,7 @@
 
 FF2_DLLFLAGS =
 FF3_DLLFLAGS =
+FF31_DLLFLAGS =
 IE_DLLFLAGS = /DEF:tools/mscom.def
 
 CHROME_DLLFLAGS = /DEF:base/chrome/module.def
@@ -909,6 +920,7 @@
 
 FF2_LIBS = $(GECKO_LIB)/xpcom.lib $(GECKO_LIB)/xpcomglue_s.lib 
$(GECKO_LIB)/nspr4.lib $(GECKO_LIB)/js3250.lib ole32.lib shell32.lib 
shlwapi.lib advapi32.lib wininet.lib comdlg32.lib user32.lib
 FF3_LIBS = $(GECKO_LIB)/xpcom.lib $(GECKO_LIB)/xpcomglue_s.lib 
$(GECKO_LIB)/nspr4.lib $(GECKO_LIB)/js3250.lib ole32.lib shell32.lib 
shlwapi.lib advapi32.lib wininet.lib comdlg32.lib user32.lib
+FF31_LIBS = $(GECKO_LIB)/xpcom.lib $(GECKO_LIB)/xpcomglue_s.lib 
$(GECKO_LIB)/nspr4.lib $(GECKO_LIB)/js3250.lib ole32.lib shell32.lib 
shlwapi.lib advapi32.lib wininet.lib comdlg32.lib user32.lib
 ifeq ($(OS),win32)
 IE_LIBS = kernel32.lib user32.lib gdi32.lib uuid.lib sensapi.lib shlwapi.lib 
shell32.lib advapi32.lib wininet.lib comdlg32.lib user32.lib
 else # wince
==== //depot/googleclient/gears/opensource/gears/tools/rules.mk#97 - 
c:\src-gears3/googleclient/gears/opensource/gears/tools/rules.mk ====
# action=edit type=text
--- googleclient/gears/opensource/gears/tools/rules.mk  2009-01-05 
15:38:22.000000000 -0800
+++ googleclient/gears/opensource/gears/tools/rules.mk  2009-01-05 
15:40:27.000000000 -0800
@@ -46,6 +46,7 @@
 
 FF2_OUTDIR                 = $(OUTDIR)/$(OS)-$(ARCH)/ff2
 FF3_OUTDIR                 = $(OUTDIR)/$(OS)-$(ARCH)/ff3
+FF31_OUTDIR                = $(OUTDIR)/$(OS)-$(ARCH)/ff31
 IE_OUTDIR                  = $(OUTDIR)/$(OS)-$(ARCH)/ie
 NONE_OUTDIR                = $(OUTDIR)/$(OS)-$(ARCH)/none
 NPAPI_OUTDIR               = $(OUTDIR)/$(OS)-$(ARCH)/npapi
@@ -125,12 +126,12 @@
        ui/common/location_data.png \
        $(NULL)
 
-FF3_RESOURCES = \
-       $(FF3_OUTDIR)/genfiles/browser-overlay.js \
-       $(FF3_OUTDIR)/genfiles/browser-overlay.xul \
-       $(FF3_OUTDIR)/genfiles/permissions_dialog.html \
-       $(FF3_OUTDIR)/genfiles/settings_dialog.html \
-       $(FF3_OUTDIR)/genfiles/shortcuts_dialog.html \
+FF31_RESOURCES = \
+       $(FF31_OUTDIR)/genfiles/browser-overlay.js \
+       $(FF31_OUTDIR)/genfiles/browser-overlay.xul \
+       $(FF31_OUTDIR)/genfiles/permissions_dialog.html \
+       $(FF31_OUTDIR)/genfiles/settings_dialog.html \
+       $(FF31_OUTDIR)/genfiles/shortcuts_dialog.html \
        $(NULL)
 # End: resource lists that MUST be kept in sync with "win32_msi.wxs.m4"
 
@@ -158,8 +159,8 @@
 $(BROWSER)_GEN_HEADERS = \
        $(patsubst 
%.idl,$($(BROWSER)_OUTDIR)/genfiles/%.h,$($(BROWSER)_IDLSRCS))
 
-FF3_GEN_TYPELIBS = \
-       $(patsubst %.idl,$(FF3_OUTDIR)/genfiles/%.xpt,$(FF3_IDLSRCS))
+FF31_GEN_TYPELIBS = \
+       $(patsubst %.idl,$(FF31_OUTDIR)/genfiles/%.xpt,$(FF31_IDLSRCS))
 
 IE_OBJS += \
        $(patsubst %.idl,$(IE_OUTDIR)/%_i$(OBJ_SUFFIX),$(IE_IDLSRCS))
@@ -208,12 +209,13 @@
 #   $(BROWSER)_MODULE_DLL = 
$($(BROWSER)_OUTDIR)/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
 FF2_MODULE_DLL    = $(FF2_OUTDIR)/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
 FF3_MODULE_DLL    = $(FF3_OUTDIR)/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
+FF31_MODULE_DLL   = $(FF31_OUTDIR)/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
 IE_MODULE_DLL     = $(IE_OUTDIR)/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
 NPAPI_MODULE_DLL  = $(NPAPI_OUTDIR)/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
 OPERA_MODULE_DLL  = $(OPERA_OUTDIR)/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
 SF_MODULE_DLL     = $(SF_OUTDIR)/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
 
-FF3_MODULE_TYPELIB   = $(FF3_OUTDIR)/$(MODULE).xpt
+FF31_MODULE_TYPELIB  = $(FF31_OUTDIR)/$(MODULE).xpt
 IE_WINCESETUP_DLL    = $(IE_OUTDIR)/$(DLL_PREFIX)setup$(DLL_SUFFIX)
 OPERA_WINCESETUP_DLL = $(OPERA_OUTDIR)/$(DLL_PREFIX)setup$(DLL_SUFFIX)
 SF_INPUTMANAGER_EXE  = $(SF_OUTDIR)/$(EXE_PREFIX)GearsEnabler$(EXE_SUFFIX)
@@ -291,6 +293,10 @@
        $(MAKE) genheaders BROWSER=FF3
        $(MAKE) modules    BROWSER=FF3
 
+       $(MAKE) prereqs    BROWSER=FF31
+       $(MAKE) genheaders BROWSER=FF31
+       $(MAKE) modules    BROWSER=FF31
+
        $(MAKE) installers
 
   else
@@ -307,6 +313,10 @@
        $(MAKE) prereqs    BROWSER=FF3
        $(MAKE) genheaders BROWSER=FF3
        $(MAKE) modules    BROWSER=FF3
+
+       $(MAKE) prereqs    BROWSER=FF31
+       $(MAKE) genheaders BROWSER=FF31
+       $(MAKE) modules    BROWSER=FF31
 
        $(MAKE) prereqs    BROWSER=IE
        $(MAKE) genheaders BROWSER=IE
@@ -349,6 +359,10 @@
        $(MAKE) prereqs    BROWSER=FF3
        $(MAKE) genheaders BROWSER=FF3
        $(MAKE) modules    BROWSER=FF3
+
+       $(MAKE) prereqs    BROWSER=FF31
+       $(MAKE) genheaders BROWSER=FF31
+       $(MAKE) modules    BROWSER=FF31
 
        $(MAKE) prereqs    BROWSER=SF
        $(MAKE) genheaders BROWSER=SF
@@ -400,7 +414,11 @@
 endif
 
 ifeq ($(BROWSER),FF3)
-modules:: $(FF3_MODULE_DLL) $(FF3_MODULE_TYPELIB)
+modules:: $(FF3_MODULE_DLL)
+endif
+
+ifeq ($(BROWSER),FF31)
+modules:: $(FF31_MODULE_DLL) $(FF31_MODULE_TYPELIB)
 endif
 
 ifeq ($(BROWSER),IE)
@@ -637,6 +655,11 @@
 $(FF3_OUTDIR)/genfiles/%.xpt: %.idl
        $(GECKO_BIN)/xpidl -I $(GECKO_SDK)/gecko_sdk/idl -I $(GECKO_BASE) -m 
typelib -o $(FF3_OUTDIR)/genfiles/$* $<
 
+$(FF31_OUTDIR)/genfiles/%.h: %.idl
+       $(GECKO_BIN)/xpidl -I $(GECKO_SDK)/gecko_sdk/idl -I $(GECKO_BASE) -m 
header -o $(FF31_OUTDIR)/genfiles/$* $<
+$(FF31_OUTDIR)/genfiles/%.xpt: %.idl
+       $(GECKO_BIN)/xpidl -I $(GECKO_SDK)/gecko_sdk/idl -I $(GECKO_BASE) -m 
typelib -o $(FF31_OUTDIR)/genfiles/$* $<
+
 $(IE_OUTDIR)/genfiles/%.h: %.idl
        midl $(CPPFLAGS) -env win32 -Oicf -tlb "$(@D)/$*.tlb" -h "$(@D)/$*.h" 
-iid "$(IE_OUTDIR)/$*_i.c" -proxy "$(IE_OUTDIR)/$*_p.c" -dlldata 
"$(IE_OUTDIR)/$*_d.c" $<
 
@@ -775,6 +798,9 @@
        $(RC) $(RCFLAGS) /DBROWSER_FF2=1 $<
 
 $(FF3_OUTDIR)/%.res: %.rc $(COMMON_RESOURCES)
+       $(RC) $(RCFLAGS) /DBROWSER_FF3=1 $<
+
+$(FF31_OUTDIR)/%.res: %.rc $(COMMON_RESOURCES)
        $(RC) $(RCFLAGS) /DBROWSER_FF3=1 $<
 
 $(NPAPI_OUTDIR)/%.res: %.rc $(COMMON_RESOURCES)
@@ -888,7 +914,7 @@
 $(BROWSER)_OBJS1 = $(wordlist   1, 100, $($(BROWSER)_OBJS))
 $(BROWSER)_OBJS2 = $(wordlist 101, 999, $($(BROWSER)_OBJS))
 
-# WARNING: Must keep the following two rules (FF2|FF3_MODULE_DLL) in sync!
+# WARNING: Must keep the following two rules (FF2|FF3|FF31_MODULE_DLL) in sync!
 # The only difference should be the rule name.
 $(FF2_MODULE_DLL): $(BREAKPAD_OBJS) $(COMMON_OBJS) $(LIBGD_OBJS) 
$(SQLITE_OBJS) $(THIRD_PARTY_OBJS) $(SKIA_LIB) $($(BROWSER)_OBJS) 
$($(BROWSER)_LINK_EXTRAS)
   ifeq ($(OS),linux)
@@ -920,8 +946,23 @@
        $(MKDLL) $(DLLFLAGS) $($(BROWSER)_DLLFLAGS) $($(BROWSER)_LINK_EXTRAS) 
$($(BROWSER)_LIBS) $(SKIA_LIB) $(EXT_LINKER_CMD_FLAG)$(OUTDIR)/obj_list.temp
        rm $(OUTDIR)/obj_list.temp
   endif
-
-$(FF3_MODULE_TYPELIB): $(FF3_GEN_TYPELIBS)
+$(FF31_MODULE_DLL): $(BREAKPAD_OBJS) $(COMMON_OBJS) $(LIBGD_OBJS) 
$(SQLITE_OBJS) $(THIRD_PARTY_OBJS) $(SKIA_LIB) $($(BROWSER)_OBJS) 
$($(BROWSER)_LINK_EXTRAS)
+  ifeq ($(OS),linux)
+        # TODO(playmobil): Find equivalent of "@args_file" for ld on Linux.
+       $(MKDLL) $(DLLFLAGS) $($(BROWSER)_DLLFLAGS) $($(BROWSER)_OBJS) 
$(BREAKPAD_OBJS) $(COMMON_OBJS) $(LIBGD_OBJS) $(SQLITE_OBJS) 
$(THIRD_PARTY_OBJS) $($(BROWSER)_LINK_EXTRAS) $($(BROWSER)_LIBS)
+  else
+       $(ECHO) $($(BROWSER)_OBJS1) | $(TRANSLATE_LINKER_FILE_LIST) > 
$(OUTDIR)/obj_list.temp
+       $(ECHO) $($(BROWSER)_OBJS2) | $(TRANSLATE_LINKER_FILE_LIST) >> 
$(OUTDIR)/obj_list.temp
+       $(ECHO) $(BREAKPAD_OBJS) | $(TRANSLATE_LINKER_FILE_LIST) >> 
$(OUTDIR)/obj_list.temp
+       $(ECHO) $(COMMON_OBJS) | $(TRANSLATE_LINKER_FILE_LIST) >> 
$(OUTDIR)/obj_list.temp
+       $(ECHO) $(LIBGD_OBJS) | $(TRANSLATE_LINKER_FILE_LIST) >> 
$(OUTDIR)/obj_list.temp
+       $(ECHO) $(SQLITE_OBJS) | $(TRANSLATE_LINKER_FILE_LIST) >> 
$(OUTDIR)/obj_list.temp
+       $(ECHO) $(THIRD_PARTY_OBJS) | $(TRANSLATE_LINKER_FILE_LIST) >> 
$(OUTDIR)/obj_list.temp
+       $(MKDLL) $(DLLFLAGS) $($(BROWSER)_DLLFLAGS) $($(BROWSER)_LINK_EXTRAS) 
$($(BROWSER)_LIBS) $(SKIA_LIB) $(EXT_LINKER_CMD_FLAG)$(OUTDIR)/obj_list.temp
+       rm $(OUTDIR)/obj_list.temp
+  endif
+
+$(FF31_MODULE_TYPELIB): $(FF31_GEN_TYPELIBS)
        $(GECKO_BIN)/xpt_link $@ $^
 
 # Split the list of OBJS to avoid "input line is too long" errors.
@@ -1112,7 +1153,7 @@
 # We can't list the following as dependencies, because no BROWSER is defined
 # for this target, therefore our $(BROWSER)_FOO variables and rules don't 
exist.
 # For $(FFMERGED_INSTALLER_XPI):
-#   $(FF2_MODULE_DLL) $(FF3_MODULE_DLL) $(FF3_MODULE_TYPELIB) $(FF3_RESOURCES) 
$(FF3_M4FILES_I18N) $(FF3_OUTDIR)/genfiles/chrome.manifest
+#   $(FF2_MODULE_DLL) $(FF3_MODULE_DLL) $(FF31_MODULE_DLL) 
$(FF31_MODULE_TYPELIB) $(FF31_RESOURCES) $(FF31_M4FILES_I18N) 
$(FF31_OUTDIR)/genfiles/chrome.manifest
 # For $(SF_INSTALLER_PKG):
 #   $(SF_PLUGIN_BUNDLE) $(SF_INPUTMANAGER_BUNDLE)
 # In order to make sure the Installer is always up to date despite these 
missing
@@ -1171,8 +1212,8 @@
        "mkdir" -p $(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/lib
        cp base/firefox/static_files/components/bootstrap.js 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components
        cp base/firefox/static_files/lib/updater.js 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/lib
-       cp $(FF3_OUTDIR)/genfiles/install.rdf 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/install.rdf
-       cp $(FF3_OUTDIR)/genfiles/chrome.manifest 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome.manifest
+       cp $(FF31_OUTDIR)/genfiles/install.rdf 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/install.rdf
+       cp $(FF31_OUTDIR)/genfiles/chrome.manifest 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome.manifest
 ifneq ($(OS),win32)
     # TODO(playmobil): Inspector should be located in extensions dir on win32.
        "mkdir" -p 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/resources/inspector
@@ -1182,12 +1223,13 @@
 endif
        "mkdir" -p 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome/chromeFiles/content
        "mkdir" -p 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome/chromeFiles/locale
-       cp $(FF3_RESOURCES) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome/chromeFiles/content
+       cp $(FF31_RESOURCES) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome/chromeFiles/content
        cp $(COMMON_RESOURCES) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome/chromeFiles/content
-       cp -R $(FF3_OUTDIR)/genfiles/i18n/* 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome/chromeFiles/locale
+       cp -R $(FF31_OUTDIR)/genfiles/i18n/* 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome/chromeFiles/locale
        cp -R $(COMMON_OUTDIR)/genfiles/i18n/* 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/chrome/chromeFiles/locale
-       cp $(FF3_MODULE_TYPELIB) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components
-       cp $(FF3_MODULE_DLL) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
+       cp $(FF31_MODULE_TYPELIB) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components
+       cp $(FF31_MODULE_DLL) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components/$(DLL_PREFIX)$(MODULE)$(DLL_SUFFIX)
+       cp $(FF3_MODULE_DLL) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components/$(DLL_PREFIX)$(MODULE)_ff3$(DLL_SUFFIX)
        cp $(FF2_MODULE_DLL) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components/$(DLL_PREFIX)$(MODULE)_ff2$(DLL_SUFFIX)
 ifeq ($(OS),osx)
        cp $(OSX_LAUNCHURL_EXE) 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/resources/
@@ -1208,7 +1250,8 @@
 else # not LINUX (and not OSX)
 ifeq ($(MODE),dbg)
 ifdef IS_WIN32_OR_WINCE
-       cp $(FF3_OUTDIR)/$(MODULE).pdb 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components/$(MODULE).pdb
+       cp $(FF31_OUTDIR)/$(MODULE).pdb 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components/$(MODULE).pdb
+       cp $(FF3_OUTDIR)/$(MODULE).pdb 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components/$(MODULE)_ff3.pdb
        cp $(FF2_OUTDIR)/$(MODULE).pdb 
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/components/$(MODULE)_ff2.pdb
 endif
 endif
==== //depot/googleclient/gears/opensource/gears/tools/sanity.mk#6 - 
c:\src-gears3/googleclient/gears/opensource/gears/tools/sanity.mk ====
# action=edit type=text
--- googleclient/gears/opensource/gears/tools/sanity.mk 2009-01-06 
13:14:22.000000000 -0800
+++ googleclient/gears/opensource/gears/tools/sanity.mk 2009-01-05 
15:45:23.000000000 -0800
@@ -39,10 +39,12 @@
   ifeq ($(OS),win32)
     ifneq ($(BROWSER),FF2)
     ifneq ($(BROWSER),FF3)
+    ifneq ($(BROWSER),FF31)
     ifneq ($(BROWSER),IE)
     ifneq ($(BROWSER),NPAPI)
     ifneq ($(BROWSER),NONE)
-      $(error On Windows, BROWSER can only be one of: FF2 | FF3 | IE | NPAPI | 
NONE)
+      $(error On Windows, BROWSER can only be one of: FF2 | FF3 | FF31 | IE | 
NPAPI | NONE)
+    endif
     endif
     endif
     endif
@@ -61,9 +63,11 @@
   ifeq ($(OS),osx)
     ifneq ($(BROWSER),FF2)
     ifneq ($(BROWSER),FF3)
+    ifneq ($(BROWSER),FF31)
     ifneq ($(BROWSER),SF)
     ifneq ($(BROWSER),NONE)
-      $(error On OS X, BROWSER can only be one of: FF2 | FF3 | SF | NONE)
+      $(error On OS X, BROWSER can only be one of: FF2 | FF3 | FF31 | SF | 
NONE)
+    endif
     endif
     endif
     endif
@@ -72,9 +76,11 @@
   ifeq ($(OS),linux)
     ifneq ($(BROWSER),FF2)
     ifneq ($(BROWSER),FF3)
+    ifneq ($(BROWSER),FF31)
     ifneq ($(BROWSER),NPAPI)
     ifneq ($(BROWSER),NONE)
-      $(error On Linux, BROWSER can only be one of: FF2 | FF3 | NPAPI | NONE)
+      $(error On Linux, BROWSER can only be one of: FF2 | FF3 | FF31 | NPAPI | 
NONE)
+    endif
     endif
     endif
     endif

Reply via email to