Rename m_isFocused on the frame to m_isActive, since it isn't really
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Jun 2006 23:26:57 +0000 (23:26 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Jun 2006 23:26:57 +0000 (23:26 +0000)
        about focus but is instead about whether or not the top-level window is
        active.

        Pull code that was incorrectly factored into Mac-only code out of FrameMac
        and back up into Frame.

        Reviewed by andersca

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        * page/Frame.cpp:
        (WebCore::Frame::setFocusNodeIfNeeded):
        (WebCore::Frame::isActive):
        (WebCore::Frame::setIsActive):
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14791 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/bridge/mac/FrameMac.h
WebCore/bridge/mac/FrameMac.mm
WebCore/page/Frame.cpp
WebCore/page/FramePrivate.h

index ca8810b..a125800 100644 (file)
@@ -1,5 +1,25 @@
 2006-06-09  David Hyatt  <hyatt@apple.com>
 
+        Rename m_isFocused on the frame to m_isActive, since it isn't really
+        about focus but is instead about whether or not the top-level window is
+        active.
+
+        Pull code that was incorrectly factored into Mac-only code out of FrameMac
+        and back up into Frame.
+
+        Reviewed by andersca
+
+        * bridge/mac/FrameMac.h:
+        * bridge/mac/FrameMac.mm:
+        * page/Frame.cpp:
+        (WebCore::Frame::setFocusNodeIfNeeded):
+        (WebCore::Frame::isActive):
+        (WebCore::Frame::setIsActive):
+        * page/FramePrivate.h:
+        (WebCore::FramePrivate::FramePrivate):
+
+2006-06-09  David Hyatt  <hyatt@apple.com>
+
         Rework selection coloring.  Rename displaysWithFocusAttributes
         to isActive.  Move the white-blending code onto the Color API to make
         it more convenient to mutate colors for selection blending.  Eliminate all
index ce382c3..c476e55 100644 (file)
@@ -149,7 +149,6 @@ public:
     virtual void restoreDocumentState();
     
     virtual void addMessageToConsole(const String& message,  unsigned int lineNumber, const String& sourceID);
-    virtual void setIsActive(bool);
     
     NSView* nextKeyView(Node* startingPoint, KWQSelectionDirection);
     NSView* nextKeyViewInFrameHierarchy(Node* startingPoint, KWQSelectionDirection);
index adb45bf..7917226 100644 (file)
@@ -2846,24 +2846,6 @@ String FrameMac::overrideMediaType() const
     return String();
 }
 
-void FrameMac::setIsActive(bool flag)
-{
-    if (d->m_isFocused == flag)
-        return;
-    
-    Frame::setIsActive(flag);
-    Document *doc = document();
-    // Mac Specific: Changing the tint of controls from clear to aqua/graphite and vice versa.  We
-    // do a "fake" paint.  When the theme gets a paint call, it can then do an invalidate.
-    if (doc && d->m_view && d->m_view->getDocumentView() && theme()->supportsControlTints() && renderer()) {
-        doc->updateLayout(); // Ensure layout is up to date.
-        IntRect visibleRect(enclosingIntRect(d->m_view->visibleContentRect()));
-        GraphicsContext context(0);
-        context.setUpdatingControlTints(true);
-        paint(&context, visibleRect);
-    }
-}
-
 NSColor *FrameMac::bodyBackgroundColor() const
 {
     if (document() && document()->body() && document()->body()->renderer()) {
index 4277921..ca3fcb9 100644 (file)
@@ -1255,7 +1255,7 @@ static bool isFrameElement(const Node *n)
 
 void Frame::setFocusNodeIfNeeded()
 {
-    if (!document() || d->m_selection.isNone() || !d->m_isFocused)
+    if (!document() || d->m_selection.isNone() || !d->m_isActive)
         return;
 
     Node *startNode = d->m_selection.start().node();
@@ -3284,15 +3284,15 @@ void Frame::setSelectionFromNone()
 
 bool Frame::isActive() const
 {
-    return d->m_isFocused;
+    return d->m_isActive;
 }
 
 void Frame::setIsActive(bool flag)
 {
-    if (d->m_isFocused == flag)
+    if (d->m_isActive == flag)
         return;
     
-    d->m_isFocused = flag;
+    d->m_isActive = flag;
 
     // This method does the job of updating the view based on whether the view is "active".
     // This involves three kinds of drawing updates:
@@ -3316,6 +3316,17 @@ void Frame::setIsActive(bool flag)
                 theme()->stateChanged(node->renderer(), FocusState);
         }
     }
+    
+    // 4, Changing the tint of controls from clear to aqua/graphite and vice versa.  We
+    // do a "fake" paint.  When the theme gets a paint call, it can then do an invalidate.  This is only
+    // done if the theme supports control tinting.
+    if (doc && d->m_view && d->m_view->getDocumentView() && theme()->supportsControlTints() && renderer()) {
+        doc->updateLayout(); // Ensure layout is up to date.
+        IntRect visibleRect(enclosingIntRect(d->m_view->visibleContentRect()));
+        GraphicsContext context(0);
+        context.setUpdatingControlTints(true);
+        paint(&context, visibleRect);
+    }
 }
 
 void Frame::setWindowHasFocus(bool flag)
index 92cdd3f..b994423 100644 (file)
@@ -86,7 +86,7 @@ namespace WebCore {
             , m_caretPaint(true)
             , m_bFirstData(true)
             , m_bCleared(true)
-            , m_isFocused(false)
+            , m_isActive(false)
             , m_opener(0)
             , m_openedByJS(false)
             , m_bPendingChildRedirection(false)
@@ -190,7 +190,7 @@ namespace WebCore {
         bool m_caretPaint : 1;
         bool m_bFirstData : 1;
         bool m_bCleared : 1;
-        bool m_isFocused : 1;
+        bool m_isActive : 1;
 
         EditCommandPtr m_lastEditCommand;
         int m_xPosForVerticalArrowNavigation;