<?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>201361</bug_id>
          
          <creation_ts>2019-08-30 15:38:09 -0700</creation_ts>
          <short_desc>[WinCairo, FTW] Properly handle device scale factor</short_desc>
          <delta_ts>2019-09-02 18:57:14 -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>WebKit Misc.</component>
          <version>Safari 10</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=196339</see_also>
          <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>
          <dependson>196339</dependson>
    
    <dependson>196340</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>fujii</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1566846</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-30 15:38:09 -0700</bug_when>
    <thetext>The Modern WebKit implementation does not handle device scale factor properly. The WebContent process runs without DPI awareness and draws everything into 1x buffers, even when the system is running at higher DPI. This leads to Windows scaling the content and lower resolution output.

This patch makes a few corrections:

1. It calls &quot;SetProcessDPIAware&quot; at launch in the WebContent process so that it can make appropriate measurements of the screen resolution.
2. We update the WebPage the proper &quot;setIntrinsicDeviceScaleFactor&quot; value based on screen resolution so that it can pass it to the WebContent process for rendering calculations.
3. We do call WKPageSetPageZoomFactor with the screen DPI scale factor, since this is meant to be a logical screen zoom, not a correction for high DPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566947</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-30 23:32:32 -0700</bug_when>
    <thetext>The attached patch gets things working properly so that Windows controls are drawn properly. It does not handle changes in DPI (such as adjusting the Windows settings, or dragging a WebView from a high DPI monitor to a low-DPI monitor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566949</commentid>
    <comment_count>2</comment_count>
      <attachid>377787</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-30 23:56:08 -0700</bug_when>
    <thetext>Created attachment 377787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567056</commentid>
    <comment_count>3</comment_count>
      <attachid>377787</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-01 10:26:48 -0700</bug_when>
    <thetext>Comment on attachment 377787
Patch

Rejecting attachment 377787 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 377787, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebKit/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/12989465</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567059</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-01 11:13:04 -0700</bug_when>
    <thetext>Committed r249366: &lt;https://trac.webkit.org/changeset/249366&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567060</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-01 11:14:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/54932919&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567092</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-09-01 19:09:16 -0700</bug_when>
    <thetext>device scale factor is not correct in WinCairo WK2
WinCairo WK2 crashes in some web sites, for example https://webkit.org and https://www.youtube.com

Callstack:

&gt; cairo.dll!_pixman_implementation_create_sse2()	C
&gt; cairo.dll!_pixman_gradient_walker_write_wide()	C
&gt; cairo.dll!pixman_image_composite32()	C
&gt; cairo.dll!_inplace_src_spans(void * abstract_renderer, int y, int h, const _cairo_half_open_span * spans, unsigned int num_spans) Line 2716	C
&gt; cairo.dll!generate_row(_cairo_span_renderer * renderer, const _rectangle * r, int y, int h, unsigned short coverage) Line 626	C
&gt; cairo.dll!_cairo_rectangular_scan_converter_generate(void * converter, _cairo_span_renderer * renderer) Line 673	C
&gt; cairo.dll!composite_boxes(const cairo_spans_compositor * compositor, _cairo_composite_rectangles * extents, _cairo_boxes_t * boxes) Line 741	C
&gt; cairo.dll!clip_and_composite_boxes(const cairo_spans_compositor * compositor, _cairo_composite_rectangles * extents, _cairo_boxes_t * boxes) Line 888	C
&gt; cairo.dll!_cairo_spans_compositor_mask(const cairo_compositor * _compositor, _cairo_composite_rectangles * extents) Line 1000	C
&gt; cairo.dll!_cairo_compositor_paint(const cairo_compositor * compositor, _cairo_surface * surface, _cairo_operator op, const _cairo_pattern * source, const _cairo_clip * clip) Line 67	C
&gt; cairo.dll!_cairo_image_surface_paint(void * abstract_surface, _cairo_operator op, const _cairo_pattern * source, const _cairo_clip * clip) Line 931	C
&gt; cairo.dll!_cairo_surface_paint(_cairo_surface * surface, _cairo_operator op, const _cairo_pattern * source, const _cairo_clip * clip) Line 2199	C
&gt; cairo.dll!_cairo_gstate_paint(_cairo_gstate * gstate) Line 1061	C
&gt; cairo.dll!_cairo_default_context_paint_with_alpha(void * abstract_cr, double alpha) Line 971	C
&gt; cairo.dll!cairo_paint_with_alpha(_cairo * cr, double alpha) Line 2248	C
&gt; WebKit2.dll!WebCore::Cairo::drawPatternToCairoContext(_cairo * cr, _cairo_pattern * pattern, const WebCore::FloatRect &amp; destRect, float alpha) Line 156	C++
&gt; WebKit2.dll!WebCore::Cairo::drawSurface(WebCore::PlatformContextCairo &amp; platformContext, _cairo_surface * surface, const WebCore::FloatRect &amp; destRect, const WebCore::FloatRect &amp; originalSrcRect, WebCore::InterpolationQuality imageInterpolationQuality, float globalAlpha, const WebCore::Cairo::ShadowState &amp; shadowState) Line 988	C++
&gt; WebKit2.dll!WebKit::ShareableBitmap::paint(WebCore::GraphicsContext &amp; context, float scaleFactor, const WebCore::IntPoint &amp; dstPoint, const WebCore::IntRect &amp; srcRect) Line 80	C++
&gt; WebKit2.dll!WebKit::BackingStore::incorporateUpdate(WebKit::ShareableBitmap * bitmap, const WebKit::UpdateInfo &amp; updateInfo) Line 93	C++
&gt; WebKit2.dll!WebKit::BackingStore::incorporateUpdate(const WebKit::UpdateInfo &amp; updateInfo) Line 67	C++
&gt; WebKit2.dll!WebKit::DrawingAreaProxyCoordinatedGraphics::incorporateUpdate(const WebKit::UpdateInfo &amp; updateInfo) Line 254	C++
&gt; WebKit2.dll!WebKit::DrawingAreaProxyCoordinatedGraphics::update(unsigned __int64 backingStoreStateID, const WebKit::UpdateInfo &amp; updateInfo) Line 164	C++
&gt; WebKit2.dll!IPC::callMemberFunctionImpl&lt;WebKit::DrawingAreaProxy,void (WebKit::DrawingAreaProxy::*)(unsigned long long, const WebKit::UpdateInfo &amp;),std::tuple&lt;unsigned long long,WebKit::UpdateInfo&gt;,0,1&gt;(WebKit::DrawingAreaProxy * object, void(WebKit::DrawingAreaProxy::*)(unsigned __int64, const WebKit::UpdateInfo &amp;) function, std::tuple&lt;unsigned long long,WebKit::UpdateInfo&gt; &amp;&amp; args, std::integer_sequence&lt;unsigned long long,0,1&gt;) Line 42	C++
&gt; WebKit2.dll!IPC::callMemberFunction&lt;WebKit::DrawingAreaProxy,void (WebKit::DrawingAreaProxy::*)(unsigned long long, const WebKit::UpdateInfo &amp;),std::tuple&lt;unsigned long long,WebKit::UpdateInfo&gt;,std::integer_sequence&lt;unsigned long long,0,1&gt; &gt;(std::tuple&lt;unsigned long long,WebKit::UpdateInfo&gt; &amp;&amp; args, WebKit::DrawingAreaProxy * object, void(WebKit::DrawingAreaProxy::*)(unsigned __int64, const WebKit::UpdateInfo &amp;) function) Line 47	C++
&gt; WebKit2.dll!IPC::handleMessage&lt;Messages::DrawingAreaProxy::Update,WebKit::DrawingAreaProxy,void (WebKit::DrawingAreaProxy::*)(unsigned long long, const WebKit::UpdateInfo &amp;)&gt;(IPC::Decoder &amp; decoder, WebKit::DrawingAreaProxy * object, void(WebKit::DrawingAreaProxy::*)(unsigned __int64, const WebKit::UpdateInfo &amp;) function) Line 121	C++
&gt; WebKit2.dll!WebKit::DrawingAreaProxy::didReceiveMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 44	C++
&gt; WebKit2.dll!IPC::MessageReceiverMap::dispatchMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 124	C++
&gt; WebKit2.dll!WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 155	C++
&gt; WebKit2.dll!WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 662	C++
&gt; WebKit2.dll!IPC::Connection::dispatchMessage(IPC::Decoder &amp; decoder) Line 940	C++
&gt; WebKit2.dll!IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder,std::default_delete&lt;IPC::Decoder&gt; &gt; message) Line 993	C++
&gt; WebKit2.dll!IPC::Connection::dispatchIncomingMessages() Line 1097	C++
&gt; WebKit2.dll!IPC::Connection::enqueueIncomingMessage::&lt;unnamed-tag&gt;::operator()() Line 914	C++
&gt; WebKit2.dll!WTF::Detail::CallableWrapper&lt;`lambda at ..\..\Source\WebKit\Platform\IPC\Connection.cpp:912:30&apos;,void&gt;::call() Line 52	C++
&gt; WTF.dll!WTF::Function&lt;void ()&gt;::operator()() Line 79	C++
&gt; WTF.dll!WTF::RunLoop::performWork() Line 108	C++
&gt; WTF.dll!WTF::RunLoop::wndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 57	C++
&gt; WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 39	C++
&gt; [External Code]	
&gt; WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 94	C++
&gt; MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 97	C++
&gt; MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 115	C++
&gt; MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 232	C++
&gt; [External Code]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567093</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-09-01 19:11:59 -0700</bug_when>
    <thetext>Reverted r249366 for reason:

WinCairo WebKit2 crashes in some websites and the device scale factor is not correct in high DPI.

Committed r249371: &lt;https://trac.webkit.org/changeset/249371&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567096</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-09-01 20:03:17 -0700</bug_when>
    <thetext>Callstack in Comment 6 have incorrect pixman function names for https://github.com/WebKitForWindows/WinCairoRequirements/issues/26
Here is the correct callstack:

&gt; [Inline Frame] cairo.dll!combine4(const __m128i *) Line 550	C
&gt; cairo.dll!sse2_combine_add_u(pixman_implementation_t * imp, pixman_op_t op, unsigned int * dst, const unsigned int * src, const unsigned int * mask, int width) Line 1380	C
&gt; cairo.dll!general_composite_rect(pixman_implementation_t * imp, pixman_composite_info_t * info) Line 225	C
&gt; cairo.dll!pixman_image_composite32(pixman_op_t op, pixman_image * src, pixman_image * mask, pixman_image * dest, int src_x, int src_y, int mask_x, int mask_y, int dest_x, int dest_y, int width, int height) Line 700	C
&gt; cairo.dll!_inplace_src_spans(void * abstract_renderer, int y, int h, const _cairo_half_open_span * spans, unsigned int num_spans) Line 2716	C
&gt; cairo.dll!generate_row(_cairo_span_renderer * renderer, const _rectangle * r, int y, int h, unsigned short coverage) Line 626	C
&gt; cairo.dll!_cairo_rectangular_scan_converter_generate(void * converter, _cairo_span_renderer * renderer) Line 673	C
&gt; cairo.dll!composite_boxes(const cairo_spans_compositor * compositor, _cairo_composite_rectangles * extents, _cairo_boxes_t * boxes) Line 741	C
&gt; cairo.dll!clip_and_composite_boxes(const cairo_spans_compositor * compositor, _cairo_composite_rectangles * extents, _cairo_boxes_t * boxes) Line 888	C
&gt; cairo.dll!_cairo_spans_compositor_mask(const cairo_compositor * _compositor, _cairo_composite_rectangles * extents) Line 1000	C
&gt; cairo.dll!_cairo_compositor_paint(const cairo_compositor * compositor, _cairo_surface * surface, _cairo_operator op, const _cairo_pattern * source, const _cairo_clip * clip) Line 67	C
&gt; cairo.dll!_cairo_image_surface_paint(void * abstract_surface, _cairo_operator op, const _cairo_pattern * source, const _cairo_clip * clip) Line 931	C
&gt; cairo.dll!_cairo_surface_paint(_cairo_surface * surface, _cairo_operator op, const _cairo_pattern * source, const _cairo_clip * clip) Line 2199	C
&gt; cairo.dll!_cairo_gstate_paint(_cairo_gstate * gstate) Line 1061	C
&gt; cairo.dll!_cairo_default_context_paint_with_alpha(void * abstract_cr, double alpha) Line 971	C
&gt; cairo.dll!cairo_paint_with_alpha(_cairo * cr, double alpha) Line 2248	C
&gt; WebKit2.dll!WebCore::Cairo::drawPatternToCairoContext(_cairo * cr, _cairo_pattern * pattern, const WebCore::FloatRect &amp; destRect, float alpha) Line 156	C++
&gt; WebKit2.dll!WebCore::Cairo::drawSurface(WebCore::PlatformContextCairo &amp; platformContext, _cairo_surface * surface, const WebCore::FloatRect &amp; destRect, const WebCore::FloatRect &amp; originalSrcRect, WebCore::InterpolationQuality imageInterpolationQuality, float globalAlpha, const WebCore::Cairo::ShadowState &amp; shadowState) Line 988	C++
&gt; WebKit2.dll!WebKit::ShareableBitmap::paint(WebCore::GraphicsContext &amp; context, float scaleFactor, const WebCore::IntPoint &amp; dstPoint, const WebCore::IntRect &amp; srcRect) Line 80	C++
&gt; WebKit2.dll!WebKit::BackingStore::incorporateUpdate(WebKit::ShareableBitmap * bitmap, const WebKit::UpdateInfo &amp; updateInfo) Line 93	C++
&gt; WebKit2.dll!WebKit::BackingStore::incorporateUpdate(const WebKit::UpdateInfo &amp; updateInfo) Line 67	C++
&gt; WebKit2.dll!WebKit::DrawingAreaProxyCoordinatedGraphics::incorporateUpdate(const WebKit::UpdateInfo &amp; updateInfo) Line 254	C++
&gt; WebKit2.dll!WebKit::DrawingAreaProxyCoordinatedGraphics::update(unsigned __int64 backingStoreStateID, const WebKit::UpdateInfo &amp; updateInfo) Line 164	C++
&gt; WebKit2.dll!IPC::callMemberFunctionImpl&lt;WebKit::DrawingAreaProxy,void (WebKit::DrawingAreaProxy::*)(unsigned long long, const WebKit::UpdateInfo &amp;),std::tuple&lt;unsigned long long,WebKit::UpdateInfo&gt;,0,1&gt;(WebKit::DrawingAreaProxy * object, void(WebKit::DrawingAreaProxy::*)(unsigned __int64, const WebKit::UpdateInfo &amp;) function, std::tuple&lt;unsigned long long,WebKit::UpdateInfo&gt; &amp;&amp; args, std::integer_sequence&lt;unsigned long long,0,1&gt;) Line 42	C++
&gt; WebKit2.dll!IPC::callMemberFunction&lt;WebKit::DrawingAreaProxy,void (WebKit::DrawingAreaProxy::*)(unsigned long long, const WebKit::UpdateInfo &amp;),std::tuple&lt;unsigned long long,WebKit::UpdateInfo&gt;,std::integer_sequence&lt;unsigned long long,0,1&gt; &gt;(std::tuple&lt;unsigned long long,WebKit::UpdateInfo&gt; &amp;&amp; args, WebKit::DrawingAreaProxy * object, void(WebKit::DrawingAreaProxy::*)(unsigned __int64, const WebKit::UpdateInfo &amp;) function) Line 47	C++
&gt; WebKit2.dll!IPC::handleMessage&lt;Messages::DrawingAreaProxy::Update,WebKit::DrawingAreaProxy,void (WebKit::DrawingAreaProxy::*)(unsigned long long, const WebKit::UpdateInfo &amp;)&gt;(IPC::Decoder &amp; decoder, WebKit::DrawingAreaProxy * object, void(WebKit::DrawingAreaProxy::*)(unsigned __int64, const WebKit::UpdateInfo &amp;) function) Line 121	C++
&gt; WebKit2.dll!WebKit::DrawingAreaProxy::didReceiveMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 44	C++
&gt; WebKit2.dll!IPC::MessageReceiverMap::dispatchMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 124	C++
&gt; WebKit2.dll!WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 155	C++
&gt; WebKit2.dll!WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 662	C++
&gt; WebKit2.dll!IPC::Connection::dispatchMessage(IPC::Decoder &amp; decoder) Line 940	C++
&gt; WebKit2.dll!IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder,std::default_delete&lt;IPC::Decoder&gt; &gt; message) Line 993	C++
&gt; WebKit2.dll!IPC::Connection::dispatchIncomingMessages() Line 1097	C++
&gt; WebKit2.dll!IPC::Connection::enqueueIncomingMessage::&lt;unnamed-tag&gt;::operator()() Line 914	C++
&gt; WebKit2.dll!WTF::Detail::CallableWrapper&lt;`lambda at ..\..\Source\WebKit\Platform\IPC\Connection.cpp:912:30&apos;,void&gt;::call() Line 52	C++
&gt; WTF.dll!WTF::Function&lt;void ()&gt;::operator()() Line 79	C++
&gt; WTF.dll!WTF::RunLoop::performWork() Line 108	C++
&gt; WTF.dll!WTF::RunLoop::wndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 57	C++
&gt; WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 39	C++
&gt; [External Code]	
&gt; WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 94	C++
&gt; MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 97	C++
&gt; MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 115	C++
&gt; MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 232	C++
&gt; [External Code]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567107</commentid>
    <comment_count>9</comment_count>
      <attachid>377836</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-09-01 21:20:38 -0700</bug_when>
    <thetext>Created attachment 377836
