<?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>190270</bug_id>
          
          <creation_ts>2018-10-03 18:17:58 -0700</creation_ts>
          <short_desc>[Cocoa] Let clients specify an NSFileWrapper subclass to be used for _WKAttachment</short_desc>
          <delta_ts>2018-10-15 11:06:01 -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>HTML Editing</component>
          <version>Safari Technology Preview</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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1466259</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2018-10-03 18:17:58 -0700</bug_when>
    <thetext>It’s useful if WebKit can make file wrappers of a client-specified subclass of NSFileWrapper. Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466264</commentid>
    <comment_count>1</comment_count>
      <attachid>351571</attachid>
    <who name="">mitz</who>
    <bug_when>2018-10-03 18:22:56 -0700</bug_when>
    <thetext>Created attachment 351571
Add _attachmentFileWrapperClass property to WKWebViewConfiguration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466265</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-03 18:24:24 -0700</bug_when>
    <thetext>Attachment 351571 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:1458:  Extra space in capture list.  [whitespace/brackets] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:1459:  Extra space in capture list.  [whitespace/brackets] [4]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466266</commentid>
    <comment_count>3</comment_count>
      <attachid>351571</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-10-03 18:27:30 -0700</bug_when>
    <thetext>Comment on attachment 351571
Add _attachmentFileWrapperClass property to WKWebViewConfiguration

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:1456
&gt; +    NSPasteboard *pasteboard = NSPasteboard.generalPasteboard;

This is in cross-platform code! Could you just use one of the platform helper functions to write something to the pasteboard (e.g. platformCopyPNG(), platformCopyRichTextWithMultipleAttachments(), etc.) so we can run this on iOS as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466271</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2018-10-03 18:42:33 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #3)
&gt; Comment on attachment 351571 [details]
&gt; Add _attachmentFileWrapperClass property to WKWebViewConfiguration
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=351571&amp;action=review
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:1456
&gt; &gt; +    NSPasteboard *pasteboard = NSPasteboard.generalPasteboard;
&gt; 
&gt; This is in cross-platform code! Could you just use one of the platform
&gt; helper functions to write something to the pasteboard (e.g.
&gt; platformCopyPNG(), platformCopyRichTextWithMultipleAttachments(), etc.) so
&gt; we can run this on iOS as well?

Sure! For some reason I confused myself into thinking none of those would produce a single _WKAttachment upon paste.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466272</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2018-10-03 18:42:55 -0700</bug_when>
    <thetext>I also need to fix the !WK_API_ENABLED build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466280</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2018-10-03 19:04:24 -0700</bug_when>
    <thetext>Committed &lt;https://trac.webkit.org/r236822&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466281</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-03 19:05:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/44995423&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466310</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-03 21:50:32 -0700</bug_when>
    <thetext>WinCairo port gets broken.

https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Build%29/builds/3750

