Closed
Bug 1386600
Opened 7 years ago
Closed 7 years ago
Change nsIStringBundle methods to return |AString| instead of |wstring|
Categories
(Core :: Internationalization, enhancement)
Core
Internationalization
Tracking
()
RESOLVED
FIXED
mozilla57
Tracking | Status | |
---|---|---|
firefox57 | --- | fixed |
People
(Reporter: n.nethercote, Assigned: n.nethercote)
References
Details
Attachments
(3 files)
(deleted),
patch
|
emk
:
review+
dbaron
:
superreview+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
jorgk-bmo
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
Details | Diff | Splinter Review |
We want to remove nsXPIDLString (see bug 1377356). A lot of the uses come from
the return values of the methods in nsIStringBundle. We can remove these by
changing the return type from |wstring| to |AString|.
Assignee | ||
Comment 1•7 years ago
|
||
dbaron, can you give this a brief look-over to see if it looks like you'd expect?
emk, can you please do a normal review. Apologies for the size of the patch.
Attachment #8892858 -
Flags: review?(dbaron)
Attachment #8892858 -
Flags: review?(VYV03354)
Comment 2•7 years ago
|
||
Comment on attachment 8892858 [details] [diff] [review]
Change nsIStringBundle methods to return |AString| instead of |wstring|
Yeah, the general approach here looks fine.
Attachment #8892858 -
Flags: review?(dbaron) → superreview+
Comment 3•7 years ago
|
||
Comment on attachment 8892858 [details] [diff] [review]
Change nsIStringBundle methods to return |AString| instead of |wstring|
Review of attachment 8892858 [details] [diff] [review]:
-----------------------------------------------------------------
::: docshell/base/nsDocShell.cpp
@@ +5301,5 @@
> const char16_t* strs[kMaxFormatStrArgs];
> for (uint32_t i = 0; i < formatStrCount; i++) {
> strs[i] = formatStrs[i].get();
> }
> nsXPIDLString str;
Not changed to nsAutoString.
::: layout/base/nsCSSFrameConstructor.cpp
@@ +9130,5 @@
> // I can just use that for sized broken images, that can happen, maybe.
> void
> nsCSSFrameConstructor::GetAlternateTextFor(nsIContent* aContent,
> nsIAtom* aTag,
> + nsAString& aAltText)
Could you remove extra spaces between type names and param names above?
::: layout/base/nsCSSFrameConstructor.h
@@ +66,5 @@
>
> // get the alternate text for a content node
> static void GetAlternateTextFor(nsIContent* aContent,
> nsIAtom* aTag, // content object's tag
> + nsAString& aAltText);
ditto
::: layout/style/ErrorReporter.cpp
@@ +330,5 @@
> const char16_t *params[1] = { qparam.get() };
>
> nsAutoString str;
> sStringBundle->FormatStringFromName(aMessage,
> + params, ArrayLength(params), str);
params and ArrayLength(params) should move to the previous line.
::: toolkit/mozapps/extensions/AddonContentPolicy.cpp
@@ +367,5 @@
>
> nsCOMPtr<nsIStringBundle> stringBundle = GetStringBundle();
>
> if (stringBundle) {
> + rv = stringBundle->FormatStringFromName(aName, aParams, aLength, mError);
over 80 columns
::: widget/cocoa/OSXNotificationCenter.mm
@@ +329,2 @@
> }
> + bundle->GetStringFromName("webActions.settings.label", settingsButtonTitle);
over 80 columns
Attachment #8892858 -
Flags: review?(VYV03354) → review+
Assignee | ||
Comment 4•7 years ago
|
||
jorgk, I have compiled this but not tested it.
The patch is large but mostly formulaic. Most of the changes are one of the
following two things.
- Removing getter_Copies() calls where necessary from arguments, because we no
longer need |char16_t*|-to-|nsAString&| conversions.
- Adding ToNewUnicode() calls where necessary for return values, because we now
need |nsAString&|-to-|char16_t*| conversions.
Attachment #8893616 -
Flags: review?(jorgk)
Comment 5•7 years ago
|
||
Thanks, I've been really busy with fighting bustage all week, so I haven't had a chance to look at this.
Apart from the formulaic changes, there seem to be a few other ones, like the removal of
NS_Free(kLocalizedInboxName);
That's because that's now a nsString nsMsgDBFolder::kLocalizedInboxName; which will take care of its own destruction, right?
Please go ahead and land your M-C patch before it rots.
Comment 6•7 years ago
|
||
Oh, I meant to say: I'll look at it on Monday the latest.
Assignee | ||
Comment 7•7 years ago
|
||
> Apart from the formulaic changes, there seem to be a few other ones, like
> the removal of
> NS_Free(kLocalizedInboxName);
> That's because that's now a nsString nsMsgDBFolder::kLocalizedInboxName;
> which will take care of its own destruction, right?
Yes.
Assignee | ||
Comment 8•7 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/e26e9804c545afcb33549da0f7fd693cc3fc671f
Bug 1386600 - Change nsIStringBundle methods to return |AString| instead of |wstring|. r=emk,sr=dbaron.
Comment 9•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox57:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Comment 10•7 years ago
|
||
Comment 11•7 years ago
|
||
Comment on attachment 8893616 [details] [diff] [review]
Update nsIStringBundle method uses to account for them returning |AString| instead of |wstring|
Nicholas, thank you so much for helping us in keeping Thunderbird afloat. Preparing the patch would have been a nightmare. I assume you wrote a script for it.
I haven't done any testing, but I'll land this now and I'll deal with any fallout later.
Attachment #8893616 -
Flags: review?(jorgk) → review+
Comment 12•7 years ago
|
||
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/1a7802a4bf9d
Update nsIStringBundle method uses to account for them returning |AString| instead of |wstring|. r=jorgk.
https://hg.mozilla.org/comm-central/rev/6b0c4e39b0d6
Update nsIStringBundle method uses to account for them returning |AString| instead of |wstring| (Windows-only files). r=me
Assignee | ||
Comment 13•7 years ago
|
||
> I assume you wrote a script for it.
Nope! It wasn't mechanical enough for that. But I did use Vim macros to semi-automate it.
You need to log in
before you can comment on or make changes to this bug.
Description
•