bug 256409 : bookmarks file path with non-ASCII characters doesn't work (r=p_ch, sr=jag)
git-svn-id: svn://10.0.0.236/trunk@161132 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
f32d8b7439
commit
33d26da236
@ -4381,13 +4381,16 @@ nsBookmarksService::GetBookmarksFile(nsIFile* *aResult)
|
||||
nsCOMPtr<nsIPref> prefServ(do_GetService(kPrefCID, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsXPIDLCString prefVal;
|
||||
rv = prefServ->CopyCharPref("browser.bookmarks.file",
|
||||
getter_Copies(prefVal));
|
||||
nsCOMPtr<nsISupportsString> prefVal;
|
||||
rv = prefServ->GetComplexValue("browser.bookmarks.file",
|
||||
NS_GET_IID(nsISupportsString),
|
||||
getter_AddRefs(prefVal));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv = NS_NewNativeLocalFile(prefVal, PR_TRUE,
|
||||
(nsILocalFile**)(nsIFile**) getter_AddRefs(bookmarksFile));
|
||||
nsXPIDLString bookmarkPath;
|
||||
prefVal->ToString(getter_Copies(bookmarkPath));
|
||||
rv = NS_NewLocalFile(bookmarkPath, PR_TRUE,
|
||||
(nsILocalFile**)(nsIFile**) getter_AddRefs(bookmarksFile));
|
||||
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
|
||||
@ -143,6 +143,11 @@ function OpenBookmarksFile()
|
||||
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
|
||||
fp.init(window, BookmarksUtils.getLocaleString("SelectOpen"), nsIFilePicker.modeOpen);
|
||||
fp.appendFilters(nsIFilePicker.filterHTML);
|
||||
if (fp.show() == nsIFilePicker.returnOK)
|
||||
PREF.setCharPref("browser.bookmarks.file", fp.file.path);
|
||||
if (fp.show() == nsIFilePicker.returnOK) {
|
||||
var path = Components.classes["@mozilla.org/supports-string;1"]
|
||||
.createInstance(Components.interfaces.nsISupportsString);
|
||||
path.data = fp.file.path;
|
||||
PREF.setComplexValue("browser.bookmarks.file",
|
||||
Components.interfaces.nsISupportsString, path);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4988,12 +4988,16 @@ nsBookmarksService::EnsureBookmarksFile()
|
||||
nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsXPIDLCString prefVal;
|
||||
rv = prefBranch->GetCharPref("browser.bookmarks.file",
|
||||
getter_Copies(prefVal));
|
||||
nsCOMPtr<nsISupportsString> prefVal;
|
||||
rv = prefBranch->GetComplexValue("browser.bookmarks.file",
|
||||
NS_GET_IID(nsISupportsString),
|
||||
getter_AddRefs(prefVal));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv = NS_NewNativeLocalFile(prefVal, PR_TRUE, getter_AddRefs(mBookmarksFile));
|
||||
nsXPIDLString bookmarksFile;
|
||||
prefVal->ToString(getter_Copies(bookmarksFile));
|
||||
rv = NS_NewLocalFile(bookmarksFile, PR_TRUE,
|
||||
getter_AddRefs(mBookmarksFile));
|
||||
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user