<?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>143482</bug_id>
          
          <creation_ts>2015-04-07 09:55:49 -0700</creation_ts>
          <short_desc>Calling makeFirstResponder on WKWebView doesn&apos;t work</short_desc>
          <delta_ts>2015-04-08 11:08:12 -0700</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>OS X 10.10</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="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1083326</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-04-07 09:55:49 -0700</bug_when>
    <thetext>In the modern WebKit API, WKWebView has a subview WKView that becomes the first responder when the user clicks the view.
However, manually calling [NSWindow makeFirstResponder:] on WKWebView doesn&apos;t forward the first responder role to its WKView and therefore fails.

rdar://problem/20298166</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083328</commentid>
    <comment_count>1</comment_count>
      <attachid>250271</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-04-07 10:04:12 -0700</bug_when>
    <thetext>Created attachment 250271
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083341</commentid>
    <comment_count>2</comment_count>
      <attachid>250274</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-04-07 10:45:28 -0700</bug_when>
    <thetext>Created attachment 250274
Patch2

Fixes iOS build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083457</commentid>
    <comment_count>3</comment_count>
      <attachid>250274</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-07 15:20:22 -0700</bug_when>
    <thetext>Comment on attachment 250274
Patch2

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

&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:474
&gt; +    return [self superview] == nextResponder;

Perhaps we should store [self superview] into a local variable named webView so that the intent is clear?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083500</commentid>
    <comment_count>4</comment_count>
      <attachid>250274</attachid>
    <who name="">mitz</who>
    <bug_when>2015-04-07 17:45:09 -0700</bug_when>
    <thetext>Comment on attachment 250274
Patch2

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

&gt;&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:474
&gt;&gt; +    return [self superview] == nextResponder;
&gt; 
&gt; Perhaps we should store [self superview] into a local variable named webView so that the intent is clear?

Why are we checking for the superview and not our WKWebView?

&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:495
&gt;      _data-&gt;_page-&gt;viewStateDidChange(ViewState::IsFocused);

Shouldn’t we also prevent other things happening in this method from happening if the loss of first responder is temporary? Specifically things like interrupting text input and sending DOM events related to focused state (if we do that)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083508</commentid>
    <comment_count>5</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-04-07 18:22:45 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 250274 [details]
&gt; Patch2
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250274&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:474
&gt; &gt;&gt; +    return [self superview] == nextResponder;
&gt; &gt; 
&gt; &gt; Perhaps we should store [self superview] into a local variable named webView so that the intent is clear?
&gt; 
&gt; Why are we checking for the superview and not our WKWebView?
&gt; 
How do I get from the WKView to the WKWebView? Anders suggested to use the superview.

&gt; &gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:495
&gt; &gt;      _data-&gt;_page-&gt;viewStateDidChange(ViewState::IsFocused);
&gt; 
&gt; Shouldn’t we also prevent other things happening in this method from
&gt; happening if the loss of first responder is temporary? Specifically things
&gt; like interrupting text input and sending DOM events related to focused state
&gt; (if we do that)?
I don&apos;t fully understand what we do in WebHTMLView.mm. I&apos;ll hold off landing the change
until we had a chance to talk about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083533</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-04-07 20:45:48 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Comment on attachment 250274 [details]
&gt; &gt; Patch2
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=250274&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:474
&gt; &gt; &gt;&gt; +    return [self superview] == nextResponder;
&gt; &gt; &gt; 
&gt; &gt; &gt; Perhaps we should store [self superview] into a local variable named webView so that the intent is clear?
&gt; &gt; 
&gt; &gt; Why are we checking for the superview and not our WKWebView?
&gt; &gt; 
&gt; How do I get from the WKView to the WKWebView? Anders suggested to use the
&gt; superview.

It would be trivial to add a way to get the WKWebView from the page client. It seems like using the superview like this would do the wrong thing when it’s not a WKWebView and it is legitimately becoming the first responder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083652</commentid>
    <comment_count>7</comment_count>
      <attachid>250360</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-04-08 10:42:42 -0700</bug_when>
    <thetext>Created attachment 250360
Patch3

