34724 Commits

Author SHA1 Message Date
ftang%netscape.com
8b4d6e129c fix bug 4240,5532,5529,7899 pass in current word buffer to ComputeWordWidth functions so we have the whole text that we can pass to line breaker.
git-svn-id: svn://10.0.0.236/trunk@41292 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 14:47:24 +00:00
valeski%netscape.com
e337eee26b memory leak fix on ns_makeabsoluteURI calls
git-svn-id: svn://10.0.0.236/trunk@41291 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 14:42:19 +00:00
srinivas%netscape.com
e4b2792b7c Assembly language implementation of PR_StackPush/Pop routines for Sparc/x86;
checkin for ppokorny@mindspring.com.


git-svn-id: svn://10.0.0.236/trunk@41290 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 14:40:44 +00:00
joki%netscape.com
7bbae8347e Fixing key value for ctrl+keys.
git-svn-id: svn://10.0.0.236/trunk@41289 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 14:38:07 +00:00
law%netscape.com
a16014f2e9 Adding generic chrome rules
git-svn-id: svn://10.0.0.236/trunk@41288 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 14:30:34 +00:00
troy%netscape.com
dd72d8029f Changed root frame class over to new reflow command handling
git-svn-id: svn://10.0.0.236/trunk@41287 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 14:15:42 +00:00
troy%netscape.com
177b8110fa Fix for bug #10563 where we were triggering a post condition assertion. Changed
ComputeBackgroundAnchorPoint() to correctly calculate tile offset that is a
multiple of the tile


