ひとりFirefox読書会

無駄にMinefieldのsrcを読んでみたり。
とりあえず、browser/app/nsBrowserApp.cppのsimpleさに感動してみたり。
無駄に引用してみたり。

static const nsXREAppData kAppData = {
  sizeof(nsXREAppData),
  nsnull,
  "Mozilla",
  "Firefox",
  NS_STRINGIFY(APP_VERSION),
  NS_STRINGIFY(BUILD_ID),
  "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}",
  "Copyright (c) 1998 - 2007 mozilla.org",
  NS_XRE_ENABLE_PROFILE_MIGRATOR |
  NS_XRE_ENABLE_EXTENSION_MANAGER
#if defined(MOZILLA_OFFICIAL) && (defined(XP_WIN) || defined(XP_MACOSX))
  | NS_XRE_ENABLE_CRASH_REPORTER
#endif
,
  nsnull, // xreDirectory
  nsnull, // minVersion
  nsnull, // maxVersion
  "https://crash-reports.mozilla.com/submit"
};

int main(int argc, char* argv[])
{
  return XRE_main(argc, argv, &kAppData);
}

#if defined( XP_WIN ) && defined( WIN32 ) && !defined(__GNUC__)
// We need WinMain in order to not be a console app.  This function is
// unused if we are a console application.
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR args, int )
{
    // Do the real work.
    return main( __argc, __argv );
}
#endif

(browser/app/nsBrowserApp.cpp:46-80; 2007/06/22 18:27 CVS-trunk 最新版はこっち )

Win32ならWinMainからmainをcallして、
mainからXRE_mainをcallして、
それで終了。
なんか、もう、ね、ハァハァ


あと、browser/base/content/browser.jsとか、browser/base/content/browser.xulとか、
夢がひろがるなぁ…


って、こんなことをしてる場合ではないのです。