After discussing with Dan, here is a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083653</commentid>
    <comment_count>8</comment_count>
      <attachid>250360</attachid>
    <who name="">mitz</who>
    <bug_when>2015-04-08 10:45:48 -0700</bug_when>
    <thetext>Comment on attachment 250360
Patch3

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:639
&gt; +#if !PLATFORM(IOS)
&gt; +- (BOOL)becomeFirstResponder
&gt; +{
&gt; +    return [[self window] makeFirstResponder: _wkView.get()];
&gt; +}
&gt; +
&gt; +- (BOOL)acceptsFirstResponder
&gt; +{
&gt; +    return [_wkView acceptsFirstResponder];
&gt; +}
&gt; +#endif
&gt; +

Can you move this into the iOS-specific methods block that follows?

&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:224
&gt; +    bool _willBecomeFirstResponderAgain;

Despite two counterexamples above, we normally use BOOL for ivars (see good example below).

&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:480
&gt; +    if ([nextResponder isKindOfClass:[WKWebView class]] &amp;&amp; [self superview] == nextResponder) {

self.superview</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083656</commentid>
    <comment_count>9</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-04-08 10:51:40 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 250360 [details]
&gt; Patch3
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250360&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:639
&gt; &gt; +#if !PLATFORM(IOS)
&gt; &gt; +- (BOOL)becomeFirstResponder
&gt; &gt; +{
&gt; &gt; +    return [[self window] makeFirstResponder: _wkView.get()];
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +- (BOOL)acceptsFirstResponder
&gt; &gt; +{
&gt; &gt; +    return [_wkView acceptsFirstResponder];
&gt; &gt; +}
&gt; &gt; +#endif
&gt; &gt; +
&gt; 
&gt; Can you move this into the iOS-specific methods block that follows?
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:224
&gt; &gt; +    bool _willBecomeFirstResponderAgain;
&gt; 
&gt; Despite two counterexamples above, we normally use BOOL for ivars (see good
&gt; example below).
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:480
&gt; &gt; +    if ([nextResponder isKindOfClass:[WKWebView class]] &amp;&amp; [self superview] == nextResponder) {
&gt; 
&gt; self.superview

Will do. Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083661</commentid>
    <comment_count>10</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-04-08 11:08:12 -0700</bug_when>
    <thetext>Committed revision 182554</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250271</attachid>
            <date>2015-04-07 10:04:12 -0700</date>
            <delta_ts>2015-04-07 10:45:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WKWebView-responder.txt</filename>
            <type>text/plain</type>
            <size>2983</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjQ3NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA0LTA3ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FsbGluZyBtYWtlRmlyc3RS
ZXNwb25kZXIgb24gV0tXZWJWaWV3IGRvZXNuJ3Qgd29yay4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQ4MgorICAgICAgICByZGFyOi8vcHJvYmxl
bS8yMDI5ODE2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGluZyBmb3J3YXJkaW5nIG9mIHRoZSByZXNwb25kZXIgc3RhdHVzIHRvIHRoZSBXS1Zp
ZXcuCisgICAgICAgIFdlIGFsc28gbmVlZCB0byBtYWludGFpbiB0aGUgc2VsZWN0aW9uIHdoZW4g
V0tWaWV3IGlzIGxvc2luZworICAgICAgICB0aGUgcmVzcG9uZGVyIHN0YXR1cyB0byBpdHMgV0tX
ZWJWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06Cisg
ICAgICAgICgtW1dLV2ViVmlldyBiZWNvbWVGaXJzdFJlc3BvbmRlcl0pOgorICAgICAgICAoLVtX
S1dlYlZpZXcgYWNjZXB0c0ZpcnN0UmVzcG9uZGVyXSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9tYWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgbWFpbnRhaW5zSW5hY3RpdmVTZWxl
Y3Rpb25dKToKKyAgICAgICAgKC1bV0tWaWV3IHJlc2lnbkZpcnN0UmVzcG9uZGVyXSk6CisKIDIw
MTUtMDQtMDYgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDcmVhdGUgdGhlIHdlYiBpbnNwZWN0b3IgcHJvY2VzcyBwb29sIGxhemlseQpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHJldmlz
aW9uIDE4MjQ3NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MjUsNiArNjI1LDE2IEBAIC0gKFdLUGFnZVJlZilf
cGFnZUZvclRlc3RpbmcKICAgICByZXR1cm4gdG9BUEkoX3BhZ2UuZ2V0KCkpOwogfQogCistIChC
T09MKWJlY29tZUZpcnN0UmVzcG9uZGVyCit7CisgICAgcmV0dXJuIFtbc2VsZiB3aW5kb3ddIG1h
a2VGaXJzdFJlc3BvbmRlcjogX3drVmlldy5nZXQoKV07Cit9CisKKy0gKEJPT0wpYWNjZXB0c0Zp
cnN0UmVzcG9uZGVyCit7CisgICAgcmV0dXJuIFtfd2tWaWV3IGFjY2VwdHNGaXJzdFJlc3BvbmRl
cl07Cit9CisKICNwcmFnbWEgbWFyayBpT1Mtc3BlY2lmaWMgbWV0aG9kcwogCiAjaWYgUExBVEZP
Uk0oSU9TKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5t
bQkocmV2aXNpb24gMTgyNDc1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
V0tWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDcgQEAgLSAodm9pZClfc2V0
Q3VycmVudEV2ZW50OihOU0V2ZW50ICopZXZlbgogQGludGVyZmFjZSBOU1dpbmRvdyAoV0tOU1dp
bmRvd0RldGFpbHMpCiAtIChOU1JlY3QpX2ludGVyc2VjdEJvdHRvbUNvcm5lcnNXaXRoUmVjdDoo
TlNSZWN0KXZpZXdSZWN0OwogLSAodm9pZClfbWFza1JvdW5kZWRCb3R0b21Db3JuZXJzOihOU1Jl
Y3QpY2xpcFJlY3Q7CistIChpZClfbmV3Rmlyc3RSZXNwb25kZXJBZnRlclJlc2lnbmluZzsKIEBl
bmQKIAogI2lmIFVTRShBU1lOQ19OU1RFWFRJTlBVVENMSUVOVCkKQEAgLTQ2Miw2ICs0NjMsMTcg
QEAgLSAoQk9PTCliZWNvbWVGaXJzdFJlc3BvbmRlcgogICAgIHJldHVybiBZRVM7CiB9CiAKKy0g
KEJPT0wpbWFpbnRhaW5zSW5hY3RpdmVTZWxlY3Rpb24KK3sKKyAgICBpZiAoX2RhdGEtPl9wYWdl
LT5tYWludGFpbnNJbmFjdGl2ZVNlbGVjdGlvbigpKQorICAgICAgICByZXR1cm4gWUVTOworICAg
IAorICAgIC8vIFByZWRpY3QgdGhlIGNhc2Ugd2hlcmUgd2UgYXJlIGxvc2luZyBmaXJzdCByZXNw
b25kZXIgc3RhdHVzIG9ubHkgdG8KKyAgICAvLyBnYWluIGl0IGJhY2sgYWdhaW4uIFdhbnQgdG8g
a2VlcCB0aGUgc2VsZWN0aW9uIGluIHRoYXQgY2FzZS4KKyAgICBpZCBuZXh0UmVzcG9uZGVyID0g
W1tzZWxmIHdpbmRvd10gX25ld0ZpcnN0UmVzcG9uZGVyQWZ0ZXJSZXNpZ25pbmddOworICAgIHJl
dHVybiBbc2VsZiBzdXBlcnZpZXddID09IG5leHRSZXNwb25kZXI7Cit9CisKIC0gKEJPT0wpcmVz
aWduRmlyc3RSZXNwb25kZXIKIHsKICAgICBfZGF0YS0+X2luUmVzaWduRmlyc3RSZXNwb25kZXIg
PSB0cnVlOwpAQCAtNDc3LDcgKzQ4OSw3IEBAIC0gKEJPT0wpcmVzaWduRmlyc3RSZXNwb25kZXIK
IAogICAgIFtzZWxmIF9yZXNldFNlY3VyZUlucHV0U3RhdGVdOwogCi0gICAgaWYgKCFfZGF0YS0+
X3BhZ2UtPm1haW50YWluc0luYWN0aXZlU2VsZWN0aW9uKCkpCisgICAgaWYgKCFbc2VsZiBtYWlu
dGFpbnNJbmFjdGl2ZVNlbGVjdGlvbl0pCiAgICAgICAgIF9kYXRhLT5fcGFnZS0+Y2xlYXJTZWxl
Y3Rpb24oKTsKICAgICAKICAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0ZURpZENoYW5nZShWaWV3
U3RhdGU6OklzRm9jdXNlZCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250274</attachid>
            <date>2015-04-07 10:45:28 -0700</date>
            <delta_ts>2015-04-08 10:42:42 -0700</delta_ts>
            <desc>Patch2</desc>
            <filename>WKWebView-responder.txt</filename>
            <type>text/plain</type>
            <size>3011</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjQ3NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA0LTA3ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FsbGluZyBtYWtlRmlyc3RS
ZXNwb25kZXIgb24gV0tXZWJWaWV3IGRvZXNuJ3Qgd29yay4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQ4MgorICAgICAgICByZGFyOi8vcHJvYmxl
bS8yMDI5ODE2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGluZyBmb3J3YXJkaW5nIG9mIHRoZSByZXNwb25kZXIgc3RhdHVzIHRvIHRoZSBXS1Zp
ZXcuCisgICAgICAgIFdlIGFsc28gbmVlZCB0byBtYWludGFpbiB0aGUgc2VsZWN0aW9uIHdoZW4g
V0tWaWV3IGlzIGxvc2luZworICAgICAgICB0aGUgcmVzcG9uZGVyIHN0YXR1cyB0byBpdHMgV0tX
ZWJWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06Cisg
ICAgICAgICgtW1dLV2ViVmlldyBiZWNvbWVGaXJzdFJlc3BvbmRlcl0pOgorICAgICAgICAoLVtX
S1dlYlZpZXcgYWNjZXB0c0ZpcnN0UmVzcG9uZGVyXSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9tYWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgbWFpbnRhaW5zSW5hY3RpdmVTZWxl
Y3Rpb25dKToKKyAgICAgICAgKC1bV0tWaWV3IHJlc2lnbkZpcnN0UmVzcG9uZGVyXSk6CisKIDIw
MTUtMDQtMDYgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDcmVhdGUgdGhlIHdlYiBpbnNwZWN0b3IgcHJvY2VzcyBwb29sIGxhemlseQpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHJldmlz
aW9uIDE4MjQ3NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MjUsNiArNjI1LDE4IEBAIC0gKFdLUGFnZVJlZilf
cGFnZUZvclRlc3RpbmcKICAgICByZXR1cm4gdG9BUEkoX3BhZ2UuZ2V0KCkpOwogfQogCisjaWYg
IVBMQVRGT1JNKElPUykKKy0gKEJPT0wpYmVjb21lRmlyc3RSZXNwb25kZXIKK3sKKyAgICByZXR1
cm4gW1tzZWxmIHdpbmRvd10gbWFrZUZpcnN0UmVzcG9uZGVyOiBfd2tWaWV3LmdldCgpXTsKK30K
KworLSAoQk9PTClhY2NlcHRzRmlyc3RSZXNwb25kZXIKK3sKKyAgICByZXR1cm4gW193a1ZpZXcg
YWNjZXB0c0ZpcnN0UmVzcG9uZGVyXTsKK30KKyNlbmRpZgorCiAjcHJhZ21hIG1hcmsgaU9TLXNw
ZWNpZmljIG1ldGhvZHMKIAogI2lmIFBMQVRGT1JNKElPUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHJldmlzaW9uIDE4MjQ3NSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MTI4LDYgKzEyOCw3IEBAIC0gKHZvaWQpX3NldEN1cnJlbnRFdmVudDooTlNFdmVudCAqKWV2ZW4K
IEBpbnRlcmZhY2UgTlNXaW5kb3cgKFdLTlNXaW5kb3dEZXRhaWxzKQogLSAoTlNSZWN0KV9pbnRl
cnNlY3RCb3R0b21Db3JuZXJzV2l0aFJlY3Q6KE5TUmVjdCl2aWV3UmVjdDsKIC0gKHZvaWQpX21h
c2tSb3VuZGVkQm90dG9tQ29ybmVyczooTlNSZWN0KWNsaXBSZWN0OworLSAoaWQpX25ld0ZpcnN0
UmVzcG9uZGVyQWZ0ZXJSZXNpZ25pbmc7CiBAZW5kCiAKICNpZiBVU0UoQVNZTkNfTlNURVhUSU5Q
VVRDTElFTlQpCkBAIC00NjIsNiArNDYzLDE3IEBAIC0gKEJPT0wpYmVjb21lRmlyc3RSZXNwb25k
ZXIKICAgICByZXR1cm4gWUVTOwogfQogCistIChCT09MKW1haW50YWluc0luYWN0aXZlU2VsZWN0
aW9uCit7CisgICAgaWYgKF9kYXRhLT5fcGFnZS0+bWFpbnRhaW5zSW5hY3RpdmVTZWxlY3Rpb24o
KSkKKyAgICAgICAgcmV0dXJuIFlFUzsKKyAgICAKKyAgICAvLyBQcmVkaWN0IHRoZSBjYXNlIHdo
ZXJlIHdlIGFyZSBsb3NpbmcgZmlyc3QgcmVzcG9uZGVyIHN0YXR1cyBvbmx5IHRvCisgICAgLy8g
Z2FpbiBpdCBiYWNrIGFnYWluLiBXYW50IHRvIGtlZXAgdGhlIHNlbGVjdGlvbiBpbiB0aGF0IGNh
c2UuCisgICAgaWQgbmV4dFJlc3BvbmRlciA9IFtbc2VsZiB3aW5kb3ddIF9uZXdGaXJzdFJlc3Bv
bmRlckFmdGVyUmVzaWduaW5nXTsKKyAgICByZXR1cm4gW3NlbGYgc3VwZXJ2aWV3XSA9PSBuZXh0
UmVzcG9uZGVyOworfQorCiAtIChCT09MKXJlc2lnbkZpcnN0UmVzcG9uZGVyCiB7CiAgICAgX2Rh
dGEtPl9pblJlc2lnbkZpcnN0UmVzcG9uZGVyID0gdHJ1ZTsKQEAgLTQ3Nyw3ICs0ODksNyBAQCAt
IChCT09MKXJlc2lnbkZpcnN0UmVzcG9uZGVyCiAKICAgICBbc2VsZiBfcmVzZXRTZWN1cmVJbnB1
dFN0YXRlXTsKIAotICAgIGlmICghX2RhdGEtPl9wYWdlLT5tYWludGFpbnNJbmFjdGl2ZVNlbGVj
dGlvbigpKQorICAgIGlmICghW3NlbGYgbWFpbnRhaW5zSW5hY3RpdmVTZWxlY3Rpb25dKQogICAg
ICAgICBfZGF0YS0+X3BhZ2UtPmNsZWFyU2VsZWN0aW9uKCk7CiAgICAgCiAgICAgX2RhdGEtPl9w
YWdlLT52aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpJc0ZvY3VzZWQpOwo=
</data>
<flag name="review"
          id="275091"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250360</attachid>
            <date>2015-04-08 10:42:42 -0700</date>
            <delta_ts>2015-04-08 10:45:48 -0700</delta_ts>
            <desc>Patch3</desc>
            <filename>WKWebView-responder.txt</filename>
            <type>text/plain</type>
            <size>3815</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjU0MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE1LTA0LTA4ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FsbGluZyBtYWtlRmlyc3RS
ZXNwb25kZXIgb24gV0tXZWJWaWV3IGRvZXNuJ3Qgd29yay4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQ4MgorICAgICAgICByZGFyOi8vcHJvYmxl
bS8yMDI5ODE2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGluZyBmb3J3YXJkaW5nIG9mIHRoZSByZXNwb25kZXIgc3RhdHVzIHRvIHRoZSBXS1Zp
ZXcuCisgICAgICAgIFdlIGFsc28gbmVlZCB0byBhdm9pZCBkb2luZyBhbnkgY2xlYW51cCBpbiBy
ZXNpZ25GaXJzdFJlc3BvbmRlcgorICAgICAgICBpZiB3ZSBrbm93IHdlIGFyZSBhYm91dCB0byBy
ZWdhaW4gcmVzcG9uZGVyIHN0YXR1cyBhZ2Fpbi4KKyAgICAgICAgU2FtZSBnb2VzIGZvciBiZWNv
bWVGaXJzdFJlc3BvbmRlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgYmVjb21lRmlyc3RSZXNwb25kZXJdKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IGFjY2VwdHNGaXJzdFJlc3BvbmRlcl0pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1bV0tWaWV3IG1haW50YWluc0lu
YWN0aXZlU2VsZWN0aW9uXSk6CisgICAgICAgICgtW1dLVmlldyByZXNpZ25GaXJzdFJlc3BvbmRl
cl0pOgorCiAyMDE1LTA0LTA3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkocmV2aXNpb24gMTgyNTQzKQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTYyNSw2ICs2MjUsMTggQEAgLSAoV0tQYWdlUmVmKV9wYWdlRm9yVGVzdGluZwogICAg
IHJldHVybiB0b0FQSShfcGFnZS5nZXQoKSk7CiB9CiAKKyNpZiAhUExBVEZPUk0oSU9TKQorLSAo
Qk9PTCliZWNvbWVGaXJzdFJlc3BvbmRlcgoreworICAgIHJldHVybiBbW3NlbGYgd2luZG93XSBt
YWtlRmlyc3RSZXNwb25kZXI6IF93a1ZpZXcuZ2V0KCldOworfQorCistIChCT09MKWFjY2VwdHNG
aXJzdFJlc3BvbmRlcgoreworICAgIHJldHVybiBbX3drVmlldyBhY2NlcHRzRmlyc3RSZXNwb25k
ZXJdOworfQorI2VuZGlmCisKICNwcmFnbWEgbWFyayBpT1Mtc3BlY2lmaWMgbWV0aG9kcwogCiAj
aWYgUExBVEZPUk0oSU9TKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
V0tWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1dLVmlldy5tbQkocmV2aXNpb24gMTgyNTQzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvV0tWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW1w
b3J0ICJXS1RleHRJbnB1dFdpbmRvd0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIldLVmlld0ludGVy
bmFsLmgiCiAjaW1wb3J0ICJXS1ZpZXdQcml2YXRlLmgiCisjaW1wb3J0ICJXS1dlYlZpZXcuaCIK
ICNpbXBvcnQgIldlYkJhY2tGb3J3YXJkTGlzdC5oIgogI2ltcG9ydCAiV2ViRXZlbnRGYWN0b3J5
LmgiCiAjaW1wb3J0ICJXZWJIaXRUZXN0UmVzdWx0LmgiCkBAIC0xMjgsNiArMTI5LDcgQEAgLSAo
dm9pZClfc2V0Q3VycmVudEV2ZW50OihOU0V2ZW50ICopZXZlbgogQGludGVyZmFjZSBOU1dpbmRv
dyAoV0tOU1dpbmRvd0RldGFpbHMpCiAtIChOU1JlY3QpX2ludGVyc2VjdEJvdHRvbUNvcm5lcnNX
aXRoUmVjdDooTlNSZWN0KXZpZXdSZWN0OwogLSAodm9pZClfbWFza1JvdW5kZWRCb3R0b21Db3Ju
ZXJzOihOU1JlY3QpY2xpcFJlY3Q7CistIChpZClfbmV3Rmlyc3RSZXNwb25kZXJBZnRlclJlc2ln
bmluZzsKIEBlbmQKIAogI2lmIFVTRShBU1lOQ19OU1RFWFRJTlBVVENMSUVOVCkKQEAgLTIxOSw2
ICsyMjEsNyBAQCBAaW50ZXJmYWNlIFdLVmlld0RhdGEgOiBOU09iamVjdCB7CiAKICAgICBib29s
IF9pbkJlY29tZUZpcnN0UmVzcG9uZGVyOwogICAgIGJvb2wgX2luUmVzaWduRmlyc3RSZXNwb25k
ZXI7CisgICAgYm9vbCBfd2lsbEJlY29tZUZpcnN0UmVzcG9uZGVyQWdhaW47CiAgICAgTlNFdmVu
dCAqX21vdXNlRG93bkV2ZW50OwogICAgIEJPT0wgX2lnbm9yaW5nTW91c2VEcmFnZ2VkRXZlbnRz
OwogCkBAIC00NDEsNiArNDQ0LDEzIEBAIC0gKEJPT0wpYWNjZXB0c0ZpcnN0UmVzcG9uZGVyCiAK
IC0gKEJPT0wpYmVjb21lRmlyc3RSZXNwb25kZXIKIHsKKyAgICAvLyBJZiB3ZSBqdXN0IGJlY2Ft
ZSBmaXJzdCByZXNwb25kZXIgYWdhaW4sIHRoZXJlIGlzIG5vIG5lZWQgdG8gZG8gYW55dGhpbmcs
CisgICAgLy8gc2luY2UgcmVzaWduRmlyc3RSZXNwb25kZXIgaGFzIGNvcnJlY3RseSBkZXRlY3Rl
ZCB0aGlzIHNpdHVhdGlvbi4KKyAgICBpZiAoX2RhdGEtPl93aWxsQmVjb21lRmlyc3RSZXNwb25k
ZXJBZ2FpbikgeworICAgICAgICBfZGF0YS0+X3dpbGxCZWNvbWVGaXJzdFJlc3BvbmRlckFnYWlu
ID0gTk87CisgICAgICAgIHJldHVybiBZRVM7CisgICAgfQorCiAgICAgTlNTZWxlY3Rpb25EaXJl
Y3Rpb24gZGlyZWN0aW9uID0gW1tzZWxmIHdpbmRvd10ga2V5Vmlld1NlbGVjdGlvbkRpcmVjdGlv
bl07CiAKICAgICBfZGF0YS0+X2luQmVjb21lRmlyc3RSZXNwb25kZXIgPSB0cnVlOwpAQCAtNDY0
LDYgKzQ3NCwxNSBAQCAtIChCT09MKWJlY29tZUZpcnN0UmVzcG9uZGVyCiAKIC0gKEJPT0wpcmVz
aWduRmlyc3RSZXNwb25kZXIKIHsKKyAgICAvLyBQcmVkaWN0IHRoZSBjYXNlIHdoZXJlIHdlIGFy
ZSBsb3NpbmcgZmlyc3QgcmVzcG9uZGVyIHN0YXR1cyBvbmx5IHRvCisgICAgLy8gZ2FpbiBpdCBi
YWNrIGFnYWluLiBXZSB3YW50IHJlc2lnbkZpcnN0UmVzcG9uZGVyIHRvIGRvIG5vdGhpbmcgaW4g
dGhhdCBjYXNlLgorICAgIGlkIG5leHRSZXNwb25kZXIgPSBbW3NlbGYgd2luZG93XSBfbmV3Rmly
c3RSZXNwb25kZXJBZnRlclJlc2lnbmluZ107CisgICAgaWYgKFtuZXh0UmVzcG9uZGVyIGlzS2lu
ZE9mQ2xhc3M6W1dLV2ViVmlldyBjbGFzc11dICYmIFtzZWxmIHN1cGVydmlld10gPT0gbmV4dFJl
c3BvbmRlcikgeworICAgICAgICBfZGF0YS0+X3dpbGxCZWNvbWVGaXJzdFJlc3BvbmRlckFnYWlu
ID0gWUVTOworICAgICAgICByZXR1cm4gWUVTOworICAgIH0KKworICAgIF9kYXRhLT5fd2lsbEJl
Y29tZUZpcnN0UmVzcG9uZGVyQWdhaW4gPSBOTzsKICAgICBfZGF0YS0+X2luUmVzaWduRmlyc3RS
ZXNwb25kZXIgPSB0cnVlOwogCiAjaWYgVVNFKEFTWU5DX05TVEVYVElOUFVUQ0xJRU5UKQo=
</data>
<flag name="review"
          id="275154"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>