<?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>144836</bug_id>
          
          <creation_ts>2015-05-09 17:55:03 -0700</creation_ts>
          <short_desc>Use preview view controller from WebKitSystemInterface.</short_desc>
          <delta_ts>2015-05-10 18:42:43 -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>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yongjun Zhang">yongjun_zhang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1093465</commentid>
    <comment_count>0</comment_count>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2015-05-09 17:55:03 -0700</bug_when>
    <thetext>See title, we should use view controller prepared in WebKitSystemInterface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093466</commentid>
    <comment_count>1</comment_count>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2015-05-09 17:55:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/20735668&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093469</commentid>
    <comment_count>2</comment_count>
      <attachid>252791</attachid>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2015-05-09 18:16:44 -0700</bug_when>
    <thetext>Created attachment 252791
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093481</commentid>
    <comment_count>3</comment_count>
      <attachid>252791</attachid>
    <who name="">mitz</who>
    <bug_when>2015-05-09 19:43:05 -0700</bug_when>
    <thetext>Comment on attachment 252791
Patch.

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

This looks OK to me. I am surprised that the new property is being introduced as API right away rather than SPI. I’d like someone else from Apple to review this aspect.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.h:235
&gt; +@property (nonatomic) BOOL allowsLinkPreview;

This needs WK_AVAILABLE(NA, WK_IOS_TBA).

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h:45
&gt; +#if USE(APPLE_INTERNAL_SDK)
&gt; +#import &lt;WebKitAdditions/LinkPreviewDefines.h&gt;
&gt; +#endif

These lines should move  to a separate paragraph, after the non-conditional imports.

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3116
&gt; +    _previewGestureRecognizer.clear();

We seem to prefer “= nil” to clear().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093548</commentid>
    <comment_count>4</comment_count>
      <attachid>252821</attachid>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2015-05-10 12:12:26 -0700</bug_when>
    <thetext>Created attachment 252821
New patch.

Make allowsLinkPreview a private property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093550</commentid>
    <comment_count>5</comment_count>
      <attachid>252821</attachid>
    <who name="">mitz</who>
    <bug_when>2015-05-10 12:17:00 -0700</bug_when>
    <thetext>Comment on attachment 252821
New patch.

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

&gt; Source/WebKit2/ChangeLog:23
&gt; +        (-[WKContentView previewViewControllerForPosition:inSourceView:]): : For client that doesn&apos;t provide

: :

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:131
&gt; +@property (nonatomic, getter=_allowsLinkPreview, setter=_setAllowsLinkPreview:) BOOL _allowsLinkPreview;

No need for a custom getter here since it’s the same as the property name. Needs WK_AVAILABLE(NA, WK_IOS_TBA).

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h:211
&gt; +
&gt; +- (void)_registerPreviewInWindow:(UIWindow *)window;
&gt; +- (void)_unregisterPreviewInWindow:(UIWindow *)window;

Weird to have a newline before but not after.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093618</commentid>
    <comment_count>6</comment_count>
      <attachid>252831</attachid>
    <who name="Yongjun Zhang">yongjun_zhang</who>
    <bug_when>2015-05-10 17:46:32 -0700</bug_when>
    <thetext>Created attachment 252831
Address review comment for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093630</commentid>
    <comment_count>7</comment_count>
      <attachid>252831</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-10 18:42:38 -0700</bug_when>
    <thetext>Comment on attachment 252831
Address review comment for landing.

Clearing flags on attachment: 252831

Committed r184061: &lt;http://trac.webkit.org/changeset/184061&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093631</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-10 18:42:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252791</attachid>
            <date>2015-05-09 18:16:44 -0700</date>
            <delta_ts>2015-05-10 12:12:26 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>webkit_preview.patch</filename>
            <type>text/plain</type>
            <size>8613</size>
            <attacher name="Yongjun Zhang">yongjun_zhang</attacher>
            
              <data encoding="base64">Y29tbWl0IGQxZGI3ZGJhYWRkNTcxODg4ZTkzZmE1NjU1ODhiOTU0NjhjYWQ2MjAKQXV0aG9yOiBZ
