<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>129117</bug_id>
          
          <creation_ts>2014-02-20 13:18:08 -0800</creation_ts>
          <short_desc>Add magnification and swiping properties to WKWebView</short_desc>
          <delta_ts>2014-02-20 15:41:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>982956</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-02-20 13:18:08 -0800</bug_when>
    <thetext>Copied from WKView[IOS].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982959</commentid>
    <comment_count>1</comment_count>
      <attachid>224793</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-02-20 13:22:49 -0800</bug_when>
    <thetext>Created attachment 224793
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982982</commentid>
    <comment_count>2</comment_count>
      <attachid>224793</attachid>
    <who name="">mitz</who>
    <bug_when>2014-02-20 14:40:15 -0800</bug_when>
    <thetext>Comment on attachment 224793
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=224793&amp;action=review

r=me if you address the comments.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h:126
&gt; +@property (nonatomic) double magnification;

This should be a CGFloat.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h:128
&gt; +- (void)setMagnification:(double)magnification centeredAtPoint:(NSPoint)point;

magnification should be a CGFloat.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:470
&gt; +- (void)setMagnification:(double)magnification
&gt; +{
&gt; +    [_wkView setMagnification:magnification];
&gt; +}

Who uses this? And how?

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:669
&gt; +    } else
&gt; +        _gestureController = nullptr;

This branch is taken when allowsBackForwardNavigationGestures is YES and _gestureController is not null. I don’t think you want to do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983006</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-02-20 15:10:16 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 224793 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=224793&amp;action=review
&gt; 
&gt; r=me if you address the comments.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h:126
&gt; &gt; +@property (nonatomic) double magnification;
&gt; 
&gt; This should be a CGFloat.

OK. I’m going to use CGPoint too at andersca’s suggestion.

&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:470
&gt; &gt; +- (void)setMagnification:(double)magnification
&gt; &gt; +{
&gt; &gt; +    [_wkView setMagnification:magnification];
&gt; &gt; +}
&gt; 
&gt; Who uses this? And how?

I was just matching NSScrollView’s behavior.

&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:669
&gt; &gt; +    } else
&gt; &gt; +        _gestureController = nullptr;
&gt; 
&gt; This branch is taken when allowsBackForwardNavigationGestures is YES and _gestureController is not null. I don’t think you want to do that.

Indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983017</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-02-20 15:41:14 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/164455</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224793</attachid>
            <date>2014-02-20 13:22:49 -0800</date>
            <delta_ts>2014-02-20 14:40:14 -0800</delta_ts>
            <desc>patch</desc>
            <filename>mag.diff</filename>
            <type>text/plain</type>
            <size>5800</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4NWZkNDBkLi5kZjdhMGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTQtMDItMjAgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIG1hZ25pZmljYXRpb24gYW5kIHN3aXBpbmcgcHJvcGVydGllcyB0byBXS1dl
YlZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
OTExNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ZpZXdQcml2YXRlLmg6CisgICAgICAgIE1vdmUgYWxsb3dz
QmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMgb3V0IG9mIGEgTWFjLW9ubHkgYmxvY2suCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oOgorICAgICAgICBBZGQg
YWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMgdG8gV0tXZWJWaWV3IGZvciBib3Ro
IHBsYXRmb3Jtcy4KKyAgICAgICAgQWRkIG1hZ25pZmljYXRpb24gcHJvcGVydGllcyB0byBXS1dl
YlZpZXcgZm9yIE1hYy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgY29udGVudFZpZXc6ZGlkQ29tbWl0TGF5ZXJUcmVl
OldlYktpdDo6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBzZXRBbGxvd3NCYWNrRm9yd2FyZE5h
dmlnYXRpb25HZXN0dXJlczpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGFsbG93c0JhY2tGb3J3
YXJkTmF2aWdhdGlvbkdlc3R1cmVzXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBzZXRBbGxvd3NN
YWduaWZpY2F0aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgYWxsb3dzTWFnbmlmaWNhdGlv
bl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0TWFnbmlmaWNhdGlvbjpdKToKKyAgICAgICAg
KC1bV0tXZWJWaWV3IG1hZ25pZmljYXRpb25dKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNldE1h
Z25pZmljYXRpb246Y2VudGVyZWRBdFBvaW50Ol0pOgorICAgICAgICBGb3IgaU9TLCBjb3B5IGlt
cGxlbWVudGF0aW9ucyBmcm9tIFdLVmlld0lPUy4KKyAgICAgICAgRm9yIE1hYywgZm9yd2FyZCB0
byB0aGUgaW5uZXIgV0tWaWV3LgorCiAyMDE0LTAyLTIwICBFbnJpcXVlIE9jYcOxYSBHb256w6Fs
ZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2ViS2l0R1RLKyBzaG91bGQgc3Rv
cCB1c2luZyBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNIG1hY3JvcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ZpZXdQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUuaAppbmRleCAwMjZh
NGI2Li5iMTYxMDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLVmlld1ByaXZhdGUuaApAQCAtNzgsNyArNzgsNiBAQAogQHByb3BlcnR5IChyZWFkb25s
eSwgZ2V0dGVyPWlzVXNpbmdVSVNpZGVDb21wb3NpdGluZykgQk9PTCB1c2luZ1VJU2lkZUNvbXBv
c2l0aW5nOwogQHByb3BlcnR5IChyZWFkd3JpdGUpIEJPT0wgYWxsb3dzTWFnbmlmaWNhdGlvbjsK
IEBwcm9wZXJ0eSAocmVhZHdyaXRlKSBkb3VibGUgbWFnbmlmaWNhdGlvbjsKLUBwcm9wZXJ0eSAo
cmVhZHdyaXRlKSBCT09MIGFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOwogCiBA
cHJvcGVydHkoY29weSwgbm9uYXRvbWljKSBOU0NvbG9yICp1bmRlcmxheUNvbG9yOwogCkBAIC0x
MDUsNCArMTA0LDYgQEAKIAogI2VuZGlmCiAKK0Bwcm9wZXJ0eSAocmVhZHdyaXRlKSBCT09MIGFs
bG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOworCiBAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAppbmRleCAyMmY1YTY5Li42M2Nm
MmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
LmgKQEAgLTExNyw4ICsxMTcsMTUgQEAgV0tfQVBJX0NMQVNTCiAtICh2b2lkKWdvQmFjazsKIC0g
KHZvaWQpZ29Gb3J3YXJkOwogCitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhbGxvd3NCYWNr
Rm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlczsKKwogI2lmIFRBUkdFVF9PU19JUEhPTkUKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlTY3JvbGxWaWV3ICpzY3JvbGxWaWV3OworI2Vs
c2UKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFsbG93c01hZ25pZmljYXRpb247CitAcHJv
cGVydHkgKG5vbmF0b21pYykgZG91YmxlIG1hZ25pZmljYXRpb247CisKKy0gKHZvaWQpc2V0TWFn
bmlmaWNhdGlvbjooZG91YmxlKW1hZ25pZmljYXRpb24gY2VudGVyZWRBdFBvaW50OihOU1BvaW50
KXBvaW50OwogI2VuZGlmCiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggMmQxNTM4Mi4uNTJiNjVkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTMyLDYgKzMy
LDcgQEAKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgiCiAjaW1wb3J0ICJS
ZW1vdGVPYmplY3RSZWdpc3RyeS5oIgogI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNz
YWdlcy5oIgorI2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS0Jh
Y2tGb3J3YXJkTGlzdEludGVybmFsLmgiCiAjaW1wb3J0ICJXS0JhY2tGb3J3YXJkTGlzdEl0ZW1J
bnRlcm5hbC5oIgogI2ltcG9ydCAiV0tCcm93c2luZ0NvbnRleHRIYW5kbGVJbnRlcm5hbC5oIgpA
QCAtODMsNiArODQsOCBAQAogICAgIFVJRWRnZUluc2V0cyBfb2JzY3VyZWRJbnNldHM7CiAgICAg
Ym9vbCBfaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseTsKICAgICBDR0Zsb2F0
IF9sYXN0QWRqdXN0bWVudEZvclNjcm9sbGVyOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktp
dDo6Vmlld0dlc3R1cmVDb250cm9sbGVyPiBfZ2VzdHVyZUNvbnRyb2xsZXI7CiAjZW5kaWYKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgUmV0YWluUHRyPFdLVmlldz4gX3drVmlldzsKQEAgLTMwNyw2
ICszMTAsOSBAQAogICAgIGlmICghW19zY3JvbGxWaWV3IGlzWm9vbWluZ10gJiYgIVtfc2Nyb2xs
VmlldyBpc1pvb21Cb3VuY2luZ10pCiAgICAgICAgIFtfc2Nyb2xsVmlldyBzZXRab29tU2NhbGU6
bGF5ZXJUcmVlVHJhbnNhY3Rpb24ucGFnZVNjYWxlRmFjdG9yKCldOwogCisgICAgaWYgKF9nZXN0
dXJlQ29udHJvbGxlcikKKyAgICAgICAgX2dlc3R1cmVDb250cm9sbGVyLT5zZXRSZW5kZXJUcmVl
U2l6ZShsYXllclRyZWVUcmFuc2FjdGlvbi5yZW5kZXJUcmVlU2l6ZSgpKTsKKwogICAgIGlmIChf
aXNXYWl0aW5nRm9yTmV3TGF5ZXJUcmVlQWZ0ZXJEaWRDb21taXRMb2FkKSB7CiAgICAgICAgIFVJ
RWRnZUluc2V0cyBpbnNldCA9IFtfc2Nyb2xsVmlldyBjb250ZW50SW5zZXRdOwogICAgICAgICBb
X3Njcm9sbFZpZXcgc2V0Q29udGVudE9mZnNldDpDR1BvaW50TWFrZSgtaW5zZXQubGVmdCwgLWlu
c2V0LnRvcCldOwpAQCAtNDM4LDYgKzQ0NCw0MSBAQAogICAgIFtfd2tWaWV3IHNldEZyYW1lOnNl
bGYuYm91bmRzXTsKIH0KIAorLSAodm9pZClzZXRBbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25H
ZXN0dXJlczooQk9PTClhbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlcworeworICAg
IFtfd2tWaWV3IHNldEFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOmFsbG93c0Jh
Y2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzXTsKK30KKworLSAoQk9PTClhbGxvd3NCYWNrRm9y
d2FyZE5hdmlnYXRpb25HZXN0dXJlcworeworICAgIHJldHVybiBbX3drVmlldyBhbGxvd3NCYWNr
Rm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlc107Cit9CisKKy0gKHZvaWQpc2V0QWxsb3dzTWFnbmlm
aWNhdGlvbjooQk9PTClhbGxvd3NNYWduaWZpY2F0aW9uCit7CisgICAgW193a1ZpZXcgc2V0QWxs
b3dzTWFnbmlmaWNhdGlvbjphbGxvd3NNYWduaWZpY2F0aW9uXTsKK30KKworLSAoQk9PTClhbGxv
d3NNYWduaWZpY2F0aW9uCit7CisgICAgcmV0dXJuIFtfd2tWaWV3IGFsbG93c01hZ25pZmljYXRp
b25dOworfQorCistICh2b2lkKXNldE1hZ25pZmljYXRpb246KGRvdWJsZSltYWduaWZpY2F0aW9u
Cit7CisgICAgW193a1ZpZXcgc2V0TWFnbmlmaWNhdGlvbjptYWduaWZpY2F0aW9uXTsKK30KKwor
LSAoZG91YmxlKW1hZ25pZmljYXRpb24KK3sKKyAgICByZXR1cm4gW193a1ZpZXcgbWFnbmlmaWNh
dGlvbl07Cit9CisKKy0gKHZvaWQpc2V0TWFnbmlmaWNhdGlvbjooZG91YmxlKW1hZ25pZmljYXRp
b24gY2VudGVyZWRBdFBvaW50OihOU1BvaW50KXBvaW50Cit7CisgICAgW193a1ZpZXcgc2V0TWFn
bmlmaWNhdGlvbjptYWduaWZpY2F0aW9uIGNlbnRlcmVkQXRQb2ludDpwb2ludF07Cit9CisKICNl
bmRpZgogCiBAZW5kCkBAIC02MTcsNiArNjU4LDI0IEBAIHN0YXRpYyBpbmxpbmUgV2ViQ29yZTo6
TGF5b3V0TWlsZXN0b25lcyBsYXlvdXRNaWxlc3RvbmVzKF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZl
CiAgICAgX2lzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHkgPSBOTzsKIH0KIAor
LSAodm9pZClzZXRBbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlczooQk9PTClhbGxv
d3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlcworeworICAgIF9hbGxvd3NCYWNrRm9yd2Fy
ZE5hdmlnYXRpb25HZXN0dXJlcyA9IGFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVz
OworCisgICAgaWYgKGFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzICYmICFfZ2Vz
dHVyZUNvbnRyb2xsZXIpIHsKKyAgICAgICAgX2dlc3R1cmVDb250cm9sbGVyID0gc3RkOjptYWtl
X3VuaXF1ZTxXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcj4oKl9wYWdlKTsKKyAgICAgICAg
X2dlc3R1cmVDb250cm9sbGVyLT5pbnN0YWxsU3dpcGVIYW5kbGVyKHNlbGYsIFtzZWxmIHNjcm9s
bFZpZXddKTsKKyAgICB9IGVsc2UKKyAgICAgICAgX2dlc3R1cmVDb250cm9sbGVyID0gbnVsbHB0
cjsKKworICAgIF9wYWdlLT5zZXRTaG91bGRSZWNvcmROYXZpZ2F0aW9uU25hcHNob3RzKGFsbG93
c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzKTsKK30KKworLSAoQk9PTClhbGxvd3NCYWNr
Rm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlcworeworICAgIHJldHVybiBfYWxsb3dzQmFja0Zvcndh
cmROYXZpZ2F0aW9uR2VzdHVyZXM7Cit9CisKICNlbmRpZgogCiBAZW5kCg==
</data>
<flag name="review"
          id="248904"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>