This posting briefly describes the source code changes required by
Mozilla embedders who would like to migrating from Mozilla 0.9.9
codebase to Mozilla 1.0(or, what's in the trunk as of this posting in
prep for a 1.0 branch).
Of course, you can migrate from 0.9.9 to 1.0 without any of these
changes to your embeddign app if your app does not currently
use/reference any of this functionality.
As you can see below most of the changes are related to string usage and
are pretty redundant.
- strings
- nsString::EqualsIgnoreCase() gone for wide strings
- need to #include "nsUnicharUtils.h" and link against
unicharutil_s.lib, using foo.Equals(bar,
nsCaseInsensitiveStringComparator())
- need a non-wide version of about:blank string (used raw, for now)
since our urls are now UTF8
- since switching many APIs to nsACString instead of nsXPIDLCString,
you have to use .get() now instead of trying to cast to a (const
char*)
- you have to use !foo.IsEmpty() to check if a string has data,
rather than relying on the (const char*) operator
- FindChar() no longer takes a boolean 'ignorecase' value but
the only use of this was easy - just remove the PR_TRUE
- netwerk
- no longer need to implement nsIInputStream::Get/SetObserver
(never used anyway)
- rename nsIInputStream::GetNonBlocking to IsNonBlocking
- nsIRequest::GetName uses nsACString now, and is in utf8
- NS_NewInputStreamChannel now takes a charset as a 5th parameter,
and the 4th parameter is an nsACString (just wrap the old param
with an nsDependentCString)
- nsIChannel::GetContentType now takes an nsACString
- nsIHttpChannel::GetResponseHeader now takes nsACStrings as
parameters (need to use NS_LITERAL_CSTRING for first parameter)
- nsIHttpChannel::SetRequestMethod now takes a nsACString
- nsIHttpProtocolHandler::SetVendor and SetVendorSub now take
nsAStrings (just wrap with nsDependentCString)
- cookies
- all apis had string -> AString/AUTF8String changes - misc
- Incorporate nsIProgressDialog interface changes. nsIProgressDialog now
inherits from nsIDownload and not from nsIWenProgressListener as was
being done earlier..