b25nanVuIFpoYW5nIDx5b25nanVuX3poYW5nQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgTWF5IDkg
MTg6MDI6NDggMjAxNSAtMDcwMAoKICAgIFVzZSBwcmV2aWV3IHZpZXcgY29udHJvbGxlciBmcm9t
IFdlYktpdFN5c3RlbUludGVyZmFjZS4KCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2NkNGI3YS4uZjQ5Y2U3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE1LTA1LTA5ICBZb25nanVuIFpoYW5nICA8
eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHByZXZpZXcgdmlldyBjb250
cm9sbGVyIGZyb20gV2ViS2l0U3lzdGVtSW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODM2CisKKyAgICAgICAgQWRkIGEgcHJvcGVy
dHkgYWxsb3dzTGlua1ByZXZpZXcgdG8gV0tXZWJWaWV3IHNvIHRoYXQgd2UgY2FuIHR1cm4gb24v
b2ZmIHByZXZpZXcgYXQgcnVudGltZS4gQWxzbywKKyAgICAgICAgZm9yIGNsaWVudCB0aGF0IGRv
ZXNuJ3QgcHJvdmlkZSBwcmV2aWV3IHZpZXcgY29udHJvbGxlciwgdXNlIHRoZSBkZWZhdWx0IHZp
ZXcgY29udHJvbGxlciBwcmVwYXJlZAorICAgICAgICBieSBXZWJLaXRTeXN0ZW1JbnRlcmZhY2Uu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oOiBBZGQgYWxsb3dzTGlua1ByZXZpZXcgcHJvcGVy
dHkuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dLV2ViVmlldyBpbml0V2l0aEZyYW1lOmNvbmZpZ3VyYXRpb246XSk6IEJ5IGRlZmF1bHQs
IHNldCBfYWxsb3dzTGlua1ByZXZpZXcgdG8gWUVTLgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0
QWxsb3dzTGlua1ByZXZpZXc6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHdpbGxNb3ZlVG9XaW5kb3c6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBfcmVnaXN0ZXJQcmV2aWV3SW5XaW5kb3c6XSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX3VucmVnaXN0ZXJQcmV2aWV3SW5XaW5kb3c6XSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgcHJldmlld1ZpZXdDb250cm9sbGVyRm9yUG9zaXRpb246aW5Tb3VyY2VW
aWV3Ol0pOiBGb3IgY2xpZW50IHRoYXQgZG9lc24ndCBwcm92aWRlCisgICAgICAgICAgICBwcmV2
aWV3IGRlbGVnYXRlLCB1c2UgcHJldmlldyB2aWV3IGNvbnRyb2xsZXIgaW4gV2ViS2l0U3lzdGVt
SW50ZXJmYWNlLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbW1pdFByZXZpZXdWaWV3Q29u
dHJvbGxlcjpdKToKKwogMjAxNS0wNS0wOCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgRml4IHBlcmZvcm1hbmNlIHRlc3RzIGFmdGVyIHIxODM5NTQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCmluZGV4IDI2ZTY3NDAu
LjA5NWJhYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcuaApAQCAtMjI4LDYgKzIyOCwxMSBAQCBXS19DTEFTU19BVkFJTEFCTEUoMTBfMTAsIDhf
MCkKIC8qISBAYWJzdHJhY3QgVGhlIHNjcm9sbCB2aWV3IGFzc29jaWF0ZWQgd2l0aCB0aGUgd2Vi
IHZpZXcuCiAgKi8KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgc3Ryb25nKSBVSVNj
cm9sbFZpZXcgKnNjcm9sbFZpZXc7CisKKy8qISBAYWJzdHJhY3QgQSBCb29sZWFuIHZhbHVlIGlu
ZGljYXRpbmcgd2hldGhlciBsaW5rIHByZXZpZXcgaXMgYWxsb3dlZC4KKyBAZGlzY3Vzc2lvbiBU
aGUgZGVmYXVsdCB2YWx1ZSBpcyBZRVMuCisgKi8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IGFsbG93c0xpbmtQcmV2aWV3OwogI2VuZGlmCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBj
OGIwNDBiLi43YWYwYjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQpAQCAtMzMxLDYgKzMzMSw3IEBAIHN0YXRpYyBpbnQzMl90IGRldmlj
ZU9yaWVudGF0aW9uKCkKICAgICBbc2VsZiBfdXBkYXRlU2Nyb2xsVmlld0JhY2tncm91bmRdOwog
CiAgICAgX3ZpZXdwb3J0TWV0YVRhZ1dpZHRoID0gLTE7CisgICAgX2FsbG93c0xpbmtQcmV2aWV3
ID0gWUVTOwogCiAgICAgW3NlbGYgX2ZyYW1lT3JCb3VuZHNDaGFuZ2VkXTsKIApAQCAtNjUzLDYg
KzY1NCwyMCBAQCBzdGF0aWMgV0tFcnJvckNvZGUgY2FsbGJhY2tFcnJvckNvZGUoV2ViS2l0OjpD
YWxsYmFja0Jhc2U6OkVycm9yIGVycm9yKQogICAgIHJldHVybiBfc2Nyb2xsVmlldy5nZXQoKTsK
IH0KIAorLSAodm9pZClzZXRBbGxvd3NMaW5rUHJldmlldzooQk9PTClhbGxvd3NMaW5rUHJldmll
dworeworICAgIGlmIChfYWxsb3dzTGlua1ByZXZpZXcgPT0gYWxsb3dzTGlua1ByZXZpZXcpCisg
ICAgICAgIHJldHVybjsKKworICAgIF9hbGxvd3NMaW5rUHJldmlldyA9IGFsbG93c0xpbmtQcmV2
aWV3OworI2lmIEhBVkUoTElOS19QUkVWSUVXKQorICAgIGlmIChfYWxsb3dzTGlua1ByZXZpZXcp
CisgICAgICAgIFtfY29udGVudFZpZXcgX3JlZ2lzdGVyUHJldmlld0luV2luZG93OltfY29udGVu
dFZpZXcgd2luZG93XV07CisgICAgZWxzZQorICAgICAgICBbX2NvbnRlbnRWaWV3IF91bnJlZ2lz
dGVyUHJldmlld0luV2luZG93OltfY29udGVudFZpZXcgd2luZG93XV07CisjZW5kaWYKK30KKwog
LSAoV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICopYnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
cgogewogICAgIHJldHVybiBbX2NvbnRlbnRWaWV3IGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJd
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4
IDVjMzYzYmIuLmQ3MzIzNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXcubW0KQEAgLTI2OSwxOSArMjY5LDE3IEBAIHByaXZhdGU6CiAKICAgICBpZiAo
d2luZG93KSB7CiAgICAgICAgIFtkZWZhdWx0Q2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFt
ZTpVSVdpbmRvd0RpZE1vdmVUb1NjcmVlbk5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKLSNp
ZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA5MDAwMAotICAgICAgICBbd2lu
ZG93LnJvb3RWaWV3Q29udHJvbGxlciB1bnJlZ2lzdGVyUHJldmlld1NvdXJjZVZpZXc6c2VsZl07
Ci0gICAgICAgIFtfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRlOm5pbF07Ci0g
ICAgICAgIF9wcmV2aWV3R2VzdHVyZVJlY29nbml6ZXIuY2xlYXIoKTsKKyNpZiBIQVZFKExJTktf
UFJFVklFVykKKyAgICAgICAgaWYgKF93ZWJWaWV3LmFsbG93c0xpbmtQcmV2aWV3KQorICAgICAg
ICAgICAgW3NlbGYgX3VucmVnaXN0ZXJQcmV2aWV3SW5XaW5kb3c6d2luZG93XTsKICNlbmRpZgog
ICAgIH0KIAogICAgIGlmIChuZXdXaW5kb3cpIHsKICAgICAgICAgW2RlZmF1bHRDZW50ZXIgYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZE1vdmVUb1NjcmVlbk5v
dGlmaWNhdGlvbjopIG5hbWU6VUlXaW5kb3dEaWRNb3ZlVG9TY3JlZW5Ob3RpZmljYXRpb24gb2Jq
ZWN0Om5ld1dpbmRvd107Ci0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
OTAwMDAKLSAgICAgICAgW25ld1dpbmRvdy5yb290Vmlld0NvbnRyb2xsZXIgcmVnaXN0ZXJQcmV2
aWV3U291cmNlVmlldzpzZWxmIHByZXZpZXdpbmdEZWxlZ2F0ZTpzZWxmXTsKLSAgICAgICAgX3By
ZXZpZXdHZXN0dXJlUmVjb2duaXplciA9IHNlbGYuZ2VzdHVyZVJlY29nbml6ZXJzLmxhc3RPYmpl
Y3Q7Ci0gICAgICAgIFtfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRlOnNlbGZd
OworI2lmIEhBVkUoTElOS19QUkVWSUVXKQorICAgICAgICBpZiAoX3dlYlZpZXcuYWxsb3dzTGlu
a1ByZXZpZXcpCisgICAgICAgICAgICBbc2VsZiBfcmVnaXN0ZXJQcmV2aWV3SW5XaW5kb3c6bmV3
V2luZG93XTsKICNlbmRpZgogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IDRhYmJlNTYuLjE5
YjU4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtNDAsNiArNDAsOSBAQAogI2ltcG9ydCA8VUlLaXQv
VUlWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zs
b2F0UXVhZC5oPgorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxXZWJLaXRB
ZGRpdGlvbnMvTGlua1ByZXZpZXdEZWZpbmVzLmg+CisjZW5kaWYKICNpbXBvcnQgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KQEAgLTIwMCw4ICsyMDMsMTEgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsK
IC0gKHZvaWQpX2JlY29tZUZpcnN0UmVzcG9uZGVyV2l0aFNlbGVjdGlvbk1vdmluZ0ZvcndhcmQ6
KEJPT0wpc2VsZWN0aW5nRm9yd2FyZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBk
aWRCZWNvbWVGaXJzdFJlc3BvbmRlcikpY29tcGxldGlvbkhhbmRsZXI7CiBAZW5kCiAKLSNpZiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA5MDAwMAorI2lmIEhBVkUoTElOS19Q
UkVWSUVXKQogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IChXS0ludGVyYWN0aW9uUHJldmlldykg
PFVJVmlld0NvbnRyb2xsZXJQcmV2aWV3aW5nRGVsZWdhdGU+CisKKy0gKHZvaWQpX3JlZ2lzdGVy
UHJldmlld0luV2luZG93OihVSVdpbmRvdyAqKXdpbmRvdzsKKy0gKHZvaWQpX3VucmVnaXN0ZXJQ
cmV2aWV3SW5XaW5kb3c6KFVJV2luZG93ICopd2luZG93OwogQGVuZAogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KaW5kZXggNzJlMGE1NS4uODE2Zjc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTYx
LDYgKzYxLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPFdl
YkNvcmUvV2ViRXZlbnQuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJTZWxlY3Rpb25SZWN0Lmg+IC8v
IEZJWE1FOiBXSzIgc2hvdWxkIG5vdCBpbmNsdWRlIFdlYktpdCBoZWFkZXJzIQorI2ltcG9ydCA8
V2ViS2l0U3lzdGVtSW50ZXJmYWNlSU9TLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMzA5NywxMCArMzA5OCwyNCBAQCBzdGF0aWMg
Ym9vbCBpc0Fzc2lzdGFibGVJbnB1dFR5cGUoSW5wdXRUeXBlIHR5cGUpCiAKIEBlbmQKIAotI2lm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkwMDAwCisjaWYgSEFWRShMSU5L
X1BSRVZJRVcpCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0NvbnRlbnRWaWV3IChXS0ludGVyYWN0aW9u
UHJldmlldykKIAorLSAodm9pZClfcmVnaXN0ZXJQcmV2aWV3SW5XaW5kb3c6KFVJV2luZG93ICop
d2luZG93Cit7CisgICAgW3dpbmRvdy5yb290Vmlld0NvbnRyb2xsZXIgcmVnaXN0ZXJQcmV2aWV3
U291cmNlVmlldzpzZWxmIHByZXZpZXdpbmdEZWxlZ2F0ZTpzZWxmXTsKKyAgICBfcHJldmlld0dl
c3R1cmVSZWNvZ25pemVyID0gc2VsZi5nZXN0dXJlUmVjb2duaXplcnMubGFzdE9iamVjdDsKKyAg
ICBbX3ByZXZpZXdHZXN0dXJlUmVjb2duaXplciBzZXREZWxlZ2F0ZTpzZWxmXTsKK30KKworLSAo
dm9pZClfdW5yZWdpc3RlclByZXZpZXdJbldpbmRvdzooVUlXaW5kb3cgKil3aW5kb3cKK3sKKyAg
ICBbd2luZG93LnJvb3RWaWV3Q29udHJvbGxlciB1bnJlZ2lzdGVyUHJldmlld1NvdXJjZVZpZXc6
c2VsZl07CisgICAgW19wcmV2aWV3R2VzdHVyZVJlY29nbml6ZXIgc2V0RGVsZWdhdGU6bmlsXTsK
KyAgICBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyLmNsZWFyKCk7Cit9CisKIC0gKFVJVmlld0Nv
bnRyb2xsZXIgKilwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JQb3NpdGlvbjooQ0dQb2ludClwb3Np
dGlvbiBpblNvdXJjZVZpZXc6KFVJVmlldyAqKXNvdXJjZVZpZXcKIHsKICAgICBBU1NFUlQoc2Vs
ZiA9PSBzb3VyY2VWaWV3KTsKQEAgLTMxMTksMTQgKzMxMzQsMjMgQEAgc3RhdGljIGJvb2wgaXNB
c3Npc3RhYmxlSW5wdXRUeXBlKElucHV0VHlwZSB0eXBlKQogICAgIGlmIChbdWlEZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnByZXZpZXdWaWV3Q29udHJvbGxl
ckZvclVSTDopXSkKICAgICAgICAgcmV0dXJuIFt1aURlbGVnYXRlIF93ZWJWaWV3Ol93ZWJWaWV3
IHByZXZpZXdWaWV3Q29udHJvbGxlckZvclVSTDp0YXJnZXRVUkxdOwogCi0gICAgcmV0dXJuIG5p
bDsKKyAgICByZXR1cm4gV0tHZXRQcmV2aWV3Vmlld0NvbnRyb2xsZXIodGFyZ2V0VVJMKTsKIH0K
IAogLSAodm9pZCljb21taXRQcmV2aWV3Vmlld0NvbnRyb2xsZXI6KFVJVmlld0NvbnRyb2xsZXIg
Kil2aWV3Q29udHJvbGxlcgogewogICAgIGlkPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdh
dGUgPSBzdGF0aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KFtfd2ViVmlldyBVSURl
bGVnYXRlXSk7Ci0gICAgaWYgKFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3IoX3dlYlZpZXc6Y29tbWl0UHJldmlld2VkVmlld0NvbnRyb2xsZXI6KV0pCisgICAgaWYgKFt1
aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29tbWl0UHJl
dmlld2VkVmlld0NvbnRyb2xsZXI6KV0pIHsKICAgICAgICAgW3VpRGVsZWdhdGUgX3dlYlZpZXc6
X3dlYlZpZXcgY29tbWl0UHJldmlld2VkVmlld0NvbnRyb2xsZXI6dmlld0NvbnRyb2xsZXJdOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgVUlWaWV3Q29udHJvbGxlciAqcHJlc2VudGlu
Z1ZpZXdDb250cm9sbGVyID0gdmlld0NvbnRyb2xsZXIucHJlc2VudGluZ1ZpZXdDb250cm9sbGVy
ID86IHNlbGYud2luZG93LnJvb3RWaWV3Q29udHJvbGxlcjsKKyAgICBXS1dpbGxDb21taXRQcmV2
aWV3Vmlld0NvbnRyb2xsZXIodmlld0NvbnRyb2xsZXIpOworCisgICAgdmlld0NvbnRyb2xsZXIu
dHJhbnNpdGlvbmluZ0RlbGVnYXRlID0gbmlsOworICAgIHZpZXdDb250cm9sbGVyLm1vZGFsUHJl
c2VudGF0aW9uU3R5bGUgPSBVSU1vZGFsUHJlc2VudGF0aW9uRnVsbFNjcmVlbjsKKyAgICBbcHJl
c2VudGluZ1ZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxlcjp2aWV3Q29udHJvbGxl
ciBhbmltYXRlZDpOTyBjb21wbGV0aW9uOm5pbF07CiB9CiAKIC0gKHZvaWQpd2lsbFByZXNlbnRQ
cmV2aWV3Vmlld0NvbnRyb2xsZXI6KFVJVmlld0NvbnRyb2xsZXIgKil2aWV3Q29udHJvbGxlciBm
b3JQb3NpdGlvbjooQ0dQb2ludClwb3NpdGlvbiBpblNvdXJjZVZpZXc6KFVJVmlldyAqKXNvdXJj
ZVZpZXcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252821</attachid>
            <date>2015-05-10 12:12:26 -0700</date>
            <delta_ts>2015-05-10 17:46:32 -0700</delta_ts>
            <desc>New patch.</desc>
            <filename>webkit_linkpreview.patch</filename>
            <type>text/plain</type>
            <size>8971</size>
            <attacher name="Yongjun Zhang">yongjun_zhang</attacher>
            
              <data encoding="base64">Y29tbWl0IDhiMmYyMWU0MzQ2NzJmZTJhZmNmMWRkNjE2NjgxYzFhNzc0MWRhZmUKQXV0aG9yOiBZ