git-svn-id: svn://10.0.0.236/trunk@41286 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 14:13:09 +00:00
ftang%netscape.com
2ecb34d8f6 fix 10368
git-svn-id: svn://10.0.0.236/trunk@41285 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 13:46:37 +00:00
rhp%netscape.com
be5e6ce1a4 Changes for new FCC handling
git-svn-id: svn://10.0.0.236/trunk@41280 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 12:17:13 +00:00
rpotts%netscape.com
12dcc95edc Added a temporary new define called USE_POLLABLE_EVENT which windows and unix both define... On the Mac, rather than using NSPR pollable events, a small timeout is set for PR_Poll(...) and new entry processing occurs after a timeout :-(
git-svn-id: svn://10.0.0.236/trunk@41279 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 09:21:07 +00:00
syd%netscape.com
3cb392cade In the spirit of DumpDOM, adding this to your JS file should cause a dialog to come up displaying the
first Javascript error encountered. Code taken from Danny Goodman's JavaScript Bible. Works with 4.x,
doesn't seem to work yet with 5.0 but I'll be filing a bug on that.


git-svn-id: svn://10.0.0.236/trunk@41278 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 09:01:51 +00:00
syd%netscape.com
8c952cee0a Add onerror.js
git-svn-id: svn://10.0.0.236/trunk@41277 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:59:48 +00:00
syd%netscape.com
8eb7c5800a added onerror.js
git-svn-id: svn://10.0.0.236/trunk@41276 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:58:37 +00:00
warren%netscape.com
8297a8dcf5 Fixed images to load in proper group. Should fix page timing problem.
git-svn-id: svn://10.0.0.236/trunk@41275 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:50:23 +00:00
warren%netscape.com
a207202ff4 Added assertion for bug I was hitting (spinning).
git-svn-id: svn://10.0.0.236/trunk@41274 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:47:43 +00:00
warren%netscape.com
b8c845642e Added missing error check.
git-svn-id: svn://10.0.0.236/trunk@41273 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:47:13 +00:00
warren%netscape.com
d934247170 Fixed tab-width
git-svn-id: svn://10.0.0.236/trunk@41272 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:46:27 +00:00
warren%netscape.com
110a5f8b2f Added logging.
git-svn-id: svn://10.0.0.236/trunk@41271 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:45:35 +00:00
warren%netscape.com
7234ec5116 Fixed NewURI to not pass base URI when spec is absolute.
git-svn-id: svn://10.0.0.236/trunk@41270 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:45:20 +00:00
pavlov%netscape.com
76edec5652 cut down on debugging message spam
git-svn-id: svn://10.0.0.236/trunk@41269 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 08:25:52 +00:00
pavlov%netscape.com
2fea3674e2 fix border style setting
git-svn-id: svn://10.0.0.236/trunk@41268 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 07:55:10 +00:00
racham%netscape.com
d89fa1e8d8 Fixed bugs 6701, 9275
git-svn-id: svn://10.0.0.236/trunk@41267 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 07:42:12 +00:00
gagan%netscape.com
69b08fa4ad -Fixed parsing to handle the mscott cases of-
mailbox://foo:25/user@netscape.com
	pop3://foo:110?check
-Fixed missing directory situations. (thanks Andreas)
-Removed the temporary hack for converting from ToNewCString to nsCRT::free'able
type. This removes the FMM errors on Bruce's log. No more mismatched freeing.


? diffs
Index: nsStdURL.cpp
===================================================================
RCS file: /cvsroot/mozilla/netwerk/base/src/nsStdURL.cpp,v
retrieving revision 1.5
diff -r1.5 nsStdURL.cpp
147,150c147
<     {
< 		//TODO
<         return NS_ERROR_FAILURE; // this should really be NS_ERROR_URL_PARSING
<     }
---
>         return NS_ERROR_MALFORMED_URI;
154c151
<     static const char delimiters[] = "/:@"; //this order is optimized.
---
>     static const char delimiters[] = "/:@?"; //this order is optimized.
157,493c154
<     if (brk)
<     {
<         switch (*brk)
<         {
<         case '/' :
<             // If the URL starts with a slash then everything is a path
<             if (brk == mSpec)
<             {
< 				ExtractString(mSpec, &mPath, 0, len);
<                 return NS_OK;
<             }
<             else // The first part is host, so its host/path
<             {
<                 ExtractString(mSpec, &mHost, 0, (brk - mSpec));
<                 ExtractString(mSpec, &mPath, (brk - mSpec), (len - (brk - mSpec)));
<                 return NS_OK;
<             }
<             break;
<         case ':' :
<             if (*(brk+1) == '/')
<             {
<                 ExtractString(mSpec, &mScheme, 0, (brk - mSpec));
<
<                 if (*(brk+2) == '/') // e.g. http://
<                 // If the first colon is followed by // then its definitely a spec
<                 {
<                     lastbrk = brk+3;
<                     brk = PL_strpbrk(lastbrk, delimiters);
<                     if (brk)
<                     {
<                         switch (*brk)
<                         {
<                             case '/' : // standard case- http://host/path
<                                 ExtractString(mSpec, &mHost,
< 								    (lastbrk - mSpec), (brk - lastbrk));
<                                 ExtractString(mSpec, &mPath,
< 								    (brk - mSpec), (len - (brk - mSpec)));
<                                 return NS_OK;
<                                 break;
<                             case ':' :
<                                 {
<                                     // It could be http://user:pass@host/path
< 								    // or http://host:port/path
<                                     // For the first case, there has to be an
< 								    // @ after this colon, so...
<                                     char* atSign = PL_strchr(brk, '@');
<                                     if (atSign)
<                                     {
<                                         ExtractString(mSpec, &mPreHost,
< 										    (lastbrk - mSpec), (atSign - lastbrk));
<                                         brk = PL_strpbrk(atSign+1, "/:");
<                                         if (brk) // http://user:pass@host:port/path or http://user:pass@host/path
<                                         {
<                                             ExtractString(mSpec, &mHost,
< 											    (atSign+1 - mSpec),
< 											    (brk - (atSign+1)));
<                                             if (*brk == '/')
<                                             {
<                                                 ExtractString(mSpec, &mPath,
< 												    (brk - mSpec),
< 												    len - (brk - mSpec));
<                                                 return NS_OK;
<                                             }
<                                             else // we have a port since (brk == ':')
<                                             {
<                                                 lastbrk = brk+1;
<                                                 brk = PL_strchr(lastbrk, '/');
<                                                 if (brk) // http://user:pass@host:port/path
<                                                 {
<                                                     mPort = ExtractPortFrom(mSpec, (lastbrk - mSpec), (brk-lastbrk));
<                                                     ExtractString(mSpec, &mPath, (brk-mSpec), len - (brk-mSpec));
<                                                     return NS_OK;
<                                                 }
<                                                 else // http://user:pass@host:port
<                                                 {
<                                                     mPort = ExtractPortFrom(mSpec, (lastbrk - mSpec), len - (lastbrk - mSpec));
<                                                     return NS_OK;
<                                                 }
<                                             }
<
<                                         }
<                                         else // its just http://user:pass@host
<                                         {
<                                             ExtractString(mSpec, &mHost,
< 											    (atSign+1 - mSpec),
< 											    len - (atSign+1 - mSpec));
<                                             return NS_OK;
<                                         }
<                                     }
<                                     else // definitely the port option, i.e. http://host:port/path
<                                     {
<                                         ExtractString(mSpec, &mHost,
< 										    (lastbrk-mSpec),
< 										    (brk-lastbrk));
<                                         lastbrk = brk+1;
<                                         brk = PL_strchr(lastbrk, '/');
<                                         if (brk)    // http://host:port/path
<                                         {
<                                             mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
<                                             ExtractString(mSpec, &mPath,
< 											    (brk-mSpec),
< 											    len - (brk-mSpec));
<                                             return NS_OK;
<                                         }
<                                         else        // http://host:port
<                                         {
<                                             mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),len - (lastbrk-mSpec));
<                                             return NS_OK;
<                                         }
<                                     }
<                                 }
<                                 break;
<                             case '@' :
<                                 // http://user@host...
<                                 {
<                                     ExtractString(mSpec, &mPreHost,
< 									    (lastbrk-mSpec), (brk-lastbrk));
<                                     lastbrk = brk+1;
<                                     brk = PL_strpbrk(lastbrk, ":/");
<                                     if (brk)
<                                     {
<                                         ExtractString(mSpec, &mHost,
< 										    (lastbrk-mSpec), (brk - lastbrk));
<                                         if (*brk == ':') // http://user@host:port...
<                                         {
<                                             lastbrk = brk+1;
<                                             brk = PL_strchr(lastbrk, '/');
<                                             if (brk)    // http://user@host:port/path
<                                             {
<                                                 mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
<                                                 ExtractString(mSpec, &mPath,
< 												    (brk-mSpec),
< 												    len - (brk-mSpec));
<                                                 return NS_OK;
<                                             }
<                                             else        // http://user@host:port
<                                             {
<                                                 mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),len - (lastbrk-mSpec));
<                                                 return NS_OK;
<                                             }
<
<                                         }
<                                         else // (*brk == '/') so no port just path i.e. http://user@host/path
<                                         {
<                                             ExtractString(mSpec, &mPath,
< 											    (brk - mSpec),
< 											    len - (brk - mSpec));
<                                             return NS_OK;
<                                         }
<                                     }
<                                     else // its just http://user@host
<                                     {
<                                         ExtractString(mSpec, &mHost,
< 										    (lastbrk+1 - mSpec), len - (lastbrk+1 - mSpec));
<                                         return NS_OK;
<                                     }
<
<                                 }
<                                 break;
<                             default: NS_POSTCONDITION(0, "This just can't be!");
<                                 break;
<                         }
<
<                     }
<                     else // everything else is a host, as in http://host
<                     {
<                         ExtractString(mSpec, &mHost,
< 						    (lastbrk - mSpec),
< 						    len - (lastbrk - mSpec));
<                         return NS_OK;
<                     }
<
<                 }
<                 else // This is a no // path alone case like file:/path, there is never a prehost/host in this case.
<                 {
<                     ExtractString(mSpec, &mPath, (brk-mSpec+1), len - (brk-mSpec+1));
<                     return NS_OK;
<                 }
<             }
<             else // scheme:host or host:port...
<             {
<                 lastbrk = brk+1;
<
<                 if ((*lastbrk >= '0') && (*lastbrk <= '9')) //host:port...
<                 {
<                     ExtractString(mSpec, &mHost, 0, (brk - mSpec));
<                     brk = PL_strpbrk(lastbrk, delimiters);
<                     if (brk)
<                     {
<                         switch (*brk)
<                         {
<                             case '/' : // The path, so its host:port/path
<                                 mPort = ExtractPortFrom(mSpec, lastbrk-mSpec, brk-lastbrk);
<                                 ExtractString(mSpec, &mPath, brk- mSpec, len - (brk-mSpec));
<                                 return NS_OK;
<                                 break;
<                             case ':' :
<                                 return NS_ERROR_FAILURE;//TODO NS_ERROR_URL_PARSING;
<                                 break;
<                             case '@' :
<                                 // This is a special case of user:pass@host... so
<                                 // Cleanout our earliar knowledge of host
<                                 ExtractString(mSpec, &mHost, -1, -1);
<
<                                 ExtractString(mSpec, &mPreHost, 0, (brk-mSpec));
<                                 lastbrk = brk+1;
<                                 brk = PL_strpbrk(lastbrk, ":/");
<                                 if (brk)
<                                 {
<                                     ExtractString(mSpec, &mHost,
< 									    (lastbrk-mSpec), (brk-lastbrk));
<                                     if (*brk == ':') // user:pass@host:port...
<                                     {
<                                         lastbrk = brk+1;
<                                         brk = PL_strchr(lastbrk, '/');
<                                         if (brk)    // user:pass@host:port/path
<                                         {
<                                             mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
<                                             ExtractString(mSpec, &mPath,
< 											    (brk-mSpec), len - (brk-mSpec));
<                                             return NS_OK;
<                                         }
<                                         else        // user:pass@host:port
<                                         {
<                                             mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),len - (lastbrk-mSpec));
<                                             return NS_OK;
<                                         }
<                                     }
<                                     else // (*brk == '/') so user:pass@host/path
<                                     {
<                                         ExtractString(mSpec, &mPath, (brk - mSpec), len - (brk - mSpec));
<                                         return NS_OK;
<                                     }
<                                 }
<                                 else // its user:pass@host so everthing else is just the host
<                                 {
<                                     ExtractString(mSpec, &mHost,
< 									    (lastbrk-mSpec), len - (lastbrk-mSpec));
<                                     return NS_OK;
<                                 }
<
<                                 break;
<                             default: NS_POSTCONDITION(0, "This just can't be!");
<                                 break;
<                         }
<                     }
<                     else // Everything else is just the port
<                     {
<                         mPort = ExtractPortFrom(mSpec, lastbrk-mSpec, len - (lastbrk-mSpec));
<                         return NS_OK;
<                     }
<                 }
<                 else // scheme:host...
<                 {
<                     ExtractString(mSpec, &mScheme, 0, (brk - mSpec));
<                     brk = PL_strpbrk(lastbrk, delimiters);
<                     if (brk)
<                     {
<                         switch (*brk)
<                         {
<                             case '/' : // The path, so its scheme:host/path
<                                 ExtractString(mSpec, &mHost, (lastbrk-mSpec), (brk-lastbrk));
<                                 ExtractString(mSpec, &mPath, (brk - mSpec), len - (brk - mSpec));
<                                 return NS_OK;
<                                 break;
<                             case '@' : // scheme:user@host...
<                                 ExtractString(mSpec, &mPreHost, (lastbrk-mSpec), (brk-lastbrk));
<                                 // TODO more here...
<                                 break;
<                             case ':' : // scheme:user:pass@host... or scheme:host:port...
<                                 /* TODO
<                                 if you find @ in the remaining string then // scheme:user:pass@host...
<                                 {
<
<
<                                 }
<                                 else // scheme:host:port
<                                 {
<                                     ExtractString(mSpec, &mHost, (lastbrk-mSpec), (brk-lastbrk));
<
<                                 }
<                                 */
<                                 break;
<                             default: NS_POSTCONDITION(0, "This just can't be!");
<                                 break;
<                         }
<                     }
<                     else // its just scheme:host
<                     {
<                         ExtractString(mSpec, &mHost, (lastbrk-mSpec), len - (lastbrk-mSpec));
<                         return NS_OK;
<                     }
<                 }
<             }
<             break;
<         case '@' :
<             //Everything before the @ is the prehost stuff
<             ExtractString(mSpec, &mPreHost, 0, brk-mSpec);
<             lastbrk = brk+1;
<             brk = PL_strpbrk(lastbrk, ":/");
<             if (brk)
<             {
<                 ExtractString(mSpec, &mHost, (lastbrk-mSpec), (brk-lastbrk));
<                 if (*brk == ':') // user@host:port...
<                 {
<                     lastbrk = brk+1;
<                     brk = PL_strchr(lastbrk, '/');
<                     if (brk)    // user@host:port/path
<                     {
<                         mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
<                         ExtractString(mSpec, &mPath, (brk-mSpec), len - (brk-mSpec));
<                         return NS_OK;
<                     }
<                     else        // user@host:port
<                     {
<                         mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),len - (lastbrk-mSpec));
<                         return NS_OK;
<                     }
<                 }
<                 else // (*brk == '/') so user@host/path
<                 {
<                     ExtractString(mSpec, &mPath, (brk - mSpec), len - (brk - mSpec));
<                     return NS_OK;
<                 }
<             }
<             else // its user@host so everything else is just the host
<             {
<                 ExtractString(mSpec, &mHost, (lastbrk-mSpec), (len - (lastbrk-mSpec)));
<                 return NS_OK;
<             }
<             break;
<         default:
<             NS_ASSERTION(0, "This just can't be!");
<             break;
<         }
<     }
<     else // everything is a host
---
>     if (!brk) // everything is a host
495a157
> 		return NS_OK;
496a159,501
> 	switch (*brk)
> 	{
> 	case '/' :
> 	case '?' :
> 		// If the URL starts with a slash then everything is a path
> 		if (brk == mSpec)
> 		{
> 			ExtractString(mSpec, &mPath, 0, len);
> 			return NS_OK;
> 		}
> 		else // The first part is host, so its host/path
> 		{
> 			ExtractString(mSpec, &mHost, 0, (brk - mSpec));
> 			ExtractString(mSpec, &mPath, (brk - mSpec), (len - (brk - mSpec)));
> 			return NS_OK;
> 		}
> 		break;
> 	case ':' :
> 		if (*(brk+1) == '/')
> 		{
> 			ExtractString(mSpec, &mScheme, 0, (brk - mSpec));
>
> 			if (*(brk+2) == '/') // e.g. http://
> 			// If the first colon is followed by // then its definitely a spec
> 			{
> 				lastbrk = brk+3;
> 				brk = PL_strpbrk(lastbrk, delimiters);
> 				if (!brk) // everything else is a host, as in http://host
> 				{
> 					ExtractString(mSpec, &mHost,
> 						(lastbrk - mSpec),
> 						len - (lastbrk - mSpec));
> 					return NS_OK;
> 				}
> 				switch (*brk)
> 				{
> 					case '/' : // standard case- http://host/path
> 					case '?' : // missing path cases
> 						ExtractString(mSpec, &mHost,
> 							(lastbrk - mSpec), (brk - lastbrk));
> 						ExtractString(mSpec, &mPath,
> 							(brk - mSpec), (len - (brk - mSpec)));
> 						return NS_OK;
> 						break;
> 					case ':' : // http://user:... or http://host:...
> 					{
> // It could be http://user:pass@host/path
> // or http://host:port/path we find that by checking further...
> char* nextbrk = PL_strpbrk(brk+1, delimiters);
> if (!nextbrk) // http://host:port
> {
> 	ExtractString(mSpec, &mHost,
> 		(lastbrk-mSpec), (brk-lastbrk));
> 	mPort = ExtractPortFrom(mSpec,
> 		(lastbrk-mSpec), len - (lastbrk-mSpec));
> 	return NS_OK;
> }
> switch (*nextbrk)
> {
> 	case '/': // http://host:port/path
> 	case '?': // http://host:port?path
> 		ExtractString(mSpec, &mHost,
> 			(lastbrk-mSpec), (brk-lastbrk));
> 		mPort = ExtractPortFrom(mSpec, (brk-mSpec+1),(nextbrk-brk-1));
> 		ExtractString(mSpec, &mPath,
> 				(nextbrk-mSpec), len - (nextbrk-mSpec));
> 		return NS_OK;
> 		break;
> 	case '@': // http://user:pass@host...
> 		ExtractString(mSpec, &mPreHost,
> 			(lastbrk - mSpec), (nextbrk - lastbrk));
> 		brk = PL_strpbrk(nextbrk+1, delimiters);
> 		if (!brk) // its just http://user:pass@host
> 		{
> 			ExtractString(mSpec, &mHost,
> 				(nextbrk+1 - mSpec),
> 				len - (nextbrk+1 - mSpec));
> 			return NS_OK;
> 		}
>
> 		ExtractString(mSpec, &mHost,
> 			(nextbrk+1 - mSpec), brk - (nextbrk+1));
>
> 		switch (*brk)
> 		{
> 		case '/': // http://user:pass@host/path
> 		case '?':
> 			ExtractString(mSpec, &mPath,
> 				(nextbrk+1 - mSpec),
> 				len - (nextbrk+1 - mSpec));
> 			return NS_OK;
> 			break;
> 		case ':': // http://user:pass@host:port...
> 			lastbrk = brk;
> 			brk = PL_strpbrk(lastbrk+1, "/?");
> 			if (brk)    // http://user:pass@host:port/path
> 			{
> 				mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
> 				ExtractString(mSpec, &mPath, (brk-mSpec), len - (brk-mSpec));
> 				return NS_OK;
> 			}
> 			else        // http://user:pass@host:port
> 			{
> 				mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),
> 					len - (lastbrk-mSpec));
> 				return NS_OK;
> 			}
> 			break;
> 		default: NS_POSTCONDITION(0, "This just can't be!");
> 			break;
> 		}
> 		break;
> 	case ':': // three colons!
> 		return NS_ERROR_MALFORMED_URI;
> 		break;
> 	default: NS_POSTCONDITION(0, "This just can't be!");
> 		break;
> }
> 						}
> 						break;
> 					case '@' : // http://user@host...
> 						{
> 							ExtractString(mSpec, &mPreHost,
> 								(lastbrk-mSpec), (brk-lastbrk));
> 							lastbrk = brk+1;
> 							brk = PL_strpbrk(lastbrk, delimiters);
> 							if (!brk) // its just http://user@host
> 							{
> 								ExtractString(mSpec, &mHost,
> 									(lastbrk+1 - mSpec),
> 									len - (lastbrk+1 - mSpec));
> 								return NS_OK;
> 							}
> 							ExtractString(mSpec, &mHost,
> 								(lastbrk-mSpec), (brk - lastbrk));
> 							switch (*brk)
> 							{
> 								case ':' : // http://user@host:port...
> 									lastbrk = brk+1;
> 									brk = PL_strpbrk(lastbrk, "/?");
> 									if (brk)    // http://user@host:port/path
> 									{
> 										mPort = ExtractPortFrom(mSpec,
> 											(lastbrk-mSpec),(brk-lastbrk));
> 										ExtractString(mSpec, &mPath,
> 											(brk-mSpec),
> 											len - (brk-mSpec));
> 										return NS_OK;
> 									}
> 									else        // http://user@host:port
> 									{
> 										mPort = ExtractPortFrom(mSpec,
> 											(lastbrk-mSpec),
> 											len - (lastbrk-mSpec));
> 										return NS_OK;
> 									}
> 									break;
> 								case '/' : // http://user@host/path
> 								case '?' : // http://user@host?path
> 									ExtractString(mSpec, &mPath,
> 										(brk - mSpec),
> 										len - (brk - mSpec));
> 									return NS_OK;
> 									break;
> 								case '@' :
> 									return NS_ERROR_MALFORMED_URI;
> 								default : NS_POSTCONDITION(0,
> 									"This just can't be!");
> 									break;
> 							}
> 						}
> 						break;
> 					default: NS_POSTCONDITION(0, "This just can't be!");
> 						break;
> 				}
> 			}
> 			else // This is a no // path alone case like file:/path,
> 				// there is never a prehost/host in this case.
> 			{
> 				ExtractString(mSpec, &mPath, (brk-mSpec+1),
> 					len - (brk-mSpec+1));
> 				return NS_OK;
> 			}
> 		}
> 		else // scheme:host or host:port...
> 		{
> 			lastbrk = brk+1;
>
> 			if ((*lastbrk >= '0') && (*lastbrk <= '9')) //host:port...
> 			{
> 				ExtractString(mSpec, &mHost, 0, (brk - mSpec));
> 				brk = PL_strpbrk(lastbrk, delimiters);
> 				if (!brk) // Everything else is just the port
> 				{
> 					mPort = ExtractPortFrom(mSpec, lastbrk-mSpec,
> 						len - (lastbrk-mSpec));
> 					return NS_OK;
> 				}
> 				switch (*brk)
> 				{
> 					case '/' : // The path, so its host:port/path
> 					case '?' : // The path, so its host:port?path
> 						mPort = ExtractPortFrom(mSpec, lastbrk-mSpec,
> 							brk-lastbrk);
> 						ExtractString(mSpec, &mPath, brk- mSpec,
> 							len - (brk-mSpec));
> 						return NS_OK;
> 						break;
> 					case ':' :
> 						return NS_ERROR_MALFORMED_URI;
> 						break;
> 					case '@' :
> 						// This is a special case of user:pass@host... so
> 						// Cleanout our earliar knowledge of host
> 						ExtractString(mSpec, &mHost, -1, -1);
>
> 						ExtractString(mSpec, &mPreHost, 0, (brk-mSpec));
> 						lastbrk = brk+1;
> 						brk = PL_strpbrk(lastbrk, ":/");
> 					// its user:pass@host so everthing else is just the host
> 						if (!brk)
> 						{
> 							ExtractString(mSpec, &mHost,
> 								(lastbrk-mSpec), len - (lastbrk-mSpec));
> 							return NS_OK;
> 						}
> 						ExtractString(mSpec, &mHost,
> 							(lastbrk-mSpec), (brk-lastbrk));
> 						if (*brk == ':') // user:pass@host:port...
> 						{
> 							lastbrk = brk+1;
> 							brk = PL_strpbrk(lastbrk, "/?");
> 							if (brk)    // user:pass@host:port/path
> 							{
> 								mPort = ExtractPortFrom(mSpec,
> 									(lastbrk-mSpec),(brk-lastbrk));
> 								ExtractString(mSpec, &mPath,
> 									(brk-mSpec), len - (brk-mSpec));
> 								return NS_OK;
> 							}
> 							else        // user:pass@host:port
> 							{
> 								mPort = ExtractPortFrom(mSpec,
> 									(lastbrk-mSpec),len - (lastbrk-mSpec));
> 								return NS_OK;
> 							}
> 						}
> 						else // (*brk == '/') so user:pass@host/path
> 						{
> 							ExtractString(mSpec, &mPath, (brk - mSpec),
> 								len - (brk - mSpec));
> 							return NS_OK;
> 						}
> 						break;
> 					default: NS_POSTCONDITION(0, "This just can't be!");
> 						break;
> 				}
> 			}
> 			else // scheme:host...
> 			{
> 				ExtractString(mSpec, &mScheme, 0, (brk - mSpec));
> 				brk = PL_strpbrk(lastbrk, delimiters);
> 				if (!brk) // its just scheme:host
> 				{
> 					ExtractString(mSpec, &mHost, (lastbrk-mSpec),
> 						len - (lastbrk-mSpec));
> 					return NS_OK;
> 				}
> 				switch (*brk)
> 				{
> 					case '/' : // The path, so its scheme:host/path
> 					case '?' : // The path, so its scheme:host?path
> 						ExtractString(mSpec, &mHost, (lastbrk-mSpec),
> 							(brk-lastbrk));
> 						ExtractString(mSpec, &mPath, (brk - mSpec),
> 							len - (brk - mSpec));
> 						return NS_OK;
> 						break;
> 					case '@' : // scheme:user@host...
> 						ExtractString(mSpec, &mPreHost, (lastbrk-mSpec),
> 							(brk-lastbrk));
> 						// TODO more here...
> 						break;
> 					case ':' : // scheme:user:pass@host...or scheme:host:port...
> 						/* TODO
> 						if you find @ in the remaining string
> 						then // scheme:user:pass@host...
> 						{
>
>
> 						}
> 						else // scheme:host:port
> 						{
> 							ExtractString(mSpec, &mHost, (lastbrk-mSpec),
> 								(brk-lastbrk));
> 						}
> 						*/
> 						break;
> 					default: NS_POSTCONDITION(0, "This just can't be!");
> 						break;
> 				}
> 			}
> 		}
> 		break;
> 	case '@' :
> 		//Everything before the @ is the prehost stuff
> 		ExtractString(mSpec, &mPreHost, 0, brk-mSpec);
> 		lastbrk = brk+1;
> 		brk = PL_strpbrk(lastbrk, ":/");
> 		if (!brk) // its user@host so everything else is just the host
> 		{
> 			ExtractString(mSpec, &mHost, (lastbrk-mSpec),
> 				(len - (lastbrk-mSpec)));
> 			return NS_OK;
> 		}
> 		ExtractString(mSpec, &mHost, (lastbrk-mSpec), (brk-lastbrk));
> 		if (*brk == ':') // user@host:port...
> 		{
> 			lastbrk = brk+1;
> 			brk = PL_strpbrk(lastbrk, "/?");
> 			if (brk)    // user@host:port/path
> 			{
> 				mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),(brk-lastbrk));
> 				ExtractString(mSpec, &mPath, (brk-mSpec), len - (brk-mSpec));
> 				return NS_OK;
> 			}
> 			else        // user@host:port
> 			{
> 				mPort = ExtractPortFrom(mSpec, (lastbrk-mSpec),
> 					len - (lastbrk-mSpec));
> 				return NS_OK;
> 			}
> 		}
> 		else // (*brk == '/') so user@host/path
> 		{
> 			ExtractString(mSpec, &mPath, (brk - mSpec), len - (brk - mSpec));
> 			return NS_OK;
> 		}
> 		break;
> 	default:
> 		NS_ASSERTION(0, "This just can't be!");
> 		break;
> 	}
578,580c583
<     {
<         return NS_ERROR_OUT_OF_MEMORY;
<     }
---
>         return returnValue; // ERROR!
620,626c623
< 	// TODO- Fix this. Hack to create tmp only becuz nsString can't
< 	// give us a PR_Malloc (nsCRT/nsAllocator) string
< 	char* tmp = dir.ToNewCString();
< 	if (!tmp)
< 		return NS_ERROR_OUT_OF_MEMORY;
<     mDirectory = nsCRT::strdup(tmp);
< 	delete[] tmp;
---
>     mDirectory = dir.ToNewCString();
677d673
<     nsresult status = NS_ERROR_FAILURE;
782,783c778,782
<     NS_ASSERTION(file, "This can't be! ParsePath called without a /Path");
<     if (!file) return NS_OK;
---
>     if (!file)
> 	{
> 		// Treat the whole mPath as file -- this could still have ?, # etc.
> 		file = mPath;
> 	}
788a788,790
> 	else
> 		DupString(&mDirectory, "/");
>
795,819c797
<     if (brk)
<     {
<         ExtractString(file, &mFileName, 1 /* skip the leading / */, (brk-file-1));
<         //Keep pulling out other pieces...
<         while (brk)
<         {
<             char* lastbrk = brk;
<             brk = PL_strpbrk(lastbrk+1, delimiters);
<             switch (*lastbrk)
<             {
<                 case ';' : /*
<                            ExtractString(lastbrk, &mParam, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
<                            */
<                     break;
<                 case '?' : ExtractString(lastbrk, &mQuery, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
<                     break;
<                 case '#' : ExtractString(lastbrk, &mRef, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
<                     break;
<                 default:
<                     NS_ASSERTION(0, "This just can't be!");
<                     break;
<             }
<         }
<     }
<     else // Everything in the file is just the filename
---
>     if (!brk) // Everything in the file is just the filename
822a801,821
> 	ExtractString(file, &mFileName, 1 /* skip the leading / */, (brk-file-1));
> 	//Keep pulling out other pieces...
> 	while (brk)
> 	{
> 		char* lastbrk = brk;
> 		brk = PL_strpbrk(lastbrk+1, delimiters);
> 		switch (*lastbrk)
> 		{
> 			case ';' : /*
> 					   ExtractString(lastbrk, &mParam, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
> 					   */
> 				break;
> 			case '?' : ExtractString(lastbrk, &mQuery, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
> 				break;
> 			case '#' : ExtractString(lastbrk, &mRef, 1, (brk ? (brk-lastbrk-1) : (len - (lastbrk-file) -1)));
> 				break;
> 			default:
> 				NS_ASSERTION(0, "This just can't be!");
> 				break;
> 		}
> 	}
912,915c911
< 	// TODO fix when nsString changes
< 	char* tempDirFile = temp.ToNewCString();
< 	*o_DirFile = nsCRT::strdup(tempDirFile);
< 	delete[] tempDirFile;
---
> 	*o_DirFile = temp.ToNewCString();


git-svn-id: svn://10.0.0.236/trunk@41266 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 07:40:38 +00:00
gayatrib%netscape.com
74d61f3a58 adding pm.js to the makefile
git-svn-id: svn://10.0.0.236/trunk@41265 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 07:23:11 +00:00
gayatrib%netscape.com
71b221203a a file to hold all the javascript of the profile manager UI
git-svn-id: svn://10.0.0.236/trunk@41264 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 07:21:44 +00:00
gayatrib%netscape.com
ab22f69ce1 fixing bug number 10106
git-svn-id: svn://10.0.0.236/trunk@41263 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 07:21:01 +00:00
gayatrib%netscape.com
dc10ab6d32 new UI for profile manager which also includes DTDs
git-svn-id: svn://10.0.0.236/trunk@41262 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 07:18:29 +00:00
ducarroz%netscape.com
8bfecbe323 Remove extra character sets introduced during my previous checking by mistake. Also enable back the charset menu.
git-svn-id: svn://10.0.0.236/trunk@41261 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 07:00:12 +00:00
danm%netscape.com
1dd54623c7 enabling the OK button
git-svn-id: svn://10.0.0.236/trunk@41259 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 06:44:26 +00:00
dcone%netscape.com
1bc77a488a Fixed background rendering
git-svn-id: svn://10.0.0.236/trunk@41258 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 06:41:34 +00:00
danm%netscape.com
72f4193b08 hooking up window OS border control from JS/C++
git-svn-id: svn://10.0.0.236/trunk@41255 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 06:34:24 +00:00
ducarroz%netscape.com
ca6fbd9d5b Remove extra character sets introduced during my previous checking by mistake.
git-svn-id: svn://10.0.0.236/trunk@41254 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 06:32:59 +00:00
bienvenu%netscape.com
315b87df37 add MatchName, fix folder discovery for nested folders
git-svn-id: svn://10.0.0.236/trunk@41249 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 05:17:45 +00:00
bienvenu%netscape.com
7f7758fb30 add MatchName method
git-svn-id: svn://10.0.0.236/trunk@41248 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 05:15:44 +00:00
pavlov%netscape.com
fa03096e3f return 0. fix build bustage
git-svn-id: svn://10.0.0.236/trunk@41246 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 04:56:48 +00:00
pavlov%netscape.com
86397afa89 don't do anything if SetDimentions is called with the same width and height.
approved by hyatt


git-svn-id: svn://10.0.0.236/trunk@41243 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 04:37:35 +00:00
warren%netscape.com
488f3ff95e Added back in leak fix with NECKO ifdefs.
git-svn-id: svn://10.0.0.236/trunk@41242 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 04:30:34 +00:00
pavlov%netscape.com
947d846be6 window creation changes
git-svn-id: svn://10.0.0.236/trunk@41241 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 04:27:17 +00:00
warren%netscape.com
72db77fcb7 Backing out change.
git-svn-id: svn://10.0.0.236/trunk@41234 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 03:45:45 +00:00
hangas%netscape.com
ad46195df5 Fixed bustage left behind by previous checkins of this file. Hook? = arielb
git-svn-id: svn://10.0.0.236/trunk@41233 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 03:39:46 +00:00
valeski%netscape.com
66e880472a this dir is not in any builds. removed the unwanted AsyncConvertSTream method. now we support one sync conversion method, and one async
git-svn-id: svn://10.0.0.236/trunk@41232 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 03:25:57 +00:00
warren%netscape.com
bf9097eca7 Fixed leak with GetAddress that now returns a copy.
git-svn-id: svn://10.0.0.236/trunk@41231 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 03:19:25 +00:00
waterson%netscape.com
ba3808369f Re-add. Wasn't meant to be deleted yet.
git-svn-id: svn://10.0.0.236/trunk@41230 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 03:03:25 +00:00
srinivas%netscape.com
8fed7652f8 Fix error in previous checkin.
git-svn-id: svn://10.0.0.236/trunk@41229 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 02:59:37 +00:00
waterson%netscape.com
29234bd8bf XULTreeElement.idl
git-svn-id: svn://10.0.0.236/trunk@41228 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 02:58:39 +00:00
hangas%netscape.com
afd441dade Added taskbar to all mailnews windows, fixed xul files that began to fail after recent C++ checkins, and misc small UI enhancements. Hook? = arielb
git-svn-id: svn://10.0.0.236/trunk@41227 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 02:57:36 +00:00
hoa.nguyen%intel.com
b66f067065 Removed backed out change which added dns/daemon to build. Need to test on Windows and Mac build first.
git-svn-id: svn://10.0.0.236/trunk@41226 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 02:56:36 +00:00
rhp%netscape.com
0fd6fa215f Changes for new FCC handling and mime fix
git-svn-id: svn://10.0.0.236/trunk@41222 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 02:49:49 +00:00
hoa.nguyen%intel.com
6d9c3ed0bc Sample HTML page with embed tag for the test XPCOM plugin.
git-svn-id: svn://10.0.0.236/trunk@41221 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 02:48:34 +00:00
hoa.nguyen%intel.com
82d0e483eb Added embed-test.html to Makefile.
git-svn-id: svn://10.0.0.236/trunk@41220 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-27 02:47:41 +00:00