Changeset 86995 in webkit
- Timestamp:
- May 20, 2011 3:51:14 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r86992 r86995 1 2011-05-20 Andy Estes <aestes@apple.com> 2 3 Reviewed by Darin Adler. 4 5 WebView loses firstResponder status when entering full-screen mode. 6 https://bugs.webkit.org/show_bug.cgi?id=61153 7 8 No test possible via DRT. Add a manual test instead. 9 10 * manual-tests/full-screen-keypress.html: Added. 11 1 12 2011-05-20 Jeremy Noble <jer.noble@apple.com> 2 13 -
trunk/Source/WebKit/ChangeLog
r86639 r86995 1 2011-05-20 Andy Estes <aestes@apple.com> 2 3 Reviewed by Darin Adler. 4 5 WebView loses firstResponder status when entering full-screen mode. 6 https://bugs.webkit.org/show_bug.cgi?id=61153 7 8 * WebKit.xcodeproj/project.pbxproj: Export WebNSWindowExtras.h as a 9 private header so that WebKit2 can include it. 10 1 11 2011-05-16 Dan Bernstein <mitz@apple.com> 2 12 -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r86639 r86995 171 171 939810230824BF01008DF038 /* WebNSPasteboardExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = ED2B2474033A2DA800C1A526 /* WebNSPasteboardExtras.h */; settings = {ATTRIBUTES = (Private, ); }; }; 172 172 939810240824BF01008DF038 /* WebNSViewExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = F508946902B71D59018A9CD4 /* WebNSViewExtras.h */; settings = {ATTRIBUTES = (Private, ); }; }; 173 939810250824BF01008DF038 /* WebNSWindowExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 9345DDAE0365FB27008635CE /* WebNSWindowExtras.h */; };173 939810250824BF01008DF038 /* WebNSWindowExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 9345DDAE0365FB27008635CE /* WebNSWindowExtras.h */; settings = {ATTRIBUTES = (Private, ); }; }; 174 174 939810270824BF01008DF038 /* WebStringTruncator.h in Headers */ = {isa = PBXBuildFile; fileRef = F59668C802AD2923018635CA /* WebStringTruncator.h */; settings = {ATTRIBUTES = (Private, ); }; }; 175 175 939810290824BF01008DF038 /* WebAuthenticationPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = F8CA15B5029A39D901000122 /* WebAuthenticationPanel.h */; }; … … 1469 1469 14D8252F0AF955090004F057 /* WebChromeClient.h in Headers */, 1470 1470 939810490824BF01008DF038 /* WebClipView.h in Headers */, 1471 939810250824BF01008DF038 /* WebNSWindowExtras.h in Headers */, 1471 1472 065AD5A30B0C32C7005A2B1D /* WebContextMenuClient.h in Headers */, 1472 1473 939810160824BF01008DF038 /* WebCoreStatistics.h in Headers */, … … 1582 1583 65E0F9E608500F23007E5CB9 /* WebNSUserDefaultsExtras.h in Headers */, 1583 1584 939810240824BF01008DF038 /* WebNSViewExtras.h in Headers */, 1584 939810250824BF01008DF038 /* WebNSWindowExtras.h in Headers */,1585 1585 9398102A0824BF01008DF038 /* WebPanelAuthenticationHandler.h in Headers */, 1586 1586 37B6FB4E1063530C000FDB3B /* WebPDFDocumentExtras.h in Headers */, -
trunk/Source/WebKit/mac/ChangeLog
r86988 r86995 1 2011-05-20 Andy Estes <aestes@apple.com> 2 3 Reviewed by Darin Adler. 4 5 WebView loses firstResponder status when entering full-screen mode. 6 https://bugs.webkit.org/show_bug.cgi?id=61153 7 8 * Misc/WebNSWindowExtras.h: 9 * Misc/WebNSWindowExtras.m: 10 (-[NSWindow makeResponder:firstResponderIfDescendantOfView:]): Add a 11 convenience method to NSWindow that makes the given NSResponder first 12 responder only if it is a descendant of the given view. 13 * WebView/WebFullScreenController.mm: 14 (-[WebFullScreenController windowDidEnterFullscreen:]): If the WebView 15 was a descendant of the browser window's first responder when entering 16 full-screen mode, set the full-screen window's first responder to that 17 same NSResponder. 18 (-[WebFullScreenController exitFullscreen]): Do the reverse of what is 19 done in windowDidEnterFullscreen:. 20 1 21 2011-05-20 Enrica Casucci <enrica@apple.com> 2 22 -
trunk/Source/WebKit/mac/Misc/WebNSWindowExtras.h
r18704 r86995 31 31 @interface NSWindow (WebExtras) 32 32 // centers "visually", putting 1/3 of the remaining space above, and 2/3 below 33 - (void)centerOverMainWindow; 33 - (void)centerOverMainWindow; 34 - (void)makeResponder:(NSResponder *)responder firstResponderIfDescendantOfView:(NSView *)view; 34 35 @end -
trunk/Source/WebKit/mac/Misc/WebNSWindowExtras.m
r30660 r86995 50 50 } 51 51 52 - (void)makeResponder:(NSResponder *)responder firstResponderIfDescendantOfView:(NSView *)view 53 { 54 if ([responder isKindOfClass:[NSView class]] && [(id)responder isDescendantOf:view]) 55 [self makeFirstResponder:responder]; 56 } 57 52 58 @end -
trunk/Source/WebKit/mac/WebView/WebFullScreenController.mm
r86107 r86995 28 28 #import "WebFullScreenController.h" 29 29 30 #import "WebNSWindowExtras.h" 30 31 #import "WebPreferencesPrivate.h" 31 32 #import "WebWindowAnimation.h" … … 274 275 WebView *webView = [self webView]; 275 276 NSWindow *webWindow = [webView window]; 277 NSResponder *webWindowFirstResponder = [webWindow firstResponder]; 276 278 277 279 // Do not swap the placeholder into place if already is in a window, … … 285 287 286 288 [[[self window] contentView] addSubview:webView]; 289 [[self window] makeResponder:webWindowFirstResponder firstResponderIfDescendantOfView:webView]; 287 290 [webView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable]; 288 291 [webView setFrame:[(NSView *)[[self window] contentView] bounds]]; … … 524 527 // Move the webView back to its own native window: 525 528 WebView* webView = [self webView]; 529 NSResponder *fullScreenWindowFirstResponder = [[self window] firstResponder]; 526 530 [webView setFrame:[_placeholderView frame]]; 527 531 [webView setAutoresizingMask:[_placeholderView autoresizingMask]]; 528 532 [webView removeFromSuperview]; 529 533 [[_placeholderView superview] replaceSubview:_placeholderView with:webView]; 534 [[webView window] makeResponder:fullScreenWindowFirstResponder firstResponderIfDescendantOfView:webView]; 530 535 531 536 NSWindow *webWindow = [[self webView] window]; -
trunk/Source/WebKit2/ChangeLog
r86992 r86995 1 2011-05-20 Andy Estes <aestes@apple.com> 2 3 Reviewed by Darin Adler. 4 5 WebView loses firstResponder status when entering full-screen mode. 6 https://bugs.webkit.org/show_bug.cgi?id=61153 7 8 * UIProcess/mac/WKFullScreenWindowController.mm: 9 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): If 10 the WebView was a descendant of the browser window's first responder 11 when entering full-screen mode, set the full-screen window's first 12 responder to that same NSResponder. 13 (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Do the 14 reverse of what is done in finishedEnterFullScreenAnimation:. 15 1 16 2011-05-20 Jeremy Noble <jer.noble@apple.com> 2 17 -
trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm
r86992 r86995 40 40 #import <WebCore/FloatRect.h> 41 41 #import <WebCore/IntRect.h> 42 #import <WebKit/WebNSWindowExtras.h> 42 43 #import <WebKitSystemInterface.h> 43 44 … … 250 251 if (!_webViewPlaceholder) 251 252 _webViewPlaceholder.adoptNS([[NSView alloc] init]); 253 NSResponder *webWindowFirstResponder = [[_webView window] firstResponder]; 252 254 [self _swapView:_webView with:_webViewPlaceholder.get()]; 253 255 … … 256 258 [contentView addSubview:_webView positioned:NSWindowBelow relativeTo:nil]; 257 259 [_webView setFrame:[contentView bounds]]; 260 [[self window] makeResponder:webWindowFirstResponder firstResponderIfDescendantOfView:_webView]; 258 261 259 262 NSWindow *webWindow = [_webViewPlaceholder.get() window]; … … 299 302 // Swap the webView back into its original position: 300 303 if ([_webView window] == [self window]) { 304 NSResponder *fullScreenWindowFirstResponder = [[self _fullScreenWindow] firstResponder]; 301 305 #if defined(BUILDING_ON_LEOPARD) || defined(BUILDING_ON_SNOW_LEOPARD) 302 306 // Work around a bug in AppKit <rdar://problem/9443385> where moving a … … 310 314 #endif 311 315 [self _swapView:_webViewPlaceholder.get() with:_webView]; 316 [[_webView window] makeResponder:fullScreenWindowFirstResponder firstResponderIfDescendantOfView:_webView]; 312 317 NSWindow* webWindow = [_webView window]; 313 318 #if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
Note: See TracChangeset
for help on using the changeset viewer.