&gt; [6/44] Building CXX object Source\WebKit\CMakeFiles\WebKit.dir\UIProcess\win\WebPopupMenuProxyWin.cpp.obj
&gt; FAILED: Source/WebKit/CMakeFiles/WebKit.dir/UIProcess/win/WebPopupMenuProxyWin.cpp.obj 
&gt; &quot;C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64\cl.exe&quot; (...) -c ..\..\Source\WebKit\UIProcess\win\WebPopupMenuProxyWin.cpp
&gt; C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebKit\UIProcess\PageClient.h(447): error C2143: syntax error: missing &apos;;&apos; before &apos;*&apos;
&gt; C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebKit\UIProcess\PageClient.h(447): error C2433: &apos;WebKit::PageClient::NSFileWrapper&apos;: &apos;virtual&apos; not permitted on data declarations
&gt; C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebKit\UIProcess\PageClient.h(447): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
&gt; C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebKit\UIProcess\PageClient.h(447): error C2334: unexpected token(s) preceding &apos;{&apos;; skipping apparent function body</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466311</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2018-10-03 21:55:07 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #8)
&gt; WinCairo port gets broken.

Sorry about that! I’ll fix it right away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466312</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2018-10-03 21:57:56 -0700</bug_when>
    <thetext>(In reply to mitz from comment #9)
&gt; (In reply to Fujii Hironori from comment #8)
&gt; &gt; WinCairo port gets broken.
&gt; 
&gt; Sorry about that! I’ll fix it right away.

Tried to fix it in &lt;https://trac.webkit.org/r236826&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351571</attachid>
            <date>2018-10-03 18:22:56 -0700</date>
            <delta_ts>2018-10-03 18:27:30 -0700</delta_ts>
            <desc>Add _attachmentFileWrapperClass property to WKWebViewConfiguration</desc>
            <filename>bug-190270-20181003182256.patch</filename>
            <type>text/plain</type>
            <size>10895</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzY4MTMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE4LTEwLTAzICBEYW4gQmVybnN0
ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBMZXQgY2xpZW50cyBzcGVj
aWZ5IGFuIE5TRmlsZVdyYXBwZXIgc3ViY2xhc3NlZCB0byBiZSB1c2VkIGZvciBfV0tBdHRhY2ht
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAy
NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1b
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5V2l0aFpvbmU6XSk6IENvcHkgbmV3IF9hdHRhY2ht
ZW50RmlsZVdyYXBwZXJDbGFzcyBpdmFyLgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIF9hdHRhY2htZW50RmlsZVdyYXBwZXJDbGFzc10pOiBBZGRlZCB0aGlzIGdldHRlci4KKyAg
ICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0QXR0YWNobWVudEZpbGVXcmFwcGVy
Q2xhc3M6XSk6IEFkZGVkIHRoaXMgc2V0dGVyLCB3aGljaCByYWlzZXMKKyAgICAgICAgICBhbiBl
eGNlcHRpb24gaWYgdGhlIGFyZ3VtZW50IGlzIG5vdCBhbiBOU0ZpbGVXcmFwcGVyIHN1YmNsYXNz
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oOiBEZWNsYXJlZCBuZXcgcHJvcGVydHkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Q
YWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENv
Y29hOjphbGxvY0ZpbGVXcmFwcGVySW5zdGFuY2UpOiBBZGRlZC4gQWxsb2NhdGVzIGFuIGluc3Rh
bmNlIG9mCisgICAgICAgICAgdGhlIGNsYXNzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlndXJhdGlv
biwgb3IgTlNGaWxlV3JhcHBlciBpZiBubyBjdXN0b20gY2xhc3MgaXMgc3BlY2lmaWVkLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnBsYXRmb3JtUmVnaXN0ZXJBdHRhY2htZW50KTogVXNlIFBh
Z2VDbGllbnQ6OmFsbG9jRmlsZVdyYXBwZXJJbnN0YW5jZQorICAgICAgICAgIGluc3RlYWQgb2Yg
YWxsb2NhdGluZyBhbiBOU0ZpbGVXcmFwcGVyIGluc3RhbmNlLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6YWxsb2NGaWxl
V3JhcHBlckluc3RhbmNlKTogRGVmaW5lZCBuZXcgZnVuY3Rpb24uIFRoZSBkZWZhdWx0CisgICAg
ICAgICAgaW1wbGVtZW50YXRpb24gcmV0dXJucyBuaWwuCisKIDIwMTgtMTAtMDMgIEJyaWFuIEJ1
cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBSRUdSRVNTSU9OOiB3ZWIg
Y29udGVudCBwcm9jZXNzIHBhdXNlZCBpbiBkZWJ1Z2dlciBpcyBjb25zaWRlcmVkIHRvIGJlIHVu
cmVzcG9uc2l2ZSBpZiBXZWJLaXQgY2xpZW50IGlzIHNhbmRib3hlZApJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaAkocmV2aXNpb24gMjM2ODEzKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBA
CiAjaW5jbHVkZSAiV0tGb3VuZGF0aW9uLmgiCiAKIE9CSkNfQ0xBU1MgQ0FMYXllcjsKK09CSkNf
Q0xBU1MgTlNGaWxlV3JhcHBlcjsKIE9CSkNfQ0xBU1MgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnk7
CiAKICNpZiBVU0UoQVBQS0lUKQpAQCAtNDQzLDYgKzQ0NCw3IEBAIHB1YmxpYzoKICNpZiBFTkFC
TEUoQVRUQUNITUVOVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnNlcnRBdHRhY2ht
ZW50KEFQSTo6QXR0YWNobWVudCYsIGNvbnN0IFN0cmluZyYgc291cmNlKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVtb3ZlQXR0YWNobWVudChBUEk6OkF0dGFjaG1lbnQmKSB7IH0KKyAgICB2
aXJ0dWFsIE5TRmlsZVdyYXBwZXIgKmFsbG9jRmlsZVdyYXBwZXJJbnN0YW5jZSgpIHsgcmV0dXJu
IG51bGxwdHI7IH0KICNlbmRpZgogfTsKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0JKHJl
dmlzaW9uIDIzNjgxMykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsNiArMTM2LDcgQEAg
c3RhdGljIF9XS0RyYWdMaWZ0RGVsYXkgdG9EcmFnTGlmdERlbGF5KAogICAgIEJPT0wgX2ludmlz
aWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOwogICAgIEJPT0wgX21lZGlhRGF0YUxvYWRzQXV0b21h
dGljYWxseTsKICAgICBCT09MIF9hdHRhY2htZW50RWxlbWVudEVuYWJsZWQ7CisgICAgQ2xhc3Mg
X2F0dGFjaG1lbnRGaWxlV3JhcHBlckNsYXNzOwogICAgIEJPT0wgX21haW5Db250ZW50VXNlckdl
c3R1cmVPdmVycmlkZUVuYWJsZWQ7CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC0zNTUsNiArMzU2
LDcgQEAgLSAoaWQpY29weVdpdGhab25lOihOU1pvbmUgKil6b25lCiAgICAgY29uZmlndXJhdGlv
bi0+X2ludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkID0gc2VsZi0+X2ludmlzaWJsZUF1dG9w
bGF5Tm90UGVybWl0dGVkOwogICAgIGNvbmZpZ3VyYXRpb24tPl9tZWRpYURhdGFMb2Fkc0F1dG9t
YXRpY2FsbHkgPSBzZWxmLT5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OwogICAgIGNvbmZp
Z3VyYXRpb24tPl9hdHRhY2htZW50RWxlbWVudEVuYWJsZWQgPSBzZWxmLT5fYXR0YWNobWVudEVs
ZW1lbnRFbmFibGVkOworICAgIGNvbmZpZ3VyYXRpb24tPl9hdHRhY2htZW50RmlsZVdyYXBwZXJD
bGFzcyA9IHNlbGYtPl9hdHRhY2htZW50RmlsZVdyYXBwZXJDbGFzczsKICAgICBjb25maWd1cmF0
aW9uLT5fbWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IHNlbGYtPl9t
ZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRp
b24tPl9tYWluQ29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkID0gc2VsZi0+X21haW5D
b250ZW50VXNlckdlc3R1cmVPdmVycmlkZUVuYWJsZWQ7CiAgICAgY29uZmlndXJhdGlvbi0+X3dh
aXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3cgPSBzZWxmLT5fd2FpdHNGb3JQYWlu
dEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdzsKQEAgLTc0Niw2ICs3NDgsMTkgQEAgLSAodm9pZClf
c2V0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkOihCTwogICAgIF9hdHRhY2htZW50RWxlbWVudEVu
YWJsZWQgPSBhdHRhY2htZW50RWxlbWVudEVuYWJsZWQ7CiB9CiAKKy0gKENsYXNzKV9hdHRhY2ht
ZW50RmlsZVdyYXBwZXJDbGFzcworeworICAgIHJldHVybiBfYXR0YWNobWVudEZpbGVXcmFwcGVy
Q2xhc3M7Cit9CisKKy0gKHZvaWQpX3NldEF0dGFjaG1lbnRGaWxlV3JhcHBlckNsYXNzOihDbGFz
cylhdHRhY2htZW50RmlsZVdyYXBwZXJDbGFzcworeworICAgIGlmIChhdHRhY2htZW50RmlsZVdy
YXBwZXJDbGFzcyAmJiAhW2F0dGFjaG1lbnRGaWxlV3JhcHBlckNsYXNzIGlzU3ViY2xhc3NPZkNs
YXNzOltOU0ZpbGVXcmFwcGVyIHNlbGZdXSkKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5T
SW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpAIkNsYXNzICVAIGRvZXMgbm90IGluaGVy
aXQgZnJvbSBOU0ZpbGVXcmFwcGVyIiwgYXR0YWNobWVudEZpbGVXcmFwcGVyQ2xhc3NdOworCisg
ICAgX2F0dGFjaG1lbnRGaWxlV3JhcHBlckNsYXNzID0gYXR0YWNobWVudEZpbGVXcmFwcGVyQ2xh
c3M7Cit9CisKIC0gKEJPT0wpX2NvbG9yRmlsdGVyRW5hYmxlZAogewogICAgIHJldHVybiBfY29s
b3JGaWx0ZXJFbmFibGVkOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgJ
KHJldmlzaW9uIDIzNjgxMykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2
NSw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tEcmFnTGlmdEQKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkOikg
Qk9PTCBfaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goMTAuMTIpLCBpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5OikgQk9PTCBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0
aWNhbGx5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZDopIEJP
T0wgX2F0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MiksIGlvcygxMC4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBdHRhY2ht
ZW50RmlsZVdyYXBwZXJDbGFzczopIENsYXNzIF9hdHRhY2htZW50RmlsZVdyYXBwZXJDbGFzcyBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEluaXRpYWxDYXBpdGFsaXphdGlvbkVuYWJs
ZWQ6KSBCT09MIF9pbml0aWFsQ2FwaXRhbGl6YXRpb25FbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9
X3NldEFwcGxlUGF5RW5hYmxlZDopIEJPT0wgX2FwcGxlUGF5RW5hYmxlZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRXYWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93OikgQk9PTCBfd2Fp
dHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMi4zKSwgaW9zKDEwLjMpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgJKHJldmlzaW9uIDIzNjgxMykKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAkod29y
a2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEFUVEFDSE1F
TlRfRUxFTUVOVCkKICAgICB2b2lkIGRpZEluc2VydEF0dGFjaG1lbnQoQVBJOjpBdHRhY2htZW50
JiwgY29uc3QgU3RyaW5nJiBzb3VyY2UpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVtb3ZlQXR0YWNo
bWVudChBUEk6OkF0dGFjaG1lbnQmKSBmaW5hbDsKKyAgICBOU0ZpbGVXcmFwcGVyICphbGxvY0Zp
bGVXcmFwcGVySW5zdGFuY2UoKSBmaW5hbDsKICNlbmRpZgogCiBwcm90ZWN0ZWQ6CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29j
b2EubW0JKHJldmlzaW9uIDIzNjgxMykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAK
ICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiUGFnZUNsaWVudEltcGxDb2NvYS5oIgogCisj
aW1wb3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tXZWJW
aWV3SW50ZXJuYWwuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC02NSw2ICs2NiwxMiBAQCB2
b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpZFJlbW92ZUF0dGFjCiAjZW5kaWYKIH0KIAorTlNG
aWxlV3JhcHBlciAqUGFnZUNsaWVudEltcGxDb2NvYTo6YWxsb2NGaWxlV3JhcHBlckluc3RhbmNl
KCkKK3sKKyAgICBDbGFzcyBjbHMgPSBtX3dlYlZpZXcuY29uZmlndXJhdGlvbi5fYXR0YWNobWVu
dEZpbGVXcmFwcGVyQ2xhc3MgPzogW05TRmlsZVdyYXBwZXIgc2VsZl07CisgICAgcmV0dXJuIFtj
bHMgYWxsb2NdOworfQorCiAjZW5kaWYKICAgICAKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyMzY4
MTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpw
bGF0Zm9ybVJlZ2lzdGVyQXR0YWMKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBidWZmZXIg
PSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhUmVmZXJlbmNlLmRhdGEoKSwgZGF0YVJlZmVyZW5j
ZS5zaXplKCkpOwotICAgIGF1dG8gZmlsZVdyYXBwZXIgPSBhZG9wdE5TKFtbTlNGaWxlV3JhcHBl
ciBhbGxvY10gaW5pdFJlZ3VsYXJGaWxlV2l0aENvbnRlbnRzOmJ1ZmZlci0+Y3JlYXRlTlNEYXRh
KCkuYXV0b3JlbGVhc2UoKV0pOworICAgIGF1dG8gZmlsZVdyYXBwZXIgPSBhZG9wdE5TKFtwYWdl
Q2xpZW50KCkuYWxsb2NGaWxlV3JhcHBlckluc3RhbmNlKCkgaW5pdFJlZ3VsYXJGaWxlV2l0aENv
bnRlbnRzOmJ1ZmZlci0+Y3JlYXRlTlNEYXRhKCkuYXV0b3JlbGVhc2UoKV0pOwogICAgIFtmaWxl
V3JhcHBlciBzZXRQcmVmZXJyZWRGaWxlbmFtZTpwcmVmZXJyZWRGaWxlTmFtZV07CiAgICAgYXR0
YWNobWVudC0+c2V0RmlsZVdyYXBwZXIoZmlsZVdyYXBwZXIuZ2V0KCkpOwogfQpAQCAtMTc4LDcg
KzE3OCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpwbGF0Zm9ybVJlZ2lzdGVyQXR0YWMKICAgICBp
ZiAoIWZpbGVQYXRoKQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIGZpbGVXcmFwcGVyID0g
YWRvcHROUyhbW05TRmlsZVdyYXBwZXIgYWxsb2NdIGluaXRXaXRoVVJMOltOU1VSTCBmaWxlVVJM
V2l0aFBhdGg6ZmlsZVBhdGhdIG9wdGlvbnM6MCBlcnJvcjpuaWxdKTsKKyAgICBhdXRvIGZpbGVX
cmFwcGVyID0gYWRvcHROUyhbcGFnZUNsaWVudCgpLmFsbG9jRmlsZVdyYXBwZXJJbnN0YW5jZSgp
IGluaXRXaXRoVVJMOltOU1VSTCBmaWxlVVJMV2l0aFBhdGg6ZmlsZVBhdGhdIG9wdGlvbnM6MCBl
cnJvcjpuaWxdKTsKICAgICBhdHRhY2htZW50LT5zZXRGaWxlV3JhcHBlcihmaWxlV3JhcHBlci5n
ZXQoKSk7CiB9CiAKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIzNjgxOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE4LTEwLTAzICBEYW4gQmVybnN0ZWluICA8bWl0ekBh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBMZXQgY2xpZW50cyBzcGVjaWZ5IGFuIE5TRmls
ZVdyYXBwZXIgc3ViY2xhc3NlZCB0byBiZSB1c2VkIGZvciBfV0tBdHRhY2htZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAyNzAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW06CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKwogMjAxOC0xMC0wMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBFbmFibGUgc2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0Vu
YWJsZWQgYnkgZGVmYXVsdCBpbiBXZWJLaXRMZWdhY3kKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0F0dGFjaG1lbnRUZXN0cy5t
bQkocmV2aXNpb24gMjM2ODEzKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9XS0F0dGFjaG1lbnRUZXN0cy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTY2LDYgKzU2Niwx
MiBAQCBQbGF0Zm9ybUltYWdlICpwbGF0Zm9ybUltYWdlV2l0aERhdGEoTlNECiAjZW5kaWYKIH0K
IAorQGludGVyZmFjZSBGaWxlV3JhcHBlciA6IE5TRmlsZVdyYXBwZXIKK0BlbmQKKworQGltcGxl
bWVudGF0aW9uIEZpbGVXcmFwcGVyCitAZW5kCisKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsK
IAogI3ByYWdtYSBtYXJrIC0gUGxhdGZvcm0tYWdub3N0aWMgdGVzdHMKQEAgLTE0MzEsNiArMTQz
NywzNCBAQCBURVNUKFdLQXR0YWNobWVudFRlc3RzLCBDb25uZWN0SW1hZ2VXaXRoCiAgICAgW3dl
YlZpZXcgd2FpdEZvckltYWdlRWxlbWVudFNpemVUb0JlY29tZTpDR1NpemVNYWtlKDUyLCA2NCld
OwogfQogCitURVNUKFdLQXR0YWNobWVudFRlc3RzLCBDdXN0b21GaWxlV3JhcHBlclN1YmNsYXNz
KQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1
cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgW2NvbmZpZ3VyYXRpb24gX3NldEF0dGFjaG1lbnRF
bGVtZW50RW5hYmxlZDpZRVNdOworICAgIFJldGFpblB0cjxOU0V4Y2VwdGlvbj4gZXhjZXB0aW9u
OworICAgIEB0cnkgeworICAgICAgICBbY29uZmlndXJhdGlvbiBfc2V0QXR0YWNobWVudEZpbGVX
cmFwcGVyQ2xhc3M6W05TQXJyYXkgc2VsZl1dOworICAgIH0gQGNhdGNoKE5TRXhjZXB0aW9uICpj
YXVnaHQpIHsKKyAgICAgICAgZXhjZXB0aW9uID0gY2F1Z2h0OworICAgIH0KKyAgICBFWFBFQ1Rf
VFJVRShleGNlcHRpb24pOworCisgICAgW2NvbmZpZ3VyYXRpb24gX3NldEF0dGFjaG1lbnRGaWxl
V3JhcHBlckNsYXNzOltGaWxlV3JhcHBlciBzZWxmXV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSB3
ZWJWaWV3Rm9yVGVzdGluZ0F0dGFjaG1lbnRzKENHU2l6ZVplcm8sIGNvbmZpZ3VyYXRpb24uZ2V0
KCkpOworCisgICAgTlNQYXN0ZWJvYXJkICpwYXN0ZWJvYXJkID0gTlNQYXN0ZWJvYXJkLmdlbmVy
YWxQYXN0ZWJvYXJkOworICAgIFtwYXN0ZWJvYXJkIGNsZWFyQ29udGVudHNdOworICAgIFtwYXN0
ZWJvYXJkIGRlY2xhcmVUeXBlczpAWyBOU0ZpbGVuYW1lc1Bib2FyZFR5cGUgXSBvd25lcjpuaWxd
OworICAgIFtwYXN0ZWJvYXJkIHNldFByb3BlcnR5TGlzdDpAWyB0ZXN0UERGRmlsZVVSTCgpLnBh
dGggXSBmb3JUeXBlOk5TRmlsZW5hbWVzUGJvYXJkVHlwZV07CisKKyAgICBPYnNlcnZlQXR0YWNo
bWVudFVwZGF0ZXNGb3JTY29wZSBvYnNlcnZlcih3ZWJWaWV3LmdldCgpKTsKKyAgICBbd2ViVmll
dyBfc3luY2hyb25vdXNseUV4ZWN1dGVFZGl0Q29tbWFuZDpAIlBhc3RlIiBhcmd1bWVudDpuaWxd
OworICAgIE5TQXJyYXk8X1dLQXR0YWNobWVudCAqPiAqIGluc2VydGVkQXR0YWNobWVudHMgPSBv
YnNlcnZlci5vYnNlcnZlcigpLmluc2VydGVkOworICAgIEVYUEVDVF9FUSgxVSwgaW5zZXJ0ZWRB
dHRhY2htZW50cy5jb3VudCk7CisgICAgRVhQRUNUX0VRKFtGaWxlV3JhcHBlciBzZWxmXSwgW2lu
c2VydGVkQXR0YWNobWVudHMuZmlyc3RPYmplY3QuaW5mby5maWxlV3JhcHBlciBjbGFzc10pOwor
fQorCiAjcHJhZ21hIG1hcmsgLSBQbGF0Zm9ybS1zcGVjaWZpYyB0ZXN0cwogCiAjaWYgUExBVEZP
Uk0oTUFDKQo=
</data>
<flag name="review"
          id="368929"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>