Changeset 165930 in webkit
- Timestamp:
- Mar 19, 2014, 4:44:39 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
-
Source/WebKit2/ChangeLog (modified) (1 diff)
-
Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (modified) (1 diff)
-
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (modified) (1 diff)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/MiniBrowser/mac/WK1BrowserWindowController.m (modified) (1 diff)
-
Tools/MiniBrowser/mac/WK2BrowserWindowController.m (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r165925 r165930 1 2014-03-19 Simon Fraser <simon.fraser@apple.com> 2 3 Expose text and page zoom in WK2 SPI, and hook them up in MiniBrowser 4 https://bugs.webkit.org/show_bug.cgi?id=130476 5 6 Reviewed by Anders Carlsson. 7 8 Expose page and text zoom as SPI. 9 10 * UIProcess/API/Cocoa/WKWebView.mm: 11 (-[WKWebView _supportsTextZoom]): 12 (-[WKWebView _textZoomFactor]): 13 (-[WKWebView _setTextZoomFactor:]): 14 (-[WKWebView _pageZoomFactor]): 15 (-[WKWebView _setPageZoomFactor:]): 16 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 17 1 18 2014-03-19 Benjamin Poulain <bpoulain@apple.com> 2 19 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
r165925 r165930 1010 1010 } 1011 1011 1012 - (BOOL)_supportsTextZoom 1013 { 1014 return _page->supportsTextZoom(); 1015 } 1016 1017 - (double)_textZoomFactor 1018 { 1019 return _page->textZoomFactor(); 1020 } 1021 1022 - (void)_setTextZoomFactor:(double)zoomFactor 1023 { 1024 _page->setTextZoomFactor(zoomFactor); 1025 } 1026 1027 - (double)_pageZoomFactor 1028 { 1029 return _page->pageZoomFactor(); 1030 } 1031 1032 - (void)_setPageZoomFactor:(double)zoomFactor 1033 { 1034 _page->setPageZoomFactor(zoomFactor); 1035 } 1036 1012 1037 #pragma mark iOS-specific methods 1013 1038 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h
r165872 r165930 108 108 @property (readonly) NSUInteger _pageCount; 109 109 110 @property (nonatomic, readonly) BOOL _supportsTextZoom; 111 @property (nonatomic, setter=_setTextZoomFactor:) double _textZoomFactor; 112 @property (nonatomic, setter=_setPageZoomFactor:) double _pageZoomFactor; 113 110 114 @end 111 115 -
trunk/Tools/ChangeLog
r165899 r165930 1 2014-03-19 Simon Fraser <simon.fraser@apple.com> 2 3 Expose text and page zoom in WK2 SPI, and hook them up in MiniBrowser 4 https://bugs.webkit.org/show_bug.cgi?id=130476 5 6 Reviewed by Anders Carlsson. 7 8 Hook up page/text zoom in MiniBrowser, make reload work, remove some logging. 9 10 * MiniBrowser/mac/WK1BrowserWindowController.m: 11 (-[WK1BrowserWindowController webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): 12 Remove log. 13 * MiniBrowser/mac/WK2BrowserWindowController.m: 14 (-[WK2BrowserWindowController awakeFromNib]): 15 (-[WK2BrowserWindowController validateMenuItem:]): 16 (-[WK2BrowserWindowController reload:]): 17 Hook up reload. 18 (-[WK2BrowserWindowController toggleZoomMode:]): 19 (-[WK2BrowserWindowController resetZoom:]): 20 (-[WK2BrowserWindowController canResetZoom]): 21 (-[WK2BrowserWindowController currentZoomFactor]): 22 (-[WK2BrowserWindowController setCurrentZoomFactor:]): 23 (-[WK2BrowserWindowController canZoomIn]): 24 (-[WK2BrowserWindowController canZoomOut]): 25 1 26 2014-03-19 Alexey Proskuryakov <ap@apple.com> 2 27 -
trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m
r164624 r165930 261 261 - (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener 262 262 { 263 NSLog(@"request %@ actionInformation %@", request, actionInformation);264 265 263 [listener use]; 266 264 } -
trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m
r165817 r165930 43 43 @implementation WK2BrowserWindowController { 44 44 WKWebView *_webView; 45 BOOL _zoomTextOnly; 45 46 } 46 47 … … 63 64 _webView.navigationDelegate = self; 64 65 _webView.UIDelegate = self; 66 67 _zoomTextOnly = NO; 65 68 } 66 69 … … 115 118 116 119 // Disabled until missing WK2 functionality is exposed via API/SPI. 117 if (action == @selector(reload:) 118 || action == @selector(toggleZoomMode:) 119 || action == @selector(resetZoom:) 120 || action == @selector(dumpSourceToConsole:) 120 if (action == @selector(dumpSourceToConsole:) 121 121 || action == @selector(find:)) 122 122 return NO; … … 126 126 else if (action == @selector(removeReinsertWebView:)) 127 127 [menuItem setTitle:[_webView window] ? @"Remove Web View" : @"Insert Web View"]; 128 else if (action == @selector(toggleZoomMode:)) 129 [menuItem setState:_zoomTextOnly ? NSOnState : NSOffState]; 128 130 else if ([menuItem action] == @selector(togglePaginationMode:)) 129 131 [menuItem setState:[self isPaginated] ? NSOnState : NSOffState]; … … 138 140 - (IBAction)reload:(id)sender 139 141 { 142 [_webView _reload]; 140 143 } 141 144 … … 157 160 - (IBAction)toggleZoomMode:(id)sender 158 161 { 162 if (_zoomTextOnly) { 163 _zoomTextOnly = NO; 164 double currentTextZoom = _webView._textZoomFactor; 165 _webView._textZoomFactor = 1; 166 _webView._pageZoomFactor = currentTextZoom; 167 } else { 168 _zoomTextOnly = YES; 169 double currentPageZoom = _webView._pageZoomFactor; 170 _webView._textZoomFactor = currentPageZoom; 171 _webView._pageZoomFactor = 1; 172 } 159 173 } 160 174 161 175 - (IBAction)resetZoom:(id)sender 162 176 { 177 if (![self canResetZoom]) 178 return; 179 180 if (_zoomTextOnly) 181 _webView._textZoomFactor = 1; 182 else 183 _webView._pageZoomFactor = 1; 163 184 } 164 185 165 186 - (BOOL)canResetZoom 166 187 { 167 return NO;188 return _zoomTextOnly ? (_webView._textZoomFactor != 1) : (_webView._pageZoomFactor != 1); 168 189 } 169 190 … … 211 232 - (CGFloat)currentZoomFactor 212 233 { 213 return 1;234 return _zoomTextOnly ? _webView._textZoomFactor : _webView._pageZoomFactor; 214 235 } 215 236 216 237 - (void)setCurrentZoomFactor:(CGFloat)factor 217 238 { 239 if (_zoomTextOnly) 240 _webView._textZoomFactor = factor; 241 else 242 _webView._pageZoomFactor = factor; 218 243 } 219 244 220 245 - (BOOL)canZoomIn 221 246 { 222 return NO;247 return self.currentZoomFactor * DefaultZoomFactorRatio < DefaultMaximumZoomFactor; 223 248 } 224 249 225 250 - (void)zoomIn:(id)sender 226 251 { 227 if (![self canZoomIn]) 228 return; 229 230 CGFloat factor = [self currentZoomFactor] * DefaultZoomFactorRatio; 231 [self setCurrentZoomFactor:factor]; 252 if (!self.canZoomIn) 253 return; 254 255 self.currentZoomFactor *= DefaultZoomFactorRatio; 232 256 } 233 257 234 258 - (BOOL)canZoomOut 235 259 { 236 return NO;260 return self.currentZoomFactor / DefaultZoomFactorRatio > DefaultMinimumZoomFactor; 237 261 } 238 262 239 263 - (void)zoomOut:(id)sender 240 264 { 241 if (![self canZoomIn]) 242 return; 243 244 CGFloat factor = [self currentZoomFactor] / DefaultZoomFactorRatio; 245 [self setCurrentZoomFactor:factor]; 265 if (!self.canZoomIn) 266 return; 267 268 self.currentZoomFactor /= DefaultZoomFactorRatio; 246 269 } 247 270 … … 253 276 - (IBAction)togglePaginationMode:(id)sender 254 277 { 255 if ( [self isPaginated])278 if (self.isPaginated) 256 279 _webView._paginationMode = _WKPaginationModeUnpaginated; 257 280 else {
Note:
See TracChangeset
for help on using the changeset viewer.