diff options
author | Cary Clark <cary@android.com> | 2009-05-13 12:50:01 -0400 |
---|---|---|
committer | Cary Clark <cary@android.com> | 2009-05-13 13:24:07 -0400 |
commit | cf5ef6c01a2cd27a06391ab9cf3d2c9c24335e4d (patch) | |
tree | 4f8c31ff697957dce4d640d407bccaf20ea6c994 /WebKit/android/nav/CachedNode.h | |
parent | dd63eb3e5e94bd7ac1305096cf67a12166beef8a (diff) | |
download | external_webkit-cf5ef6c01a2cd27a06391ab9cf3d2c9c24335e4d.zip external_webkit-cf5ef6c01a2cd27a06391ab9cf3d2c9c24335e4d.tar.gz external_webkit-cf5ef6c01a2cd27a06391ab9cf3d2c9c24335e4d.tar.bz2 |
use one rectangle for browser focus ring
Check to see if the potentially larger hit-test bounds
can be used in place of the normal bounds, or if the
normal bounds can be used in place of the individual
text bounds.
Construct a region out of the individual focus ring
rectangles, then see if any text is drawn inside the
bounds but outside of the focus ring. If not, use one
rectangle instead of the rings.
Diffstat (limited to 'WebKit/android/nav/CachedNode.h')
-rw-r--r-- | WebKit/android/nav/CachedNode.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/WebKit/android/nav/CachedNode.h b/WebKit/android/nav/CachedNode.h index aa64982..bdde9e0 100644 --- a/WebKit/android/nav/CachedNode.h +++ b/WebKit/android/nav/CachedNode.h @@ -40,6 +40,7 @@ namespace WebCore { namespace android { class CachedFrame; +class CachedRoot; class CachedNode { public: @@ -95,7 +96,7 @@ public: bool clippedOut() { return mClippedOut; } bool disabled() const { return mDisabled; } const CachedNode* document() const { return &this[-mIndex]; } - void fixUpFocusRects(); + void fixUpFocusRects(const CachedRoot* root); void focusRingBounds(WebCore::IntRect* ) const; WTF::Vector<WebCore::IntRect>& focusRings() { return mFocusRing; } const WTF::Vector<WebCore::IntRect>& focusRings() const { return mFocusRing; } @@ -169,6 +170,8 @@ public: const CachedNode* traverseNextNode() const { return mLast ? NULL : &this[1]; } int textSize() const { return mTextSize; } CachedNodeType type() const { return mType; } + bool useBounds() const { return mUseBounds; } + bool useHitBounds() const { return mUseHitBounds; } private: WebCore::String mExport; WebCore::String mName; @@ -203,6 +206,8 @@ private: bool mIsTransparent : 1; bool mIsUnclipped : 1; bool mLast : 1; // true if this is the last node in a group + bool mUseBounds : 1; + bool mUseHitBounds : 1; bool mWantsKeyEvents : 1; // true for nodes like plugins #ifdef BROWSER_DEBUG public: |