merge cvs-trunk-mirror -> mozilla-central

This commit is contained in:
benjamin@smedbergs.us 2008-03-11 17:02:36 -04:00
commit 4af173ada4
9 changed files with 139 additions and 34 deletions

View File

@ -161,7 +161,7 @@ var gPrivacyPane = {
* network.cookie.cookieBehavior
* - determines how the browser should handle cookies:
* 0 means enable all cookies
* 1 means allow cookies from the "originating" server only; see
* 1 means reject third party cookies; see
* netwerk/cookie/src/nsCookieService.cpp for a hairier definition
* 2 means disable all cookies
* network.cookie.lifetimePolicy
@ -173,31 +173,51 @@ var gPrivacyPane = {
/**
* Reads the network.cookie.cookieBehavior preference value and
* enables/disables the "Keep until:" UI accordingly, returning true
* enables/disables the rest of the cookie UI accordingly, returning true
* if cookies are enabled.
*/
readAcceptCookies: function ()
{
var pref = document.getElementById("network.cookie.cookieBehavior");
var acceptThirdParty = document.getElementById("acceptThirdParty");
var keepUntil = document.getElementById("keepUntil");
var menu = document.getElementById("keepCookiesUntil");
// anything other than "disable all cookies" maps to "accept cookies"
// enable the rest of the UI for anything other than "disable all cookies"
var acceptCookies = (pref.value != 2);
keepUntil.disabled = menu.disabled = !acceptCookies;
keepUntil.disabled = menu.disabled = acceptThirdParty.disabled = !acceptCookies;
return acceptCookies;
},
readAcceptThirdPartyCookies: function ()
{
var pref = document.getElementById("network.cookie.cookieBehavior");
return pref.value == 0;
},
/**
* Enables/disables the "keep until" label and menulist in response to the
* "accept cookies" checkbox being checked or unchecked.
*/
writeAcceptCookies: function ()
{
var checkbox = document.getElementById("acceptCookies");
return checkbox.checked ? 0 : 2;
var accept = document.getElementById("acceptCookies");
var acceptThirdParty = document.getElementById("acceptThirdParty");
// if we're enabling cookies, automatically check 'accept third party'
if (accept.checked)
acceptThirdParty.checked = true;
return accept.checked ? (acceptThirdParty.checked ? 0 : 1) : 2;
},
writeAcceptThirdPartyCookies: function ()
{
var accept = document.getElementById("acceptCookies");
var acceptThirdParty = document.getElementById("acceptThirdParty");
return accept.checked ? (acceptThirdParty.checked ? 0 : 1) : 2;
},
/**

View File

@ -142,6 +142,12 @@
label="&cookieExceptions.label;" accesskey="&cookieExceptions.accesskey;"
preference="pref.privacy.disable_button.cookie_exceptions"/>
</hbox>
<checkbox id="acceptThirdParty" label="&acceptThirdParty.label;" class="indent"
preference="network.cookie.cookieBehavior"
accesskey="&acceptThirdParty.accesskey;"
onsyncfrompreference="return gPrivacyPane.readAcceptThirdPartyCookies();"
onsynctopreference="return gPrivacyPane.writeAcceptThirdPartyCookies();"/>
<hbox id="keepRow">
<hbox id="keepBox" align="center" class="indent">
<label id="keepUntil"

View File

@ -31,7 +31,7 @@ Official Milestone builds of Firefox are published on the release page at
OS/2 releases are not created by Mozilla.org staff and may appear on the page
http://www.mozilla.org/ports/os2 before the releases page. Be sure to read the
Firefox release notes linked on the releases page for information on known
Firefox release notes linked on the releases page for information on known
problems and installation issues with Firefox.
@ -41,29 +41,28 @@ problems and installation issues with Firefox.
================================================================================
- This release requires the C runtime DLLs (libc-0.6.1) from
ftp://ftp.netlabs.org/pub/gcc/libc-0.6.1-csd1.zip
- This release requires the C runtime DLLs (libc-0.6.3) from
ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip
in order to run. You can unpack them in the same directory as the
Firefox executable or somewhere else in your LIBPATH.
- Minimum hardware requirements
+ Pentium class processor
+ 64 MiB RAM plus 64 MiB free swap space
+ 35 MiB free harddisk space for installation
+ 400 MHz Pentium class processor
+ 128 MiB RAM plus 128 MiB free swap space
+ 40 MiB free harddisk space for installation
plus storage space for disk cache
+ Graphics card and driver capable of displaying more than 256 colors
- Recommended hardware for acceptable performance
+ 500 MHz processor
+ 256 MiB RAM plus 64 MiB free swap space
+ 1.0 GHz processor
+ 512 MiB RAM plus 128 MiB free swap space
NOTE: Firefox's performance and stability increases the more physical
RAM is available. Especially for long sessions 512 MiB of memory is
recommended.
+ Graphics card and driver capable of displaying more than 256 colors
RAM is available.
- Software requirements
+ Installation on a file system supporting long file names
(i.e. HPFS or JFS but not FAT)
+ OS/2 Warp 4 with Fixpack 15 or later
+ OS/2 Warp 4 with Fixpack 15 or later (Warp 3 may work but is unsupported)
+ MPTS version 5.3
+ TCP/IP version 4.1
+ INETVER: SOCKETS.SYS=5.3007, AFOS2.SYS=5.3001, AFINET.SYS=5.3006
@ -75,6 +74,10 @@ problems and installation issues with Firefox.
+ Convenience Pack 2 or eComStation 1.0 or later meet these requirements
out of the box.
- Useful optional software
The following packages enable additional features in Firefox. Download
locations are listed below with a detailed description of the features.
+ Doodle's Screen Saver (DSSaver), version 1.8 or later
================================================================================
@ -98,7 +101,7 @@ OS/2 Installation Instructions
download the .zip file and follow these steps:
1. Click the "Zip" link on the site you're downloading Firefox from
to download the ZIP package to your machine. This file is typically called
to download the ZIP package to your machine. This file is typically called
firefox-x.x.x.en-US.os2.zip where the "x.x.x" is replaced by the Firefox
version.
@ -107,13 +110,13 @@ OS/2 Installation Instructions
3. Keep in mind that the unzip process creates a directory "firefox"
below the location you point it to, e.g.
unzip firefox-1.0.1.en-US.os2.zip -d c:\firefox-1.0.1
will unpack Firefox into c:\firefox-1.0.1\firefox.
unzip firefox-3.0.en-US.os2.zip -d c:\firefox-3.0
will unpack Firefox into c:\firefox-3.0\firefox.
4. Make sure that you are _not_ unpacking over an old installation. This is
known to cause problems.
5. To start Firefox, navigate to the directory you extracted
5. To start Firefox, navigate to the directory you extracted
Firefox to, make sure that the C library DLLs are copied to the
installation directory or installed in the LIBPATH, and then double-click
the Firefox.exe object.
@ -122,7 +125,7 @@ OS/2 Installation Instructions
Running multiple versions concurrently
--------------------------------------
Because various members of the Mozilla family (i.e. Mozilla, Firefox,
Because various members of the Mozilla family (i.e. Mozilla, Firefox,
Thunderbird, IBM Web Browser) may use different, incompatible versions of the
same DLL, some extra steps may be required to run them concurrently.
@ -162,7 +165,7 @@ Separating profiles from installation directory
To separate the locations of the user profile(s) (containing the bookmarks and
all customizations) from the installation directory to keep your preferences in
the case of an update even when using ZIP packages, set the variable
the case of an update even when using ZIP packages, set the variable
MOZILLA_HOME to a directory of your choice. You can do this either in Config.sys
or in a script or using a program object as listed above. If you add
@ -194,6 +197,36 @@ Find more information on this topic and other tips on
http://www.os2bbs.com/os2news/Warpzilla.html
Idle timer for internal cleanups
--------------------------------
If Doodle's Screen Saver (DSSaver) v1.8 or later is installed, Firefox can
determine how long the user has been inactive. If the user has been inactive
for a while, cleanup operations are performed (e.g. on the browsing history)
and reloads of "Live Bookmarks" are suspended.
DSSaver can be downloaded from
ftp://ftp.netlabs.org/pub/dssaver/dssaver_v18.zip
Setting the OS/2 default browser
--------------------------------
The default web browser can be set using WPS URL objects. The properties
notebook of every URL object contains a "Browser" tab where the browser
executable can be selected. Any changes to these settings will be stored and
reflected in all URL objects once the user presses the "Set Default" button.
Two small applications make this change a bit easier and provide options to also
set default programs for mail and news as well as internet chat services:
- ConfigApps
http://hobbes.nmsu.edu/cgi-bin/h-search?key=configapps&sort=date
- Internet Application Integration
http://7cities.net/~mckinnis/os2/
Known Problems of the OS/2 version
----------------------------------

View File

@ -149,18 +149,13 @@ GetScriptContext(JSContext *cx)
inline void SetPendingException(JSContext *cx, const char *aMsg)
{
JSAutoRequest ar(cx);
JSString *str = JS_NewStringCopyZ(cx, aMsg);
if (str)
JS_SetPendingException(cx, STRING_TO_JSVAL(str));
JS_ReportError(cx, "%s", aMsg);
}
inline void SetPendingException(JSContext *cx, const PRUnichar *aMsg)
{
JSAutoRequest ar(cx);
JSString *str = JS_NewUCStringCopyZ(cx,
reinterpret_cast<const jschar*>(aMsg));
if (str)
JS_SetPendingException(cx, STRING_TO_JSVAL(str));
JS_ReportError(cx, "%hs", aMsg);
}
// DomainPolicy members
@ -705,7 +700,7 @@ nsScriptSecurityManager::CheckSameOrigin(JSContext* cx,
if (!SecurityCompareURIs(sourceURI, aTargetURI))
{
ReportError(cx, NS_LITERAL_STRING("CheckSameOriginError"), sourceURI, aTargetURI);
return NS_ERROR_DOM_BAD_URI;
return NS_OK;
}
return NS_OK;
}
@ -720,6 +715,7 @@ nsScriptSecurityManager::CheckSameOriginURI(nsIURI* aSourceURI,
if (reportError) {
ReportError(nsnull, NS_LITERAL_STRING("CheckSameOriginError"),
aSourceURI, aTargetURI);
return NS_OK;
}
return NS_ERROR_DOM_BAD_URI;
}
@ -1287,7 +1283,7 @@ nsScriptSecurityManager::CheckLoadURIFromScript(JSContext *cx, nsIURI *aURI)
if (NS_FAILED(aURI->GetAsciiSpec(spec)))
return NS_ERROR_FAILURE;
JS_ReportError(cx, "Access to '%s' from script denied", spec.get());
return NS_ERROR_DOM_BAD_URI;
return NS_OK;
}
NS_IMETHODIMP

View File

@ -0,0 +1,7 @@
<html>
<head>
</head>
<body>
<div>A</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
<html>
<head>
</head>
<body>
<div>&zwnj;A</div>
</body>
</html>

View File

@ -753,4 +753,4 @@ random == 403134-1.html 403134-1-ref.html # bug 405377
== 420069-1.html 420069-1-ref.html
== 420069-2.html 420069-2-ref.html
# == 420351-1.html 420351-1-ref.html
== 421234-1.html 421234-1-ref.html

View File

@ -1145,6 +1145,24 @@ nsLocalFile::Normalize()
WCHAR cwd[MAX_PATH];
WCHAR * pcwd = cwd;
int drive = TOUPPER(path.First()) - 'A' + 1;
/* We need to worry about IPH, for details read bug 419326.
* _getdrives - http://msdn2.microsoft.com/en-us/library/xdhk0xd2.aspx
* uses a bitmask, bit 0 is 'a:'
* _chdrive - http://msdn2.microsoft.com/en-us/library/0d1409hb.aspx
* _getdcwd - http://msdn2.microsoft.com/en-us/library/7t2zk3s4.aspx
* take an int, 1 is 'a:'.
*
* Because of this, we need to do some math. Subtract 1 to convert from
* _chdrive/_getdcwd format to _getdrives drive numbering.
* Shift left x bits to convert from integer indexing to bitfield indexing.
* And of course, we need to find out if the drive is in the bitmask.
*
* If we're really unlucky, we can still lose, but only if the user
* manages to eject the drive between our call to _getdrives() and
* our *calls* to _wgetdcwd.
*/
if (!((1 << (drive - 1)) & _getdrives()))
return NS_ERROR_FILE_INVALID_PATH;
if (!_wgetdcwd(drive, pcwd, MAX_PATH))
pcwd = _wgetdcwd(drive, 0, 0);
if (!pcwd)

View File

@ -44,6 +44,7 @@ var LocalFile = CC("@mozilla.org/file/local;1", "nsILocalFile", "initWithPath");
function run_test()
{
test_toplevel_parent_is_null();
test_normalize_crash_if_media_missing();
}
function test_toplevel_parent_is_null()
@ -64,3 +65,20 @@ function test_toplevel_parent_is_null()
do_check_eq(e.result, Cr.NS_ERROR_FILE_UNRECOGNIZED_PATH);
}
}
function test_normalize_crash_if_media_missing()
{
const a="a".charCodeAt(0);
const z="z".charCodeAt(0);
for (i = a; i <= z; ++i)
{
try
{
LocalFile(String.fromCharCode(i)+":.\\test").normalize();
}
catch (e)
{
}
}
}