If you get some ideas from my project, please quote with
pcxfirefox, and this is my greatest reward. Many thanks.
This wiki page give you some patches.
** Major Features
link:http://code.google.com/p/htguardmozilla/source/browse/#svn%2Ftrunk%2Ffirefox
** Major Features
link:http://ge.tt/8ZOZ8d7
His key patch is:
diff -ruNa mozilla-release/browser/base/content/browser.css palemoon-12.0-source/browser/base/content/browser.css --- mozilla-release/browser/base/content/browser.css Sat Apr 21 06:03:44 2012 +++ palemoon-12.0-source/browser/base/content/browser.css Mon Apr 23 01:02:59 2012 @@ -21,6 +21,10 @@ visibility: collapse; } +#alltabs-button { + visibility: visible !important; +} + #tabbrowser-tabs:not([overflow="true"])[using-closing-tabs-spacer] ~ #alltabs-button { visibility: hidden; /* temporary space to keep a tab's close button under the cursor */ } @@ -34,8 +38,8 @@ max-width: 250px; min-width: 100px; width: 0; - -moz-transition: min-width 200ms ease-out, - max-width 250ms ease-out, + -moz-transition: min-width 100ms ease-out, + max-width 150ms ease-out, opacity 50ms ease-out 20ms /* hide the tab for the first 20ms of the max-width transition */; } @@ -43,18 +47,25 @@ max-width: 0.1px; min-width: 0.1px; opacity: 0 !important; - -moz-transition: min-width 200ms ease-out, - max-width 250ms ease-out, - opacity 50ms ease-out 180ms /* hide the tab for the last 20ms of the max-width transition */; + -moz-transition: min-width 100ms ease-out, + max-width 150ms ease-out, + opacity 30ms ease-out 50ms /* hide the tab for the last 20ms of the max-width transition */; } .tab-throbber:not([fadein]):not([pinned]), .tab-label:not([fadein]):not([pinned]), .tab-icon-image:not([fadein]):not([pinned]), .tab-close-button:not([fadein]):not([pinned]) { - display: none; + opacity: 0 !important; } +.tab-throbber, +.tab-label, +.tab-icon-image, +.tab-close-button { + -moz-transition: opacity 100ms; +} + .tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned] { position: fixed !important; display: block; /* position:fixed already does this (bug 579776), but let's be explicit */ @@ -366,7 +377,7 @@ #full-screen-warning-container[fade-warning-out] { -moz-transition-property: opacity !important; - -moz-transition-duration: 500ms !important; + -moz-transition-duration: 300ms !important; opacity: 0.0; } @@ -509,7 +520,7 @@ } statuspanel[inactive][previoustype=overLink] { - -moz-transition: opacity 200ms ease-out; + -moz-transition: opacity 0ms ease-out; } .statuspanel-inner { diff -ruNa mozilla-release/browser/branding/official/pref/firefox-branding.js palemoon-12.0-source/browser/branding/official/pref/firefox-branding.js --- mozilla-release/browser/branding/official/pref/firefox-branding.js Sat Apr 21 06:03:44 2012 +++ palemoon-12.0-source/browser/branding/official/pref/firefox-branding.js Sun Apr 22 20:59:46 2012 @@ -1,25 +1,167 @@ -pref("startup.homepage_override_url","http://www.mozilla.com/%LOCALE%/%APP%/%VERSION%/whatsnew/?oldversion=%OLD_VERSION%"); -pref("startup.homepage_welcome_url","http://www.mozilla.com/%LOCALE%/%APP%/%VERSION%/firstrun/"); -// Interval: Time between checks for a new version (in seconds) -// nightly=6 hours, official=24 hours -pref("app.update.interval", 86400); -// The time interval between the downloading of mar file chunks in the -// background (in seconds) -pref("app.update.download.backgroundInterval", 600); -// Give the user x seconds to react before showing the big UI. default=24 hours -pref("app.update.promptWaitTime", 86400); -// URL user can browse to manually if for some reason all update installation -// attempts fail. -pref("app.update.url.manual", "http://www.firefox.com"); -// A default value for the "More information about this update" link -// supplied in the "An update is available" page of the update wizard. -pref("app.update.url.details", "http://www.mozilla.com/%LOCALE%/%APP%/releases/"); - -// Release notes and vendor URLs -pref("app.releaseNotesURL", "http://www.mozilla.com/%LOCALE%/%APP%/%VERSION%/releasenotes/"); -pref("app.vendorURL", "http://www.mozilla.com/%LOCALE%/%APP%/"); - -pref("browser.search.param.ms-pc", "MOZI"); -pref("browser.search.param.yahoo-fr", "moz35"); -pref("browser.search.param.yahoo-fr-cjkt", "moz35"); // now unused -pref("browser.search.param.yahoo-fr-ja", "mozff"); +pref("startup.homepage_override_url","http://www.palemoon.org/"); +pref("startup.homepage_welcome_url","http://www.palemoon.org/firstrun.shtml"); +// Interval: Time between checks for a new version (in seconds) -- 1 week for Pale Moon +pref("app.update.interval", 604800); +pref("app.update.auto", false); +pref("app.update.enabled", true); +// URL for update checks, re-enabled on palemoon.org (369) +pref("app.update.url", "http://www.palemoon.org/update/%VERSION%/update.xml"); +pref("app.update.promptWaitTime", 86400); +// The time interval between the downloading of mar file chunks in the +// background (in seconds) +pref("app.update.download.backgroundInterval", 600); +// URL user can browse to manually if for some reason all update installation +// attempts fail. +pref("app.update.url.manual", "http://www.palemoon.org/"); +// A default value for the "More information about this update" link +// supplied in the "An update is available" page of the update wizard. +pref("app.update.url.details", "http://www.palemoon.org/"); +// Additional Update fixes - no SSL damnit, I don't have a cert (4.0) +pref("app.update.cert.checkAttributes", false); +pref("app.update.cert.requireBuiltIn", false); + +// Release notes and vendor URLs +pref("app.releaseNotesURL", "http://www.palemoon.org/releasenotes-ng.shtml"); +pref("app.vendorURL", "http://www.palemoon.org/"); + +pref("browser.search.param.ms-pc", "MOZI"); +pref("browser.search.param.yahoo-fr", "moz35"); +pref("browser.search.param.yahoo-fr-cjkt", "moz35"); // now unused +pref("browser.search.param.yahoo-fr-ja", "mozff"); + +//Palemoon networking tweaks +pref("network.prefetch-next", false); //prefetching engine off by default! +pref("network.http.pipelining" , true); //pipelining on by default, haven't seen any issues +pref("network.http.pipelining.ssl" , true); +pref("network.http.proxy.pipelining", false); // pipeline proxy requests - breaks some proxies! (406) +pref("network.http.pipelining.maxrequests", 12); // Max number of requests in the pipeline +pref("network.http.max-connections",48); // Don't saturate the network layer and go easy on poor residential routers&wireless! (FF=256) +pref("network.http.max-connections-per-server",6); // With pipelining, this should be low (FF=15) +pref("network.http.max-persistent-connections-per-proxy", 8); +pref("network.http.max-persistent-connections-per-server", 6); + +pref("browser.tabs.insertRelatedAfterCurrent", false); //use old method of tabbed browsing instead of "Chrome" style +pref("general.warnOnAboutConfig", false); //about:config warning. annoying. I don't give warranty. +pref("browser.download.useDownloadDir", false); //don't use default download location as standard. ASK. + +//Fix useragent for annoying websites +pref("general.useragent.compatMode.firefox", true); + +//Ctrl-Tab page previews (361) +pref("browser.ctrlTab.previews", true); +//All Tabs previews (3615/400) +pref("browser.allTabs.previews", true); + +//Downloadmanager (361) +pref("browser.download.manager.flashCount", 10); +pref("browser.download.manager.scanWhenDone", false); + +//plugin kill timeout (366) +pref("dom.ipc.plugins.timeoutSecs", 20); + +//support url +pref("app.support.baseURL", "http://www.palemoon.org/support/"); + +//DNS handling (368) +pref("network.dnsCacheEntries", 1024); //cache 1024 instead of 20 +pref("network.dnsCacheExpiration", 3600); //TTL 1 hour + +//Slightly lower default initial rendering delay (368) +pref("nglayout.initialpaint.delay", 150); + +//webGL +//v11.1: flipped back off - still implementation errors. +pref("webgl.prefer-native-gl", false); +//enable it even if ANGLE isn't built. Will disable anyway if no GL driver present. +pref("webgl.force-enabled", true); + +//D2D/DirectWrite +pref("gfx.font_rendering.directwrite.enabled", false); //Too many issues with this! +//D2D force may cause issues for poor drivers, so off by default. +pref("gfx.direct2d.force-enabled", false); + +//JIT the chrome! (402) +pref("javascript.options.jitprofiling.chrome", true); +// pref("javascript.options.methodjit.chrome", true); +// pref("javascript.options.methodjit_always", true); + +//Add-on window fixes (368) +pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/firefox"); +pref("extensions.getAddons.maxResults", 10); +pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/recommended"); +pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/list/featured/all/10/%OS%/%VERSION%"); +pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%"); +pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/%TERMS%/all/10/%OS%/%VERSION%"); +pref("extensions.getMoreThemesURL", "https://addons.mozilla.org/%LOCALE%/firefox/getpersonas"); +pref("extensions.blocklist.url", "https://addons.mozilla.org/blocklist/3/firefox/%APP_VERSION%/%PRODUCT%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/"); +//MORE add-ons fixes (405) +pref("extensions.webservice.discoverURL","https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%"); +pref("extensions.getAddons.get.url","https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%"); + +//Search engine fixes (3611) +pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/"); + +//Safebrowsing URL fixes (3613) +pref("browser.safebrowsing.provider.0.gethashURL", "http://safebrowsing.clients.google.com/safebrowsing/gethash?client=navclient-auto-ffox&appver={moz:version}&pver=2.2"); +pref("browser.safebrowsing.provider.0.keyURL", "https://sb-ssl.google.com/safebrowsing/newkey?client=palemoon&appver={moz:version}&pver=2.2"); +pref("browser.safebrowsing.provider.0.lookupURL", "http://safebrowsing.clients.google.com/safebrowsing/lookup?sourceid=firefox-antiphish&features=TrustRank&client=navclient-auto-ffox&appver={moz:version}&"); +pref("browser.safebrowsing.provider.0.updateURL", "http://safebrowsing.clients.google.com/safebrowsing/downloads?client=navclient-auto-ffox&appver={moz:version}&pver=2.2"); +pref("browser.safebrowsing.warning.infoURL", "http://www.mozilla.com/%LOCALE%/firefox/phishing-protection/"); +//Dictionary URL (3613) +pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/"); +//Geolocation info URL (3613) +pref("browser.geolocation.warning.infoURL", "http://www.mozilla.com/%LOCALE%/firefox/geolocation/"); + +//give people a choice for add-on updates. +pref("extensions.update.autoUpdateDefault", false); + +pref("browser.urlbar.trimURLs", false); //stop being a derp, Mozilla! + +//cache handling 1GB -> 200MB by default, disable automatic +//max element size 5MB -> 4MB/1MB, caching anything larger is not recommended +pref("browser.cache.disk.smart_size.enabled",false); +pref("browser.cache.disk.capacity",204800); //200MB +pref("browser.cache.disk.max_entry_size",4096); +pref("browser.cache.memory.capacity",16384); //16MB - doesn't seem to be intensively used. +pref("browser.cache.memory.max_entry_size",1024); + +//image RAM cache size for *decoded* images; 256MB should be enough here; +pref("image.cache.size",256000); + +//Improve memory handling for js +pref("javascript.options.mem.gc_per_compartment", false); +pref("javascript.options.mem.high_water_mark", 64); +pref("javascript.options.mem.max", 100000); + +//Disable DNS prefetching to prevent router hangups +pref("network.dns.disablePrefetch", true); + +//Animate preferences windows +pref("browser.preferences.animateFadeIn", true); + +//DOM +pref("dom.disable_window_status_change", false); //Allow status feedback by default +//Set max script runtimes to sane values +pref("dom.max_chrome_script_run_time", 90); //Some addons need ample time! +pref("dom.max_script_run_time", 20); //Should be plenty for a page script to do what it needs + +//Image decoding tweaks +pref("image.mem.max_ms_before_yield", 500); + +//add-on/plugin blocklist -> Palemoon.org +pref("extensions.blocklist.url","http://blocklist.palemoon.org/%VERSION%/blocklist.xml"); + +//store sessions less frequently to prevent redundant mem usage by storing too much +pref("browser.sessionstore.interval",60000); //every minute instead of every 10 seconds +pref("browser.sessionstore.privacy_level",1); //don't store session data (forms, etc) for secure sites + +//Take removed tools out of the UI +pref("devtools.errorconsole.enabled",true); //Essential for troubleshooting +pref("devtools.scratchpad.enabled",false); //Still present but flipped off +pref("devtools.inspector.enabled",false); +pref("devtools.styleeditor.enabled",false); //NIIB +pref("devtools.styleinspector.enabled",false); //NIIB +pref("devtools.tilt.enabled",false); //Tilt? WHY? NIIB + +//Set Tabs NOT on top. +pref("browser.tabs.onTop",false); diff -ruNa mozilla-release/toolkit/components/downloads/nsDownloadManager.h palemoon-12.0-source/toolkit/components/downloads/nsDownloadManager.h --- mozilla-release/toolkit/components/downloads/nsDownloadManager.h Sat Apr 21 06:04:08 2012 +++ palemoon-12.0-source/toolkit/components/downloads/nsDownloadManager.h Sun Apr 22 17:50:26 2012 @@ -26,6 +26,7 @@ * Srirang G Doddihal <brahmana@doddihal.com> * Edward Lee <edward.lee@engineering.uiuc.edu> * Ehsan Akhgari <ehsan.akhgari@gmail.com> + * Moonchild <moonchild@palemoon.org> * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or @@ -45,8 +46,9 @@ #define downloadmanager___h___ #if defined(XP_WIN) && (MOZ_WINSDK_TARGETVER >= MOZ_NTDDI_LONGHORN) -#define DOWNLOAD_SCANNER +// #define DOWNLOAD_SCANNER #endif +#undef DOWNLOAD_SCANNER #include "nsIDownload.h" #include "nsIDownloadManager.h"