summaryrefslogtreecommitdiffstats
path: root/WebKit/android/nav/CachedNode.h
diff options
context:
space:
mode:
authorCary Clark <cary@android.com>2009-05-13 12:50:01 -0400
committerCary Clark <cary@android.com>2009-05-13 13:24:07 -0400
commitcf5ef6c01a2cd27a06391ab9cf3d2c9c24335e4d (patch)
tree4f8c31ff697957dce4d640d407bccaf20ea6c994 /WebKit/android/nav/CachedNode.h
parentdd63eb3e5e94bd7ac1305096cf67a12166beef8a (diff)
downloadexternal_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.h7
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: