Changeset 207512 in webkit


Ignore:
Timestamp:
Oct 18, 2016 6:03:23 PM (8 years ago)
Author:
Simon Fraser
Message:

Add a MiniBrowser menu item to apply page scale in WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=163627

Reviewed by Dean Jackson.

Source/WebKit/mac:

Add an explanatory comment about viewScaleFactor not really being viewScaleFactor.

  • WebView/WebViewPrivate.h:

Source/WebKit2:

New SPI to set and retrieve page scale.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setPageScale:withOrigin:]):
(-[WKWebView _pageScale]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

Rename setScale: to setViewScale: and add setPageScale:, hooking it up for WK1 (via exisiting SPI)
and WK2 (via new SPI).

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController pageScaleForMenuItemTag:]):
(-[BrowserWindowController setPageScale:]):
(-[BrowserWindowController setViewScale:]):
(-[BrowserWindowController setScale:]): Deleted.

  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController setPageScale:]):
(-[WK1BrowserWindowController setViewScale:]):
(areEssentiallyEqual):
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController setScale:]): Deleted.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController setPageScale:]):
(-[WK2BrowserWindowController viewScaleForMenuItemTag:]):
(-[WK2BrowserWindowController setViewScale:]):
(areEssentiallyEqual):
(-[WK2BrowserWindowController validateMenuItem:]):
(viewScaleForMenuItemTag): Deleted.
(-[WK2BrowserWindowController setScale:]): Deleted.

Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/mac/ChangeLog

    r207499 r207512  
     12016-10-18  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Add a MiniBrowser menu item to apply page scale in WK1 and WK2
     4        https://bugs.webkit.org/show_bug.cgi?id=163627
     5
     6        Reviewed by Dean Jackson.
     7
     8        Add an explanatory comment about viewScaleFactor not really being viewScaleFactor.
     9
     10        * WebView/WebViewPrivate.h:
     11
    1122016-10-18  Dean Jackson  <dino@apple.com>
    213
  • trunk/Source/WebKit/mac/WebView/WebViewPrivate.h

    r207352 r207512  
    814814
    815815- (void)_scaleWebView:(float)scale atOrigin:(NSPoint)origin;
    816 - (float)_viewScaleFactor;
     816- (float)_viewScaleFactor; // This is actually pageScaleFactor.
    817817
    818818- (void)_setUseFixedLayout:(BOOL)fixed;
  • trunk/Source/WebKit2/ChangeLog

    r207499 r207512  
     12016-10-18  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Add a MiniBrowser menu item to apply page scale in WK1 and WK2
     4        https://bugs.webkit.org/show_bug.cgi?id=163627
     5
     6        Reviewed by Dean Jackson.
     7
     8        New SPI to set and retrieve page scale.
     9
     10        * UIProcess/API/Cocoa/WKWebView.mm:
     11        (-[WKWebView _setPageScale:withOrigin:]):
     12        (-[WKWebView _pageScale]):
     13        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
     14
    1152016-10-18  Dean Jackson  <dino@apple.com>
    216
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm

    r207447 r207512  
    46214621#endif // PLATFORM(MAC)
    46224622
     4623- (void)_setPageScale:(CGFloat)scale withOrigin:(CGPoint)origin
     4624{
     4625    _page->scalePage(scale, WebCore::roundedIntPoint(origin));
     4626}
     4627
     4628- (CGFloat)_pageScale
     4629{
     4630    return _page->pageScaleFactor();
     4631}
     4632
    46234633// Execute the supplied block after the next transaction from the WebProcess.
    46244634- (void)_doAfterNextPresentationUpdate:(void (^)(void))updateBlock
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h

    r207447 r207512  
    289289#endif
    290290
     291- (void)_setPageScale:(CGFloat)scale withOrigin:(CGPoint)origin WK_API_AVAILABLE(ios(WK_IOS_TBA));
     292- (CGFloat)_pageScale WK_API_AVAILABLE(ios(WK_IOS_TBA));
     293
    291294- (void)_doAfterNextPresentationUpdate:(void (^)(void))updateBlock WK_API_AVAILABLE(macosx(10.12), ios(10.0));
    292295
  • trunk/Tools/ChangeLog

    r207508 r207512  
     12016-10-18  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Add a MiniBrowser menu item to apply page scale in WK1 and WK2
     4        https://bugs.webkit.org/show_bug.cgi?id=163627
     5
     6        Reviewed by Dean Jackson.
     7
     8        Rename setScale: to setViewScale: and add setPageScale:, hooking it up for WK1 (via exisiting SPI)
     9        and WK2 (via new SPI).
     10
     11        * MiniBrowser/mac/BrowserWindowController.h:
     12        * MiniBrowser/mac/BrowserWindowController.m:
     13        (-[BrowserWindowController pageScaleForMenuItemTag:]):
     14        (-[BrowserWindowController setPageScale:]):
     15        (-[BrowserWindowController setViewScale:]):
     16        (-[BrowserWindowController setScale:]): Deleted.
     17        * MiniBrowser/mac/MainMenu.xib:
     18        * MiniBrowser/mac/WK1BrowserWindowController.m:
     19        (-[WK1BrowserWindowController setPageScale:]):
     20        (-[WK1BrowserWindowController setViewScale:]):
     21        (areEssentiallyEqual):
     22        (-[WK1BrowserWindowController validateMenuItem:]):
     23        (-[WK1BrowserWindowController setScale:]): Deleted.
     24        * MiniBrowser/mac/WK2BrowserWindowController.m:
     25        (-[WK2BrowserWindowController setPageScale:]):
     26        (-[WK2BrowserWindowController viewScaleForMenuItemTag:]):
     27        (-[WK2BrowserWindowController setViewScale:]):
     28        (areEssentiallyEqual):
     29        (-[WK2BrowserWindowController validateMenuItem:]):
     30        (viewScaleForMenuItemTag): Deleted.
     31        (-[WK2BrowserWindowController setScale:]): Deleted.
     32
    1332016-10-18  Anders Carlsson  <andersca@apple.com>
    234
  • trunk/Tools/MiniBrowser/mac/BrowserWindowController.h

    r199630 r207512  
    6868- (IBAction)toggleZoomMode:(id)sender;
    6969
    70 - (IBAction)setScale:(id)sender;
     70- (IBAction)setPageScale:(id)sender;
     71- (IBAction)setViewScale:(id)sender;
    7172
    7273- (IBAction)toggleShrinkToFit:(id)sender;
     
    8081- (NSView *)mainContentView;
    8182
     83- (CGFloat)pageScaleForMenuItemTag:(NSInteger)tag;
     84
    8285@end
    8386
  • trunk/Tools/MiniBrowser/mac/BrowserWindowController.m

    r199633 r207512  
    158158}
    159159
    160 - (IBAction)setScale:(id)sender
     160- (CGFloat)pageScaleForMenuItemTag:(NSInteger)tag
     161{
     162    if (tag == 1)
     163        return 1;
     164    if (tag == 2)
     165        return 1.25;
     166    if (tag == 3)
     167        return 1.5;
     168    if (tag == 4)
     169        return 2.0;
     170
     171    return 1;
     172}
     173
     174- (IBAction)setPageScale:(id)sender
     175{
     176    [self doesNotRecognizeSelector:_cmd];
     177}
     178
     179- (IBAction)setViewScale:(id)sender
    161180{
    162181    [self doesNotRecognizeSelector:_cmd];
  • trunk/Tools/MiniBrowser/mac/MainMenu.xib

    r192447 r207512  
    1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    2 <document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="8096.6" systemVersion="15A178f" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
     1<?xml version="1.0" encoding="UTF-8"?>
     2<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11521.1" systemVersion="16B2648a" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
    33    <dependencies>
    44        <deployment identifier="macosx"/>
    5         <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8096.6"/>
     5        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11521.1"/>
    66    </dependencies>
    77    <objects>
     
    1313        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
    1414        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
    15         <menu title="AMainMenu" systemMenu="main" userInterfaceLayoutDirection="leftToRight" id="29">
     15        <menu title="AMainMenu" systemMenu="main" id="29">
    1616            <items>
    1717                <menuItem title="MiniBrowser" id="56">
    18                     <menu key="submenu" title="MiniBrowser" systemMenu="apple" userInterfaceLayoutDirection="leftToRight" id="57">
     18                    <menu key="submenu" title="MiniBrowser" systemMenu="apple" id="57">
    1919                        <items>
    2020                            <menuItem title="About MiniBrowser" id="58">
     
    3232                            </menuItem>
    3333                            <menuItem title="Services" id="131">
    34                                 <menu key="submenu" title="Services" systemMenu="services" userInterfaceLayoutDirection="leftToRight" id="130"/>
     34                                <menu key="submenu" title="Services" systemMenu="services" id="130"/>
    3535                            </menuItem>
    3636                            <menuItem isSeparatorItem="YES" id="144">
     
    6565                </menuItem>
    6666                <menuItem title="File" id="83">
    67                     <menu key="submenu" title="File" userInterfaceLayoutDirection="leftToRight" id="81">
     67                    <menu key="submenu" title="File" id="81">
    6868                        <items>
    6969                            <menuItem title="Open Location " tag="1" keyEquivalent="l" id="82">
     
    9595                            </menuItem>
    9696                            <menuItem title="Open Recent" id="124">
    97                                 <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" userInterfaceLayoutDirection="leftToRight" id="125">
     97                                <menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="125">
    9898                                    <items>
    9999                                        <menuItem title="Clear Menu" id="126">
     
    148148                </menuItem>
    149149                <menuItem title="Edit" id="217">
    150                     <menu key="submenu" title="Edit" userInterfaceLayoutDirection="leftToRight" id="205">
     150                    <menu key="submenu" title="Edit" id="205">
    151151                        <items>
    152152                            <menuItem title="Undo" keyEquivalent="z" id="207">
     
    199199                            </menuItem>
    200200                            <menuItem title="Find" id="218">
    201                                 <menu key="submenu" title="Find" userInterfaceLayoutDirection="leftToRight" id="220">
     201                                <menu key="submenu" title="Find" id="220">
    202202                                    <items>
    203203                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="209">
     
    231231                            </menuItem>
    232232                            <menuItem title="Spelling and Grammar" id="216">
    233                                 <menu key="submenu" title="Spelling and Grammar" userInterfaceLayoutDirection="leftToRight" id="200">
     233                                <menu key="submenu" title="Spelling and Grammar" id="200">
    234234                                    <items>
    235235                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="204">
     
    264264                            </menuItem>
    265265                            <menuItem title="Substitutions" id="348">
    266                                 <menu key="submenu" title="Substitutions" userInterfaceLayoutDirection="leftToRight" id="349">
     266                                <menu key="submenu" title="Substitutions" id="349">
    267267                                    <items>
    268268                                        <menuItem title="Show Substitutions" id="457">
     
    306306                            <menuItem title="Transformations" id="450">
    307307                                <modifierMask key="keyEquivalentModifierMask"/>
    308                                 <menu key="submenu" title="Transformations" userInterfaceLayoutDirection="leftToRight" id="451">
     308                                <menu key="submenu" title="Transformations" id="451">
    309309                                    <items>
    310310                                        <menuItem title="Make Upper Case" id="452">
     
    330330                            </menuItem>
    331331                            <menuItem title="Speech" id="211">
    332                                 <menu key="submenu" title="Speech" userInterfaceLayoutDirection="leftToRight" id="212">
     332                                <menu key="submenu" title="Speech" id="212">
    333333                                    <items>
    334334                                        <menuItem title="Start Speaking" id="196">
     
    349349                </menuItem>
    350350                <menuItem title="View" id="295">
    351                     <menu key="submenu" title="View" userInterfaceLayoutDirection="leftToRight" id="296">
     351                    <menu key="submenu" title="View" id="296">
    352352                        <items>
    353353                            <menuItem title="Show Toolbar" keyEquivalent="t" id="297">
     
    384384                                </connections>
    385385                            </menuItem>
     386                            <menuItem title="Page Scale" id="Hzb-c3-Qfv">
     387                                <modifierMask key="keyEquivalentModifierMask"/>
     388                                <menu key="submenu" title="Page Scale" id="jdo-5V-3CM">
     389                                    <items>
     390                                        <menuItem title="100%" state="on" tag="1" keyEquivalent="1" id="wHb-mR-Fv0">
     391                                            <connections>
     392                                                <action selector="setPageScale:" target="-1" id="uMw-eY-289"/>
     393                                            </connections>
     394                                        </menuItem>
     395                                        <menuItem title="125%" tag="2" keyEquivalent="2" id="u4i-F7-rPb">
     396                                            <connections>
     397                                                <action selector="setPageScale:" target="-1" id="IbE-Ep-hfc"/>
     398                                            </connections>
     399                                        </menuItem>
     400                                        <menuItem title="150%" tag="3" keyEquivalent="3" id="fwT-Iy-oK9">
     401                                            <connections>
     402                                                <action selector="setPageScale:" target="-1" id="9c0-eN-0f5"/>
     403                                            </connections>
     404                                        </menuItem>
     405                                        <menuItem title="200%" tag="4" keyEquivalent="4" id="R5e-ct-O2u">
     406                                            <connections>
     407                                                <action selector="setPageScale:" target="-1" id="mkk-gh-dlN"/>
     408                                            </connections>
     409                                        </menuItem>
     410                                    </items>
     411                                </menu>
     412                            </menuItem>
    386413                            <menuItem title="View Scale" id="8UY-Pj-H13">
    387414                                <modifierMask key="keyEquivalentModifierMask"/>
    388                                 <menu key="submenu" title="View Scale" userInterfaceLayoutDirection="leftToRight" id="Ml8-mk-ffu">
    389                                     <items>
    390                                         <menuItem title="100%" state="on" tag="1" keyEquivalent="1" id="EAm-Xn-VrC">
    391                                             <connections>
    392                                                 <action selector="setScale:" target="-1" id="aaW-VE-lxu"/>
    393                                             </connections>
    394                                         </menuItem>
    395                                         <menuItem title="75%" tag="2" keyEquivalent="2" id="jcA-I1-Cbq">
    396                                             <connections>
    397                                                 <action selector="setScale:" target="-1" id="voc-3W-ppg"/>
    398                                             </connections>
    399                                         </menuItem>
    400                                         <menuItem title="50%" tag="3" keyEquivalent="3" id="BRM-D5-YNO">
    401                                             <connections>
    402                                                 <action selector="setScale:" target="-1" id="sfY-6N-EeS"/>
    403                                             </connections>
    404                                         </menuItem>
    405                                         <menuItem title="25%" tag="4" keyEquivalent="4" id="gzk-YK-x0W">
    406                                             <connections>
    407                                                 <action selector="setScale:" target="-1" id="WPq-Rm-CVA"/>
     415                                <menu key="submenu" title="View Scale" id="Ml8-mk-ffu">
     416                                    <items>
     417                                        <menuItem title="100%" state="on" tag="1" id="EAm-Xn-VrC">
     418                                            <modifierMask key="keyEquivalentModifierMask"/>
     419                                            <connections>
     420                                                <action selector="setViewScale:" target="-1" id="dkW-CI-RG4"/>
     421                                            </connections>
     422                                        </menuItem>
     423                                        <menuItem title="75%" tag="2" id="jcA-I1-Cbq">
     424                                            <modifierMask key="keyEquivalentModifierMask"/>
     425                                            <connections>
     426                                                <action selector="setViewScale:" target="-1" id="BAF-Ym-IqV"/>
     427                                            </connections>
     428                                        </menuItem>
     429                                        <menuItem title="50%" tag="3" id="BRM-D5-YNO">
     430                                            <modifierMask key="keyEquivalentModifierMask"/>
     431                                            <connections>
     432                                                <action selector="setViewScale:" target="-1" id="nXy-2b-9Zz"/>
     433                                            </connections>
     434                                        </menuItem>
     435                                        <menuItem title="25%" tag="4" id="gzk-YK-x0W">
     436                                            <modifierMask key="keyEquivalentModifierMask"/>
     437                                            <connections>
     438                                                <action selector="setViewScale:" target="-1" id="KXK-f6-24N"/>
    408439                                            </connections>
    409440                                        </menuItem>
     
    421452                </menuItem>
    422453                <menuItem title="Window" id="19">
    423                     <menu key="submenu" title="Window" systemMenu="window" userInterfaceLayoutDirection="leftToRight" id="24">
     454                    <menu key="submenu" title="Window" systemMenu="window" id="24">
    424455                        <items>
    425456                            <menuItem title="Minimize" keyEquivalent="m" id="23">
     
    446477                <menuItem title="Help" id="490">
    447478                    <modifierMask key="keyEquivalentModifierMask"/>
    448                     <menu key="submenu" title="Help" systemMenu="help" userInterfaceLayoutDirection="leftToRight" id="491">
     479                    <menu key="submenu" title="Help" systemMenu="help" id="491">
    449480                        <items>
    450481                            <menuItem title="MiniBrowser Help" keyEquivalent="?" id="492">
     
    458489                <menuItem title="Debug" id="534">
    459490                    <modifierMask key="keyEquivalentModifierMask"/>
    460                     <menu key="submenu" title="Debug" userInterfaceLayoutDirection="leftToRight" id="535">
     491                    <menu key="submenu" title="Debug" id="535">
    461492                        <items>
    462493                            <menuItem title="Force Repaint" keyEquivalent="r" id="545">
  • trunk/Tools/MiniBrowser/mac/WK1BrowserWindowController.m

    r207508 r207512  
    104104}
    105105
    106 - (IBAction)setScale:(id)sender
    107 {
    108    
     106- (IBAction)setPageScale:(id)sender
     107{
     108    CGFloat scale = [self pageScaleForMenuItemTag:[sender tag]];
     109    [_webView _scaleWebView:scale atOrigin:NSZeroPoint];
     110}
     111
     112- (IBAction)setViewScale:(id)sender
     113{
    109114}
    110115
     
    127132{
    128133    [_webView goForward:sender];
     134}
     135
     136static BOOL areEssentiallyEqual(double a, double b)
     137{
     138    double tolerance = 0.001;
     139    return (fabs(a - b) <= tolerance);
    129140}
    130141
     
    146157    else if (action == @selector(toggleZoomMode:))
    147158        [menuItem setState:_zoomTextOnly ? NSOnState : NSOffState];
     159
     160    if (action == @selector(setPageScale:))
     161        [menuItem setState:areEssentiallyEqual([_webView _viewScaleFactor], [self pageScaleForMenuItemTag:[menuItem tag]])];
    148162
    149163    return YES;
  • trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m

    r207349 r207512  
    134134}
    135135
    136 static CGFloat viewScaleForMenuItemTag(NSInteger tag)
     136- (IBAction)setPageScale:(id)sender
     137{
     138    CGFloat scale = [self pageScaleForMenuItemTag:[sender tag]];
     139    [_webView _setPageScale:scale withOrigin:CGPointZero];
     140}
     141
     142- (CGFloat)viewScaleForMenuItemTag:(NSInteger)tag
    137143{
    138144    if (tag == 1)
     
    148154}
    149155
    150 - (IBAction)setScale:(id)sender
    151 {
    152     CGFloat scale = viewScaleForMenuItemTag([sender tag]);
     156- (IBAction)setViewScale:(id)sender
     157{
     158    CGFloat scale = [self viewScaleForMenuItemTag:[sender tag]];
    153159    CGFloat oldScale = [_webView _viewScale];
    154160
     
    163169
    164170    [_webView _setViewScale:scale];
     171}
     172
     173static BOOL areEssentiallyEqual(double a, double b)
     174{
     175    double tolerance = 0.001;
     176    return (fabs(a - b) <= tolerance);
    165177}
    166178
     
    189201        [menuItem setState:_zoomTextOnly ? NSOnState : NSOffState];
    190202
    191     if (action == @selector(setScale:))
    192         [menuItem setState:[_webView _viewScale] == viewScaleForMenuItemTag([menuItem tag])];
     203    if (action == @selector(setPageScale:))
     204        [menuItem setState:areEssentiallyEqual([_webView _pageScale], [self pageScaleForMenuItemTag:[menuItem tag]])];
     205
     206    if (action == @selector(setViewScale:))
     207        [menuItem setState:areEssentiallyEqual([_webView _viewScale], [self viewScaleForMenuItemTag:[menuItem tag]])];
    193208
    194209    return YES;
Note: See TracChangeset for help on using the changeset viewer.