b25nanVuIFpoYW5nIDx5b25nanVuX3poYW5nQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgTWF5IDkg
MTg6MDI6NDggMjAxNSAtMDcwMAoKICAgIFVzZSBwcmV2aWV3IHZpZXcgY29udHJvbGxlciBmcm9t
IFdlYktpdFN5c3RlbUludGVyZmFjZS4KCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2NkNGI3YS4uYTljYjVhZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA1LTEwICBZb25nanVuIFpoYW5nICA8
eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHByZXZpZXcgdmlldyBjb250
cm9sbGVyIGZyb20gV2ViS2l0U3lzdGVtSW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODM2CisKKyAgICAgICAgQWRkIGEgcHJvcGVy
dHkgX2FsbG93c0xpbmtQcmV2aWV3IHRvIFdLV2ViVmlldyBzbyB0aGF0IHdlIGNhbiB0dXJuIG9u
L29mZiBwcmV2aWV3IGF0IHJ1bnRpbWUuIEFsc28sCisgICAgICAgIGZvciBjbGllbnQgdGhhdCBk
b2Vzbid0IHByb3ZpZGUgcHJldmlldyB2aWV3IGNvbnRyb2xsZXIsIHVzZSB0aGUgZGVmYXVsdCB2
aWV3IGNvbnRyb2xsZXIgcHJlcGFyZWQKKyAgICAgICAgYnkgV2ViS2l0U3lzdGVtSW50ZXJmYWNl
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBpbml0
V2l0aEZyYW1lOmNvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfYWxsb3dz
TGlua1ByZXZpZXddKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRBbGxvd3NMaW5rUHJldmll
dzpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDog
QWRkIF9hbGxvd3NMaW5rUHJldmlldyBwcm9wZXJ0eQorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlldy5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB3aWxsTW92ZVRvV2lu
ZG93Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3JlZ2lzdGVyUHJldmlld0luV2luZG93Ol0pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91bnJlZ2lzdGVyUHJldmlld0luV2luZG93Ol0pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHByZXZpZXdWaWV3Q29udHJvbGxlckZvclBvc2l0aW9u
OmluU291cmNlVmlldzpdKTogOiBGb3IgY2xpZW50IHRoYXQgZG9lc24ndCBwcm92aWRlCisgICAg
ICAgICAgICBwcmV2aWV3IGRlbGVnYXRlLCB1c2UgcHJldmlldyB2aWV3IGNvbnRyb2xsZXIgaW4g
V2ViS2l0U3lzdGVtSW50ZXJmYWNlLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbW1pdFBy
ZXZpZXdWaWV3Q29udHJvbGxlcjpdKToKKwogMjAxNS0wNS0wOCAgQmV0aCBEYWtpbiAgPGJkYWtp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHBlcmZvcm1hbmNlIHRlc3RzIGFmdGVyIHIxODM5
NTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
aW5kZXggYzhiMDQwYi4uYzlhMTI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE2OSw2ICsxNjksNyBAQCBXS1dlYlZpZXcqIGZy
b21XZWJQYWdlUHJveHkoV2ViS2l0OjpXZWJQYWdlUHJveHkmIHBhZ2UpCiAgICAgQ0dTaXplIF9t
YXhpbXVtVW5vYnNjdXJlZFNpemVPdmVycmlkZTsKICAgICBDR1JlY3QgX2lucHV0Vmlld0JvdW5k
czsKICAgICBDR0Zsb2F0IF92aWV3cG9ydE1ldGFUYWdXaWR0aDsKKyAgICBCT09MIF9hbGxvd3NM
aW5rUHJldmlldzsKIAogICAgIFVJRWRnZUluc2V0cyBfb2JzY3VyZWRJbnNldHM7CiAgICAgQk9P
TCBfaGF2ZVNldE9ic2N1cmVkSW5zZXRzOwpAQCAtMzMxLDYgKzMzMiw3IEBAIHN0YXRpYyBpbnQz
Ml90IGRldmljZU9yaWVudGF0aW9uKCkKICAgICBbc2VsZiBfdXBkYXRlU2Nyb2xsVmlld0JhY2tn
cm91bmRdOwogCiAgICAgX3ZpZXdwb3J0TWV0YVRhZ1dpZHRoID0gLTE7CisgICAgX2FsbG93c0xp
bmtQcmV2aWV3ID0gWUVTOwogCiAgICAgW3NlbGYgX2ZyYW1lT3JCb3VuZHNDaGFuZ2VkXTsKIApA
QCAtMjc5Niw2ICsyNzk4LDI1IEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9ucyB0
b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAgICAgcmV0dXJuIChf
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIgKil2aWV3UHJpbnRGb3JtYXR0ZXI7CiB9CiAKKy0gKEJP
T0wpX2FsbG93c0xpbmtQcmV2aWV3Cit7CisgICAgcmV0dXJuIF9hbGxvd3NMaW5rUHJldmlldzsK
K30KKworLSAodm9pZClfc2V0QWxsb3dzTGlua1ByZXZpZXc6KEJPT0wpYWxsb3dzTGlua1ByZXZp
ZXcKK3sKKyAgICBpZiAoX2FsbG93c0xpbmtQcmV2aWV3ID09IGFsbG93c0xpbmtQcmV2aWV3KQor
ICAgICAgICByZXR1cm47CisKKyAgICBfYWxsb3dzTGlua1ByZXZpZXcgPSBhbGxvd3NMaW5rUHJl
dmlldzsKKyNpZiBIQVZFKExJTktfUFJFVklFVykKKyAgICBpZiAoX2FsbG93c0xpbmtQcmV2aWV3
KQorICAgICAgICBbX2NvbnRlbnRWaWV3IF9yZWdpc3RlclByZXZpZXdJbldpbmRvdzpbX2NvbnRl
bnRWaWV3IHdpbmRvd11dOworICAgIGVsc2UKKyAgICAgICAgW19jb250ZW50VmlldyBfdW5yZWdp
c3RlclByZXZpZXdJbldpbmRvdzpbX2NvbnRlbnRWaWV3IHdpbmRvd11dOworI2VuZGlmCit9CisK
ICNlbHNlCiAKICNwcmFnbWEgbWFyayAtIE9TIFgtc3BlY2lmaWMgbWV0aG9kcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApp
bmRleCBhNzY4ZTBhLi5iZWEzMGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMTI3LDYgKzEyNyw5IEBAIHR5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS1BhZ2luYXRpb25Nb2RlKSB7CiAKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyICpfd2ViVmll
d1ByaW50Rm9ybWF0dGVyOwogCisvLyBJbmRpY2F0aW5nIHdoZXRoZXIgbGluayBwcmV2aWV3IGlz
IGFsbG93ZWQuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIFlFUy4KK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBnZXR0ZXI9X2FsbG93c0xpbmtQcmV2aWV3LCBzZXR0ZXI9X3NldEFsbG93c0xpbmtQcmV2aWV3
OikgQk9PTCBfYWxsb3dzTGlua1ByZXZpZXc7CisKIC0gKHZvaWQpX2JlZ2luSW50ZXJhY3RpdmVP
YnNjdXJlZEluc2V0c0NoYW5nZTsKIC0gKHZvaWQpX2VuZEludGVyYWN0aXZlT2JzY3VyZWRJbnNl
dHNDaGFuZ2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
dy5tbQppbmRleCA1YzM2M2JiLi5hOWYwYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0yNjksMTkgKzI2OSwxNyBAQCBwcml2YXRlOgog
CiAgICAgaWYgKHdpbmRvdykgewogICAgICAgICBbZGVmYXVsdENlbnRlciByZW1vdmVPYnNlcnZl
cjpzZWxmIG5hbWU6VUlXaW5kb3dEaWRNb3ZlVG9TY3JlZW5Ob3RpZmljYXRpb24gb2JqZWN0Ondp
bmRvd107Ci0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gOTAwMDAKLSAg
ICAgICAgW3dpbmRvdy5yb290Vmlld0NvbnRyb2xsZXIgdW5yZWdpc3RlclByZXZpZXdTb3VyY2VW
aWV3OnNlbGZdOwotICAgICAgICBbX3ByZXZpZXdHZXN0dXJlUmVjb2duaXplciBzZXREZWxlZ2F0
ZTpuaWxdOwotICAgICAgICBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyLmNsZWFyKCk7CisjaWYg
SEFWRShMSU5LX1BSRVZJRVcpCisgICAgICAgIGlmIChfd2ViVmlldy5fYWxsb3dzTGlua1ByZXZp
ZXcpCisgICAgICAgICAgICBbc2VsZiBfdW5yZWdpc3RlclByZXZpZXdJbldpbmRvdzp3aW5kb3dd
OwogI2VuZGlmCiAgICAgfQogCiAgICAgaWYgKG5ld1dpbmRvdykgewogICAgICAgICBbZGVmYXVs
dENlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkTW92
ZVRvU2NyZWVuTm90aWZpY2F0aW9uOikgbmFtZTpVSVdpbmRvd0RpZE1vdmVUb1NjcmVlbk5vdGlm
aWNhdGlvbiBvYmplY3Q6bmV3V2luZG93XTsKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSA5MDAwMAotICAgICAgICBbbmV3V2luZG93LnJvb3RWaWV3Q29udHJvbGxlciBy
ZWdpc3RlclByZXZpZXdTb3VyY2VWaWV3OnNlbGYgcHJldmlld2luZ0RlbGVnYXRlOnNlbGZdOwot
ICAgICAgICBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyID0gc2VsZi5nZXN0dXJlUmVjb2duaXpl
cnMubGFzdE9iamVjdDsKLSAgICAgICAgW19wcmV2aWV3R2VzdHVyZVJlY29nbml6ZXIgc2V0RGVs
ZWdhdGU6c2VsZl07CisjaWYgSEFWRShMSU5LX1BSRVZJRVcpCisgICAgICAgIGlmIChfd2ViVmll
dy5fYWxsb3dzTGlua1ByZXZpZXcpCisgICAgICAgICAgICBbc2VsZiBfcmVnaXN0ZXJQcmV2aWV3
SW5XaW5kb3c6bmV3V2luZG93XTsKICNlbmRpZgogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4
IDRhYmJlNTYuLmVmMTEyZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtNDQsNiArNDQsMTAgQEAKICNp
bXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9MaW5r
UHJldmlld0RlZmluZXMuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBD
b2xvcjsKIGNsYXNzIEZsb2F0UXVhZDsKQEAgLTIwMCw4ICsyMDQsMTEgQEAgc3RydWN0IFdLQXV0
b0NvcnJlY3Rpb25EYXRhIHsKIC0gKHZvaWQpX2JlY29tZUZpcnN0UmVzcG9uZGVyV2l0aFNlbGVj
dGlvbk1vdmluZ0ZvcndhcmQ6KEJPT0wpc2VsZWN0aW5nRm9yd2FyZCBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoQk9PTCBkaWRCZWNvbWVGaXJzdFJlc3BvbmRlcikpY29tcGxldGlvbkhhbmRs
ZXI7CiBAZW5kCiAKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA5MDAw
MAorI2lmIEhBVkUoTElOS19QUkVWSUVXKQogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IChXS0lu
dGVyYWN0aW9uUHJldmlldykgPFVJVmlld0NvbnRyb2xsZXJQcmV2aWV3aW5nRGVsZWdhdGU+CisK
Ky0gKHZvaWQpX3JlZ2lzdGVyUHJldmlld0luV2luZG93OihVSVdpbmRvdyAqKXdpbmRvdzsKKy0g
KHZvaWQpX3VucmVnaXN0ZXJQcmV2aWV3SW5XaW5kb3c6KFVJV2luZG93ICopd2luZG93OwogQGVu
ZAogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggNzJlMGE1NS4uZjhiMTI5MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KQEAgLTYxLDYgKzYxLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtp
bmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViRXZlbnQuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJT
ZWxlY3Rpb25SZWN0Lmg+IC8vIEZJWE1FOiBXSzIgc2hvdWxkIG5vdCBpbmNsdWRlIFdlYktpdCBo
ZWFkZXJzIQorI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlSU9TLmg+CiAjaW1wb3J0IDx3
dGYvUmV0YWluUHRyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMzA5NywxMCAr
MzA5OCwyNCBAQCBzdGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJbnB1dFR5cGUoSW5wdXRUeXBlIHR5
cGUpCiAKIEBlbmQKIAotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDkw
MDAwCisjaWYgSEFWRShMSU5LX1BSRVZJRVcpCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0NvbnRlbnRW
aWV3IChXS0ludGVyYWN0aW9uUHJldmlldykKIAorLSAodm9pZClfcmVnaXN0ZXJQcmV2aWV3SW5X
aW5kb3c6KFVJV2luZG93ICopd2luZG93Cit7CisgICAgW3dpbmRvdy5yb290Vmlld0NvbnRyb2xs
ZXIgcmVnaXN0ZXJQcmV2aWV3U291cmNlVmlldzpzZWxmIHByZXZpZXdpbmdEZWxlZ2F0ZTpzZWxm
XTsKKyAgICBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyID0gc2VsZi5nZXN0dXJlUmVjb2duaXpl
cnMubGFzdE9iamVjdDsKKyAgICBbX3ByZXZpZXdHZXN0dXJlUmVjb2duaXplciBzZXREZWxlZ2F0
ZTpzZWxmXTsKK30KKworLSAodm9pZClfdW5yZWdpc3RlclByZXZpZXdJbldpbmRvdzooVUlXaW5k
b3cgKil3aW5kb3cKK3sKKyAgICBbd2luZG93LnJvb3RWaWV3Q29udHJvbGxlciB1bnJlZ2lzdGVy
UHJldmlld1NvdXJjZVZpZXc6c2VsZl07CisgICAgW19wcmV2aWV3R2VzdHVyZVJlY29nbml6ZXIg
c2V0RGVsZWdhdGU6bmlsXTsKKyAgICBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyID0gbmlsOwor
fQorCiAtIChVSVZpZXdDb250cm9sbGVyICopcHJldmlld1ZpZXdDb250cm9sbGVyRm9yUG9zaXRp
b246KENHUG9pbnQpcG9zaXRpb24gaW5Tb3VyY2VWaWV3OihVSVZpZXcgKilzb3VyY2VWaWV3CiB7
CiAgICAgQVNTRVJUKHNlbGYgPT0gc291cmNlVmlldyk7CkBAIC0zMTE5LDE0ICszMTM0LDIzIEBA
IHN0YXRpYyBib29sIGlzQXNzaXN0YWJsZUlucHV0VHlwZShJbnB1dFR5cGUgdHlwZSkKICAgICBp
ZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpwcmV2
aWV3Vmlld0NvbnRyb2xsZXJGb3JVUkw6KV0pCiAgICAgICAgIHJldHVybiBbdWlEZWxlZ2F0ZSBf
d2ViVmlldzpfd2ViVmlldyBwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JVUkw6dGFyZ2V0VVJMXTsK
IAotICAgIHJldHVybiBuaWw7CisgICAgcmV0dXJuIFdLR2V0UHJldmlld1ZpZXdDb250cm9sbGVy
KHRhcmdldFVSTCk7CiB9CiAKIC0gKHZvaWQpY29tbWl0UHJldmlld1ZpZXdDb250cm9sbGVyOihV
SVZpZXdDb250cm9sbGVyICopdmlld0NvbnRyb2xsZXIKIHsKICAgICBpZDxXS1VJRGVsZWdhdGVQ
cml2YXRlPiB1aURlbGVnYXRlID0gc3RhdGljX2Nhc3Q8aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+
PihbX3dlYlZpZXcgVUlEZWxlZ2F0ZV0pOwotICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmNvbW1pdFByZXZpZXdlZFZpZXdDb250cm9sbGVy
OildKQorICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93
ZWJWaWV3OmNvbW1pdFByZXZpZXdlZFZpZXdDb250cm9sbGVyOildKSB7CiAgICAgICAgIFt1aURl
bGVnYXRlIF93ZWJWaWV3Ol93ZWJWaWV3IGNvbW1pdFByZXZpZXdlZFZpZXdDb250cm9sbGVyOnZp
ZXdDb250cm9sbGVyXTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFVJVmlld0NvbnRy
b2xsZXIgKnByZXNlbnRpbmdWaWV3Q29udHJvbGxlciA9IHZpZXdDb250cm9sbGVyLnByZXNlbnRp
bmdWaWV3Q29udHJvbGxlciA/OiBzZWxmLndpbmRvdy5yb290Vmlld0NvbnRyb2xsZXI7CisgICAg
V0tXaWxsQ29tbWl0UHJldmlld1ZpZXdDb250cm9sbGVyKHZpZXdDb250cm9sbGVyKTsKKworICAg
IHZpZXdDb250cm9sbGVyLnRyYW5zaXRpb25pbmdEZWxlZ2F0ZSA9IG5pbDsKKyAgICB2aWV3Q29u
dHJvbGxlci5tb2RhbFByZXNlbnRhdGlvblN0eWxlID0gVUlNb2RhbFByZXNlbnRhdGlvbkZ1bGxT
Y3JlZW47CisgICAgW3ByZXNlbnRpbmdWaWV3Q29udHJvbGxlciBwcmVzZW50Vmlld0NvbnRyb2xs
ZXI6dmlld0NvbnRyb2xsZXIgYW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpuaWxdOwogfQogCiAtICh2
b2lkKXdpbGxQcmVzZW50UHJldmlld1ZpZXdDb250cm9sbGVyOihVSVZpZXdDb250cm9sbGVyICop
dmlld0NvbnRyb2xsZXIgZm9yUG9zaXRpb246KENHUG9pbnQpcG9zaXRpb24gaW5Tb3VyY2VWaWV3
OihVSVZpZXcgKilzb3VyY2VWaWV3Cg==
</data>
<flag name="review"
          id="277668"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252831</attachid>
            <date>2015-05-10 17:46:32 -0700</date>
            <delta_ts>2015-05-10 18:42:38 -0700</delta_ts>
            <desc>Address review comment for landing.</desc>
            <filename>webkit_linkpreview.patch</filename>
            <type>text/plain</type>
            <size>8999</size>
            <attacher name="Yongjun Zhang">yongjun_zhang</attacher>
            
              <data encoding="base64">Y29tbWl0IGU5NmVmZTdkMThlMWJjM2M3NWNiNjllZjNmZTVjYTVjMWE2YjU3YzAKQXV0aG9yOiBZ
