зеркало из https://github.com/mozilla/gecko-dev.git
Fix for bug 199872. Bookmarks service doesn't appear to import IE favorites.
r=jag, sr=bryner
This commit is contained in:
Родитель
9009d66c57
Коммит
4127d84311
|
@ -1583,7 +1583,7 @@ nsBookmarksService::nsBookmarksService() :
|
|||
mBookmarksAvailable(PR_FALSE),
|
||||
mDirty(PR_FALSE)
|
||||
|
||||
#ifdef XP_MAC
|
||||
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||
,mIEFavoritesAvailable(PR_FALSE)
|
||||
#endif
|
||||
{ }
|
||||
|
@ -3341,7 +3341,7 @@ nsBookmarksService::ImportSystemBookmarks(nsIRDFResource* aParentFolder)
|
|||
{
|
||||
gImportedSystemBookmarks = PR_TRUE;
|
||||
|
||||
#ifdef XP_WIN
|
||||
#if defined(XP_WIN)
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIProperties> fileLocator(do_GetService("@mozilla.org/file/directory_service;1", &rv));
|
||||
|
@ -3357,13 +3357,16 @@ nsBookmarksService::ImportSystemBookmarks(nsIRDFResource* aParentFolder)
|
|||
// read Favorites folder if it exists on the machine.
|
||||
if (favoritesDirectory)
|
||||
return ParseFavoritesFolder(favoritesDirectory, aParentFolder);
|
||||
#elif XP_MAC
|
||||
nsSpecialSystemDirectory ieFavoritesFile(nsSpecialSystemDirectory::Mac_PreferencesDirectory);
|
||||
ieFavoritesFile += "Explorer";
|
||||
ieFavoritesFile += "Favorites.html";
|
||||
#elif defined(XP_MAC) || defined(XP_MACOSX)
|
||||
nsCOMPtr<nsIFile> ieFavoritesFile;
|
||||
nsresult rv = NS_GetSpecialDirectory(NS_MAC_PREFS_DIR, getter_AddRefs(ieFavoritesFile));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
ieFavoritesFile->Append(NS_LITERAL_STRING("Explorer"));
|
||||
ieFavoritesFile->Append(NS_LITERAL_STRING("Favorites.html"));
|
||||
|
||||
BookmarkParser parser;
|
||||
parser.Init(&ieFavoritesFile, mInner);
|
||||
parser.Init(ieFavoritesFile, mInner);
|
||||
BeginUpdateBatch(this);
|
||||
parser.Parse(aParentFolder, kNC_Bookmark);
|
||||
EndUpdateBatch(this);
|
||||
|
@ -3372,7 +3375,7 @@ nsBookmarksService::ImportSystemBookmarks(nsIRDFResource* aParentFolder)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
#if defined(XP_WIN) || defined(XP_MAC)
|
||||
#if defined(XP_WIN) || defined(XP_MAC) || defined(XP_MACOSX)
|
||||
void
|
||||
nsBookmarksService::HandleSystemBookmarks(nsIRDFNode* aNode)
|
||||
{
|
||||
|
@ -3389,7 +3392,7 @@ nsBookmarksService::HandleSystemBookmarks(nsIRDFNode* aNode)
|
|||
ImportSystemBookmarks(kNC_SystemBookmarksStaticRoot);
|
||||
}
|
||||
}
|
||||
#ifdef XP_MAC
|
||||
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||
// on the Mac, IE favorites are stored in an HTML file.
|
||||
// Defer importing the contents of this file until necessary.
|
||||
else if ((aNode == kNC_IEFavoritesRoot) && (mIEFavoritesAvailable == PR_FALSE))
|
||||
|
@ -3743,7 +3746,7 @@ nsBookmarksService::HasAssertion(nsIRDFResource* source,
|
|||
PRBool tv,
|
||||
PRBool* hasAssertion)
|
||||
{
|
||||
#if defined(XP_WIN) || defined(XP_MAC)
|
||||
#if defined(XP_WIN) || defined(XP_MAC) || defined(XP_MACOSX)
|
||||
HandleSystemBookmarks(source);
|
||||
#endif
|
||||
|
||||
|
@ -3777,7 +3780,7 @@ nsBookmarksService::RemoveObserver(nsIRDFObserver* aObserver)
|
|||
NS_IMETHODIMP
|
||||
nsBookmarksService::HasArcIn(nsIRDFNode *aNode, nsIRDFResource *aArc, PRBool *_retval)
|
||||
{
|
||||
#if defined(XP_WIN) || defined(XP_MAC)
|
||||
#if defined(XP_WIN) || defined(XP_MAC) || defined(XP_MACOSX)
|
||||
HandleSystemBookmarks(aNode);
|
||||
#endif
|
||||
|
||||
|
@ -3787,7 +3790,7 @@ nsBookmarksService::HasArcIn(nsIRDFNode *aNode, nsIRDFResource *aArc, PRBool *_r
|
|||
NS_IMETHODIMP
|
||||
nsBookmarksService::HasArcOut(nsIRDFResource *aSource, nsIRDFResource *aArc, PRBool *_retval)
|
||||
{
|
||||
#if defined(XP_WIN) || defined(XP_MAC)
|
||||
#if defined(XP_WIN) || defined(XP_MAC) || defined(XP_MACOSX)
|
||||
HandleSystemBookmarks(aSource);
|
||||
#endif
|
||||
|
||||
|
@ -3798,7 +3801,7 @@ NS_IMETHODIMP
|
|||
nsBookmarksService::ArcLabelsOut(nsIRDFResource* source,
|
||||
nsISimpleEnumerator** labels)
|
||||
{
|
||||
#if defined(XP_WIN) || defined(XP_MAC)
|
||||
#if defined(XP_WIN) || defined(XP_MAC) || defined(XP_MACOSX)
|
||||
HandleSystemBookmarks(source);
|
||||
#endif
|
||||
|
||||
|
@ -3808,7 +3811,7 @@ nsBookmarksService::ArcLabelsOut(nsIRDFResource* source,
|
|||
NS_IMETHODIMP
|
||||
nsBookmarksService::GetAllResources(nsISimpleEnumerator** aResult)
|
||||
{
|
||||
#if defined(XP_WIN) || defined(XP_MAC)
|
||||
#if defined(XP_WIN) || defined(XP_MAC) || defined(XP_MACOSX)
|
||||
HandleSystemBookmarks(kNC_SystemBookmarksStaticRoot);
|
||||
#endif
|
||||
|
||||
|
@ -4468,7 +4471,7 @@ nsBookmarksService::GetBookmarksFile(nsIFile* *aResult)
|
|||
}
|
||||
|
||||
|
||||
#ifdef XP_MAC
|
||||
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||
|
||||
nsresult
|
||||
nsBookmarksService::ReadFavorites()
|
||||
|
@ -4476,7 +4479,7 @@ nsBookmarksService::ReadFavorites()
|
|||
mIEFavoritesAvailable = PR_TRUE;
|
||||
nsresult rv;
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef DEBUG
|
||||
PRTime now;
|
||||
Microseconds((UnsignedWide *)&now);
|
||||
printf("Start reading in IE Favorites.html\n");
|
||||
|
@ -4490,10 +4493,9 @@ nsBookmarksService::ReadFavorites()
|
|||
rv = NS_GetSpecialDirectory(NS_MAC_PREFS_DIR, getter_AddRefs(ieFavoritesFile));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
ieFavoritesFile->Append(NS_LITERAL_CSTRING("Explorer"));
|
||||
ieFavoritesFile->Append(NS_LITERAL_CSTRING("Favorites.html"));
|
||||
ieFavoritesFile->Append(NS_LITERAL_STRING("Explorer"));
|
||||
ieFavoritesFile->Append(NS_LITERAL_STRING("Favorites.html"));
|
||||
|
||||
nsresult rv;
|
||||
if (NS_SUCCEEDED(rv = gRDFC->MakeSeq(mInner, kNC_IEFavoritesRoot, nsnull)))
|
||||
{
|
||||
BookmarkParser parser;
|
||||
|
@ -4597,9 +4599,9 @@ nsBookmarksService::LoadBookmarks()
|
|||
if (prefSvc)
|
||||
prefSvc->GetBranch("browser.bookmarks.", getter_AddRefs(bookmarksPrefs));
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef DEBUG
|
||||
PRTime now;
|
||||
#ifdef XP_MAC
|
||||
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||
Microseconds((UnsignedWide *)&now);
|
||||
#else
|
||||
now = PR_Now();
|
||||
|
@ -4663,12 +4665,11 @@ nsBookmarksService::LoadBookmarks()
|
|||
parser.Init(bookmarksFile, mInner);
|
||||
if (useDynamicSystemBookmarks)
|
||||
{
|
||||
#ifdef XP_MAC
|
||||
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||
parser.SetIEFavoritesRoot(nsCString(kURINC_IEFavoritesRoot));
|
||||
#elif defined(XP_WIN) || defined(XP_BEOS)
|
||||
parser.SetIEFavoritesRoot(bookmarksURICString);
|
||||
#endif
|
||||
|
||||
parser.ParserFoundIEFavoritesRoot(&foundIERoot);
|
||||
}
|
||||
|
||||
|
@ -4707,7 +4708,7 @@ nsBookmarksService::LoadBookmarks()
|
|||
// When the user opens this folder for the first time, system bookmarks are
|
||||
// imported into this folder. A pref is used to keep track of whether or
|
||||
// not to perform this operation.
|
||||
#if defined(XP_MAC) || defined(XP_WIN)
|
||||
#if defined(XP_WIN) || defined(XP_MAC) || defined(XP_MACOSX)
|
||||
PRBool addedStaticRoot = PR_FALSE;
|
||||
if (bookmarksPrefs)
|
||||
bookmarksPrefs->GetBoolPref("added_static_root",
|
||||
|
@ -4754,7 +4755,7 @@ nsBookmarksService::LoadBookmarks()
|
|||
#if defined(XP_WIN)
|
||||
rv = gRDF->GetResource(bookmarksURICString,
|
||||
getter_AddRefs(systemFolderResource));
|
||||
#elif defined(XP_MAC)
|
||||
#elif defined(XP_MAC) || defined(XP_MACOSX)
|
||||
rv = gRDF->GetResource(NS_LITERAL_CSTRING(kURINC_IEFavoritesRoot),
|
||||
getter_AddRefs(systemFolderResource));
|
||||
#endif
|
||||
|
@ -4771,7 +4772,7 @@ nsBookmarksService::LoadBookmarks()
|
|||
// by setting the pref.
|
||||
if (useDynamicSystemBookmarks)
|
||||
{
|
||||
#ifdef XP_MAC
|
||||
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||
// if the IE Favorites root isn't somewhere in bookmarks.html, add it
|
||||
if (!foundIERoot)
|
||||
{
|
||||
|
@ -4824,9 +4825,9 @@ nsBookmarksService::LoadBookmarks()
|
|||
#endif
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef DEBUG
|
||||
PRTime now2;
|
||||
#ifdef XP_MAC
|
||||
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||
Microseconds((UnsignedWide *)&now2);
|
||||
#else
|
||||
now2 = PR_Now();
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
class nsIOutputStream;
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef XP_MAC
|
||||
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||
#include <Timer.h>
|
||||
#endif
|
||||
#endif
|
||||
|
@ -95,19 +95,19 @@ protected:
|
|||
PRBool busySchedule;
|
||||
|
||||
// System Bookmark parsing
|
||||
#ifdef XP_WIN
|
||||
#if defined(XP_WIN)
|
||||
// @param aDirectory - Favorites Folder to import from.
|
||||
// @param aParentResource - Folder into which to place imported
|
||||
// Favorites.
|
||||
nsresult ParseFavoritesFolder(nsIFile* aDirectory,
|
||||
nsIRDFResource* aParentResource);
|
||||
#elif XP_MAC
|
||||
#elif defined(XP_MAC) || defined(XP_MACOSX)
|
||||
PRBool mIEFavoritesAvailable;
|
||||
|
||||
nsresult ReadFavorites();
|
||||
#endif
|
||||
|
||||
#if defined(XP_WIN) || defined(XP_MAC)
|
||||
#if defined(XP_WIN) || defined(XP_MAC) || defined(XP_MACOSX)
|
||||
void HandleSystemBookmarks(nsIRDFNode* aNode);
|
||||
#endif
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче