2008-09-25 David Hyatt <hyatt@apple.com>
authorhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Sep 2008 01:22:55 +0000 (01:22 +0000)
committerhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Sep 2008 01:22:55 +0000 (01:22 +0000)
        https://bugs.webkit.org/show_bug.cgi?id=21101

        Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.

        Reviewed by Tim Hatcher

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _updateFocusedAndActiveState]):

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

WebKit/mac/ChangeLog
WebKit/mac/WebView/WebHTMLView.mm

index e2b8f3541a834b106f4fda30cfc9e7b92274b64a..936c6327a2fc4b4351c1bae302e1fca7b0192930 100644 (file)
@@ -1,3 +1,14 @@
+2008-09-25  David Hyatt  <hyatt@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=21101
+
+        Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.
+
+        Reviewed by Tim Hatcher
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _updateFocusedAndActiveState]):
+
 2008-09-24  Darin Adler  <darin@apple.com>
 
         Reviewed by Dan Bernstein.
index 1c79542bf7fed812ef9866eaf5d7a39bafba9170..90a04ca148d27e614bd286827342de3d869a56bb 100644 (file)
@@ -1821,10 +1821,7 @@ static void _updateMouseoverTimerCallback(CFRunLoopTimerRef timer, void *info)
     BOOL windowIsKey = [window isKeyWindow];
     BOOL windowOrSheetIsKey = windowIsKey || [[window attachedSheet] isKeyWindow];
 
-    // FIXME: this can move to WebView since active state is Page level, not Frame level.
-    NSResponder *firstResponder = [window firstResponder];
-    if (firstResponder == self || firstResponder == [self _frameView])
-        page->focusController()->setActive(!_private->resigningFirstResponder && windowIsKey);
+    page->focusController()->setActive(windowIsKey);
 
     Frame* focusedFrame = page->focusController()->focusedOrMainFrame();
     frame->selection()->setFocused(frame == focusedFrame && windowOrSheetIsKey);