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"