diff --git a/minimo/base/Minimo.cpp b/minimo/base/Minimo.cpp index 227f852ab83..cbc99b03078 100755 --- a/minimo/base/Minimo.cpp +++ b/minimo/base/Minimo.cpp @@ -48,6 +48,7 @@ // Global variables const static char* start_url = "chrome://minimo/content/minimo.xul"; +//const static char* start_url = "http://www.mozilla.org"; //const static char* start_url = "http://www.meer.net/~dougt/test.html"; //const static char* start_url = "resource://gre/res/start.html"; //const static char* start_url = "resource://gre/res/1.html"; @@ -238,6 +239,9 @@ nsFullScreen::ShowAllOSChrome() ShowWindow(hTaskBarWnd, SW_SHOW); + WriteConsoleLog(); + + return NS_OK; #endif } @@ -290,9 +294,17 @@ nsBadCertListener::ConfirmUnknownIssuer(nsIInterfaceRequestor *socketInfo, nsIX5 bundle->GetStringFromName(NS_LITERAL_STRING("confirmUnknownIssuer").get(), getter_Copies(message)); bundle->GetStringFromName(NS_LITERAL_STRING("securityWarningTitle").get(), getter_Copies(title)); + nsCOMPtr wwatcher = do_GetService(NS_WINDOWWATCHER_CONTRACTID); + if (!wwatcher) + return NS_ERROR_FAILURE; + + nsCOMPtr parent; + if (!parent) + wwatcher->GetActiveWindow(getter_AddRefs(parent)); + PRBool result; nsCOMPtr dlgService(do_GetService(NS_PROMPTSERVICE_CONTRACTID)); - dlgService->Confirm(nsnull, title, message, &result); + dlgService->Confirm(parent, title, message, &result); *_retval = result; @@ -320,9 +332,17 @@ nsBadCertListener::ConfirmMismatchDomain(nsIInterfaceRequestor *socketInfo, cons bundle->GetStringFromName(NS_LITERAL_STRING("confirmMismatch").get(), getter_Copies(message)); bundle->GetStringFromName(NS_LITERAL_STRING("securityWarningTitle").get(), getter_Copies(title)); + nsCOMPtr wwatcher = do_GetService(NS_WINDOWWATCHER_CONTRACTID); + if (!wwatcher) + return NS_ERROR_FAILURE; + + nsCOMPtr parent; + if (!parent) + wwatcher->GetActiveWindow(getter_AddRefs(parent)); + PRBool result; nsCOMPtr dlgService(do_GetService(NS_PROMPTSERVICE_CONTRACTID)); - dlgService->Confirm(nsnull, title, message, &result); + dlgService->Confirm(parent, title, message, &result); *_retval = result; @@ -347,9 +367,17 @@ nsBadCertListener::ConfirmCertExpired(nsIInterfaceRequestor *socketInfo, nsIX509 bundle->GetStringFromName(NS_LITERAL_STRING("confirmCertExpired").get(), getter_Copies(message)); bundle->GetStringFromName(NS_LITERAL_STRING("securityWarningTitle").get(), getter_Copies(title)); + nsCOMPtr wwatcher = do_GetService(NS_WINDOWWATCHER_CONTRACTID); + if (!wwatcher) + return NS_ERROR_FAILURE; + + nsCOMPtr parent; + if (!parent) + wwatcher->GetActiveWindow(getter_AddRefs(parent)); + PRBool result; nsCOMPtr dlgService(do_GetService(NS_PROMPTSERVICE_CONTRACTID)); - dlgService->Confirm(nsnull, title, message, &result); + dlgService->Confirm(parent, title, message, &result); *_retval = result; @@ -397,6 +425,7 @@ void DoPreferences() return; prefBranch->SetIntPref("snav.keyCode.modifier", 0); + prefBranch->SetBoolPref("snav.enabled", true); } #define NS_FULLSCREEN_CID \ @@ -499,10 +528,7 @@ typedef struct _library _library Libraries[] = { - { L"nss3.dll", NULL }, - { L"softokn3.dll", NULL }, - { L"nssckbi.dll", NULL }, - { L"ssl3.dll", NULL }, + { L"nssckbi.dll", NULL }, { NULL, NULL }, }; @@ -600,7 +626,7 @@ int main(int argc, char *argv[]) prefBranch = 0; if (dumpJSConsole) - WriteConsoleLog(); + WriteConsoleLog(); // Close down Embedding APIs NS_TermEmbedding(); diff --git a/minimo/base/WindowCreator.cpp b/minimo/base/WindowCreator.cpp index 987c789d378..3107cb0f420 100755 --- a/minimo/base/WindowCreator.cpp +++ b/minimo/base/WindowCreator.cpp @@ -72,24 +72,34 @@ WindowCreator::CreateChromeWindow2(nsIWebBrowserChrome *aParent, return NS_ERROR_NOT_INITIALIZED; nsCOMPtr newWindow; - - nsCOMPtr appShell(do_GetService(NS_APPSHELLSERVICE_CONTRACTID)); - if (!appShell) - return NS_ERROR_FAILURE; - - nsCOMPtr xulParent(do_GetInterface(aParent)); - - unsigned long x, y; - GetScreenSize(&x, &y); - - appShell->CreateTopLevelWindow(xulParent, - 0, - aChromeFlags, - x, - y, - mAppShell, - getter_AddRefs(newWindow)); - +#if 0 + if (aParent) { + nsCOMPtr xulParent(do_GetInterface(aParent)); + + if (xulParent) + xulParent->CreateNewWindow(aChromeFlags, mAppShell, getter_AddRefs(newWindow)); + } + else +#endif + { + nsCOMPtr appShell(do_GetService(NS_APPSHELLSERVICE_CONTRACTID)); + if (!appShell) + return NS_ERROR_FAILURE; + + nsCOMPtr xulParent(do_GetInterface(aParent)); + + unsigned long x, y; + GetScreenSize(&x, &y); + + appShell->CreateTopLevelWindow(xulParent, // get rid of if you undef above + 0, + aChromeFlags, + x, + y, + mAppShell, + getter_AddRefs(newWindow)); + } + // if anybody gave us anything to work with, use it if (newWindow) { newWindow->SetContextFlags(aContextFlags); @@ -97,6 +107,6 @@ WindowCreator::CreateChromeWindow2(nsIWebBrowserChrome *aParent, if (thing) CallGetInterface(thing.get(), aNewWindow); } - + return *aNewWindow ? NS_OK : NS_ERROR_FAILURE; } diff --git a/minimo/chrome/content/minimo.js b/minimo/chrome/content/minimo.js index 8a44fefcf78..a3a4b276efe 100755 --- a/minimo/chrome/content/minimo.js +++ b/minimo/chrome/content/minimo.js @@ -601,9 +601,11 @@ function BrowserPopupShowing () { /* Enable Paste - Can paste only if the focused element has a value attribute. :) THis may affect XHTML nodes. Users may be able to paste things within XML nodes. */ - if(document.commandDispatcher.focusedElement.nodeName=="INPUT"||document.commandDispatcher.focusedElement.nodeName=="TEXTAREA") { - if(DoClipCheckPaste()) { - document.getElementById("item-paste").style.display="block"; + if (document.commandDispatcher.focusedElement) { + if(document.commandDispatcher.focusedElement.nodeName=="INPUT"||document.commandDispatcher.focusedElement.nodeName=="TEXTAREA") { + if(DoClipCheckPaste()) { + document.getElementById("item-paste").style.display="block"; + } } } } @@ -796,10 +798,6 @@ function MenuPopupHidden() { * https://bugzilla.mozilla.org/show_bug.cgi?id=311287#c1 - we should have the snav interface here. */ function BrowserSNAVToggle(state) { - if(gStateSNAV != state) { // goes through actually doing, only first time. - gPref.setBoolPref("snav.enabled", state); - gStateSNAV=state; - } } diff --git a/minimo/chrome/skin/minimo.css b/minimo/chrome/skin/minimo.css index f9b7f857ec0..f4b10dc0436 100755 --- a/minimo/chrome/skin/minimo.css +++ b/minimo/chrome/skin/minimo.css @@ -36,8 +36,10 @@ * ***** END LICENSE BLOCK ***** */ /* This CSS rule has to be here because code is accessing styleSheets[1].rules[0]! */ + +/* background-position:0px 100%; */ + #urlbar input { - background-position:0px 100%; background-repeat:no-repeat; background-image:url(chrome://minimo/skin/transfer.jpg); padding:0px; diff --git a/minimo/components/ssr/smallScreen.css b/minimo/components/ssr/smallScreen.css index 5a324540a30..e051d403236 100755 --- a/minimo/components/ssr/smallScreen.css +++ b/minimo/components/ssr/smallScreen.css @@ -44,10 +44,8 @@ html table,html tbody,html thead,html tfoot,html tr,html td,html th,html col,htm display: block ! important; } -html img[width="1"], html img[height="1"],html img[width="468"],html img[height="600"] { +html img[width="1"], html img[height="1"] { /* let's get rid of 1 pixel wide/high images */ - /* and of std formats of ads ; current ads formats are */ - /* too big for small screens */ display: none ! important; } @@ -74,24 +72,3 @@ html a { html img[src*="spacer"] { display: none ! important; } - - - - -html *:focus -{ - -moz-outline: 3px solid #FFFF00 !important; - -moz-outline-offset: 1px !important; - -moz-outline-radius: 3px !important; -} - -html textarea:focus,html button:focus,html select:focus,html input:focus -{ - -moz-outline-offset: -1px !important; -} - -html input[type="radio"]:focus -{ - -moz-outline-radius: 8px !important; - -moz-outline-offset: 0px !important; -} diff --git a/minimo/config/mozconfig/ppc2003arm b/minimo/config/mozconfig/ppc2003arm index c2c1b6bfad7..ec63d555a05 100755 --- a/minimo/config/mozconfig/ppc2003arm +++ b/minimo/config/mozconfig/ppc2003arm @@ -26,7 +26,7 @@ mk_add_options TARGET_DEVICE=device # code generation options (optimize for size) ac_add_options --enable-strip ac_add_options --disable-debug -ac_add_options --enable-optimize="-Oxs" +ac_add_options --enable-optimize="-Oxt" # enable static build ac_add_options --disable-shared diff --git a/minimo/config/wince_package.sh b/minimo/config/wince_package.sh index 36e2553d197..b7ab97f8291 100755 --- a/minimo/config/wince_package.sh +++ b/minimo/config/wince_package.sh @@ -98,6 +98,8 @@ pushd $SRCDIR cp -a ../customization/all.js $OBJDIR/dist/minimo/greprefs +cat ../customization/ua.css.additions >> $OBJDIR/dist/minimo/res/ua.css + echo Copying ARM shunt lib. Adjust if you are not building ARM cp -a ../../build/wince/shunt/build/ARMV4Rel/shunt.dll $OBJDIR/dist/minimo diff --git a/minimo/customization/all.js b/minimo/customization/all.js index 93bdac4f0d8..5e84220c6e3 100755 --- a/minimo/customization/all.js +++ b/minimo/customization/all.js @@ -1,13 +1,16 @@ -("general.useragent.extra.minimo", "Minimo/0.010"); +pref("general.useragent.extra.minimo", "Minimo/0.010"); pref("browser.cache.disk.enable", false); pref("browser.cache.disk.capacity", 0); pref("browser.cache.memory.enable", true); -pref("browser.cache.memory.capacity", 256); +pref("browser.cache.memory.capacity", 1024); // -1 = determine dynamically, 0 = none, n = memory capacity in kilobytes pref("browser.cache.disk_cache_ssl", false); // 0 = once-per-session, 1 = each-time, 2 = never, 3 = when-appropriate/automatically pref("browser.cache.check_doc_frequency", 3); +// Fastback caching - if this pref is negative, then we calculate the number +// of content viewers to cache based on the amount of available memory. +pref("browser.sessionhistory.max_total_viewers", -1); pref("browser.display.use_document_fonts", 1); // 0 = never, 1 = quick, 2 = always pref("browser.display.use_document_colors", true); @@ -63,6 +66,8 @@ pref("browser.tabs.loadGroup", 1); pref("browser.tabs.loadOnNewTab", 0); pref("browser.windows.loadOnNewWindow", 1); +pref("browser.link.open_newwindow", 3); + // dispatch left clicks only to content in browser (still allows clicks to chrome/xul) pref("nglayout.events.dispatchLeftClickOnly", true); @@ -232,27 +237,27 @@ pref("network.http.use-cache", true); // HTTP traffic. an empty value indicates the normal TCP/IP socket type. pref("network.http.default-socket-type", ""); -pref("network.http.keep-alive", false); // set it to false in case of problems -pref("network.http.proxy.keep-alive", false); -pref("network.http.keep-alive.timeout", 300); +pref("network.http.keep-alive", true); // set it to false in case of problems +pref("network.http.proxy.keep-alive", true); +pref("network.http.keep-alive.timeout", 600); // limit the absolute number of http connections. -pref("network.http.max-connections", 2); +pref("network.http.max-connections", 4); // limit the absolute number of http connections that can be established per // host. if a http proxy server is enabled, then the "server" is the proxy // server. Otherwise, "server" is the http origin server. -pref("network.http.max-connections-per-server", 1); +pref("network.http.max-connections-per-server", 4); // if network.http.keep-alive is true, and if NOT connecting via a proxy, then // a new connection will only be attempted if the number of active persistent // connections to the server is less then max-persistent-connections-per-server. -pref("network.http.max-persistent-connections-per-server", 0); +pref("network.http.max-persistent-connections-per-server", 1); // if network.http.keep-alive is true, and if connecting via a proxy, then a // new connection will only be attempted if the number of active persistent // connections to the proxy is less then max-persistent-connections-per-proxy. -pref("network.http.max-persistent-connections-per-proxy", 0); +pref("network.http.max-persistent-connections-per-proxy", 1); // amount of time (in seconds) to suspend pending requests, before spawning a // new connection, once the limit on the number of persistent connections per @@ -293,7 +298,7 @@ pref("network.enableIDN", false); pref("network.dns.ipv4OnlyDomains", ".doubleclick.net"); // This preference can be used to turn off IPv6 name lookups. See bug 68796. -pref("network.dns.disableIPv6", false); +pref("network.dns.disableIPv6", true); // This preference controls whether or not URLs with UTF-8 characters are // escaped. Set this preference to TRUE for strict RFC2396 conformance. @@ -301,7 +306,7 @@ pref("network.standard-url.escape-utf8", true); // This preference controls whether or not URLs are always encoded and sent as // UTF-8. -pref("network.standard-url.encode-utf8", true); +pref("network.standard-url.encode-utf8", false); // directory listing format // 2: HTML @@ -310,7 +315,7 @@ pref("network.standard-url.encode-utf8", true); pref("network.dir.format", 2); // enables the prefetch service (i.e., prefetching of URLs). -pref("network.prefetch-next", true); +pref("network.prefetch-next", false); // The following prefs pertain to the negotiate-auth extension (see bug 17578), @@ -484,7 +489,7 @@ pref("layout.word_select.stop_at_punctuation", true); pref("layout.enable_japanese_specific_transform", false); // pref to force frames to be resizable -pref("layout.frames.force_resizability", false); +pref("layout.frames.force_resizability", true); // pref to permit users to make verified SOAP calls by default pref("capability.policy.default.SOAPCall.invokeVerifySourceHeader", "allAccess"); @@ -642,9 +647,7 @@ pref("browser.startup.homepage", "http://www.meer.net/~dougt/minimo_ce/start.htm pref("browser.display.zoomui",10); pref("browser.display.zoomcontent",10); -/* So forcing this to false, so it's possible to test the toggle */ -/* This is being used in the code, as the state holder */ -pref("snav.enabled", false); +pref("snav.enabled", true); pref("browser.formfill.enable", true);