Closed Bug 31754 Opened 25 years ago Closed 25 years ago

nsIFileSpecWithUI do not use wstring for human language text and not localizable.

Categories

(Core :: XUL, defect, P2)

defect

Tracking

()

VERIFIED WONTFIX

People

(Reporter: ftang, Assigned: pavlov)

References

()

Details

(Whiteboard: [NEED INFO] [nsbeta2+])

The following method in widget/public/nsIFileSpecWithUI.idl and it's implementation use 'string' instead of 'wstring' for human readable text. This make it not localizable. Please change it and it's implementation, and the caller to wstring (const PRUnichar*) 61 void chooseInputFile( in string title, 62 in unsigned long filterMask, 63 in string extraFilterTitle, 64 in string extraFilter ); 65 66 void chooseOutputFile( in string windowTitle, 67 in string suggestedLeafName, 68 in unsigned long filterMask ); 69 70 string chooseFile(in string title); 71 72 string chooseDirectory(in string title); Change to 61 void chooseInputFile( in wstring title, 62 in unsigned long filterMask, 63 in wstring extraFilterTitle, 64 in string extraFilter ); 65 66 void chooseOutputFile( in wstring windowTitle, 67 in wstring suggestedLeafName, 68 in unsigned long filterMask ); 69 70 string chooseFile(in wstring title); 71 72 string chooseDirectory(in wstring title);
Blocks: 31288
Assignee: trudelle → pinkerton
Priority: P3 → P2
Target Milestone: M15
reassigning to pinkerton as p2 for m15
moving all defects not directly related to P0 beta2 features off to M18.
Target Milestone: M15 → M18
Blocks: 12394
I think law is working on 31246. Maybe you should give this bug to him.
I18N wants to have a Japanese beta2, reassigning to danm for M15.
Assignee: pinkerton → danm
Target Milestone: M18 → M15
Nominated for beta2.
Keywords: beta2
Target Milestone: M15 → M16
Blocks: 14744
Mass-moving all M16 non-feature bugs to M17, which we still consider to be part of beta2
Target Milestone: M16 → M17
Keywords: nsbeta2
[NEED INFO] ftang, can you comment as to why this is critical for beta? Thanks!
Whiteboard: [NEED INFO]
Because the interface use a wrong type in the parameter passing. It use string instead of wstring. And what that mean is all non ASCII text pass from/to java script to C++ code will be damaged. Therefore, all the Japanese text pass through this interface will be shown as garbage. In other word, the title of the dialogbox will shown as garbage. This bug have to be fixed ASAP unless we complete obsolete nsIFileSpecWithUI by beta2. Interface change is hard and should be done eariler in the whole developement cycle. Move this bug pass M16 mean you need to change a lot of code which call this interface. That is what you don't want to do afte M16.
nsIFileSpecWithUI is obsolescent and remaining usage will be replaced with usage of nsIFilePicker. A while back I reviewed changes pavlov was working on to accomplish that (but for some reason he subsequently opened a bug for me to do it; I'm not sure what's up with that). Anyway, this will be fixed by beta2, one way or another.
I agree if "nsIFileSpecWithUI is obsolescent and remaining usage will be replaced with usage of nsIFilePicker.", then we really don't need to fix this. However, who is assigned to do that replacement and how can we gurantee it happened by the ned of M17. We should file a tracking bug about replacing all the nsIFileSpecWithUI to nsIFilePicker and make this bug depend on that one.
[nsbeta2+]
Whiteboard: [NEED INFO] → [NEED INFO] [nsbeta2+]
Blocks: 40158
taking
Assignee: danm → pavlov
i'm resolving this as wontfix. please see the other bugs for changing to use nsIFilePicker. There is simply no point in fixing bugs in interfaces that should not be used. from bug 3025: Bug 36789, "File->Save should use nsIFilePicker instead of nsFileSpecWithUI", nsbeta2+ Bug 39234, "use nsIFilePicker instead of nsFileWidget in Editor", M17 Bug 37175, "bookmark code should use nsIFilePicker and nsILocaleFile from nsIFileSpec/nsIFileSpecWithUI", LATER Earlier work was done in bug 6783, "[feature] use nsIFilePicker to replace nsIFileWidget, nsIFileSpecWithUI, etc"
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → WONTFIX
verified wontfix. (Follow the trail in bug 36789[FIXED], bug 39234, bug 37175[FIXED] for remaining fixes).
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.