Closed Bug 1308359 Opened 8 years ago Closed 7 years ago

Remove our impl of bidi engine completely and use ICU directly

Categories

(Core :: Layout: Text and Fonts, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox52 --- wontfix
firefox58 --- fixed

People

(Reporter: xidorn, Assigned: jfkthame)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

In bug 924851, we switch to use ICU for bidi when it is available. Since it is likely that we will have ICU available everywhere eventually, we want to remove our own bidi engine at some point, as well as the glue layer, and use ICU directly.

It would enable us to use ICU functions we didn't adopt into our own bidi engine.
Blocks: 724529
Too late for firefox 52, mass-wontfix.
Priority: -- → P3
Now that mozilla-central is firefox-58, I think we can go ahead and do this cleanup.
Attachment #8910867 - Flags: review?(xidorn+moz)
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Comment on attachment 8910867 [details] [diff] [review]
patch 1 - Remove the nsBidi_noICU implementation of nsBidi, and rename the sources for the _ICU version to the base nsBidi.{h,cpp} filenames

Review of attachment 8910867 [details] [diff] [review]:
-----------------------------------------------------------------

It would be great if you used file move in the patch for nsBidi_ICU.h -> nsBidi.h as well just like what you did for the cpp file. Anyway, it looks good to me.
Attachment #8910867 - Flags: review?(xidorn+moz) → review+
Comment on attachment 8910870 [details] [diff] [review]
patch 2 - Move trivial ICU-wrapper nsBidi methods to the header file as inlines, and remove unnecessary nsresult return values from methods that cannot fail

Review of attachment 8910870 [details] [diff] [review]:
-----------------------------------------------------------------

::: layout/base/nsBidi.h
@@ +57,5 @@
>     *      Any other value between 0 and <code>NSBIDI_MAX_EXPLICIT_LEVEL</code>
>     *      is also valid, with odd levels indicating RTL.
>     */
> +  nsresult
> +  SetPara(const char16_t* aText, int32_t aLength, nsBidiLevel aParaLevel)

I don't think you need to put return type in its own line for function definitions inside class declaration.
Attachment #8910870 - Flags: review?(xidorn+moz) → review+
No longer depends on: 1402234
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5bf8977ee7a0
patch 1 - Remove the nsBidi_noICU implementation of nsBidi, and rename the sources for the _ICU version to the base nsBidi.{h,cpp} filenames. r=xidorn
https://hg.mozilla.org/integration/mozilla-inbound/rev/593bddd0b6bd
patch 2 - Move trivial ICU-wrapper nsBidi methods to the header file as inlines, and remove unnecessary nsresult return values from methods that cannot fail. r=xidorn
https://hg.mozilla.org/mozilla-central/rev/5bf8977ee7a0
https://hg.mozilla.org/mozilla-central/rev/593bddd0b6bd
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: