6ee3203c43
Including fix for long title & history file problem. http://www.mozilla.org/security/history-title.html https://bugzilla.mozilla.org/show_bug.cgi?id=319004 What's New in Firefox 1.5 Firefox 1.5 is the next version of our award-winning Web browser. Here's what's new in Firefox 1.5: * Automated update to streamline product upgrades. Notification of an update is more prominent, and updates to Firefox may now be half a megabyte or smaller. Updating extensions has also improved. * Faster browser navigation with improvements to back and forward button performance. * Drag and drop reordering for browser tabs. * Improvements to popup blocking. * Clear Private Data feature provides an easy way to quickly remove personal data through a menu item or keyboard shortcut. * Answers.com is added to the search engine list. * Improvements to product usability including descriptive error pages, redesigned options menu, RSS discovery, and "Safe Mode" experience. * Better accessibility including support for DHTML accessibility and assistive technologies such as the Window-Eyes 5.5 beta screen reader for Microsoft Windows. Screen readers read aloud all available information in applications and documents or show the information on a Braille display, enabling blind and visually impaired users to use equivalent software functionality as their sighted peers. * Report a broken Web site wizard to report Web sites that are not working in Firefox. * Better support for Mac OS X (10.2 and greater) including profile migration from Safari and Mac Internet Explorer. * New support for Web Standards including SVG, CSS 2 and CSS 3, and JavaScript 1.6. * Many security enhancements. The Burning Edge has more detailed lists of new features and notable bug fixes. http://www.squarefree.com/burningedge/releases/1.5-comprehensive.html
88 lines
2.1 KiB
Text
88 lines
2.1 KiB
Text
$NetBSD: patch-cg,v 1.7 2005/12/10 13:47:22 taya Exp $
|
|
|
|
diff -ruN ../Orig/mozilla/extensions/transformiix/source/base/Double.cpp ./extensions/transformiix/source/base/Double.cpp
|
|
--- ../Orig/mozilla/extensions/transformiix/source/base/Double.cpp 2004-06-17 09:12:42.000000000 +0900
|
|
+++ ./extensions/transformiix/source/base/Double.cpp 2005-12-04 19:39:05.000000000 +0900
|
|
@@ -49,8 +49,40 @@
|
|
* Utility class for doubles
|
|
*/
|
|
|
|
+#if defined(INFINITY) && defined(NAN)
|
|
+double Double::NaN()
|
|
+{
|
|
+ return NAN;
|
|
+}
|
|
+
|
|
+double Double::PositiveInfinity()
|
|
+{
|
|
+ return INFINITY;
|
|
+}
|
|
+
|
|
+double Double::NegativeInfinity()
|
|
+{
|
|
+ return -INFINITY;
|
|
+}
|
|
+
|
|
+MBool Double::isInfinite(double aDbl)
|
|
+{
|
|
+ return isinf(aDbl);
|
|
+}
|
|
+
|
|
+MBool Double::isNaN(double aDbl)
|
|
+{
|
|
+ return isnan(aDbl);
|
|
+}
|
|
+
|
|
+MBool Double::isNeg(double aDbl)
|
|
+{
|
|
+ return aDbl<0.0;
|
|
+}
|
|
+#else /* pre INFINITY C environment */
|
|
+
|
|
//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
|
|
-#ifdef __FreeBSD__
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__)
|
|
#include <ieeefp.h>
|
|
#ifdef __alpha__
|
|
fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
|
|
@@ -128,9 +160,20 @@
|
|
const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
|
|
#endif
|
|
|
|
-const double Double::NaN = *((double*)nanMask);
|
|
-const double Double::POSITIVE_INFINITY = *((double*)infMask);
|
|
-const double Double::NEGATIVE_INFINITY = *((double*)negInfMask);
|
|
+double Double::NaN()
|
|
+{
|
|
+ return *((double*)nanMask);
|
|
+}
|
|
+
|
|
+double Double::PositiveInfinity()
|
|
+{
|
|
+ return *((double*)infMask);
|
|
+}
|
|
+
|
|
+double Double::NegativeInfinity()
|
|
+{
|
|
+ return *((double*)negInfMask);
|
|
+}
|
|
|
|
/*
|
|
* Determines whether the given double represents positive or negative
|
|
@@ -158,6 +201,7 @@
|
|
{
|
|
return (TX_DOUBLE_HI32(aDbl) & TX_DOUBLE_HI32_SIGNBIT) != 0;
|
|
}
|
|
+#endif /* C environment has INFINITY and NAN */
|
|
|
|
/*
|
|
* Converts the given String to a double, if the String value does not
|
|
@@ -245,7 +289,7 @@
|
|
{
|
|
if (mState == eIllegal || mBuffer.IsEmpty() ||
|
|
(mBuffer.Length() == 1 && mBuffer[0] == '.')) {
|
|
- return Double::NaN;
|
|
+ return Double::NaN();
|
|
}
|
|
return mSign*PR_strtod(mBuffer.get(), 0);
|
|
}
|