diff --git a/layout/base/nsCaret.cpp b/layout/base/nsCaret.cpp index 8ad4359501..eca22f3ba5 100644 --- a/layout/base/nsCaret.cpp +++ b/layout/base/nsCaret.cpp @@ -117,6 +117,12 @@ IsBidiUI() return Preferences::GetBool("bidi.browser.ui"); } +static bool +CjkThickCaret() +{ + return Preferences::GetBool("layout.cjkthickcaret"); +} + nsCaret::nsCaret() : mOverrideOffset(0) , mBlinkCount(-1) @@ -190,7 +196,7 @@ nsCaret::ComputeMetrics(nsIFrame* aFrame, int32_t aOffset, nscoord aCaretHeight) nsPresContext::CSSPixelsToAppUnits( LookAndFeel::GetInt(LookAndFeel::eIntID_CaretWidth, 1)); - if (DrawCJKCaret(aFrame, aOffset)) { + if (DrawCJKCaret(aFrame, aOffset) && CjkThickCaret()) { caretWidth += nsPresContext::CSSPixelsToAppUnits(1); } nscoord bidiIndicatorSize = nsPresContext::CSSPixelsToAppUnits(kMinBidiIndicatorPixels); diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 2519bf8010..b196a89b84 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -5407,6 +5407,9 @@ pref("plugins.navigator_hide_disabled_flash", false); // Disable browser frames by default pref("dom.mozBrowserFramesEnabled", false); +// Thick caret when behind CJK characters +pref("layout.cjkthickcaret", true); + // Is support for 'color-adjust' CSS property enabled? pref("layout.css.color-adjust.enabled", true);