Bug 55629

Summary: Caching number formatter instances in LocalizedNumber* implementations
Product: WebKit Reporter: Kent Tamura <tkent>
Component: FormsAssignee: Kent Tamura <tkent>
Status: RESOLVED FIXED    
Severity: Minor CC: abarth, ap, darin, dglazkov, eric, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch darin: review+

Kent Tamura
Reported 2011-03-02 16:48:07 PST
Discussed in Bug 42484.
Attachments
Patch (4.95 KB, patch)
2011-03-02 16:54 PST, Kent Tamura
darin: review+
Kent Tamura
Comment 1 2011-03-02 16:54:56 PST
Darin Adler
Comment 2 2011-03-02 17:04:18 PST
Comment on attachment 84488 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=84488&action=review > Source/WebCore/platform/text/LocalizedNumberICU.cpp:43 > +static NumberFormat* createFormatterForCurrentLocale() This should return a PassOwnPtr. > Source/WebCore/platform/text/LocalizedNumberICU.cpp:51 > + NumberFormat* formatter = NumberFormat::createInstance(status); > + if (status != U_ZERO_ERROR) { > + delete formatter; > + return 0; > + } > + return formatter; If this used OwnPtr then you would not need the explicit delete in the error case. > Source/WebCore/platform/text/LocalizedNumberICU.cpp:58 > + static NumberFormat* formatter = createFormatterForCurrentLocale(); This should explicitly call leakPtr. > Source/WebCore/platform/text/mac/LocalizedNumberMac.mm:51 > + if (!formatter) { > + formatter = [[NSNumberFormatter alloc] init]; > + [formatter setLocalizesFormat:YES]; > + [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; > + } This code should go into a separate create function, just like the ICU version.
Kent Tamura
Comment 3 2011-03-02 17:45:17 PST
Comment on attachment 84488 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=84488&action=review Thank you for reviewing! >> Source/WebCore/platform/text/mac/LocalizedNumberMac.mm:51 >> + } > > This code should go into a separate create function, just like the ICU version. Should we use RetainPtr<NSNumberFormatter> and leafRef() as well?
Kent Tamura
Comment 4 2011-03-02 17:45:40 PST
(In reply to comment #3) > Should we use RetainPtr<NSNumberFormatter> and leafRef() as well? leafRef() -> leakRef()
Darin Adler
Comment 5 2011-03-02 17:57:44 PST
(In reply to comment #3) > Should we use RetainPtr<NSNumberFormatter> and leakRef() as well? Yes. That one is not as important as the OwnPtr case, but I won’t go into a long lecture about exactly why I think so.
Kent Tamura
Comment 6 2011-03-02 19:16:55 PST
WebKit Review Bot
Comment 7 2011-03-02 22:17:57 PST
http://trac.webkit.org/changeset/80203 might have broken GTK Linux 64-bit Debug
Note You need to log in before you can comment on or make changes to this bug.