Bug 1240917 - Do not show caret in empty input on Fennec. r=roc draft
authorTing-Yu Lin <tlin@mozilla.com>
Tue, 02 Feb 2016 14:32:31 +0800
changeset 327832 d476618b4f419cf2d96bb33264cfd8ccb6e3fa61
parent 327605 d07dbd40dcd209124149f331f60dd55c8da33fbe
child 327833 54479f3a72e9fa7779c31da3cb49f026d59308a4
push id10313
push usertlin@mozilla.com
push dateTue, 02 Feb 2016 06:34:05 +0000
reviewersroc
bugs1240917, 1230582
milestone47.0a1
Bug 1240917 - Do not show caret in empty input on Fennec. r=roc Per request in bug 1240917 comment 15, we decided not to show caret when single press on an empty input. This effectively reverts the work in Bug 1230582.
layout/base/AccessibleCaretManager.cpp
layout/base/AccessibleCaretManager.h
--- a/layout/base/AccessibleCaretManager.cpp
+++ b/layout/base/AccessibleCaretManager.cpp
@@ -260,20 +260,17 @@ AccessibleCaretManager::UpdateCaretsForC
   switch (result) {
     case PositionChangedResult::NotChanged:
       // Do nothing
       break;
 
     case PositionChangedResult::Changed:
       switch (aHint) {
         case UpdateCaretsHint::Default:
-          // On Fennec, always show accessiblecaret even if the input is empty
-          // to make ActionBar visible.
-          if (sCaretsExtendedVisibility ||
-              HasNonEmptyTextContent(GetEditingHostForFrame(frame))) {
+          if (HasNonEmptyTextContent(GetEditingHostForFrame(frame))) {
             mFirstCaret->SetAppearance(Appearance::Normal);
           } else {
             mFirstCaret->SetAppearance(Appearance::NormalNotShown);
           }
           break;
 
         case UpdateCaretsHint::RespectOldAppearance:
           // Do nothing to prevent the appearance of the caret being
--- a/layout/base/AccessibleCaretManager.h
+++ b/layout/base/AccessibleCaretManager.h
@@ -247,18 +247,17 @@ protected:
   // AppUnit.h.
   static const int32_t kBoundaryAppUnits = 61;
 
   // Preference to show selection bars at the two ends in selection mode. The
   // selection bar is always disabled in cursor mode.
   static bool sSelectionBarEnabled;
 
   // Android specific visibility extensions correct compatibility issues
-  // with caret-drag, tapping into empty inputs, and ActionBar visiblity
-  // during page scroll.
+  // with caret-drag and ActionBar visibility during page scroll.
   static bool sCaretsExtendedVisibility;
 
   // By default, javascript content selection changes closes AccessibleCarets and
   // UI interactions. Optionally, we can try to maintain the active UI, keeping
   // carets and ActionBar available.
   static bool sCaretsScriptUpdates;
 
   // AccessibleCaret pref for haptic feedback behaviour on longPress.