fix for bug 163736 - consolidate gfx2 into gfx, and remove the gfx2 DLL from the build.

r=pavlov, sr=rbs
includes creating a new "Shared" library which shares gfx code between all platforms
This commit is contained in:
alecf%netscape.com 2002-09-12 04:43:31 +00:00
Родитель 312178a218
Коммит bab99a09b0
34 изменённых файлов: 201 добавлений и 6335 удалений

Просмотреть файл

@ -189,7 +189,6 @@ tier_9_dirs += \
expat \
htmlparser \
gfx \
gfx2 \
modules/libpr0n \
modules/plugin \
dom \

Просмотреть файл

@ -877,10 +877,6 @@ sub BuildClientDist()
InstallFromManifest(":mozilla:modules:libimg:mng:MANIFEST", "$distdirectory:libimg:");
if ($main::options{useimg2}) {
#GFX2
InstallFromManifest(":mozilla:gfx2:public:MANIFEST", "$distdirectory:gfx2:");
InstallFromManifest(":mozilla:gfx2:public:MANIFEST_IDL", "$distdirectory:idl:");
#LIBIMG2
InstallFromManifest(":mozilla:modules:libpr0n:public:MANIFEST_IDL", "$distdirectory:libimg2:");
InstallFromManifest(":mozilla:modules:libpr0n:decoders:icon:MANIFEST_IDL", "$distdirectory:icondecoder:");
@ -1374,7 +1370,6 @@ sub BuildIDLProjects()
BuildIDLProject(":mozilla:modules:libjar:macbuild:libjarIDL.xml", "libjar");
if ($main::options{useimg2}) {
BuildIDLProject(":mozilla:gfx2:macbuild:gfx2IDL.xml", "gfx2");
BuildIDLProject(":mozilla:modules:libpr0n:macbuild:libimg2IDL.xml", "libimg2");
BuildIDLProject(":mozilla:modules:libpr0n:macbuild:icondecoderIDL.xml", "icondecoder");
}
@ -1698,7 +1693,6 @@ sub BuildImglib2Projects()
if ($main::options{useimg2})
{
BuildOneProject(":mozilla:gfx2:macbuild:gfx2.xml", "gfx2$D.$S", 1, $main::ALIAS_SYM_FILES, 1);
BuildOneProject(":mozilla:modules:libpr0n:macbuild:libimg2.xml", "libimg2$D.$S", 1, $main::ALIAS_SYM_FILES, 1);
BuildOneProject(":mozilla:modules:libpr0n:macbuild:pngdecoder2.xml", "pngdecoder2$D.$S", 1, $main::ALIAS_SYM_FILES, 1);
BuildOneProject(":mozilla:modules:libpr0n:macbuild:gifdecoder2.xml", "gifdecoder2$D.$S", 1, $main::ALIAS_SYM_FILES, 1);

Просмотреть файл

@ -13,7 +13,6 @@ mozilla/security/manager,
mozilla/accessible,
mozilla/directory/c-sdk, ldapcsdk_50_client_branch
mozilla/lib/mac/Instrumentation
mozilla/gfx2
mozilla/modules/libpr0n
SeaMonkeyAll
## You need this if you want to be able to use SVG

Просмотреть файл

@ -58,7 +58,6 @@ PSM_CO_TAG = #We will now build PSM from the tip instead of a branch.
NSS_CO_TAG = NSS_CLIENT_TAG
LDAPCSDK_CO_TAG = ldapcsdk_50_client_branch
ACCESSIBLE_CO_TAG =
GFX2_CO_TAG =
IMGLIB2_CO_TAG =
BUILD_MODULES = all
@ -267,18 +266,6 @@ ifdef ACCESSIBLE_CO_TAG
endif
CVSCO_ACCESSIBLE = $(CVS) $(CVS_FLAGS) co $(ACCESSIBLE_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(ACCESSIBLE_CO_MODULE)
####################################
# CVS defines for gfx2
#
GFX2_CO_MODULE = mozilla/gfx2
GFX2_CO_FLAGS := -P
ifdef MOZ_CO_FLAGS
GFX2_CO_FLAGS := $(MOZ_CO_FLAGS)
endif
ifdef GFX2_CO_TAG
GFX2_CO_FLAGS := $(GFX2_CO_FLAGS) -r $(GFX2_CO_TAG)
endif
CVSCO_GFX2 = $(CVS) $(CVS_FLAGS) co $(GFX2_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(GFX2_CO_MODULE)
####################################
# CVS defines for new image library
@ -320,9 +307,6 @@ endif
ifeq (,$(filter accessible, $(BUILD_MODULE_CVS)))
CVSCO_ACCESSIBLE :=
endif
ifeq (,$(filter gfx2, $(BUILD_MODULE_CVS)))
CVSCO_GFX2 :=
endif
ifeq (,$(filter modules/libpr0n, $(BUILD_MODULE_CVS)))
CVSCO_IMGLIB2 :=
endif
@ -437,7 +421,6 @@ real_checkout:
cvs_co $(CVSCO_PSM) && \
cvs_co $(CVSCO_LDAPCSDK) && \
cvs_co $(CVSCO_ACCESSIBLE) && \
cvs_co $(CVSCO_GFX2) && \
cvs_co $(CVSCO_IMGLIB2) && \
$(CHECKOUT_CALENDAR) && \
$(CHECKOUT_LIBART) && \
@ -498,7 +481,6 @@ real_fast-update:
fast_update $(CVSCO_PSM) && \
fast_update $(CVSCO_LDAPCSDK) && \
fast_update $(CVSCO_ACCESSIBLE) && \
fast_update $(CVSCO_GFX2) && \
fast_update $(CVSCO_IMGLIB2) && \
$(FASTUPDATE_CALENDAR) && \
$(FASTUPDATE_LIBART) && \

Просмотреть файл

@ -10,3 +10,7 @@ nsIScreenManager.idl
nsIPrintOptions.idl
nsIPrintSettings.idl
nsIPrintSettingsService.idl
gfxtypes.idl
gfx2types.idl
gfxIFormats.idl
gfxIImageFrame.idl

Просмотреть файл

@ -40,6 +40,10 @@ XPIDLSRCS = \
nsIPrintSettings.idl \
nsIPrintSettingsService.idl \
nsIPrintSession.idl \
gfxIFormats.idl \
gfxIImageFrame.idl \
gfxtypes.idl \
gfx2types.idl \
$(NULL)
ifneq (,$(filter mac cocoa,$(MOZ_GFX_TOOLKIT)))

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -317,7 +317,7 @@
<!-- Settings for "FTP Panel" panel -->
<SETTING><NAME>MWFTP_Post_hostName</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_username</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_password</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_password</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_remoteDir</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_PathVersion</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_PathType</NAME><VALUE>0</VALUE></SETTING>
@ -811,6 +811,34 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfx2types.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxtypes.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIImageFrame.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIFormats.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
</FILELIST>
<LINKORDER>
<FILEREF>
@ -878,6 +906,26 @@
<PATH>nsIPrintSessionX.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfx2types.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxtypes.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIImageFrame.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIFormats.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
</LINKORDER>
</TARGET>
<TARGET>
@ -1144,7 +1192,7 @@
<!-- Settings for "FTP Panel" panel -->
<SETTING><NAME>MWFTP_Post_hostName</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_username</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_password</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_password</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_remoteDir</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_PathVersion</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_PathType</NAME><VALUE>0</VALUE></SETTING>
@ -1638,6 +1686,34 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfx2types.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxtypes.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIImageFrame.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIFormats.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS></FILEFLAGS>
</FILE>
</FILELIST>
<LINKORDER>
<FILEREF>
@ -1705,6 +1781,26 @@
<PATH>nsIPrintSessionX.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfx2types.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxtypes.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIImageFrame.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIFormats.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
</LINKORDER>
</TARGET>
</TARGETLIST>
@ -1793,6 +1889,30 @@
<PATH>nsIScriptableRegion.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfx2types.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxtypes.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIImageFrame.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>headers</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>gfxIFormats.idl</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
</GROUPLIST>
</PROJECT>

Просмотреть файл

@ -29,4 +29,5 @@ nsThemeConstants.h
nsITheme.h
nsPDECommon.h
nsWatchTask.h
gfxcompat.h

Просмотреть файл

@ -30,6 +30,7 @@ MODULE = gfx
EXPORTS = \
imgScaler.h \
gfxcompat.h \
nsColor.h \
nsColorNames.h \
nsColorNameList.h \

Просмотреть файл

@ -97,15 +97,6 @@ extern "C" NS_GFX_(PRBool) NS_LooseHexToRGB(const nsString& aBuf, nscolor* aResu
// otherwise return false.
extern "C" NS_GFX_(PRBool) NS_ColorNameToRGB(const nsAString& aBuf, nscolor* aResult);
// Weird color computing code stolen from winfe which was stolen
// from the xfe which was written originally by Eric Bina. So there.
extern "C" NS_GFX_(void) NS_Get3DColors(nscolor aResult[2], nscolor aColor);
// To determin colors based on the background brightness
extern "C" NS_GFX_(void) NS_GetSpecial3DColors(nscolor aResult[2],
nscolor aBackgroundColor,
nscolor aBorderColor);
// Special method to brighten a Color and have it shift to white when
// fully saturated.
extern "C" NS_GFX_(nscolor) NS_BrightenColor(nscolor inColor);
@ -114,12 +105,4 @@ extern "C" NS_GFX_(nscolor) NS_BrightenColor(nscolor inColor);
// darkest component underflows
extern "C" NS_GFX_(nscolor) NS_DarkenColor(nscolor inColor);
// Determins brightness for a specific color
extern "C" NS_GFX_(int) NS_GetBrightness(PRUint8 aRed, PRUint8 aGreen, PRUint8 aBlue);
// function to convert from RGB color space to HSV color space
extern "C" NS_GFX_(void) NS_RGB2HSV(nscolor aColor,PRUint16 &aHue,PRUint16 &aSat,PRUint16 &aValue);
// function to convert from HSV color space to RGB color space
extern "C" NS_GFX_(void) NS_HSV2RGB(nscolor &aColor,PRUint16 aHue,PRUint16 aSat,PRUint16 aValue);
#endif /* nsColor_h___ */

Просмотреть файл

@ -52,7 +52,7 @@ typedef struct {
} Edge;
class NS_GFX nsRenderingContextImpl : public nsIRenderingContext
class nsRenderingContextImpl : public nsIRenderingContext
{
// CLASS MEMBERS

Просмотреть файл

@ -44,7 +44,7 @@ REQUIRES = xpcom \
unicharutil \
$(NULL)
DIRS =
DIRS = shared
ifdef MOZ_ENABLE_POSTSCRIPT
DIRS += ps
@ -92,7 +92,6 @@ CPPSRCS = \
nsFont.cpp \
nsFontList.cpp \
nsNameValuePairDB.cpp \
nsRenderingContextImpl.cpp \
nsRect.cpp \
nsRegion.cpp \
nsTransform2D.cpp \

Просмотреть файл

@ -64,6 +64,7 @@
#include "nsCOMPtr.h"
#include "nsPrintOptionsMac.h"
#include "nsUnicodeMappingUtil.h"
#include "gfxImageFrame.h"
#include "nsIGenericFactory.h"
@ -89,6 +90,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsFontEnumeratorMac)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFontList)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerMac)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsNativeThemeMac)
NS_GENERIC_FACTORY_CONSTRUCTOR(gfxImageFrame)
static NS_IMETHODIMP
nsScriptableRegionConstructor(nsISupports* aOuter, REFNSIID aIID, void** aResult)
@ -183,6 +185,10 @@ static const nsModuleComponentInfo components[] =
NS_SCREENMANAGER_CID,
"@mozilla.org/gfx/screenmanager;1",
nsScreenManagerMacConstructor },
{ "windows image frame",
GFX_IMAGEFRAME_CID,
"@mozilla.org/gfx/image/frame;2",
gfxImageFrameConstructor, },
{ "Native Theme Renderer",
NS_THEMERENDERER_CID,
"@mozilla.org/chrome/chrome-native-theme;1",

Просмотреть файл

@ -171,165 +171,6 @@ extern "C" NS_GFX_(PRBool) NS_ColorNameToRGB(const nsAString& aColorName, nscolo
return PR_FALSE;
}
// Weird color computing code stolen from winfe which was stolen
// from the xfe which was written originally by Eric Bina. So there.
#define RED_LUMINOSITY 30
#define GREEN_LUMINOSITY 59
#define BLUE_LUMINOSITY 11
#define INTENSITY_FACTOR 25
#define LIGHT_FACTOR 0
#define LUMINOSITY_FACTOR 75
#define MAX_COLOR 255
#define COLOR_DARK_THRESHOLD 51
#define COLOR_LIGHT_THRESHOLD 204
#define COLOR_LITE_BS_FACTOR 45
#define COLOR_LITE_TS_FACTOR 70
#define COLOR_DARK_BS_FACTOR 30
#define COLOR_DARK_TS_FACTOR 50
#define LIGHT_GRAY NS_RGB(192, 192, 192)
#define DARK_GRAY NS_RGB(128, 128, 128)
#define WHITE NS_RGB(255, 255, 255)
#define BLACK NS_RGB(0, 0, 0)
#define MAX_BRIGHTNESS 254
#define MAX_DARKNESS 0
extern "C" NS_GFX_(void) NS_Get3DColors(nscolor aResult[2], nscolor aColor)
{
int rb = NS_GET_R(aColor);
int gb = NS_GET_G(aColor);
int bb = NS_GET_B(aColor);
int intensity = (rb + gb + bb) / 3;
int luminosity =
((RED_LUMINOSITY * rb) / 100) +
((GREEN_LUMINOSITY * gb) / 100) +
((BLUE_LUMINOSITY * bb) / 100);
int brightness = ((intensity * INTENSITY_FACTOR) +
(luminosity * LUMINOSITY_FACTOR)) / 100;
int f0, f1;
if (brightness < COLOR_DARK_THRESHOLD) {
f0 = COLOR_DARK_BS_FACTOR;
f1 = COLOR_DARK_TS_FACTOR;
} else if (brightness > COLOR_LIGHT_THRESHOLD) {
f0 = COLOR_LITE_BS_FACTOR;
f1 = COLOR_LITE_TS_FACTOR;
} else {
f0 = COLOR_DARK_BS_FACTOR +
(brightness *
(COLOR_LITE_BS_FACTOR - COLOR_DARK_BS_FACTOR) / MAX_COLOR);
f1 = COLOR_DARK_TS_FACTOR +
(brightness *
(COLOR_LITE_TS_FACTOR - COLOR_DARK_TS_FACTOR) / MAX_COLOR);
}
int r = rb - (f0 * rb / 100);
int g = gb - (f0 * gb / 100);
int b = bb - (f0 * bb / 100);
aResult[0] = NS_RGB(r, g, b);
if ((r == rb) && (g == gb) && (b == bb)) {
aResult[0] = (aColor == LIGHT_GRAY) ? WHITE : LIGHT_GRAY;
}
r = rb + (f1 * (MAX_COLOR - rb) / 100);
if (r > 255) r = 255;
g = gb + (f1 * (MAX_COLOR - gb) / 100);
if (g > 255) g = 255;
b = bb + (f1 * (MAX_COLOR - bb) / 100);
if (b > 255) b = 255;
aResult[1] = NS_RGB(r, g, b);
if ((r == rb) && (g == gb) && (b == bb)) {
aResult[1] = (aColor == DARK_GRAY) ? BLACK : DARK_GRAY;
}
}
extern "C" NS_GFX_(void) NS_GetSpecial3DColors(nscolor aResult[2],
nscolor aBackgroundColor,
nscolor aBorderColor)
{
PRUint8 f0, f1;
PRUint8 r, g, b;
PRUint8 rb = NS_GET_R(aBorderColor);
PRUint8 gb = NS_GET_G(aBorderColor);
PRUint8 bb = NS_GET_B(aBorderColor);
// This needs to be optimized.
// Calculating background brightness again and again is
// a waste of time!!!. Just calculate it only once.
// .....somehow!!!
PRUint8 red = NS_GET_R(aBackgroundColor);
PRUint8 green = NS_GET_G(aBackgroundColor);
PRUint8 blue = NS_GET_B(aBackgroundColor);
PRUint8 elementBrightness = NS_GetBrightness(rb,gb,bb);
PRUint8 backgroundBrightness = NS_GetBrightness(red, green, blue);
if (backgroundBrightness < COLOR_DARK_THRESHOLD) {
f0 = COLOR_DARK_BS_FACTOR;
f1 = COLOR_DARK_TS_FACTOR;
if(elementBrightness == MAX_DARKNESS)
{
rb = NS_GET_R(DARK_GRAY);
gb = NS_GET_G(DARK_GRAY);
bb = NS_GET_B(DARK_GRAY);
}
}else if (backgroundBrightness > COLOR_LIGHT_THRESHOLD) {
f0 = COLOR_LITE_BS_FACTOR;
f1 = COLOR_LITE_TS_FACTOR;
if(elementBrightness == MAX_BRIGHTNESS)
{
rb = NS_GET_R(LIGHT_GRAY);
gb = NS_GET_G(LIGHT_GRAY);
bb = NS_GET_B(LIGHT_GRAY);
}
}else {
f0 = COLOR_DARK_BS_FACTOR +
(backgroundBrightness *
(COLOR_LITE_BS_FACTOR - COLOR_DARK_BS_FACTOR) / MAX_COLOR);
f1 = COLOR_DARK_TS_FACTOR +
(backgroundBrightness *
(COLOR_LITE_TS_FACTOR - COLOR_DARK_TS_FACTOR) / MAX_COLOR);
}
r = rb - (f0 * rb / 100);
g = gb - (f0 * gb / 100);
b = bb - (f0 * bb / 100);
aResult[0] = NS_RGB(r, g, b);
r = rb + (f1 * (MAX_COLOR - rb) / 100);
if (r > 255) r = 255;
g = gb + (f1 * (MAX_COLOR - gb) / 100);
if (g > 255) g = 255;
b = bb + (f1 * (MAX_COLOR - bb) / 100);
if (b > 255) b = 255;
aResult[1] = NS_RGB(r, g, b);
}
extern "C" NS_GFX_(int) NS_GetBrightness(PRUint8 aRed, PRUint8 aGreen, PRUint8 aBlue)
{
PRUint8 intensity = (aRed + aGreen + aBlue) / 3;
PRUint8 luminosity =
((RED_LUMINOSITY * aRed) / 100) +
((GREEN_LUMINOSITY * aGreen) / 100) +
((BLUE_LUMINOSITY * aBlue) / 100);
return ((intensity * INTENSITY_FACTOR) +
(luminosity * LUMINOSITY_FACTOR)) / 100;
}
extern "C" NS_GFX_(nscolor) NS_BrightenColor(nscolor inColor)
{
PRIntn r, g, b, max, over;
@ -454,112 +295,3 @@ extern "C" NS_GFX_(nscolor) NS_DarkenColor(nscolor inColor)
return NS_RGBA(r, g, b, NS_GET_A(inColor));
}
// Function to convert RGB color space into the HSV colorspace
// Hue is the primary color defined from 0 to 359 degrees
// Saturation is defined from 0 to 255. The higher the number.. the deeper the color
// Value is the brightness of the color. 0 is black, 255 is white.
extern "C" NS_GFX_(void)
NS_RGB2HSV(nscolor aColor,PRUint16 &aHue,PRUint16 &aSat,PRUint16 &aValue)
{
PRUint8 r,g,b;
PRInt16 delta,min,max,r1,b1,g1;
float hue;
r = NS_GET_R(aColor);
g = NS_GET_G(aColor);
b = NS_GET_B(aColor);
if (r>g) {
max = r;
min = g;
} else {
max = g;
min = r;
}
if (b>max) {
max = b;
}
if (b<min) {
min = b;
}
// value or brightness will always be the max of all the colors(RGB)
aValue = max;
delta = max-min;
aSat = (max!=0)?((delta*255)/max):0;
r1 = r;
b1 = b;
g1 = g;
if (aSat==0) {
hue = 1000;
} else {
if(r==max){
hue=(float)(g1-b1)/(float)delta;
} else if (g1==max) {
hue= 2.0f+(float)(b1-r1)/(float)delta;
} else {
hue = 4.0f+(float)(r1-g1)/(float)delta;
}
}
if(hue<999) {
hue*=60;
if(hue<0){
hue+=360;
}
} else {
hue=0;
}
aHue = (PRUint16)hue;
}
// Function to convert HSV color space into the RGB colorspace
// Hue is the primary color defined from 0 to 359 degrees
// Saturation is defined from 0 to 255. The higher the number.. the deeper the color
// Value is the brightness of the color. 0 is black, 255 is white.
extern "C" NS_GFX_(void)
NS_HSV2RGB(nscolor &aColor,PRUint16 aHue,PRUint16 aSat,PRUint16 aValue)
{
PRUint16 r=0,g=0,b=0;
PRUint16 i,p,q,t;
double h,f,percent;
if ( aSat == 0 ){
// achromatic color, no hue is defined
r = aValue;
g = aValue;
b = aValue;
} else {
// hue in in degrees around the color wheel defined from
// 0 to 360 degrees.
if (aHue >= 360) {
aHue = 0;
}
// we break the color wheel into 6 areas.. these
// areas define how the saturation and value define the color.
// reds behave differently than the blues
h = (double)aHue / 60.0;
i = (PRUint16) floor(h);
f = h-(double)i;
percent = ((double)aValue/255.0); // this needs to be a value from 0 to 1, so a percentage
// can be calculated of the saturation.
p = (PRUint16)(percent*(255-aSat));
q = (PRUint16)(percent*(255-(aSat*f)));
t = (PRUint16)(percent*(255-(aSat*(1.0-f))));
// i is guarenteed to never be larger than 5.
switch(i){
case 0: r = aValue; g = t; b = p;break;
case 1: r = q; g = aValue; b = p;break;
case 2: r = p; g = aValue; b = t;break;
case 3: r = p; g = q; b = aValue;break;
case 4: r = t; g = p; b = aValue;break;
case 5: r = aValue; g = p; b = q;break;
}
}
aColor = NS_RGB(r,g,b);
}

Просмотреть файл

@ -38,8 +38,6 @@
class NS_GFX nsFontList : public nsIFontList
{
public:
NS_DEFINE_STATIC_CID_ACCESSOR(NS_IFONTLIST_IID)
nsFontList();
virtual ~nsFontList();

Просмотреть файл

@ -1,274 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Dainis Jonitis,
* <Dainis_Jonitis@swh-t.lv>. Portions created by Dainis Jonitis are
* Copyright (C) 2001 Dainis Jonitis. All Rights Reserved.
*
* Contributor(s):
*/
#ifndef nsRegion_h__
#define nsRegion_h__
// Implementation of region.
// Region is represented as circular double-linked list of nsRegion::RgnRect structures.
// Rectangles in this list do not overlap and are sorted by (y, x) coordinates.
#include "nsRect.h"
// Special version of nsRect structure for speed optimizations in nsRegion code.
// Most important functions could be made inline and be sure that passed rectangles
// will always be non-empty.
struct NS_GFX nsRectFast : public nsRect
{
nsRectFast () {} // No need to call parent constructor to set default values
nsRectFast (PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt32 aHeight) : nsRect (aX, aY, aWidth, aHeight) {}
nsRectFast (const nsRect& aRect) : nsRect (aRect) {}
#if 1 // Override nsRect methods to make them inline. Do not check for emptiness.
PRBool Contains (const nsRectFast &aRect) const
{
return (PRBool) ((aRect.x >= x) && (aRect.y >= y) &&
(aRect.XMost() <= XMost()) && (aRect.YMost() <= YMost()));
}
PRBool Intersects (const nsRectFast &aRect) const
{
return (PRBool) ((x < aRect.XMost()) && (y < aRect.YMost()) &&
(aRect.x < XMost()) && (aRect.y < YMost()));
}
PRBool IntersectRect (const nsRectFast &aRect1, const nsRectFast &aRect2)
{
const nscoord xmost = PR_MIN (aRect1.XMost(), aRect2.XMost());
x = PR_MAX (aRect1.x, aRect2.x);
width = xmost - x;
if (width <= 0) return PR_FALSE;
const nscoord ymost = PR_MIN (aRect1.YMost(), aRect2.YMost());
y = PR_MAX (aRect1.y, aRect2.y);
height = ymost - y;
if (height <= 0) return PR_FALSE;
return PR_TRUE;
}
void UnionRect (const nsRectFast &aRect1, const nsRectFast &aRect2)
{
const nscoord xmost = PR_MAX (aRect1.XMost(), aRect2.XMost());
const nscoord ymost = PR_MAX (aRect1.YMost(), aRect2.YMost());
x = PR_MIN (aRect1.x, aRect2.x);
y = PR_MIN (aRect1.y, aRect2.y);
width = xmost - x;
height = ymost - y;
}
#endif
};
class NS_GFX nsRegion
{
friend class nsRegionRectIterator;
friend class RgnRectMemoryAllocator;
struct NS_GFX RgnRect : public nsRectFast
{
RgnRect* prev;
RgnRect* next;
RgnRect () {} // No need to call parent constructor to set default values
RgnRect (PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt32 aHeight) : nsRectFast (aX, aY, aWidth, aHeight) {}
RgnRect (const nsRectFast& aRect) : nsRectFast (aRect) {}
inline void* operator new (size_t) CPP_THROW_NEW;
inline void operator delete (void* aRect, size_t);
RgnRect& operator = (const RgnRect& aRect) // Do not overwrite prev/next pointers
{
x = aRect.x;
y = aRect.y;
width = aRect.width;
height = aRect.height;
return *this;
}
};
public:
nsRegion ();
~nsRegion () { SetToElements (0); }
nsRegion& Copy (const nsRegion& aRegion);
nsRegion& Copy (const nsRectFast& aRect);
nsRegion& And (const nsRegion& aRgn1, const nsRegion& aRgn2);
nsRegion& And (const nsRegion& aRegion, const nsRectFast& aRect);
nsRegion& And (const nsRectFast& aRect, const nsRegion& aRegion)
{
return And (aRegion, aRect);
}
nsRegion& And (const nsRectFast& aRect1, const nsRectFast& aRect2)
{
nsRectFast TmpRect;
// Force generic nsRect::IntersectRect to handle empty rectangles!
TmpRect.nsRect::IntersectRect (aRect1, aRect2);
return Copy (TmpRect);
}
nsRegion& Or (const nsRegion& aRgn1, const nsRegion& aRgn2);
nsRegion& Or (const nsRegion& aRegion, const nsRectFast& aRect);
nsRegion& Or (const nsRectFast& aRect, const nsRegion& aRegion)
{
return Or (aRegion, aRect);
}
nsRegion& Or (const nsRectFast& aRect1, const nsRectFast& aRect2)
{
nsRegion TmpRegion;
TmpRegion.Copy (aRect1);
return Or (TmpRegion, aRect2);
}
nsRegion& Xor (const nsRegion& aRgn1, const nsRegion& aRgn2);
nsRegion& Xor (const nsRegion& aRegion, const nsRectFast& aRect);
nsRegion& Xor (const nsRectFast& aRect, const nsRegion& aRegion)
{
return Xor (aRegion, aRect);
}
nsRegion& Xor (const nsRectFast& aRect1, const nsRectFast& aRect2)
{
nsRegion TmpRegion;
TmpRegion.Copy (aRect1);
return Xor (TmpRegion, aRect2);
}
nsRegion& Sub (const nsRegion& aRgn1, const nsRegion& aRgn2);
nsRegion& Sub (const nsRegion& aRegion, const nsRectFast& aRect);
nsRegion& Sub (const nsRectFast& aRect, const nsRegion& aRegion)
{
nsRegion TmpRegion;
TmpRegion.Copy (aRect);
return Sub (TmpRegion, aRegion);
}
nsRegion& Sub (const nsRectFast& aRect1, const nsRectFast& aRect2)
{
nsRegion TmpRegion;
TmpRegion.Copy (aRect1);
return Sub (TmpRegion, aRect2);
}
PRBool GetBoundRect (nsRect& aBound) const
{
aBound = mBoundRect;
return !mBoundRect.IsEmpty ();
}
void Offset (PRInt32 aXOffset, PRInt32 aYOffset);
void Empty ()
{
SetToElements (0);
mBoundRect.SetRect (0, 0, 0, 0);
}
PRBool IsEmpty () const { return mRectCount == 0; }
PRBool IsComplex () const { return mRectCount > 1; }
PRBool IsEqual (const nsRegion& aRegion) const;
PRUint32 GetNumRects () const { return mRectCount; }
private:
PRUint32 mRectCount;
RgnRect* mCurRect;
RgnRect mRectListHead;
nsRectFast mBoundRect;
void InsertBefore (RgnRect* aNewRect, RgnRect* aRelativeRect)
{
aNewRect->prev = aRelativeRect->prev;
aNewRect->next = aRelativeRect;
aRelativeRect->prev->next = aNewRect;
aRelativeRect->prev = aNewRect;
mCurRect = aNewRect;
mRectCount++;
}
void InsertAfter (RgnRect* aNewRect, RgnRect* aRelativeRect)
{
aNewRect->prev = aRelativeRect;
aNewRect->next = aRelativeRect->next;
aRelativeRect->next->prev = aNewRect;
aRelativeRect->next = aNewRect;
mCurRect = aNewRect;
mRectCount++;
}
void SetToElements (PRUint32 aCount);
RgnRect* Remove (RgnRect* aRect);
void InsertInPlace (RgnRect* aRect, PRBool aOptimizeOnFly = PR_FALSE);
void SaveLinkChain ();
void RestoreLinkChain ();
void Optimize ();
void SubRegion (const nsRegion& aRegion, nsRegion& aResult) const;
void SubRect (const nsRectFast& aRect, nsRegion& aResult, nsRegion& aCompleted) const;
void SubRect (const nsRectFast& aRect, nsRegion& aResult) const
{ SubRect (aRect, aResult, aResult); }
void Merge (const nsRegion& aRgn1, const nsRegion& aRgn2);
void MoveInto (nsRegion& aDestRegion, const RgnRect* aStartRect);
void MoveInto (nsRegion& aDestRegion)
{ MoveInto (aDestRegion, mRectListHead.next); }
nsRegion (const nsRegion& aRegion); // Prevent copying of regions
nsRegion& operator = (const nsRegion& aRegion);
};
// Allow read-only access to region rectangles by iterating the list
class NS_GFX nsRegionRectIterator
{
const nsRegion* mRegion;
const nsRegion::RgnRect* mCurPtr;
public:
nsRegionRectIterator (const nsRegion& aRegion)
{
mRegion = &aRegion;
mCurPtr = &aRegion.mRectListHead;
}
const nsRectFast* Next ()
{
mCurPtr = mCurPtr->next;
return (mCurPtr != &mRegion->mRectListHead) ? mCurPtr : nsnull;
}
const nsRectFast* Prev ()
{
mCurPtr = mCurPtr->prev;
return (mCurPtr != &mRegion->mRectListHead) ? mCurPtr : nsnull;
}
void Reset ()
{
mCurPtr = &mRegion->mRectListHead;
}
};
#endif

Просмотреть файл

@ -41,6 +41,7 @@ REQUIRES = xpcom \
uconv \
locale \
unicharutil \
imglib2 \
$(NULL)
CPPSRCS = \
@ -63,7 +64,7 @@ EXPORTS = \
nsIRenderingContextOS2.h \
$(NULL)
EXTRA_DSO_LIBS = gkgfx mozutil_s
EXTRA_DSO_LIBS = gkgfx mozutil_s gfxshared_s
EXTRA_DSO_LDOPTS = \
$(EXTRA_DSO_LIBS) \
@ -80,7 +81,7 @@ endif
include $(topsrcdir)/config/rules.mk
INCLUDES += -I$(topsrcdir)/gfx/src
INCLUDES += -I$(topsrcdir)/gfx/src -I$(topsrcdir)/gfx/src/shared
OS_LIBS += $(NSPR_LIBS)

Просмотреть файл

@ -55,6 +55,7 @@
#include "nsPrintOptionsOS2.h"
#include "nsFontList.h"
#include "nsPrintSession.h"
#include "gfxImageFrame.h"
// objects that just require generic constructors
@ -72,6 +73,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerOS2)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrintOptionsOS2)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrinterEnumeratorOS2)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintSession, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR(gfxImageFrame)
// our custom constructors
@ -187,6 +189,10 @@ static const nsModuleComponentInfo components[] =
// "@mozilla.org/gfx/printer_enumerator/gtk;1",
"@mozilla.org/gfx/printerenumerator;1",
nsPrinterEnumeratorOS2Constructor },
{ "windows image frame",
GFX_IMAGEFRAME_CID,
"@mozilla.org/gfx/image/frame;2",
gfxImageFrameConstructor, },
{ "Print Session",
NS_PRINTSESSION_CID,
"@mozilla.org/gfx/printsession;1",

Просмотреть файл

@ -45,6 +45,7 @@ REQUIRES = xpcom \
content \
layout \
debug \
imglib2 \
$(NULL)
CPPSRCS = \
@ -68,11 +69,12 @@ CPPSRCS = \
EXPORTS = nsIRenderingContextWin.h nsIDrawingSurfaceWin.h
EXTRA_DSO_LIBS = gkgfx mozutil_s
EXTRA_DSO_LIBS = gkgfx mozutil_s gfxshared_s
LOCAL_INCLUDES = \
-I$(srcdir)/. \
-I$(srcdir)/.. \
-I$(srcdir)/../shared \
$(NULL)
OS_LIBS += winspool.lib comdlg32.lib

Просмотреть файл

@ -55,6 +55,8 @@
#include "nsIGenericFactory.h"
#include "nsNativeThemeWin.h"
#include "nsPrintSession.h"
#include "gfxImageFrame.h"
//NS_GENERIC_FACTORY_CONSTRUCTOR(nsFontMetricsWin)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextWin)
@ -73,6 +75,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerWin)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrinterEnumeratorWin)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsNativeThemeWin)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintSession, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR(gfxImageFrame)
PRBool
UseAFunctions()
@ -226,6 +229,10 @@ static const nsModuleComponentInfo components[] =
"@mozilla.org/chrome/chrome-native-theme;1",
NS_NewNativeTheme
},
{ "windows image frame",
GFX_IMAGEFRAME_CID,
"@mozilla.org/gfx/image/frame;2",
gfxImageFrameConstructor, },
{ "Print Session",
NS_PRINTSESSION_CID,
"@mozilla.org/gfx/printsession;1",

Просмотреть файл

@ -56,6 +56,7 @@
#include "imgIRequest.h"
#include "imgIContainer.h"
#include "nsCSSRendering.h"
#include "nsCSSColorUtils.h"
#include "nsIPrintContext.h"
#include "nsITheme.h"
#include "nsThemeConstants.h"

Просмотреть файл

@ -40,7 +40,7 @@
#include "nsLeafFrame.h"
#include "nsIRenderingContext.h"
#include "nsIStyleContext.h"
#include "nsColor.h"
#include "nsCSSColorUtils.h"
#include "nsIPresContext.h"
#include "nsIStyleContext.h"
#include "nsHTMLAtoms.h"

Просмотреть файл

@ -49,6 +49,7 @@ REQUIRES = xpcom \
CPPSRCS = \
nsCSSFrameConstructor.cpp \
nsCSSRendering.cpp \
nsCSSColorUtils.cpp \
nsFrameContentIterator.cpp \
nsChildIterator.cpp \
$(NULL)

Просмотреть файл

@ -56,6 +56,7 @@
#include "imgIRequest.h"
#include "imgIContainer.h"
#include "nsCSSRendering.h"
#include "nsCSSColorUtils.h"
#include "nsIPrintContext.h"
#include "nsITheme.h"
#include "nsThemeConstants.h"

Просмотреть файл

@ -1025,6 +1025,13 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS>Debug</FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsCSSColorUtils.cpp</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS>Debug</FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>BasicTableLayoutStrategy.cpp</PATH>
@ -2190,6 +2197,11 @@
<PATH>nsCSSRendering.cpp</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsCSSColorUtils.cpp</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>BasicTableLayoutStrategy.cpp</PATH>
@ -3924,6 +3936,13 @@
<FILEKIND>Text</FILEKIND>
<FILEFLAGS>Debug</FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsCSSColorUtils.cpp</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Text</FILEKIND>
<FILEFLAGS>Debug</FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>BasicTableLayoutStrategy.cpp</PATH>
@ -5109,6 +5128,11 @@
<PATH>nsCSSRendering.cpp</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsCSSColorUtils.cpp</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>BasicTableLayoutStrategy.cpp</PATH>
@ -6370,6 +6394,12 @@
<PATH>nsCSSRendering.cpp</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>layout.shlb</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>nsCSSColorUtils.cpp</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>layout.shlb</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>

Просмотреть файл

@ -13,6 +13,8 @@ function upgradeCleanup()
deleteThisFile("Components", "ucvcn.shlb");
deleteThisFile("Components", "ucvibm.shlb");
deleteThisFile("Components", "TextServices.shlb");
deleteThisFile("Components", "gfx2.shlb");
deleteThisFile("Components", "gfx2.xpt");
deleteThisFile("Program", "defaults/pref/config.js");
deleteThisFile("Program", "defaults/pref/initpref.js");
deleteThisFile("Program", "defaults/pref/macxprefs.js");

Просмотреть файл

@ -2,6 +2,8 @@ function upgradeCleanup()
{
// Obsolete files and generated files that
// need to be cleaned up.
deleteThisFile("Components", "gfx2.dll");
deleteThisFile("Components", "gfx2.xpt");
deleteThisFile("Chrome", "chrome.rdf");
deleteThisFolder("Chrome", "overlayinfo");
}

Просмотреть файл

@ -213,7 +213,6 @@ viewer:Components:transformiix.xpt
viewer:Components:transformiix.shlb
viewer:Components:nsCloseAllWindows.js
viewer:Components:gfx2.shlb
viewer:Components:libimg2.shlb
viewer:Components:pngdecoder2.shlb
viewer:Components:gifdecoder2.shlb

Просмотреть файл

@ -128,8 +128,6 @@ bin/components/editor.dll
;bin/components/evntloop.dll
bin/components/find.xpt
bin/components/gfx.xpt
bin/components/gfx2.xpt
bin/components/gfx2.dll
;bin/components/gkcontent.dll
bin/components/gkcontnt.dll
bin/components/content_base.xpt

Просмотреть файл

@ -98,7 +98,6 @@ bin/components/dom_xul.xpt
bin/components/editor.xpt
bin/components/find.xpt
bin/components/gfx.xpt
bin/components/gfx2.xpt
bin/components/intl.xpt
bin/components/imglib2.xpt
bin/components/chardet.xpt
@ -113,7 +112,6 @@ bin/components/libcomposer.so
bin/components/libdocshell.so
bin/components/libeditor.so
bin/components/libembedcomponents.so
bin/components/libgfx2.so
bin/components/libgfx_gtk.so
bin/components/libgfxps.so
bin/components/libgfxxprint.so

Просмотреть файл

@ -122,8 +122,6 @@ bin\components\editor.dll
bin\components\evntloop.dll
bin\components\find.xpt
bin\components\gfx.xpt
bin\components\gfx2.xpt
bin\components\gfx2.dll
bin\components\gkcontent.dll
bin\components\content_base.xpt
bin\components\content_html.xpt

Просмотреть файл

@ -14,6 +14,8 @@ function upgradeCleanup()
deleteThisFile("Components", "libucvcn.so");
deleteThisFile("Components", "libucvibm.so");
deleteThisFile("Components", "libtxtsvc.so");
deleteThisFile("Components", "libgfx2.so");
deleteThisFile("Components", "gfx2.xpt");
deleteThisFile("Program", "defaults/pref/config.js");
deleteThisFile("Program", "defaults/pref/initpref.js");
deleteThisFile("Program", "defaults/wallet/URLFieldSchema.tbl");

Просмотреть файл

@ -485,6 +485,8 @@ function upgradeCleanup()
deleteThisFile("Components", "ucvcn.dll");
deleteThisFile("Components", "ucvibm.dll");
deleteThisFile("Components", "txtsvc.dll");
deleteThisFile("Components", "gfx2.dll");
deleteThisFile("Components", "gfx2.xpt");
deleteThisFile("Chrome", "chrome.rdf");
deleteThisFolder("Chrome", "overlayinfo");
}