ひとり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とか、
夢がひろがるなぁ…
って、こんなことをしてる場合ではないのです。