Wrong Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567118</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-09-01 22:22:06 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #6)
&gt; device scale factor is not correct in WinCairo WK2

Bug 196339 for this.

&gt; WinCairo WK2 crashes in some web sites

Bug 196340 for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567258</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-02 17:56:55 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #10)
&gt; (In reply to Fujii Hironori from comment #6)
&gt; &gt; device scale factor is not correct in WinCairo WK2
&gt; 
&gt; Bug 196339 for this.
&gt; 
&gt; &gt; WinCairo WK2 crashes in some web sites
&gt; 
&gt; Bug 196340 for this.

Hi Fujii -- do you intend to re-land this change when you have resolved the regressions you found? Or do you think this patch will not be necessary after that work is done?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567264</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-09-02 18:42:12 -0700</bug_when>
    <thetext>I&apos;ll re-land this patch after finishing Bug 196339.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567270</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-02 18:57:14 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #12)
&gt; I&apos;ll re-land this patch after finishing Bug 196339.

Excellent, thank you!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377787</attachid>
            <date>2019-08-30 23:56:08 -0700</date>
            <delta_ts>2019-09-01 21:25:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201361-20190830235605.patch</filename>
            <type>text/plain</type>
            <size>8239</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTMzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTMwICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5DYWlybywgRlRXXSBQ
cm9wZXJseSBoYW5kbGUgZGV2aWNlIHNjYWxlIGZhY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRoZSBEaXJlY3QyRCBJbWFnZUJ1ZmZl
ci9JbWFnZUJ1ZmZlckRhdGEgY2xhc3NlcyB0byBjb3JyZWN0bHkgaGFuZGxlCisgICAgICAgIHRo
ZSBkZXZpY2Ugc2NhbGUgZmFjdG9yLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ltYWdlQnVmZmVyRGF0YURpcmVjdDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVm
ZmVyRGF0YTo6cHV0RGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdl
QnVmZmVyRGlyZWN0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnB1dEJ5
dGVBcnJheSk6CisKIDIwMTktMDgtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgcG9zdE1lc3NhZ2UgYnVmZmVyaW5nIGJldHdlZW4g
dGhlIHNlcnZpY2Ugd29ya2VyIGFuZCB3aW5kb3cKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9JbWFnZUJ1ZmZlckRhdGFEaXJlY3QyRC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQnVmZmVyRGF0YURp
cmVjdDJELmNwcAkocmV2aXNpb24gMjQ5MzM4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ltYWdlQnVmZmVyRGF0YURpcmVjdDJELmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTcyLDE0ICsxNzIsMTIgQEAgdm9pZCBJbWFnZUJ1ZmZlckRhdGE6OnB1dERhdGEoY29uc3Qg
VWludAogCiAgICAgQ2hlY2tlZDxpbnQ+IG9yaWdpbnggPSBzb3VyY2VSZWN0LngoKTsKICAgICBD
aGVja2VkPGludD4gZGVzdHggPSAoQ2hlY2tlZDxpbnQ+KGRlc3RQb2ludC54KCkpICsgc291cmNl
UmVjdC54KCkpOwotICAgIGRlc3R4ICo9IHJlc29sdXRpb25TY2FsZTsKICAgICBBU1NFUlQoZGVz
dHgudW5zYWZlR2V0KCkgPj0gMCk7CiAgICAgQVNTRVJUKGRlc3R4LnVuc2FmZUdldCgpIDwgc2l6
ZS53aWR0aCgpKTsKICAgICBBU1NFUlQob3JpZ2lueC51bnNhZmVHZXQoKSA+PSAwKTsKICAgICBB
U1NFUlQob3JpZ2lueC51bnNhZmVHZXQoKSA8PSBzb3VyY2VSZWN0Lm1heFgoKSk7CiAKICAgICBD
aGVja2VkPGludD4gZW5keCA9IChDaGVja2VkPGludD4oZGVzdFBvaW50LngoKSkgKyBzb3VyY2VS
ZWN0Lm1heFgoKSk7Ci0gICAgZW5keCAqPSByZXNvbHV0aW9uU2NhbGU7CiAgICAgQVNTRVJUKGVu
ZHgudW5zYWZlR2V0KCkgPD0gc2l6ZS53aWR0aCgpKTsKIAogICAgIENoZWNrZWQ8aW50PiB3aWR0
aCA9IHNvdXJjZVJlY3Qud2lkdGgoKTsKQEAgLTE4NywxNCArMTg1LDEyIEBAIHZvaWQgSW1hZ2VC
dWZmZXJEYXRhOjpwdXREYXRhKGNvbnN0IFVpbnQKIAogICAgIENoZWNrZWQ8aW50PiBvcmlnaW55
ID0gc291cmNlUmVjdC55KCk7CiAgICAgQ2hlY2tlZDxpbnQ+IGRlc3R5ID0gKENoZWNrZWQ8aW50
PihkZXN0UG9pbnQueSgpKSArIHNvdXJjZVJlY3QueSgpKTsKLSAgICBkZXN0eSAqPSByZXNvbHV0
aW9uU2NhbGU7CiAgICAgQVNTRVJUKGRlc3R5LnVuc2FmZUdldCgpID49IDApOwogICAgIEFTU0VS
VChkZXN0eS51bnNhZmVHZXQoKSA8IHNpemUuaGVpZ2h0KCkpOwogICAgIEFTU0VSVChvcmlnaW55
LnVuc2FmZUdldCgpID49IDApOwogICAgIEFTU0VSVChvcmlnaW55LnVuc2FmZUdldCgpIDw9IHNv
dXJjZVJlY3QubWF4WSgpKTsKIAogICAgIENoZWNrZWQ8aW50PiBlbmR5ID0gKENoZWNrZWQ8aW50
PihkZXN0UG9pbnQueSgpKSArIHNvdXJjZVJlY3QubWF4WSgpKTsKLSAgICBlbmR5ICo9IHJlc29s
dXRpb25TY2FsZTsKICAgICBBU1NFUlQoZW5keS51bnNhZmVHZXQoKSA8PSBzaXplLmhlaWdodCgp
KTsKIAogICAgIENoZWNrZWQ8aW50PiBoZWlnaHQgPSBzb3VyY2VSZWN0LmhlaWdodCgpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQnVmZmVyRGF0YURp
cmVjdDJELmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ltYWdlQnVmZmVyRGF0YURpcmVjdDJELmgJKHJldmlzaW9uIDI0OTMzOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUJ1ZmZlckRhdGFEaXJlY3QyRC5o
CSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBJbWFnZUJ1ZmZlckRhdGEg
ewogICAgIENPTVB0cjxJRDJEMUJpdG1hcD4gYml0bWFwOwogCiAgICAgUmVmUHRyPFVpbnQ4Q2xh
bXBlZEFycmF5PiBnZXREYXRhKEFscGhhUHJlbXVsdGlwbGljYXRpb24sIGNvbnN0IEludFJlY3Qm
LCBjb25zdCBJbnRTaXplJiwgYm9vbCBhY2NlbGVyYXRlUmVuZGVyaW5nLCBmbG9hdCByZXNvbHV0
aW9uU2NhbGUpIGNvbnN0OwotICAgIHZvaWQgcHV0RGF0YShjb25zdCBVaW50OENsYW1wZWRBcnJh
eSYgc291cmNlLCBBbHBoYVByZW11bHRpcGxpY2F0aW9uIHNvdXJjZUZvcm1hdCwgY29uc3QgSW50
U2l6ZSYgc291cmNlU2l6ZSwgY29uc3QgSW50UmVjdCYgc291cmNlUmVjdCwgY29uc3QgSW50UG9p
bnQmIGRlc3RQb2ludCwgY29uc3QgSW50U2l6ZSYsIGJvb2wgYWNjZWxlcmF0ZVJlbmRlcmluZywg
ZmxvYXQgcmVzb2x1dGlvblNjYWxlKTsKKyAgICB2b2lkIHB1dERhdGEoY29uc3QgVWludDhDbGFt
cGVkQXJyYXkmIHNvdXJjZSwgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBzb3VyY2VGb3JtYXQsIGNv
bnN0IEludFNpemUmIHNvdXJjZVNpemUsIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QsIGNvbnN0
IEludFBvaW50JiBkZXN0UG9pbnQsIGNvbnN0IEludFNpemUmLCBib29sIGFjY2VsZXJhdGVSZW5k
ZXJpbmcsIGZsb2F0IHJlc29sdXRpb25TY2FsZSA9IDEuMGYpOwogCiAgICAgQ09NUHRyPElEMkQx
Qml0bWFwPiBjb21wYXRpYmxlQml0bWFwKElEMkQxUmVuZGVyVGFyZ2V0Kik7CiB9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQnVmZmVyRGlyZWN0MkQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9J
bWFnZUJ1ZmZlckRpcmVjdDJELmNwcAkocmV2aXNpb24gMjQ5MzM4KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlQnVmZmVyRGlyZWN0MkQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMjQsMTIgKzMyNCwxNSBAQCB2b2lkIEltYWdlQnVmZmVyOjpwdXRCeXRlQXJy
YXkoY29uc3QgVWluCiAKICAgICBJbnRSZWN0IHNjYWxlZFNvdXJjZVJlY3QgPSBzb3VyY2VSZWN0
OwogICAgIEludFNpemUgc2NhbGVkU291cmNlU2l6ZSA9IHNvdXJjZVNpemU7CisgICAgSW50UG9p
bnQgc2NhbGVkRGVzdFBvaW50ID0gZGVzdFBvaW50OworCiAgICAgaWYgKGNvb3JkaW5hdGVTeXN0
ZW0gPT0gTG9naWNhbENvb3JkaW5hdGVTeXN0ZW0pIHsKICAgICAgICAgc2NhbGVkU291cmNlUmVj
dC5zY2FsZShtX3Jlc29sdXRpb25TY2FsZSk7CiAgICAgICAgIHNjYWxlZFNvdXJjZVNpemUuc2Nh
bGUobV9yZXNvbHV0aW9uU2NhbGUpOworICAgICAgICBzY2FsZWREZXN0UG9pbnQuc2NhbGUobV9y
ZXNvbHV0aW9uU2NhbGUpOwogICAgIH0KIAotICAgIG1fZGF0YS5wdXREYXRhKHNvdXJjZSwgYnVm
ZmVyRm9ybWF0LCBzY2FsZWRTb3VyY2VTaXplLCBzY2FsZWRTb3VyY2VSZWN0LCBkZXN0UG9pbnQs
IGludGVybmFsU2l6ZSgpLCBjb250ZXh0KCkuaXNBY2NlbGVyYXRlZENvbnRleHQoKSwgMSk7Cisg
ICAgbV9kYXRhLnB1dERhdGEoc291cmNlLCBidWZmZXJGb3JtYXQsIHNjYWxlZFNvdXJjZVNpemUs
IHNjYWxlZFNvdXJjZVJlY3QsIHNjYWxlZERlc3RQb2ludCwgaW50ZXJuYWxTaXplKCksIGNvbnRl
eHQoKS5pc0FjY2VsZXJhdGVkQ29udGV4dCgpKTsKIH0KIAogU3RyaW5nIEltYWdlQnVmZmVyOjp0
b0RhdGFVUkwoY29uc3QgU3RyaW5nJiwgT3B0aW9uYWw8ZG91YmxlPiwgUHJlc2VydmVSZXNvbHV0
aW9uKSBjb25zdApJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTMzOCkKKysrIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDgtMzAg
IEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dpbkNhaXJv
LCBGVFddIFByb3Blcmx5IGhhbmRsZSBkZXZpY2Ugc2NhbGUgZmFjdG9yCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEzNjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGhlIFdlYlZpZXcgYW5k
IFdlYlByb2Nlc3MgdG8gY29ycmVjdGx5IGhhbmRsZQorICAgICAgICB0aGUgZGV2aWNlIHNjYWxl
IGZhY3Rvci4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6
OldlYlZpZXcpOiBUZWxsIHRoZSBwYWdlIHRoZSBjdXJyZW50IGRldmljZSBzY2FsZSBmYWN0b3Iu
CisgICAgICAgICogV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4uY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzTWFpbldpbik6IFRlbGwgdGhlIHByb2Nlc3MgdG8gYmUgYXdh
cmUgb2YgZGV2aWNlIHNjYWxlLgorCiAyMDE5LTA4LTMwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzeXN0ZW0gdHJhY2luZyBwb2ludHMgZm9y
IGNvbXBvc2l0aW5nIHVwZGF0ZXMsIGFuZCB0b3VjaC1ldmVudCBkaXNwYXRjaGluZwpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMjQ5MzM4KQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9DdXJzb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0VkaXRvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9HRElVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hXbmREQy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KQEAgLTI0Niw2ICsyNDcsNyBAQCBXZWJWaWV3OjpXZWJWaWV3KFJFQ1QgcmVj
dCwgY29uc3QgQVBJOjpQCiAKICAgICBXZWJQcm9jZXNzUG9vbCogcHJvY2Vzc1Bvb2wgPSBwYWdl
Q29uZmlndXJhdGlvbi0+cHJvY2Vzc1Bvb2woKTsKICAgICBtX3BhZ2UgPSBwcm9jZXNzUG9vbC0+
Y3JlYXRlV2ViUGFnZSgqbV9wYWdlQ2xpZW50LCBXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7
CisgICAgbV9wYWdlLT5zZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3RvcihXZWJDb3JlOjpkZXZp
Y2VTY2FsZUZhY3RvckZvcldpbmRvdyhwYXJlbnRXaW5kb3cpKTsKICAgICBtX3BhZ2UtPmluaXRp
YWxpemVXZWJQYWdlKCk7CiAKICAgICBJbnRTaXplIHdpbmRvd1NpemUocmVjdC5yaWdodCAtIHJl
Y3QubGVmdCwgcmVjdC5ib3R0b20gLSByZWN0LnRvcCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcAkocmV2aXNpb24gMjQ5
MzM4KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQcm9jZXNzTWFpbldpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDkgQEAgaW50IFdlYlByb2Nlc3NNYWluV2lu
KGludCBhcmdjLCBjaGFyKiogYQogICAgIC8vIFdlYlByb2Nlc3MgdXNlcyBEaXJlY3RYCiAgICAg
SFJFU1VMVCBociA9IDo6Q29Jbml0aWFsaXplRXgobnVsbHB0ciwgQ09JTklUX01VTFRJVEhSRUFE
RUQpOwogICAgIFJFTEVBU0VfQVNTRVJUKFNVQ0NFRURFRChocikpOworCisgICAgOjpTZXRQcm9j
ZXNzRFBJQXdhcmUoKTsKKwogICAgIHJldHVybiBBdXhpbGlhcnlQcm9jZXNzTWFpbjxXZWJQcm9j
ZXNzLCBXZWJQcm9jZXNzTWFpbj4oYXJnYywgYXJndik7CiB9CiAKSW5kZXg6IFRvb2xzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTM1OCkKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA4
LTMwICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5D
YWlybywgRlRXXSBQcm9wZXJseSBoYW5kbGUgZGV2aWNlIHNjYWxlIGZhY3RvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzYxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzZXQgem9vbSB0byAxLjA7
IGRldmljZSBzY2FsZSBpcyBoYW5kbGVkIGVsc2V3aGVyZS4KKworICAgICAgICAqIE1pbmlCcm93
c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcDoKKyAgICAgICAgKFdlYktpdEJyb3dzZXJX
aW5kb3c6OnJlc2V0Wm9vbSk6CisKIDIwMTktMDgtMzAgIFpoaWZlaSBGYW5nICA8emhpZmVpX2Zh
bmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtyZXN1bHRzLndlYmtpdC5vcmcgVGltZWxpbmVdIEFk
ZCBub3RpZnkgcmVyZW5kZXIgQVBJIGZvciB0aW1lbGluZQpJbmRleDogVG9vbHMvTWluaUJyb3dz
ZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlC
cm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcAkocmV2aXNpb24gMjQ5MzM4KQorKysg
VG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yODEsNyArMjgxLDcgQEAgdm9pZCBXZWJLaXRCcm93c2VyV2luZG93Ojp1cGRhdGVT
dGF0aXN0aQogdm9pZCBXZWJLaXRCcm93c2VyV2luZG93OjpyZXNldFpvb20oKQogewogICAgIGF1
dG8gcGFnZSA9IFdLVmlld0dldFBhZ2UobV92aWV3LmdldCgpKTsKLSAgICBXS1BhZ2VTZXRQYWdl
Wm9vbUZhY3RvcihwYWdlLCBXZWJDb3JlOjpkZXZpY2VTY2FsZUZhY3RvckZvcldpbmRvdyhod25k
KCkpKTsKKyAgICBXS1BhZ2VTZXRQYWdlWm9vbUZhY3RvcihwYWdlLCAxLjApOwogfQogCiB2b2lk
IFdlYktpdEJyb3dzZXJXaW5kb3c6Onpvb21JbigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377836</attachid>
            <date>2019-09-01 21:20:38 -0700</date>
            <delta_ts>2019-09-01 21:22:25 -0700</delta_ts>
            <desc>Wrong Patch</desc>
            <filename>bug-201361-20190902132037.patch</filename>
            <type>text/plain</type>
            <size>10750</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY4OWNlNTAxMzM3Nzkx
MTcwYjE3M2NjNDhlMzY1OTc0YTkzZWZlYy4uMDMzYWY5YWEwNjE1MjVmNDIxYWFjNmQyNzY1NDBm
ZjcxNTU4MWNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA5LTAxICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5DYWlybywgRlRX
XSBQcm9wZXJseSBoYW5kbGUgZGV2aWNlIHNjYWxlIGZhY3RvcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzYxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRG9uIE9sbXN0ZWFkLgorCisgICAgICAgIFVwZGF0ZSB0aGUgRGlyZWN0MkQgSW1hZ2VCdWZm
ZXIvSW1hZ2VCdWZmZXJEYXRhIGNsYXNzZXMgdG8gY29ycmVjdGx5IGhhbmRsZQorICAgICAgICB0
aGUgZGV2aWNlIHNjYWxlIGZhY3Rvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dp
bi9JbWFnZUJ1ZmZlckRhdGFEaXJlY3QyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1
ZmZlckRhdGE6OnB1dERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFn
ZUJ1ZmZlckRpcmVjdDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpwdXRC
eXRlQXJyYXkpOgorCiAyMDE5LTA5LTAxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlp
QHNvbnkuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDkzNjYuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDJlYjQwNzE2M2E4MjI1YzM3MjVmYzljYzhlYzJiOGM0YmZiY2Q1OTMuLjA4Y2Ew
MzJiNTZhN2ZjNGQ5MGViNWQxNDdiMDc1ZjU4Y2U1OTljMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzUgQEAKKzIwMTktMDktMDEgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5j
b20+CisKKyAgICAgICAgW0NhaXJvXSBvdXQtb2YtYm91bmRzIHJlYWQgaW4gU2hhcmVhYmxlQml0
bWFwOjpwYWludCBpZiBhIGZyYWN0aW9uYWwgZGV2aWNlIHNjYWxlIGZhY3RvciBpcyB1c2VkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTYzNDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBTaGFyZWFi
bGVCaXRtYXA6OnBhaW50LCBzcmNSZWN0U2NhbGVkIGNhbiBiZSBvdXQtb2YtYm91bmRzIG9mCisg
ICAgICAgIHRoZSBzdXJmYWNlIGlmIGEgZnJhY3Rpb25hbCBkZXZpY2Ugc2NhbGUgZmFjdG9yIGlz
IHVzZWQuCisKKyAgICAgICAgKiBTaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OnBhaW50KTogVXNlIGNhaXJvU3Vy
ZmFjZVNldERldmljZVNjYWxlCisgICAgICAgIHRvIHNldCBhIGRldmljZSBzY2FsZSBmYWN0b3Ig
dG8gdGhlIHN1cmZhY2UgaW5zdGVhZCBvZiBtdWx0aXBseWluZworICAgICAgICBzcmNSZWN0IHdp
dGggYSBkZXZpY2Ugc2NhbGUgZmFjdG9yLgorCisyMDE5LTA5LTAxICBCcmVudCBGdWxnaGFtICA8
YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5DYWlybywgRlRXXSBQcm9wZXJseSBo
YW5kbGUgZGV2aWNlIHNjYWxlIGZhY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRG9uIE9sbXN0
ZWFkLgorCisgICAgICAgIFVwZGF0ZSB0aGUgV2ViVmlldyBhbmQgV2ViUHJvY2VzcyB0byBjb3Jy
ZWN0bHkgaGFuZGxlCisgICAgICAgIHRoZSBkZXZpY2Ugc2NhbGUgZmFjdG9yLgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9X
ZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6V2ViVmlldyk6IFRlbGwgdGhl
IHBhZ2UgdGhlIGN1cnJlbnQgZGV2aWNlIHNjYWxlIGZhY3Rvci4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL3dpbi9XZWJQcm9jZXNzTWFpbldpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NNYWluV2luKTogVGVsbCB0aGUgcHJvY2VzcyB0byBiZSBhd2FyZSBvZiBkZXZpY2Ugc2NhbGUu
CisKIDIwMTktMDktMDEgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0OTM2Ni4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUJ1ZmZlckRhdGFEaXJl
Y3QyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VCdWZm
ZXJEYXRhRGlyZWN0MkQuY3BwCmluZGV4IGZiZjk4ZjY0ODM2ODg3ZDk4NzAwOGNkOTg5MDk3NmE4
MGRmM2M5MDYuLjMzM2YwMGIxMzgzNWFmNGJiOTc0NzZlNzFkZThmOTczNDZkYjRkNjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUJ1ZmZlckRh
dGFEaXJlY3QyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ltYWdlQnVmZmVyRGF0YURpcmVjdDJELmNwcApAQCAtMTcyLDE0ICsxNzIsMTIgQEAgdm9pZCBJ
bWFnZUJ1ZmZlckRhdGE6OnB1dERhdGEoY29uc3QgVWludDhDbGFtcGVkQXJyYXkmIHNvdXJjZSwg
QWxwaGFQcmVtdWx0aXBsaWMKIAogICAgIENoZWNrZWQ8aW50PiBvcmlnaW54ID0gc291cmNlUmVj
dC54KCk7CiAgICAgQ2hlY2tlZDxpbnQ+IGRlc3R4ID0gKENoZWNrZWQ8aW50PihkZXN0UG9pbnQu
eCgpKSArIHNvdXJjZVJlY3QueCgpKTsKLSAgICBkZXN0eCAqPSByZXNvbHV0aW9uU2NhbGU7CiAg
ICAgQVNTRVJUKGRlc3R4LnVuc2FmZUdldCgpID49IDApOwogICAgIEFTU0VSVChkZXN0eC51bnNh
ZmVHZXQoKSA8IHNpemUud2lkdGgoKSk7CiAgICAgQVNTRVJUKG9yaWdpbngudW5zYWZlR2V0KCkg
Pj0gMCk7CiAgICAgQVNTRVJUKG9yaWdpbngudW5zYWZlR2V0KCkgPD0gc291cmNlUmVjdC5tYXhY
KCkpOwogCiAgICAgQ2hlY2tlZDxpbnQ+IGVuZHggPSAoQ2hlY2tlZDxpbnQ+KGRlc3RQb2ludC54
KCkpICsgc291cmNlUmVjdC5tYXhYKCkpOwotICAgIGVuZHggKj0gcmVzb2x1dGlvblNjYWxlOwog
ICAgIEFTU0VSVChlbmR4LnVuc2FmZUdldCgpIDw9IHNpemUud2lkdGgoKSk7CiAKICAgICBDaGVj
a2VkPGludD4gd2lkdGggPSBzb3VyY2VSZWN0LndpZHRoKCk7CkBAIC0xODcsMTQgKzE4NSwxMiBA
QCB2b2lkIEltYWdlQnVmZmVyRGF0YTo6cHV0RGF0YShjb25zdCBVaW50OENsYW1wZWRBcnJheSYg
c291cmNlLCBBbHBoYVByZW11bHRpcGxpYwogCiAgICAgQ2hlY2tlZDxpbnQ+IG9yaWdpbnkgPSBz
b3VyY2VSZWN0LnkoKTsKICAgICBDaGVja2VkPGludD4gZGVzdHkgPSAoQ2hlY2tlZDxpbnQ+KGRl
c3RQb2ludC55KCkpICsgc291cmNlUmVjdC55KCkpOwotICAgIGRlc3R5ICo9IHJlc29sdXRpb25T
Y2FsZTsKICAgICBBU1NFUlQoZGVzdHkudW5zYWZlR2V0KCkgPj0gMCk7CiAgICAgQVNTRVJUKGRl
c3R5LnVuc2FmZUdldCgpIDwgc2l6ZS5oZWlnaHQoKSk7CiAgICAgQVNTRVJUKG9yaWdpbnkudW5z
YWZlR2V0KCkgPj0gMCk7CiAgICAgQVNTRVJUKG9yaWdpbnkudW5zYWZlR2V0KCkgPD0gc291cmNl
UmVjdC5tYXhZKCkpOwogCiAgICAgQ2hlY2tlZDxpbnQ+IGVuZHkgPSAoQ2hlY2tlZDxpbnQ+KGRl
c3RQb2ludC55KCkpICsgc291cmNlUmVjdC5tYXhZKCkpOwotICAgIGVuZHkgKj0gcmVzb2x1dGlv
blNjYWxlOwogICAgIEFTU0VSVChlbmR5LnVuc2FmZUdldCgpIDw9IHNpemUuaGVpZ2h0KCkpOwog
CiAgICAgQ2hlY2tlZDxpbnQ+IGhlaWdodCA9IHNvdXJjZVJlY3QuaGVpZ2h0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VCdWZmZXJEYXRh
RGlyZWN0MkQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUJ1
ZmZlckRhdGFEaXJlY3QyRC5oCmluZGV4IDI0MjRkMDZhY2JmODdjNWM4ZGFjZDIyM2E5YTNjODEz
MGQwY2U5ZjIuLmNmMjJmYjUxNDE0ODY5NjY5ZmIyYWJjZjcxNzNkZjhiMDAzOTgwZjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUJ1ZmZlckRh
dGFEaXJlY3QyRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9J
bWFnZUJ1ZmZlckRhdGFEaXJlY3QyRC5oCkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBJbWFnZUJ1
ZmZlckRhdGEgewogICAgIENPTVB0cjxJRDJEMUJpdG1hcD4gYml0bWFwOwogCiAgICAgUmVmUHRy
PFVpbnQ4Q2xhbXBlZEFycmF5PiBnZXREYXRhKEFscGhhUHJlbXVsdGlwbGljYXRpb24sIGNvbnN0
IEludFJlY3QmLCBjb25zdCBJbnRTaXplJiwgYm9vbCBhY2NlbGVyYXRlUmVuZGVyaW5nLCBmbG9h
dCByZXNvbHV0aW9uU2NhbGUpIGNvbnN0OwotICAgIHZvaWQgcHV0RGF0YShjb25zdCBVaW50OENs
YW1wZWRBcnJheSYgc291cmNlLCBBbHBoYVByZW11bHRpcGxpY2F0aW9uIHNvdXJjZUZvcm1hdCwg
Y29uc3QgSW50U2l6ZSYgc291cmNlU2l6ZSwgY29uc3QgSW50UmVjdCYgc291cmNlUmVjdCwgY29u
c3QgSW50UG9pbnQmIGRlc3RQb2ludCwgY29uc3QgSW50U2l6ZSYsIGJvb2wgYWNjZWxlcmF0ZVJl
bmRlcmluZywgZmxvYXQgcmVzb2x1dGlvblNjYWxlKTsKKyAgICB2b2lkIHB1dERhdGEoY29uc3Qg
VWludDhDbGFtcGVkQXJyYXkmIHNvdXJjZSwgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBzb3VyY2VG
b3JtYXQsIGNvbnN0IEludFNpemUmIHNvdXJjZVNpemUsIGNvbnN0IEludFJlY3QmIHNvdXJjZVJl
Y3QsIGNvbnN0IEludFBvaW50JiBkZXN0UG9pbnQsIGNvbnN0IEludFNpemUmLCBib29sIGFjY2Vs
ZXJhdGVSZW5kZXJpbmcsIGZsb2F0IHJlc29sdXRpb25TY2FsZSA9IDEuMGYpOwogCiAgICAgQ09N
UHRyPElEMkQxQml0bWFwPiBjb21wYXRpYmxlQml0bWFwKElEMkQxUmVuZGVyVGFyZ2V0Kik7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdl
QnVmZmVyRGlyZWN0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ltYWdlQnVmZmVyRGlyZWN0MkQuY3BwCmluZGV4IDE3ZjQ0MTc1ZjBiZjdmN2FlNjdjZGRmNDg1
YWEwNDg2NmJlOGFjMzAuLjU4ZWFiOGZmYmM1ZGFmMTg5NDI0N2FkZmQ4ZDA0MTJhMjNiOWJjZmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZUJ1
ZmZlckRpcmVjdDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vSW1hZ2VCdWZmZXJEaXJlY3QyRC5jcHAKQEAgLTMyNCwxMiArMzI0LDE1IEBAIHZvaWQgSW1h
Z2VCdWZmZXI6OnB1dEJ5dGVBcnJheShjb25zdCBVaW50OENsYW1wZWRBcnJheSYgc291cmNlLCBB
bHBoYVByZW11bHRpcGxpCiAKICAgICBJbnRSZWN0IHNjYWxlZFNvdXJjZVJlY3QgPSBzb3VyY2VS
ZWN0OwogICAgIEludFNpemUgc2NhbGVkU291cmNlU2l6ZSA9IHNvdXJjZVNpemU7CisgICAgSW50
UG9pbnQgc2NhbGVkRGVzdFBvaW50ID0gZGVzdFBvaW50OworCiAgICAgaWYgKGNvb3JkaW5hdGVT
eXN0ZW0gPT0gTG9naWNhbENvb3JkaW5hdGVTeXN0ZW0pIHsKICAgICAgICAgc2NhbGVkU291cmNl
UmVjdC5zY2FsZShtX3Jlc29sdXRpb25TY2FsZSk7CiAgICAgICAgIHNjYWxlZFNvdXJjZVNpemUu
c2NhbGUobV9yZXNvbHV0aW9uU2NhbGUpOworICAgICAgICBzY2FsZWREZXN0UG9pbnQuc2NhbGUo
bV9yZXNvbHV0aW9uU2NhbGUpOwogICAgIH0KIAotICAgIG1fZGF0YS5wdXREYXRhKHNvdXJjZSwg
YnVmZmVyRm9ybWF0LCBzY2FsZWRTb3VyY2VTaXplLCBzY2FsZWRTb3VyY2VSZWN0LCBkZXN0UG9p
bnQsIGludGVybmFsU2l6ZSgpLCBjb250ZXh0KCkuaXNBY2NlbGVyYXRlZENvbnRleHQoKSwgMSk7
CisgICAgbV9kYXRhLnB1dERhdGEoc291cmNlLCBidWZmZXJGb3JtYXQsIHNjYWxlZFNvdXJjZVNp
emUsIHNjYWxlZFNvdXJjZVJlY3QsIHNjYWxlZERlc3RQb2ludCwgaW50ZXJuYWxTaXplKCksIGNv
bnRleHQoKS5pc0FjY2VsZXJhdGVkQ29udGV4dCgpKTsKIH0KIAogU3RyaW5nIEltYWdlQnVmZmVy
Ojp0b0RhdGFVUkwoY29uc3QgU3RyaW5nJiwgT3B0aW9uYWw8ZG91YmxlPiwgUHJlc2VydmVSZXNv
bHV0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2Fpcm8vU2hh
cmVhYmxlQml0bWFwQ2Fpcm8uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY2Fpcm8vU2hhcmVh
YmxlQml0bWFwQ2Fpcm8uY3BwCmluZGV4IGIyY2Q0ODQ2Njc3Y2U5N2RmYWMyODU4NDkwYzFlYTQz
NGY5NjI5MzMuLjg0MmNiZmFlOGM1NWY5YWIyZDlkZDE5ODEzZDExNzBhM2ExYTE2NTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5j
cHAKQEAgLTcxLDEzICs3MSwxMiBAQCB2b2lkIFNoYXJlYWJsZUJpdG1hcDo6cGFpbnQoR3JhcGhp
Y3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBJbnRQb2ludCYgZHN0UG9pbnQsCiB2b2lkIFNoYXJl
YWJsZUJpdG1hcDo6cGFpbnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBmbG9hdCBzY2FsZUZh
Y3RvciwgY29uc3QgSW50UG9pbnQmIGRzdFBvaW50LCBjb25zdCBJbnRSZWN0JiBzcmNSZWN0KQog
ewogICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHN1cmZhY2UgPSBjcmVhdGVTdXJmYWNlRnJv
bURhdGEoZGF0YSgpLCBtX3NpemUpOworICAgIGNhaXJvU3VyZmFjZVNldERldmljZVNjYWxlKHN1
cmZhY2UuZ2V0KCksIHNjYWxlRmFjdG9yLCBzY2FsZUZhY3Rvcik7CiAgICAgRmxvYXRSZWN0IGRl
c3RSZWN0KGRzdFBvaW50LCBzcmNSZWN0LnNpemUoKSk7Ci0gICAgRmxvYXRSZWN0IHNyY1JlY3RT
Y2FsZWQoc3JjUmVjdCk7Ci0gICAgc3JjUmVjdFNjYWxlZC5zY2FsZShzY2FsZUZhY3Rvcik7CiAK
ICAgICBBU1NFUlQoY29udGV4dC5oYXNQbGF0Zm9ybUNvbnRleHQoKSk7CiAgICAgYXV0byYgc3Rh
dGUgPSBjb250ZXh0LnN0YXRlKCk7Ci0gICAgQ2Fpcm86OmRyYXdTdXJmYWNlKCpjb250ZXh0LnBs
YXRmb3JtQ29udGV4dCgpLCBzdXJmYWNlLmdldCgpLCBkZXN0UmVjdCwgc3JjUmVjdFNjYWxlZCwg
c3RhdGUuaW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSwgc3RhdGUuYWxwaGEsIENhaXJvOjpTaGFk
b3dTdGF0ZShzdGF0ZSkpOworICAgIENhaXJvOjpkcmF3U3VyZmFjZSgqY29udGV4dC5wbGF0Zm9y
bUNvbnRleHQoKSwgc3VyZmFjZS5nZXQoKSwgZGVzdFJlY3QsIHNyY1JlY3QsIHN0YXRlLmltYWdl
SW50ZXJwb2xhdGlvblF1YWxpdHksIHN0YXRlLmFscGhhLCBDYWlybzo6U2hhZG93U3RhdGUoc3Rh
dGUpKTsKIH0KIAogUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gU2hhcmVhYmxlQml0bWFwOjpjcmVh
dGVDYWlyb1N1cmZhY2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCmlu
ZGV4IDAwMDM1MGNhNWZlNTYwMTFiMjVjZGM2OTkxNWIwYjA0ZjlmY2NhZTEuLjQzMjZhMGI5NzBk
ZGE2MWJlMWZlNDMwZmU5NTNmNDZhOTM0ZDc0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
aW4vV2ViVmlldy5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNv
ci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9h
dFJlY3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0dESVV0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvSFduZERDLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgpAQCAtMjQ2LDYgKzI0Nyw3IEBAIFdlYlZpZXc6Oldl
YlZpZXcoUkVDVCByZWN0LCBjb25zdCBBUEk6OlBhZ2VDb25maWd1cmF0aW9uJiBjb25maWd1cmF0
aW9uLCBIV05EIHBhCiAKICAgICBXZWJQcm9jZXNzUG9vbCogcHJvY2Vzc1Bvb2wgPSBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJvY2Vzc1Bvb2woKTsKICAgICBtX3BhZ2UgPSBwcm9jZXNzUG9vbC0+Y3Jl
YXRlV2ViUGFnZSgqbV9wYWdlQ2xpZW50LCBXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uKSk7Cisg
ICAgbV9wYWdlLT5zZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3RvcihXZWJDb3JlOjpkZXZpY2VT
Y2FsZUZhY3RvckZvcldpbmRvdyhwYXJlbnRXaW5kb3cpKTsKICAgICBtX3BhZ2UtPmluaXRpYWxp
emVXZWJQYWdlKCk7CiAKICAgICBJbnRTaXplIHdpbmRvd1NpemUocmVjdC5yaWdodCAtIHJlY3Qu
bGVmdCwgcmVjdC5ib3R0b20gLSByZWN0LnRvcCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4uY3BwCmluZGV4IDY3MDkyYjc4YzVmNTA5OTVl
ODc2Yjc5NTFmNWQ3NWIyZTRhYjU0ZTQuLjhkNmFlMDM2ZjI0MWRjN2MwMzU1ZWE5MDczODM5YjRk
ZDQ4NjFiZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJv
Y2Vzc01haW5XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93aW4vV2ViUHJv
Y2Vzc01haW5XaW4uY3BwCkBAIC00Niw2ICs0Niw5IEBAIGludCBXZWJQcm9jZXNzTWFpbldpbihp
bnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAgLy8gV2ViUHJvY2VzcyB1c2VzIERpcmVjdFgKICAg
ICBIUkVTVUxUIGhyID0gOjpDb0luaXRpYWxpemVFeChudWxscHRyLCBDT0lOSVRfTVVMVElUSFJF
QURFRCk7CiAgICAgUkVMRUFTRV9BU1NFUlQoU1VDQ0VFREVEKGhyKSk7CisKKyAgICA6OlNldFBy
b2Nlc3NEUElBd2FyZSgpOworCiAgICAgcmV0dXJuIEF1eGlsaWFyeVByb2Nlc3NNYWluPFdlYlBy
b2Nlc3MsIFdlYlByb2Nlc3NNYWluPihhcmdjLCBhcmd2KTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg0ZDVjMDViYmEyNzI5YzEzZDU3
ZjhhODcyNjQ3MjYxNGI0YWZjYTEuLjI1MmZjMTk1NDVmMWRmMzlkYjAxOTJlNDQwYmUyZmJiZTlh
ZWI3NjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxOS0wOS0wMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2luQ2Fpcm8sIEZUV10gUHJvcGVybHkgaGFuZGxlIGRldmlj
ZSBzY2FsZSBmYWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMTM2MQorCisgICAgICAgIFJldmlld2VkIGJ5IERvbiBPbG1zdGVhZC4KKworICAg
ICAgICBSZXNldCB6b29tIHRvIDEuMDsgZGV2aWNlIHNjYWxlIGlzIGhhbmRsZWQgZWxzZXdoZXJl
LgorCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwOgor
ICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6cmVzZXRab29tKToKKwogMjAxOS0wOS0wMSAg
RnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMjQ5MzY2LgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dz
ZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dl
YktpdEJyb3dzZXJXaW5kb3cuY3BwCmluZGV4IGNhZmFhYTQxNjFmMzBmNzQ1MzY2N2YyYWU0NDU4
YWQ0NTQ5OWE5MWYuLjZkYzhmNmIwNDdlMTZiMTBkNjUxNTc1YmE5YTZkMzRmNDE5ZmMzYWIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcAor
KysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAKQEAgLTI4
MSw3ICsyODEsNyBAQCB2b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6OnVwZGF0ZVN0YXRpc3RpY3Mo
SFdORCBoRGxnKQogdm9pZCBXZWJLaXRCcm93c2VyV2luZG93OjpyZXNldFpvb20oKQogewogICAg
IGF1dG8gcGFnZSA9IFdLVmlld0dldFBhZ2UobV92aWV3LmdldCgpKTsKLSAgICBXS1BhZ2VTZXRQ
YWdlWm9vbUZhY3RvcihwYWdlLCBXZWJDb3JlOjpkZXZpY2VTY2FsZUZhY3RvckZvcldpbmRvdyho
d25kKCkpKTsKKyAgICBXS1BhZ2VTZXRQYWdlWm9vbUZhY3RvcihwYWdlLCAxLjApOwogfQogCiB2
b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6Onpvb21JbigpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>