b25nanVuIFpoYW5nIDx5b25nanVuX3poYW5nQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgTWF5IDkg
MTg6MDI6NDggMjAxNSAtMDcwMAoKICAgIFVzZSBwcmV2aWV3IHZpZXcgY29udHJvbGxlciBmcm9t
IFdlYktpdFN5c3RlbUludGVyZmFjZS4KCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2NkNGI3YS4uMWMzMGIzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA1LTEwICBZb25nanVuIFpoYW5nICA8
eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHByZXZpZXcgdmlldyBjb250
cm9sbGVyIGZyb20gV2ViS2l0U3lzdGVtSW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODM2CisKKyAgICAgICAgQWRkIGEgcHJvcGVy
dHkgX2FsbG93c0xpbmtQcmV2aWV3IHRvIFdLV2ViVmlldyBzbyB0aGF0IHdlIGNhbiB0dXJuIG9u
L29mZiBwcmV2aWV3IGF0IHJ1bnRpbWUuIEFsc28sCisgICAgICAgIGZvciBjbGllbnQgdGhhdCBk
b2Vzbid0IHByb3ZpZGUgcHJldmlldyB2aWV3IGNvbnRyb2xsZXIsIHVzZSB0aGUgZGVmYXVsdCB2
aWV3IGNvbnRyb2xsZXIgcHJlcGFyZWQKKyAgICAgICAgYnkgV2ViS2l0U3lzdGVtSW50ZXJmYWNl
LgorCisgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGluaXRX
aXRoRnJhbWU6Y29uZmlndXJhdGlvbjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9hbGxvd3NM
aW5rUHJldmlld10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldEFsbG93c0xpbmtQcmV2aWV3
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOiBB
ZGQgX2FsbG93c0xpbmtQcmV2aWV3IHByb3BlcnR5CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHdpbGxNb3ZlVG9XaW5k
b3c6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToK
KyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVnaXN0ZXJQcmV2aWV3SW5XaW5kb3c6XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgX3VucmVnaXN0ZXJQcmV2aWV3SW5XaW5kb3c6XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgcHJldmlld1ZpZXdDb250cm9sbGVyRm9yUG9zaXRpb246
aW5Tb3VyY2VWaWV3Ol0pOiA6IEZvciBjbGllbnQgdGhhdCBkb2Vzbid0IHByb3ZpZGUKKyAgICAg
ICAgICAgIHByZXZpZXcgZGVsZWdhdGUsIHVzZSBwcmV2aWV3IHZpZXcgY29udHJvbGxlciBpbiBX
ZWJLaXRTeXN0ZW1JbnRlcmZhY2UuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY29tbWl0UHJl
dmlld1ZpZXdDb250cm9sbGVyOl0pOgorCiAyMDE1LTA1LTA4ICBCZXRoIERha2luICA8YmRha2lu
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggcGVyZm9ybWFuY2UgdGVzdHMgYWZ0ZXIgcjE4Mzk1
NApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpp
bmRleCBjOGIwNDBiLi5jOWExMjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMTY5LDYgKzE2OSw3IEBAIFdLV2ViVmlldyogZnJv
bVdlYlBhZ2VQcm94eShXZWJLaXQ6OldlYlBhZ2VQcm94eSYgcGFnZSkKICAgICBDR1NpemUgX21h
eGltdW1Vbm9ic2N1cmVkU2l6ZU92ZXJyaWRlOwogICAgIENHUmVjdCBfaW5wdXRWaWV3Qm91bmRz
OwogICAgIENHRmxvYXQgX3ZpZXdwb3J0TWV0YVRhZ1dpZHRoOworICAgIEJPT0wgX2FsbG93c0xp
bmtQcmV2aWV3OwogCiAgICAgVUlFZGdlSW5zZXRzIF9vYnNjdXJlZEluc2V0czsKICAgICBCT09M
IF9oYXZlU2V0T2JzY3VyZWRJbnNldHM7CkBAIC0zMzEsNiArMzMyLDcgQEAgc3RhdGljIGludDMy
X3QgZGV2aWNlT3JpZW50YXRpb24oKQogICAgIFtzZWxmIF91cGRhdGVTY3JvbGxWaWV3QmFja2dy
b3VuZF07CiAKICAgICBfdmlld3BvcnRNZXRhVGFnV2lkdGggPSAtMTsKKyAgICBfYWxsb3dzTGlu
a1ByZXZpZXcgPSBZRVM7CiAKICAgICBbc2VsZiBfZnJhbWVPckJvdW5kc0NoYW5nZWRdOwogCkBA
IC0yNzk2LDYgKzI3OTgsMjUgQEAgc3RhdGljIGlubGluZSBXZWJLaXQ6OkZpbmRPcHRpb25zIHRv
RmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kT3B0aW9ucykKICAgICByZXR1cm4gKF9X
S1dlYlZpZXdQcmludEZvcm1hdHRlciAqKXZpZXdQcmludEZvcm1hdHRlcjsKIH0KIAorLSAoQk9P
TClfYWxsb3dzTGlua1ByZXZpZXcKK3sKKyAgICByZXR1cm4gX2FsbG93c0xpbmtQcmV2aWV3Owor
fQorCistICh2b2lkKV9zZXRBbGxvd3NMaW5rUHJldmlldzooQk9PTClhbGxvd3NMaW5rUHJldmll
dworeworICAgIGlmIChfYWxsb3dzTGlua1ByZXZpZXcgPT0gYWxsb3dzTGlua1ByZXZpZXcpCisg
ICAgICAgIHJldHVybjsKKworICAgIF9hbGxvd3NMaW5rUHJldmlldyA9IGFsbG93c0xpbmtQcmV2
aWV3OworI2lmIEhBVkUoTElOS19QUkVWSUVXKQorICAgIGlmIChfYWxsb3dzTGlua1ByZXZpZXcp
CisgICAgICAgIFtfY29udGVudFZpZXcgX3JlZ2lzdGVyUHJldmlld0luV2luZG93OltfY29udGVu
dFZpZXcgd2luZG93XV07CisgICAgZWxzZQorICAgICAgICBbX2NvbnRlbnRWaWV3IF91bnJlZ2lz
dGVyUHJldmlld0luV2luZG93OltfY29udGVudFZpZXcgd2luZG93XV07CisjZW5kaWYKK30KKwog
I2Vsc2UKIAogI3ByYWdtYSBtYXJrIC0gT1MgWC1zcGVjaWZpYyBtZXRob2RzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmlu
ZGV4IGE3NjhlMGEuLmFjNTkxNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0xMjcsNiArMTI3LDkgQEAgdHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLUGFnaW5hdGlvbk1vZGUpIHsKIAogQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIgKl93ZWJWaWV3
UHJpbnRGb3JtYXR0ZXI7CiAKKy8vIEluZGljYXRpbmcgd2hldGhlciBsaW5rIHByZXZpZXcgaXMg
YWxsb3dlZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgWUVTLgorQHByb3BlcnR5IChub25hdG9taWMs
IGdldHRlcj1fYWxsb3dzTGlua1ByZXZpZXcsIHNldHRlcj1fc2V0QWxsb3dzTGlua1ByZXZpZXc6
KSBCT09MIF9hbGxvd3NMaW5rUHJldmlldyBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOwor
CiAtICh2b2lkKV9iZWdpbkludGVyYWN0aXZlT2JzY3VyZWRJbnNldHNDaGFuZ2U7CiAtICh2b2lk
KV9lbmRJbnRlcmFjdGl2ZU9ic2N1cmVkSW5zZXRzQ2hhbmdlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggNWMzNjNiYi4uYTlmMGI1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQpAQCAt
MjY5LDE5ICsyNjksMTcgQEAgcHJpdmF0ZToKIAogICAgIGlmICh3aW5kb3cpIHsKICAgICAgICAg
W2RlZmF1bHRDZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOlVJV2luZG93RGlkTW92ZVRv
U2NyZWVuTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwotI2lmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDkwMDAwCi0gICAgICAgIFt3aW5kb3cucm9vdFZpZXdDb250cm9s
bGVyIHVucmVnaXN0ZXJQcmV2aWV3U291cmNlVmlldzpzZWxmXTsKLSAgICAgICAgW19wcmV2aWV3
R2VzdHVyZVJlY29nbml6ZXIgc2V0RGVsZWdhdGU6bmlsXTsKLSAgICAgICAgX3ByZXZpZXdHZXN0
dXJlUmVjb2duaXplci5jbGVhcigpOworI2lmIEhBVkUoTElOS19QUkVWSUVXKQorICAgICAgICBp
ZiAoX3dlYlZpZXcuX2FsbG93c0xpbmtQcmV2aWV3KQorICAgICAgICAgICAgW3NlbGYgX3VucmVn
aXN0ZXJQcmV2aWV3SW5XaW5kb3c6d2luZG93XTsKICNlbmRpZgogICAgIH0KIAogICAgIGlmIChu
ZXdXaW5kb3cpIHsKICAgICAgICAgW2RlZmF1bHRDZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxl
Y3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZE1vdmVUb1NjcmVlbk5vdGlmaWNhdGlvbjopIG5hbWU6
VUlXaW5kb3dEaWRNb3ZlVG9TY3JlZW5Ob3RpZmljYXRpb24gb2JqZWN0Om5ld1dpbmRvd107Ci0j
aWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gOTAwMDAKLSAgICAgICAgW25l
d1dpbmRvdy5yb290Vmlld0NvbnRyb2xsZXIgcmVnaXN0ZXJQcmV2aWV3U291cmNlVmlldzpzZWxm
IHByZXZpZXdpbmdEZWxlZ2F0ZTpzZWxmXTsKLSAgICAgICAgX3ByZXZpZXdHZXN0dXJlUmVjb2du
aXplciA9IHNlbGYuZ2VzdHVyZVJlY29nbml6ZXJzLmxhc3RPYmplY3Q7Ci0gICAgICAgIFtfcHJl
dmlld0dlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRlOnNlbGZdOworI2lmIEhBVkUoTElOS19Q
UkVWSUVXKQorICAgICAgICBpZiAoX3dlYlZpZXcuX2FsbG93c0xpbmtQcmV2aWV3KQorICAgICAg
ICAgICAgW3NlbGYgX3JlZ2lzdGVyUHJldmlld0luV2luZG93Om5ld1dpbmRvd107CiAjZW5kaWYK
ICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCA0YWJiZTU2Li5lZjExMmY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLmgKQEAgLTQ0LDYgKzQ0LDEwIEBACiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvTGlua1ByZXZpZXdEZWZpbmVzLmg+CisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ29sb3I7CiBjbGFzcyBGbG9hdFF1YWQ7CkBAIC0y
MDAsOCArMjA0LDExIEBAIHN0cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0YSB7CiAtICh2b2lkKV9i
ZWNvbWVGaXJzdFJlc3BvbmRlcldpdGhTZWxlY3Rpb25Nb3ZpbmdGb3J3YXJkOihCT09MKXNlbGVj
dGluZ0ZvcndhcmQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgZGlkQmVjb21lRmly
c3RSZXNwb25kZXIpKWNvbXBsZXRpb25IYW5kbGVyOwogQGVuZAogCi0jaWYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gOTAwMDAKKyNpZiBIQVZFKExJTktfUFJFVklFVykKIEBp
bnRlcmZhY2UgV0tDb250ZW50VmlldyAoV0tJbnRlcmFjdGlvblByZXZpZXcpIDxVSVZpZXdDb250
cm9sbGVyUHJldmlld2luZ0RlbGVnYXRlPgorCistICh2b2lkKV9yZWdpc3RlclByZXZpZXdJbldp
bmRvdzooVUlXaW5kb3cgKil3aW5kb3c7CistICh2b2lkKV91bnJlZ2lzdGVyUHJldmlld0luV2lu
ZG93OihVSVdpbmRvdyAqKXdpbmRvdzsKIEBlbmQKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmlu
ZGV4IDcyZTBhNTUuLmY4YjEyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC02MSw2ICs2MSw3IEBA
CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkV2
ZW50Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViU2VsZWN0aW9uUmVjdC5oPiAvLyBGSVhNRTogV0sy
IHNob3VsZCBub3QgaW5jbHVkZSBXZWJLaXQgaGVhZGVycyEKKyNpbXBvcnQgPFdlYktpdFN5c3Rl
bUludGVyZmFjZUlPUy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKQEAgLTMwOTcsMTAgKzMwOTgsMjQgQEAgc3RhdGljIGJvb2wgaXNBc3Np
c3RhYmxlSW5wdXRUeXBlKElucHV0VHlwZSB0eXBlKQogCiBAZW5kCiAKLSNpZiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA5MDAwMAorI2lmIEhBVkUoTElOS19QUkVWSUVXKQog
CiBAaW1wbGVtZW50YXRpb24gV0tDb250ZW50VmlldyAoV0tJbnRlcmFjdGlvblByZXZpZXcpCiAK
Ky0gKHZvaWQpX3JlZ2lzdGVyUHJldmlld0luV2luZG93OihVSVdpbmRvdyAqKXdpbmRvdworewor
ICAgIFt3aW5kb3cucm9vdFZpZXdDb250cm9sbGVyIHJlZ2lzdGVyUHJldmlld1NvdXJjZVZpZXc6
c2VsZiBwcmV2aWV3aW5nRGVsZWdhdGU6c2VsZl07CisgICAgX3ByZXZpZXdHZXN0dXJlUmVjb2du
aXplciA9IHNlbGYuZ2VzdHVyZVJlY29nbml6ZXJzLmxhc3RPYmplY3Q7CisgICAgW19wcmV2aWV3
R2VzdHVyZVJlY29nbml6ZXIgc2V0RGVsZWdhdGU6c2VsZl07Cit9CisKKy0gKHZvaWQpX3VucmVn
aXN0ZXJQcmV2aWV3SW5XaW5kb3c6KFVJV2luZG93ICopd2luZG93Cit7CisgICAgW3dpbmRvdy5y
b290Vmlld0NvbnRyb2xsZXIgdW5yZWdpc3RlclByZXZpZXdTb3VyY2VWaWV3OnNlbGZdOworICAg
IFtfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRlOm5pbF07CisgICAgX3ByZXZp
ZXdHZXN0dXJlUmVjb2duaXplciA9IG5pbDsKK30KKwogLSAoVUlWaWV3Q29udHJvbGxlciAqKXBy
ZXZpZXdWaWV3Q29udHJvbGxlckZvclBvc2l0aW9uOihDR1BvaW50KXBvc2l0aW9uIGluU291cmNl
VmlldzooVUlWaWV3ICopc291cmNlVmlldwogewogICAgIEFTU0VSVChzZWxmID09IHNvdXJjZVZp
ZXcpOwpAQCAtMzExOSwxNCArMzEzNCwyMyBAQCBzdGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJbnB1
dFR5cGUoSW5wdXRUeXBlIHR5cGUpCiAgICAgaWYgKFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cHJldmlld1ZpZXdDb250cm9sbGVyRm9yVVJMOildKQog
ICAgICAgICByZXR1cm4gW3VpRGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcgcHJldmlld1ZpZXdD
b250cm9sbGVyRm9yVVJMOnRhcmdldFVSTF07CiAKLSAgICByZXR1cm4gbmlsOworICAgIHJldHVy
biBXS0dldFByZXZpZXdWaWV3Q29udHJvbGxlcih0YXJnZXRVUkwpOwogfQogCiAtICh2b2lkKWNv
bW1pdFByZXZpZXdWaWV3Q29udHJvbGxlcjooVUlWaWV3Q29udHJvbGxlciAqKXZpZXdDb250cm9s
bGVyCiB7CiAgICAgaWQ8V0tVSURlbGVnYXRlUHJpdmF0ZT4gdWlEZWxlZ2F0ZSA9IHN0YXRpY19j
YXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oW193ZWJWaWV3IFVJRGVsZWdhdGVdKTsKLSAg
ICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpj
b21taXRQcmV2aWV3ZWRWaWV3Q29udHJvbGxlcjopXSkKKyAgICBpZiAoW3VpRGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpjb21taXRQcmV2aWV3ZWRWaWV3Q29u
dHJvbGxlcjopXSkgewogICAgICAgICBbdWlEZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmlldyBjb21t
aXRQcmV2aWV3ZWRWaWV3Q29udHJvbGxlcjp2aWV3Q29udHJvbGxlcl07CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmlld0NvbnRyb2xs
ZXIgPSB2aWV3Q29udHJvbGxlci5wcmVzZW50aW5nVmlld0NvbnRyb2xsZXIgPzogc2VsZi53aW5k
b3cucm9vdFZpZXdDb250cm9sbGVyOworICAgIFdLV2lsbENvbW1pdFByZXZpZXdWaWV3Q29udHJv
bGxlcih2aWV3Q29udHJvbGxlcik7CisKKyAgICB2aWV3Q29udHJvbGxlci50cmFuc2l0aW9uaW5n
RGVsZWdhdGUgPSBuaWw7CisgICAgdmlld0NvbnRyb2xsZXIubW9kYWxQcmVzZW50YXRpb25TdHls
ZSA9IFVJTW9kYWxQcmVzZW50YXRpb25GdWxsU2NyZWVuOworICAgIFtwcmVzZW50aW5nVmlld0Nv
bnRyb2xsZXIgcHJlc2VudFZpZXdDb250cm9sbGVyOnZpZXdDb250cm9sbGVyIGFuaW1hdGVkOk5P
IGNvbXBsZXRpb246bmlsXTsKIH0KIAogLSAodm9pZCl3aWxsUHJlc2VudFByZXZpZXdWaWV3Q29u
dHJvbGxlcjooVUlWaWV3Q29udHJvbGxlciAqKXZpZXdDb250cm9sbGVyIGZvclBvc2l0aW9uOihD
R1BvaW50KXBvc2l0aW9uIGluU291cmNlVmlldzooVUlWaWV3ICopc291cmNlVmlldwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>