Bug 1200194 - Make Appearance convertible to string representation. r=roc

--HG--
extra : commitid : KCG4QMsPhdY
extra : rebase_source : ebad97bf4ed57a5f532f94074c035ddb3dabaf47
This commit is contained in:
Ting-Yu Lin 2015-09-09 16:47:20 +08:00
parent 34d95d44bf
commit 3ae4454e2a

View File

@ -8,6 +8,7 @@
#include "AccessibleCaretLogger.h"
#include "mozilla/Preferences.h"
#include "mozilla/ToString.h"
#include "nsCanvasFrame.h"
#include "nsCaret.h"
#include "nsDOMTokenList.h"
@ -31,6 +32,24 @@ float AccessibleCaret::sHeight = 0.0f;
float AccessibleCaret::sMarginLeft = 0.0f;
float AccessibleCaret::sBarWidth = 0.0f;
std::ostream&
operator<<(std::ostream& aStream, const AccessibleCaret::Appearance& aAppearance)
{
using Appearance = AccessibleCaret::Appearance;
#define AC_PROCESS_APPEARANCE_TO_STREAM(e) case(e): aStream << #e; break;
switch (aAppearance) {
AC_PROCESS_APPEARANCE_TO_STREAM(Appearance::None);
AC_PROCESS_APPEARANCE_TO_STREAM(Appearance::Normal);
AC_PROCESS_APPEARANCE_TO_STREAM(Appearance::NormalNotShown);
AC_PROCESS_APPEARANCE_TO_STREAM(Appearance::Left);
AC_PROCESS_APPEARANCE_TO_STREAM(Appearance::Right);
}
#undef AC_PROCESS_APPEARANCE_TO_STREAM
return aStream;
}
// -----------------------------------------------------------------------------
// Implementation of AccessibleCaret methods
@ -75,6 +94,9 @@ AccessibleCaret::SetAppearance(Appearance aAppearance)
CaretElement()->ClassList()->Add(AppearanceString(aAppearance), rv);
MOZ_ASSERT(!rv.Failed(), "Add new appearance failed!");
AC_LOG("%s: %s -> %s", __FUNCTION__, ToString(mAppearance).c_str(),
ToString(aAppearance).c_str());
mAppearance = aAppearance;
// Need to reset rect since the cached rect will be compared in SetPosition.