rpms/xulrunner/OLPC-3 xulrunner-olpc-no-native-theme.patch, NONE, 1.1 xulrunner-olpc-perms.patch, NONE, 1.1 xulrunner-olpc-pre-build.patch, NONE, 1.1 xulrunner-olpc-pre-dpi.patch, NONE, 1.1 xulrunner-olpc-xds.patch, NONE, 1.1 xulrunner.spec, 1.129, 1.130
Simon Schampijer (erikos)
fedora-extras-commits at redhat.com
Sat Jul 12 21:29:46 UTC 2008
- Previous message (by thread): rpms/newsx/devel newsx-stack.patch,NONE,1.1 newsx.spec,1.7,1.8
- Next message (by thread): rpms/milkytracker/F-9 import.log, NONE, 1.1 milkytracker-0.90.80-use-system-library.patch, NONE, 1.1 milkytracker.desktop, NONE, 1.1 milkytracker.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: erikos
Update of /cvs/pkgs/rpms/xulrunner/OLPC-3
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10271
Modified Files:
xulrunner.spec
Added Files:
xulrunner-olpc-no-native-theme.patch
xulrunner-olpc-perms.patch xulrunner-olpc-pre-build.patch
xulrunner-olpc-pre-dpi.patch xulrunner-olpc-xds.patch
Log Message:
* Sat Jul 12 2008 Simon Schampijer <simon at laptop.org> - 1.9-1.2
- add the OLPC specific patches
xulrunner-olpc-no-native-theme.patch:
--- NEW FILE xulrunner-olpc-no-native-theme.patch ---
--- /tmp/nsNativeThemeGTK.cpp 2008-04-07 12:17:50.000000000 +0200
+++ widget/src/gtk2/nsNativeThemeGTK.cpp 2008-04-07 12:26:13.000000000 +0200
@@ -1273,93 +1273,18 @@
return PR_FALSE;
switch (aWidgetType) {
- case NS_THEME_BUTTON:
- case NS_THEME_BUTTON_FOCUS:
- case NS_THEME_RADIO:
- case NS_THEME_RADIO_SMALL:
- case NS_THEME_CHECKBOX:
- case NS_THEME_CHECKBOX_SMALL:
- case NS_THEME_TOOLBOX: // N/A
- case NS_THEME_TOOLBAR:
- case NS_THEME_TOOLBAR_BUTTON:
- case NS_THEME_TOOLBAR_DUAL_BUTTON: // so we can override the border with 0
- case NS_THEME_TOOLBAR_BUTTON_DROPDOWN:
- case NS_THEME_TOOLBAR_SEPARATOR:
- case NS_THEME_TOOLBAR_GRIPPER:
- case NS_THEME_STATUSBAR:
- case NS_THEME_STATUSBAR_PANEL:
- case NS_THEME_STATUSBAR_RESIZER_PANEL:
- case NS_THEME_RESIZER:
- case NS_THEME_LISTBOX:
- // case NS_THEME_LISTBOX_LISTITEM:
- case NS_THEME_TREEVIEW:
- // case NS_THEME_TREEVIEW_TREEITEM:
- case NS_THEME_TREEVIEW_TWISTY:
- // case NS_THEME_TREEVIEW_LINE:
- // case NS_THEME_TREEVIEW_HEADER:
- case NS_THEME_TREEVIEW_HEADER_CELL:
- case NS_THEME_TREEVIEW_HEADER_SORTARROW:
- case NS_THEME_TREEVIEW_TWISTY_OPEN:
- case NS_THEME_PROGRESSBAR:
- case NS_THEME_PROGRESSBAR_CHUNK:
- case NS_THEME_PROGRESSBAR_VERTICAL:
- case NS_THEME_PROGRESSBAR_CHUNK_VERTICAL:
- case NS_THEME_TAB:
- // case NS_THEME_TAB_PANEL:
- case NS_THEME_TAB_PANELS:
- case NS_THEME_TAB_SCROLLARROW_BACK:
- case NS_THEME_TAB_SCROLLARROW_FORWARD:
- case NS_THEME_TOOLTIP:
- case NS_THEME_SPINNER:
- case NS_THEME_SPINNER_UP_BUTTON:
- case NS_THEME_SPINNER_DOWN_BUTTON:
- case NS_THEME_SPINNER_TEXTFIELD:
- // case NS_THEME_SCROLLBAR: (n/a for gtk)
- // case NS_THEME_SCROLLBAR_SMALL: (n/a for gtk)
case NS_THEME_SCROLLBAR_BUTTON_UP:
case NS_THEME_SCROLLBAR_BUTTON_DOWN:
case NS_THEME_SCROLLBAR_BUTTON_LEFT:
- case NS_THEME_SCROLLBAR_BUTTON_RIGHT:
- case NS_THEME_SCROLLBAR_TRACK_HORIZONTAL:
case NS_THEME_SCROLLBAR_TRACK_VERTICAL:
case NS_THEME_SCROLLBAR_THUMB_HORIZONTAL:
case NS_THEME_SCROLLBAR_THUMB_VERTICAL:
- // case NS_THEME_SCROLLBAR_GRIPPER_HORIZONTAL: (n/a for gtk)
- // case NS_THEME_SCROLLBAR_GRIPPER_VERTICAL: (n/a for gtk)
- case NS_THEME_TEXTFIELD:
- case NS_THEME_TEXTFIELD_MULTILINE:
- // case NS_THEME_TEXTFIELD_CARET:
- case NS_THEME_DROPDOWN_TEXTFIELD:
- case NS_THEME_SCALE_HORIZONTAL:
- case NS_THEME_SCALE_THUMB_HORIZONTAL:
- case NS_THEME_SCALE_VERTICAL:
- case NS_THEME_SCALE_THUMB_VERTICAL:
- // case NS_THEME_SCALE_THUMB_START:
- // case NS_THEME_SCALE_THUMB_END:
- // case NS_THEME_SCALE_TICK:
- case NS_THEME_CHECKBOX_CONTAINER:
- case NS_THEME_RADIO_CONTAINER:
- case NS_THEME_CHECKBOX_LABEL:
- case NS_THEME_RADIO_LABEL:
- case NS_THEME_MENUBAR:
- case NS_THEME_MENUPOPUP:
- case NS_THEME_MENUITEM:
- case NS_THEME_MENUARROW:
- case NS_THEME_MENUSEPARATOR:
- case NS_THEME_CHECKMENUITEM:
- case NS_THEME_RADIOMENUITEM:
- case NS_THEME_SPLITTER:
- case NS_THEME_WINDOW:
- case NS_THEME_DIALOG:
- case NS_THEME_DROPDOWN:
- case NS_THEME_DROPDOWN_TEXT:
return !IsWidgetStyled(aPresContext, aFrame, aWidgetType);
-
- case NS_THEME_DROPDOWN_BUTTON:
+ //case NS_THEME_DROPDOWN_BUTTON:
// "Native" dropdown buttons cause padding and margin problems, but only
// in HTML so allow them in XUL.
- return (!aFrame || aFrame->GetContent()->IsNodeOfType(nsINode::eXUL)) &&
- !IsWidgetStyled(aPresContext, aFrame, aWidgetType);
+ //return (!aFrame || aFrame->GetContent()->IsNodeOfType(nsINode::eXUL)) &&
+ // !IsWidgetStyled(aPresContext, aFrame, aWidgetType);
}
xulrunner-olpc-perms.patch:
--- NEW FILE xulrunner-olpc-perms.patch ---
--- modules/plugin/base/src/nsPluginHostImpl.cpp.old 2007-12-22 14:00:39.000000000 +0100
+++ modules/plugin/base/src/nsPluginHostImpl.cpp 2007-12-22 14:01:41.000000000 +0100
@@ -5573,7 +5573,7 @@
if (NS_FAILED(rv))
return rv;
- rv = localFile->OpenNSPRFileDesc(PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE, 0600, &fd);
+ rv = localFile->OpenNSPRFileDesc(PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE, 0660, &fd);
if (NS_FAILED(rv))
return rv;
--- modules/libpref/src/nsPrefService.cpp.old 2007-12-22 14:02:25.000000000 +0100
+++ modules/libpref/src/nsPrefService.cpp 2007-12-22 14:02:42.000000000 +0100
@@ -501,7 +501,7 @@
rv = NS_NewSafeLocalFileOutputStream(getter_AddRefs(outStreamSink),
aFile,
-1,
- 0600);
+ 0660);
if (NS_FAILED(rv))
return rv;
rv = NS_NewBufferedOutputStream(getter_AddRefs(outStream), outStreamSink, 4096);
--- security/nss/lib/softoken/legacydb/keydb.c.old 2007-12-22 14:03:34.000000000 +0100
+++ security/nss/lib/softoken/legacydb/keydb.c 2007-12-22 14:04:12.000000000 +0100
@@ -832,7 +832,7 @@
if (appName) {
handle->db = rdbopen( appName, prefix, "key", NO_CREATE, &status);
} else {
- handle->db = dbopen( dbname, NO_CREATE, 0600, DB_HASH, 0 );
+ handle->db = dbopen( dbname, NO_CREATE, 0660, DB_HASH, 0 );
}
/* if create fails then we lose */
if ( handle->db == NULL ) {
@@ -853,7 +853,7 @@
*/
if (appName) {
NSSLOWKEYDBHandle *updateHandle;
- updatedb = dbopen( dbname, NO_RDONLY, 0600, DB_HASH, 0 );
+ updatedb = dbopen( dbname, NO_RDONLY, 0660, DB_HASH, 0 );
if (!updatedb) {
goto noupdate;
}
@@ -892,7 +892,7 @@
*/
updname = (*namecb)(cbarg, 2);
if ( updname != NULL ) {
- handle->updatedb = dbopen( updname, NO_RDONLY, 0600, DB_HASH, 0 );
+ handle->updatedb = dbopen( updname, NO_RDONLY, 0660, DB_HASH, 0 );
PORT_Free( updname );
if ( handle->updatedb ) {
@@ -940,7 +940,7 @@
if (appName) {
db = rdbopen( appName, prefix, "key", openflags, NULL);
} else {
- db = dbopen( dbname, openflags, 0600, DB_HASH, 0 );
+ db = dbopen( dbname, openflags, 0660, DB_HASH, 0 );
}
return db;
@@ -2080,7 +2080,7 @@
handle->db=
rdbopen(handle->appname, handle->dbname, "key", NO_CREATE, NULL);
} else {
- handle->db = dbopen( handle->dbname, NO_CREATE, 0600, DB_HASH, 0 );
+ handle->db = dbopen( handle->dbname, NO_CREATE, 0660, DB_HASH, 0 );
}
if (handle->db == NULL) {
/* set an error code */
--- security/nss/lib/softoken/legacydb/pcertdb.c.old 2007-12-22 14:04:53.000000000 +0100
+++ security/nss/lib/softoken/legacydb/pcertdb.c 2007-12-22 14:05:33.000000000 +0100
@@ -3998,7 +3998,7 @@
tmpname = (* namecb)(cbarg, version); /* get v6 db name */
if ( tmpname ) {
- updatedb = dbopen( tmpname, NO_RDONLY, 0600, DB_HASH, 0 );
+ updatedb = dbopen( tmpname, NO_RDONLY, 0660, DB_HASH, 0 );
PORT_Free(tmpname);
}
return updatedb;
@@ -4016,7 +4016,7 @@
if (appName) {
handle->permCertDB=rdbopen( appName, prefix, "cert", NO_CREATE, &status);
} else {
- handle->permCertDB=dbsopen(certdbname, NO_CREATE, 0600, DB_HASH, 0);
+ handle->permCertDB=dbsopen(certdbname, NO_CREATE, 0660, DB_HASH, 0);
}
/* if create fails then we lose */
@@ -4042,7 +4042,7 @@
/* rv must already be Success here because of previous if statement */
/* try to upgrade old db here */
if (appName &&
- (updatedb = dbsopen(certdbname, NO_RDONLY, 0600, DB_HASH, 0)) != NULL) {
+ (updatedb = dbsopen(certdbname, NO_RDONLY, 0660, DB_HASH, 0)) != NULL) {
rv = UpdateV8DB(handle, updatedb);
} else if ((updatedb = nsslowcert_openolddb(namecb,cbarg,7)) != NULL) {
rv = UpdateV7DB(handle, updatedb);
@@ -4107,7 +4107,7 @@
if (appName) {
handle->permCertDB = rdbopen( appName, prefix, "cert", openflags, NULL);
} else {
- handle->permCertDB = dbsopen( certdbname, openflags, 0600, DB_HASH, 0 );
+ handle->permCertDB = dbsopen( certdbname, openflags, 0660, DB_HASH, 0 );
}
/* check for correct version number */
--- security/nss/lib/softoken/legacydb/pk11db.c 2007-06-13 02:24:57.000000000 +0200
+++ security/nss/lib/softoken/legacydb/pk11db.c.old 2007-12-22 14:06:55.000000000 +0100
@@ -543,7 +543,7 @@
PORT_Free(secname);
return pkcs11db;
}
- updatedb = dbopen(dbName, NO_RDONLY, 0600, DB_HASH, 0);
+ updatedb = dbopen(dbName, NO_RDONLY, 0660, DB_HASH, 0);
if (updatedb) {
db_Copy(pkcs11db,updatedb);
(*updatedb->close)(updatedb);
@@ -558,14 +558,14 @@
}
/* I'm sure we should do more checks here sometime... */
- pkcs11db = dbopen(dbName, readOnly ? NO_RDONLY : NO_RDWR, 0600, DB_HASH, 0);
+ pkcs11db = dbopen(dbName, readOnly ? NO_RDONLY : NO_RDWR, 0660, DB_HASH, 0);
/* didn't exist? create it */
if (pkcs11db == NULL) {
if (readOnly)
return NULL;
- pkcs11db = dbopen( dbName, NO_CREATE, 0600, DB_HASH, 0 );
+ pkcs11db = dbopen( dbName, NO_CREATE, 0660, DB_HASH, 0 );
if (pkcs11db)
(* pkcs11db->sync)(pkcs11db, 0);
}
--- netwerk/cache/src/nsDiskCacheBlockFile.cpp.old 2007-12-22 14:11:31.000000000 +0100
+++ netwerk/cache/src/nsDiskCacheBlockFile.cpp 2007-12-22 14:11:45.000000000 +0100
@@ -59,7 +59,7 @@
mBlockSize = blockSize;
// open the file - restricted to user, the data could be confidential
- nsresult rv = blockFile->OpenNSPRFileDesc(PR_RDWR | PR_CREATE_FILE, 00600, &mFD);
+ nsresult rv = blockFile->OpenNSPRFileDesc(PR_RDWR | PR_CREATE_FILE, 00660, &mFD);
if (NS_FAILED(rv)) return rv; // unable to open or create file
// allocate bit map buffer
--- netwerk/cache/src/nsDiskCacheDeviceSQL.cpp.old 2007-12-22 14:37:48.000000000 +0100
+++ netwerk/cache/src/nsDiskCacheDeviceSQL.cpp 2007-12-22 14:38:21.000000000 +0100
@@ -374,7 +374,7 @@
rv = file->SetNativeLeafName(nsDependentCString(leaf));
if (NS_FAILED(rv))
return nsnull;
- rv = file->Create(nsIFile::NORMAL_FILE_TYPE, 00600);
+ rv = file->Create(nsIFile::NORMAL_FILE_TYPE, 00660);
if (NS_FAILED(rv) && rv != NS_ERROR_FILE_ALREADY_EXISTS)
return nsnull;
if (NS_SUCCEEDED(rv))
@@ -1105,7 +1105,7 @@
nsCOMPtr<nsIOutputStream> out;
NS_NewLocalFileOutputStream(getter_AddRefs(out), binding->mDataFile,
PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE,
- 00600);
+ 00660);
if (!out)
return NS_ERROR_UNEXPECTED;
--- netwerk/cache/src/nsDiskCacheStreams.cpp.old 2007-12-22 14:37:28.000000000 +0100
+++ netwerk/cache/src/nsDiskCacheStreams.cpp 2007-12-22 14:38:06.000000000 +0100
@@ -666,8 +666,8 @@
getter_AddRefs(mLocalFile));
if (NS_FAILED(rv)) return rv;
- // create PRFileDesc for input stream - the 00600 is just for consistency
- rv = mLocalFile->OpenNSPRFileDesc(flags, 00600, fd);
+ // create PRFileDesc for input stream - the 00660 is just for consistency
+ rv = mLocalFile->OpenNSPRFileDesc(flags, 00660, fd);
if (NS_FAILED(rv)) return rv; // unable to open file
return NS_OK;
--- /tmp/sqlite3.c 2008-04-07 14:31:32.000000000 +0200
+++ db/sqlite3/src/sqlite3.c 2008-04-07 14:32:49.000000000 +0200
@@ -15768,7 +15768,7 @@
** Default permissions when creating a new file
*/
#ifndef SQLITE_DEFAULT_FILE_PERMISSIONS
-# define SQLITE_DEFAULT_FILE_PERMISSIONS 0644
+# define SQLITE_DEFAULT_FILE_PERMISSIONS 0664
#endif
/*
--- /tmp/nsDiskCacheMap.cpp 2008-04-07 14:27:11.000000000 +0200
+++ netwerk/cache/src/nsDiskCacheMap.cpp 2008-04-07 14:28:43.000000000 +0200
@@ -78,7 +78,7 @@
NS_ENSURE_SUCCESS(rv, rv);
// open the file - restricted to user, the data could be confidential
- rv = localFile->OpenNSPRFileDesc(PR_RDWR | PR_CREATE_FILE, 00600, &mMapFD);
+ rv = localFile->OpenNSPRFileDesc(PR_RDWR | PR_CREATE_FILE, 00660, &mMapFD);
NS_ENSURE_SUCCESS(rv, NS_ERROR_FILE_CORRUPTED);
PRBool cacheFilesExist = CacheFilesExist();
@@ -676,7 +676,7 @@
PRFileDesc * fd = nsnull;
// open the file - restricted to user, the data could be confidential
- rv = file->OpenNSPRFileDesc(PR_RDONLY, 00600, &fd);
+ rv = file->OpenNSPRFileDesc(PR_RDONLY, 00660, &fd);
NS_ENSURE_SUCCESS(rv, nsnull);
PRInt32 fileSize = PR_Available(fd);
@@ -826,8 +826,8 @@
// open the file
PRFileDesc * fd;
// open the file - restricted to user, the data could be confidential
- rv = localFile->OpenNSPRFileDesc(PR_RDWR | PR_TRUNCATE | PR_CREATE_FILE, 00600, &fd);
+ rv = localFile->OpenNSPRFileDesc(PR_RDWR | PR_TRUNCATE | PR_CREATE_FILE, 00660, &fd);
NS_ENSURE_SUCCESS(rv, rv);
// write the file
xulrunner-olpc-pre-build.patch:
--- NEW FILE xulrunner-olpc-pre-build.patch ---
--- /tmp/Makefile.in 2008-04-07 13:55:44.000000000 +0200
+++ extensions/python/dom/src/Makefile.in 2008-04-07 13:56:27.000000000 +0200
@@ -22,7 +22,7 @@
# We always need the Python and pyxpcom includes and libs.
LOCAL_INCLUDES = $(MOZ_PYTHON_INCLUDES)
EXTRA_LIBS += $(MOZ_PYTHON_LIBS) \
- $(call EXPAND_LIBNAME_PATH,pyxpcom,$(DIST)/lib) \
+ $(DIST)/lib/$(DLL_PREFIX)pyxpcom$(DLL_SUFFIX) \
$(NULL)
# In the shorter term we need JS too.
Index: config/rules.mk
===================================================================
RCS file: /cvsroot/mozilla/config/rules.mk,v
retrieving revision 3.554
diff -u -r3.554 rules.mk
--- config/rules.mk 14 May 2007 14:21:44 -0000 3.554
+++ config/rules.mk 21 May 2007 00:41:20 -0000
@@ -775,6 +775,12 @@
install:: $(SDK_HEADERS)
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(includedir)/$(MODULE)
endif
+
+ifneq (,$(SDK_LIBRARY))
+install:: $(SDK_LIBRARY)
+ $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)
+endif
+
endif
install:: $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(LIBRARY) $(PROGRAM) $(SIMPLE_PROGRAMS) $(JAVA_LIBRARY)
--- extensions/python/xpcom/src/module/Makefile.in.orig 2007-05-28 20:48:26.000000000 +0200
+++ extensions/python/xpcom/src/module/Makefile.in 2007-05-28 20:49:03.000000000 +0200
@@ -95,8 +95,8 @@
install::
ifneq ($(OS_ARCH),WINNT)
- $(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(DISTDIR)$(pyexecdir)/xpcom
- mv $(DISTDIR)$(pyexecdir)/xpcom/$(SHARED_LIBRARY) $(DISTDIR)$(pyexecdir)/xpcom/_xpcom$(MOZ_PYTHON_DLL_SUFFIX)
+ $(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(DESTDIR)$(pyexecdir)/xpcom
+ mv $(DESTDIR)$(pyexecdir)/xpcom/$(SHARED_LIBRARY) $(DESTDIR)$(pyexecdir)/xpcom/_xpcom$(MOZ_PYTHON_DLL_SUFFIX)
endif
clobber::
--- extensions/python/xpcom/Makefile.in.orig 2007-05-29 10:17:10.000000000 +0200
+++ extensions/python/xpcom/Makefile.in 2007-05-29 10:17:22.000000000 +0200
@@ -97,9 +97,9 @@
$(INSTALL) $(PYSRCS_XPCOMTOOLS) $(DIST)/bin/python/xpcom/tools
install::
- $(SYSINSTALL) $(IFLAGS1) $(PYSRCS_XPCOM) $(DISTDIR)$(pyexecdir)/xpcom
- $(SYSINSTALL) $(IFLAGS1) $(PYSRCS_XPCOMCLIENT) $(DISTDIR)$(pyexecdir)/xpcom/client
- $(SYSINSTALL) $(IFLAGS1) $(PYSRCS_XPCOMSERVER) $(DISTDIR)$(pyexecdir)/xpcom/server
+ $(SYSINSTALL) $(IFLAGS1) $(PYSRCS_XPCOM) $(DESTDIR)$(pyexecdir)/xpcom
+ $(SYSINSTALL) $(IFLAGS1) $(PYSRCS_XPCOMCLIENT) $(DESTDIR)$(pyexecdir)/xpcom/client
+ $(SYSINSTALL) $(IFLAGS1) $(PYSRCS_XPCOMSERVER) $(DESTDIR)$(pyexecdir)/xpcom/server
clobber::
rm -rf $(DIST)/bin/python/xpcom
Index: extensions/python/dom/test/pyxultest/application.ini
===================================================================
RCS file: /cvsroot/mozilla/extensions/python/dom/test/pyxultest/application.ini,v
retrieving revision 1.2
diff -u -r1.2 application.ini
--- extensions/python/dom/test/pyxultest/application.ini 29 Apr 2006 01:56:36 -0000 1.2
+++ extensions/python/dom/test/pyxultest/application.ini 21 Aug 2007 22:36:44 -0000
@@ -15,7 +15,7 @@
; This field specifies your application's build ID (timestamp). This field is
; required.
-BuildID=@BUILD_ID@
+BuildID=20070625
; This field specifies a compact copyright notice for your application. This
; field is optional.
xulrunner-olpc-pre-dpi.patch:
--- NEW FILE xulrunner-olpc-pre-dpi.patch ---
Index: gfx/src/thebes/nsThebesDeviceContext.cpp
===================================================================
RCS file: /cvsroot/mozilla/gfx/src/thebes/nsThebesDeviceContext.cpp,v
retrieving revision 1.54
diff -u -r1.54 nsThebesDeviceContext.cpp
--- gfx/src/thebes/nsThebesDeviceContext.cpp 19 Mar 2007 23:16:15 -0000 1.54
+++ gfx/src/thebes/nsThebesDeviceContext.cpp 22 Mar 2007 15:10:19 -0000
@@ -228,6 +228,7 @@
NS_ASSERTION(dpi != -1, "no dpi set");
+ dotsArePixels = PR_FALSE;
if (dotsArePixels) {
// First figure out the closest multiple of 96, which is the number of
// dev pixels per CSS pixel. Then, divide that into AppUnitsPerCSSPixel()
xulrunner-olpc-xds.patch:
--- NEW FILE xulrunner-olpc-xds.patch ---
Index: content/base/src/nsContentAreaDragDrop.cpp
===================================================================
RCS file: /cvsroot/mozilla/content/base/src/nsContentAreaDragDrop.cpp,v
retrieving revision 1.69
diff -u -r1.69 nsContentAreaDragDrop.cpp
--- content/base/src/nsContentAreaDragDrop.cpp 8 Jul 2007 07:08:07 -0000 1.69
+++ content/base/src/nsContentAreaDragDrop.cpp 16 Sep 2007 20:11:36 -0000
@@ -855,9 +855,6 @@
return NS_ERROR_NO_INTERFACE;
}
- rv = inDestFile->CreateUnique(nsIFile::NORMAL_FILE_TYPE, 0600);
- NS_ENSURE_SUCCESS(rv, rv);
-
// we rely on the fact that the WPB is refcounted by the channel etc,
// so we don't keep a ref to it. It will die when finished.
nsCOMPtr<nsIWebBrowserPersist> persist =
@@ -921,21 +918,32 @@
if (targetFilename.IsEmpty())
return NS_ERROR_FAILURE;
- // get the target directory from the kFilePromiseDirectoryMime
- // flavor
- nsCOMPtr<nsISupports> dirPrimitive;
+ nsCOMPtr<nsIFile> file;
+
+ nsCOMPtr<nsISupports> fullpathPrimitive;
dataSize = 0;
- aTransferable->GetTransferData(kFilePromiseDirectoryMime,
- getter_AddRefs(dirPrimitive), &dataSize);
- nsCOMPtr<nsILocalFile> destDirectory = do_QueryInterface(dirPrimitive);
- if (!destDirectory)
- return NS_ERROR_FAILURE;
+ aTransferable->GetTransferData(kFilePromiseFullpathMime,
+ getter_AddRefs(fullpathPrimitive), &dataSize);
+ file = do_QueryInterface(fullpathPrimitive);
+ if (!file) {
+ // get the target directory from the kFilePromiseDirectoryMime
+ // flavor
+ nsCOMPtr<nsISupports> dirPrimitive;
+ dataSize = 0;
+ aTransferable->GetTransferData(kFilePromiseDirectoryMime,
+ getter_AddRefs(dirPrimitive), &dataSize);
+ nsCOMPtr<nsILocalFile> destDirectory = do_QueryInterface(dirPrimitive);
+ if (!destDirectory)
+ return NS_ERROR_FAILURE;
- nsCOMPtr<nsIFile> file;
- rv = destDirectory->Clone(getter_AddRefs(file));
- NS_ENSURE_SUCCESS(rv, rv);
+ rv = destDirectory->Clone(getter_AddRefs(file));
+ NS_ENSURE_SUCCESS(rv, rv);
- file->Append(targetFilename);
+ file->Append(targetFilename);
+
+ rv = file->CreateUnique(nsIFile::NORMAL_FILE_TYPE, 0600);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
// now save the file
rv = SaveURIToFile(sourceURLString, file);
Index: widget/public/nsITransferable.idl
===================================================================
RCS file: /cvsroot/mozilla/widget/public/nsITransferable.idl,v
retrieving revision 1.12
diff -u -r1.12 nsITransferable.idl
--- widget/public/nsITransferable.idl 12 Jun 2006 17:30:22 -0000 1.12
+++ widget/public/nsITransferable.idl 16 Sep 2007 20:12:24 -0000
@@ -70,6 +70,7 @@
#define kFilePromiseMime "application/x-moz-file-promise"
// a synthetic flavor, put into the transferable once we know the destination directory of a file drag
#define kFilePromiseDirectoryMime "application/x-moz-file-promise-dir"
+#define kFilePromiseFullpathMime "application/x-moz-file-promise-fullpath"
%}
Index: widget/src/gtk2/nsDragService.cpp
===================================================================
RCS file: /cvsroot/mozilla/widget/src/gtk2/nsDragService.cpp,v
retrieving revision 1.19
diff -u -r1.19 nsDragService.cpp
--- widget/src/gtk2/nsDragService.cpp 7 Aug 2007 15:18:38 -0000 1.19
+++ widget/src/gtk2/nsDragService.cpp 16 Sep 2007 20:12:26 -0000
@@ -60,11 +60,16 @@
#include "gfxASurface.h"
#include "nsImageToPixbuf.h"
+#define XDS_ATOM gdk_atom_intern("XdndDirectSave0", FALSE)
+#define TEXT_ATOM gdk_atom_intern("text/plain", FALSE)
+#define MAX_XDS_ATOM_VAL_LEN 4096
+
static PRLogModuleInfo *sDragLm = NULL;
static const char gMimeListType[] = "application/x-moz-internal-item-list";
static const char gMozUrlType[] = "_NETSCAPE_URL";
static const char gTextUriListType[] = "text/uri-list";
+static const char gDirectSaveType[] = "XdndDirectSave0";
static void
invisibleSourceDragEnd(GtkWidget *aWidget,
@@ -79,6 +84,11 @@
guint32 aTime,
gpointer aData);
+void
+invisibleSourceDragBegin(GtkWidget *aWidget,
+ GdkDragContext *aContext,
+ gpointer aData);
+
nsDragService::nsDragService()
{
// We have to destroy the hidden widget before the event loop stops
@@ -96,6 +106,8 @@
// from our drag source
gtk_signal_connect(GTK_OBJECT(mHiddenWidget), "drag_data_get",
GTK_SIGNAL_FUNC(invisibleSourceDragDataGet), this);
+ gtk_signal_connect(GTK_OBJECT(mHiddenWidget), "drag_begin",
+ GTK_SIGNAL_FUNC(invisibleSourceDragBegin), this);
gtk_signal_connect(GTK_OBJECT(mHiddenWidget), "drag_end",
GTK_SIGNAL_FUNC(invisibleSourceDragEnd), this);
@@ -989,6 +1001,21 @@
id %ld\n", urlTarget->target, urlAtom));
targetArray.AppendElement(urlTarget);
}
+ // XdndDirectSave
+ if (strcmp(flavorStr, kFilePromiseMime) == 0) {
+ // get the atom for the unicode string
+ GdkAtom directsaveAtom =
+ gdk_atom_intern(gDirectSaveType, FALSE);
+ GtkTargetEntry *directsaveTarget =
+ (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+ directsaveTarget->target = g_strdup(gDirectSaveType);
+ directsaveTarget->flags = 0;
+ directsaveTarget->info = GPOINTER_TO_UINT(directsaveAtom);
+ PR_LOG(sDragLm, PR_LOG_DEBUG,
+ ("automatically adding target %s with \
+ id %ld\n", directsaveTarget->target, directsaveAtom));
+ targetArray.AppendElement(directsaveTarget);
+ }
}
} // foreach flavor in item
} // if valid flavor list
@@ -1024,6 +1051,52 @@
}
void
+nsDragService::SourceBeginDrag(GdkDragContext *context)
+{
+ nsCOMPtr<nsISupports> genericItem;
+ mSourceDataItems->GetElementAt(0, getter_AddRefs(genericItem));
+ nsCOMPtr<nsITransferable> transferable(do_QueryInterface(genericItem));
+
+ nsresult rv;
+ nsCOMPtr<nsISupportsArray> flavorList;
+ rv = transferable->FlavorsTransferableCanImport(getter_AddRefs(flavorList));
+ NS_ENSURE_SUCCESS(rv,);
+
+ PRUint32 cnt;
+ flavorList->Count(&cnt);
+
+ for (PRUint32 i = 0; i < cnt; ++i) {
+ nsCOMPtr<nsISupports> genericWrapper;
+ flavorList->GetElementAt(i, getter_AddRefs(genericWrapper));
+ nsCOMPtr<nsISupportsCString> currentFlavor(do_QueryInterface(genericWrapper, &rv));
+ NS_ENSURE_SUCCESS(rv,);
+
+ nsXPIDLCString flavorStr;
+ currentFlavor->ToString(getter_Copies(flavorStr));
+ if (strcmp(flavorStr, kFilePromiseDestFilename) == 0) {
+ PRUint32 dataSize = 0;
+ nsCOMPtr<nsISupports> tmp;
+ transferable->GetTransferData(kFilePromiseDestFilename,
+ getter_AddRefs(tmp), &dataSize);
+ nsCOMPtr<nsISupportsString> fileName = do_QueryInterface(tmp, &rv);
+ NS_ENSURE_SUCCESS(rv,);
+
+ nsAutoString filenameStr;
+ fileName->GetData(filenameStr);
+
+ nsCString filenameCStr;
+ CopyUTF16toUTF8(filenameStr, filenameCStr);
+
+ gdk_property_change(context->source_window,
+ XDS_ATOM, TEXT_ATOM,
+ 8, GDK_PROP_MODE_REPLACE,
+ (guchar *)filenameCStr.get(),
+ filenameCStr.Length());
+ }
+ }
+}
+
+void
nsDragService::SourceEndDrag(void)
{
// this just releases the list of data items that we provide
@@ -1106,6 +1179,8 @@
guint32 aTime)
{
PR_LOG(sDragLm, PR_LOG_DEBUG, ("nsDragService::SourceDataGet"));
+ nsresult rv;
+
GdkAtom atom = (GdkAtom)aInfo;
nsXPIDLCString mimeFlavor;
gchar *typeName = 0;
@@ -1134,6 +1209,7 @@
// we can convert it.
PRBool needToDoConversionToPlainText = PR_FALSE;
const char* actualFlavor = mimeFlavor;
+printf("%s\n", actualFlavor);
if (strcmp(mimeFlavor,kTextMime) == 0) {
actualFlavor = kUnicodeMime;
needToDoConversionToPlainText = PR_TRUE;
@@ -1150,16 +1226,60 @@
actualFlavor = gTextUriListType;
needToDoConversionToPlainText = PR_TRUE;
}
+ else if (strcmp(mimeFlavor, gTextUriListType) == 0) {
+ actualFlavor = gTextUriListType;
+ needToDoConversionToPlainText = PR_TRUE;
+ }
+ else if (strcmp(mimeFlavor, gDirectSaveType) == 0) {
+ guchar *propText;
+ gint propLen;
+
+ if (!gdk_property_get(aContext->source_window,
+ XDS_ATOM, TEXT_ATOM,
+ 0, MAX_XDS_ATOM_VAL_LEN,
+ FALSE, NULL, NULL, &propLen,
+ (unsigned char **)&propText))
+ return;
+
+ /* Zero-terminate the string */
+ propText = (guchar *)g_realloc(propText, propLen + 1);
+ propText[propLen] = '\0';
+
+ char *fullpath;
+ fullpath = g_filename_from_uri((gchar *)propText, NULL, NULL);
+ if (!fullpath)
+ return;
+
+ nsCOMPtr<nsILocalFile> file;
+ rv = NS_NewNativeLocalFile(nsDependentCString(fullpath),
+ PR_FALSE, getter_AddRefs(file));
+ NS_ENSURE_SUCCESS(rv,);
+
+ item->SetTransferData(kFilePromiseFullpathMime, file,
+ sizeof(nsILocalFile*));
+
+ actualFlavor = kFilePromiseMime;
+
+ g_free(fullpath);
+ }
else
actualFlavor = mimeFlavor;
PRUint32 tmpDataLen = 0;
void *tmpData = NULL;
- nsresult rv;
nsCOMPtr<nsISupports> data;
rv = item->GetTransferData(actualFlavor,
getter_AddRefs(data),
&tmpDataLen);
+
+ if (strcmp(actualFlavor, kFilePromiseMime) == 0) {
+ const char *result = NS_SUCCEEDED(rv) ? "S" : "F";
+ gtk_selection_data_set(aSelectionData,
+ aSelectionData->target,
+ 8, (guchar *)result, 1);
+ return;
+ }
+
if (NS_SUCCEEDED(rv)) {
nsPrimitiveHelpers::CreateDataFromPrimitive (actualFlavor, data,
&tmpData, tmpDataLen);
@@ -1224,6 +1344,18 @@
/* static */
void
+invisibleSourceDragBegin(GtkWidget *aWidget,
+ GdkDragContext *aContext,
+ gpointer aData)
+{
+ PR_LOG(sDragLm, PR_LOG_DEBUG, ("invisibleDragBegin"));
+ nsDragService *dragService = (nsDragService *)aData;
+ // The drag has ended. Release the hostages!
+ dragService->SourceBeginDrag(aContext);
+}
+
+/* static */
+void
invisibleSourceDragEnd(GtkWidget *aWidget,
GdkDragContext *aContext,
gpointer aData)
Index: widget/src/gtk2/nsDragService.h
===================================================================
RCS file: /cvsroot/mozilla/widget/src/gtk2/nsDragService.h,v
retrieving revision 1.4
diff -u -r1.4 nsDragService.h
--- widget/src/gtk2/nsDragService.h 12 Apr 2007 04:37:40 -0000 1.4
+++ widget/src/gtk2/nsDragService.h 16 Sep 2007 20:12:26 -0000
@@ -101,6 +101,7 @@
// This is called when the drag started with the invisible widget
// finishes. It's called from within the drag service code but from
// a callback - it needs to be public.
+ void SourceBeginDrag(GdkDragContext *context);
void SourceEndDrag(void);
void SourceDataGet(GtkWidget *widget,
GdkDragContext *context,
Index: xulrunner.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xulrunner/OLPC-3/xulrunner.spec,v
retrieving revision 1.129
retrieving revision 1.130
diff -u -r1.129 -r1.130
--- xulrunner.spec 23 Jun 2008 22:32:47 -0000 1.129
+++ xulrunner.spec 12 Jul 2008 21:28:42 -0000 1.130
@@ -8,7 +8,7 @@
Summary: XUL Runtime for Gecko Applications
Name: xulrunner
Version: 1.9
-Release: 1%{?dist}.1
+Release: 1%{?dist}.2
URL: http://www.mozilla.org/projects/xulrunner/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
@@ -31,6 +31,12 @@
Patch26: mozilla-ps-pdf-simplify-operators.patch
Patch27: mozilla-ssl-exception.patch
+# OLPC
+Patch201: xulrunner-olpc-no-native-theme.patch
+Patch202: xulrunner-olpc-pre-dpi.patch
+Patch203: xulrunner-olpc-pre-build.patch
+Patch204: xulrunner-olpc-xds.patch
+Patch205: xulrunner-olpc-perms.patch
# ---------------------------------------------------
@@ -124,6 +130,12 @@
%patch26 -p1 -b .ps-pdf-simplify-operators
%patch27 -p1 -b .ssl-exception
+%patch201 -p0 -b .no-native-theme
+%patch202 -p0 -b .dpi
+%patch203 -p0 -b .build
+%patch204 -p0 -b .xds
+%patch205 -p0 -b .perms
+
%{__rm} -f .mozconfig
%{__cp} %{SOURCE10} .mozconfig
@@ -407,6 +419,9 @@
#---------------------------------------------------------------------
%changelog
+* Sat Jul 12 2008 Simon Schampijer <simon at laptop.org> - 1.9-1.2
+- add the OLPC specific patches
+
* Mon Jun 23 2008 Dennis Gilmore <dennis at ausil.us> 1.9-1.1
- us xulrunner-pyxpcom instead of python-xulrunner
- Previous message (by thread): rpms/newsx/devel newsx-stack.patch,NONE,1.1 newsx.spec,1.7,1.8
- Next message (by thread): rpms/milkytracker/F-9 import.log, NONE, 1.1 milkytracker-0.90.80-use-system-library.patch, NONE, 1.1 milkytracker.desktop, NONE, 1.1 milkytracker.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list