<?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>172209</bug_id>
          
          <creation_ts>2017-05-16 23:05:04 -0700</creation_ts>
          <short_desc>[Win] An assertion fails if the custom cursor image isn&apos;t loaded yet</short_desc>
          <delta_ts>2017-05-30 20:27:48 -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>UI Events</component>
          <version>WebKit 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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>pvollan</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1309482</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-16 23:05:04 -0700</bug_when>
    <thetext>I tested with WinCairo port, debug build, trunk@216964.
I see the following assertion failure while moving cursor in Google maps.

&gt; ASSERTION FAILED: bmp
&gt; C:\webkit\ga\Source\WebCore\platform\graphics\win\ImageCairoWin.cpp(60) : WebCore::BitmapImage::getHBITMAPOfSize

Callstack:

&gt; WTF.dll!WTFCrash() Line 292	C++
&gt; WebKit.dll!WebCore::BitmapImage::getHBITMAPOfSize(HBITMAP__ * bmp, const WebCore::IntSize * size) Line 60	C++
&gt; WebKit.dll!WebCore::BitmapImage::getHBITMAP(HBITMAP__ * bmp) Line 52	C++
&gt; WebKit.dll!WebCore::createSharedCursor(WebCore::Image * img, const WebCore::IntPoint &amp; hotSpot) Line 70	C++
&gt; WebKit.dll!WebCore::Cursor::ensurePlatformCursor() Line 260	C++
&gt; WebKit.dll!WebCore::Cursor::platformCursor() Line 186	C++
&gt; WebKit.dll!WebChromeClient::setCursor(const WebCore::Cursor &amp; cursor) Line 693	C++
&gt; WebKit.dll!WebCore::Chrome::setCursor(const WebCore::Cursor &amp; cursor) Line 466	C++
&gt; WebKit.dll!WebCore::Widget::setCursor(const WebCore::Cursor &amp; cursor) Line 76	C++
&gt; WebKit.dll!WebCore::EventHandler::updateCursor(WebCore::FrameView &amp; view, const WebCore::HitTestResult &amp; result, bool shiftKey) Line 1374	C++
&gt; WebKit.dll!WebCore::EventHandler::handleMouseMoveEvent(const WebCore::PlatformMouseEvent &amp; platformMouseEvent, WebCore::HitTestResult * hoveredNode, bool onlyUpdateScrollbars) Line 1974	C++
&gt; WebKit.dll!WebCore::EventHandler::mouseMoved(const WebCore::PlatformMouseEvent &amp; event) Line 1838	C++
&gt; WebKit.dll!WebView::handleMouseEvent(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 1884	C++
&gt; WebKit.dll!WebView::WebViewWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2607	C++
&gt; [External Code]	
&gt; WebKit.dll!WebCore::WindowMessageBroadcaster::SubclassedWndProc(HWND__ * hwnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 125	C++
&gt; [External Code]	
&gt; WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 97	C++
&gt; MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 189	C++
&gt; MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 857	C++
&gt; MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 249	C++
&gt; [External Code]	

The cursor image wasn&apos;t loaded yet at the time.
EventHandler::selectCursor returns nullImage in such case.

There are two choices of solution:

  1. EventHandler::selectCursor should not select a custom cursor its image is not loaded yet
  2. Windows port should handle nullImage cursor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309491</commentid>
    <comment_count>1</comment_count>
      <attachid>310356</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-17 00:14:36 -0700</bug_when>
    <thetext>Created attachment 310356
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311258</commentid>
    <comment_count>2</comment_count>
      <attachid>310841</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-22 01:51:05 -0700</bug_when>
    <thetext>Created attachment 310841
test case

This WIP patch doesn&apos;t solve this bug perfectly. Images which is decoding can have 0 dimension.
I&apos;ll take the (2) approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311261</commentid>
    <comment_count>3</comment_count>
      <attachid>310842</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-22 02:05:50 -0700</bug_when>
    <thetext>Created attachment 310842
Patch

WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311274</commentid>
    <comment_count>4</comment_count>
      <attachid>310846</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-22 03:14:43 -0700</bug_when>
    <thetext>Created attachment 310846
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311382</commentid>
    <comment_count>5</comment_count>
      <attachid>310846</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2017-05-22 09:01:14 -0700</bug_when>
    <thetext>Comment on attachment 310846
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        A custom cursor image can be zero dimension if it is loading or
&gt; +        decoding. Cursor::ensurePlatformCursor of Windows port should

I think this statement is inaccurate. An image can have zero dimension if the resource loader does not receive enough data to tell the size. In case of PNG this is only 33 bytes: 8-bytes for the signature and 25-bytes for the IHDR chunk. See https://en.wikipedia.org/wiki/Portable_Network_Graphics#File_header.

&gt; LayoutTests/http/tests/css/cursor-image-loading.html:7
&gt; +        cursor: url(&quot;/resources/load-and-stall.php?name=square100.png&amp;stallAt=5000&amp;stallFor=10&quot;), crosshair;

stallFor=10: Why do we have to stall for 10 &quot;seconds&quot;?
stallAt=5000: 5000 is a large number for an image to know its size. If the test fails without your patch, I think this happens because the image has not started loading yet.

&gt; LayoutTests/http/tests/css/cursor-image-loading.html:14
&gt; +window.addEventListener(&quot;DOMContentLoaded&quot;, () =&gt; {

When &quot;DOMContentLoaded&quot; fires, the HTML document is loaded and the DOM tree is built but the external resources and stylesheets may be not yet loaded. So I think if we set the cursor css to be simply:

cursor: url(&quot;name=square100.png&quot;), crosshair;

m_image-&gt;isNull() will be true also if eventSender.mouseMoveTo() is called form &quot;DOMContentLoaded&quot; event handler. Do we have this test to be a http test and have the image be loaded via l&quot;load-and-stall.php&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311753</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-22 21:09:15 -0700</bug_when>
    <thetext>Thank you so much for the review, Said.
You are right. 5000 bytes is too big. This can be tested with a non-http test.

And, I found that Qt port had same issue (Bug 68223). And, its test case can reproduce this bug with fixing CSS error in it.
I think old CSS parser accept the CSS error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311757</commentid>
    <comment_count>7</comment_count>
      <attachid>310977</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-22 21:24:51 -0700</bug_when>
    <thetext>Created attachment 310977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311932</commentid>
    <comment_count>8</comment_count>
      <attachid>310977</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2017-05-23 10:53:15 -0700</bug_when>
    <thetext>Comment on attachment 310977
Patch

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

&gt; Source/WebCore/platform/win/CursorWin.cpp:-261
&gt; -        m_platformCursor = createSharedCursor(m_image.get(), m_hotSpot);
&gt; -        if (!m_platformCursor)

This check was always evaluated to false. createSharedCursor() returns a Ref pointer which means m_platformCursor was never set to nullptr. So it is good to fix this code.

&gt; Source/WebCore/platform/win/CursorWin.cpp:261
&gt;              m_platformCursor = loadSharedCursor(0, IDC_ARROW);

Don&apos;t we have a way to load the fallback cursor if the image failed to load or was not loaded yet? For example, I would expect we load IDC_CROSS cursor not IDC_ARROW for the layout test below, if eventSender.mouseMoveTo() was executed too early.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312212</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-23 23:28:59 -0700</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #8)
&gt; Don&apos;t we have a way to load the fallback cursor if the image failed to load
&gt; or was not loaded yet? For example, I would expect we load IDC_CROSS cursor
&gt; not IDC_ARROW for the layout test below, if eventSender.mouseMoveTo() was
&gt; executed too early.

WebKit uses the subsequent cursor only if the preceding cursor has loading error or decoding error.
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/page/EventHandler.cpp?rev=216497#L1440

WebKit waits finishing loading and decoding of the cursor image.

On the otherhand, Firefox behaves differently. It shows following specified cursor while loading preceding cursor images.
For example,

&gt; cursor: url(load-and-stall.php?name=x.png&amp;stallFor=10), url(load-and-stall.php?name=y.png&amp;stallFor=5), crosshair;

Firefox shows crosshair first, and 5 seconds later y.png, and 10 seconds later x.png.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312419</commentid>
    <comment_count>10</comment_count>
      <attachid>310977</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-05-24 15:32:15 -0700</bug_when>
    <thetext>Comment on attachment 310977
Patch

Rejecting attachment 310977 from commit-queue.

Hironori.Fujii@sony.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312479</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-24 18:48:42 -0700</bug_when>
    <thetext>Said, thank you for r+. I can&apos;t cq+. Please cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312519</commentid>
    <comment_count>12</comment_count>
      <attachid>310977</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-24 20:54:11 -0700</bug_when>
    <thetext>Comment on attachment 310977
Patch

Clearing flags on attachment: 310977

Committed r217406: &lt;http://trac.webkit.org/changeset/217406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1312520</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-24 20:54:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314068</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-05-30 20:27:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/32479837&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310356</attachid>
            <date>2017-05-17 00:14:36 -0700</date>
            <delta_ts>2017-05-22 01:51:05 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>cursor.patch</filename>
            <type>text/plain</type>
            <size>707</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA4YzI2ODI5MzhmMy4uNDA3YmY5
OTYxNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE0MzMsNiArMTQz
Myw4IEBAIHN0ZDo6b3B0aW9uYWw8Q3Vyc29yPiBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihj
b25zdCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGJvCiAgICAgICAgICAgICBDYWNoZWRJbWFnZSog
Y2FjaGVkSW1hZ2UgPSBzdHlsZUltYWdlLT5jYWNoZWRJbWFnZSgpOwogICAgICAgICAgICAgaWYg
KCFjYWNoZWRJbWFnZSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlm
ICghY2FjaGVkSW1hZ2UtPmhhc0ltYWdlKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgICAgICBmbG9hdCBzY2FsZSA9IHN0eWxlSW1hZ2UtPmltYWdlU2NhbGVGYWN0b3IoKTsK
ICAgICAgICAgICAgIC8vIEdldCBob3RzcG90IGFuZCBjb252ZXJ0IGZyb20gbG9naWNhbCBwaXhl
bHMgdG8gcGh5c2ljYWwgcGl4ZWxzLgogICAgICAgICAgICAgSW50UG9pbnQgaG90U3BvdCA9ICgq
Y3Vyc29ycylbaV0uaG90U3BvdCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>310841</attachid>
            <date>2017-05-22 01:51:05 -0700</date>
            <delta_ts>2017-05-22 01:51:05 -0700</delta_ts>
            <desc>test case</desc>
            <filename>Bug172209-test.html</filename>
            <type>text/html</type>
            <size>291</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">PHN0eWxlPgogZGl2IHsKICAgICBjdXJzb3I6IHVybChodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVz
b3VyY2VzL2xvYWQtYW5kLXN0YWxsLnBocD9uYW1lPS4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291
cmNlcy9vdmFsLnBuZyZtaW1lVHlwZT1pbWFnZSUyRnBuZyZzdGFsbEF0PTU1JnN0YWxsRm9yPTEw
KSwgY3Jvc3NoYWlyOwogICAgIGJhY2tncm91bmQ6IGdyZWVuOwogICAgIHdpZHRoOiAxMDBweDsK
ICAgICBoZWlnaHQ6IDEwMHB4OwogfQo8L3N0eWxlPgo8Ym9keT4KPC9ib2R5Pgo8ZGl2PnRlc3Q8
L2Rpdj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310842</attachid>
            <date>2017-05-22 02:05:50 -0700</date>
            <delta_ts>2017-05-22 03:14:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172209-20170522180549.patch</filename>
            <type>text/plain</type>
            <size>1961</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMyNDc5ODc5OWE5OWU3
OTA1ZWVjZTRkNjhlMzdjMmUzZjVkY2JiNy4uMTQ1ZTU3ODZjMzUyY2M5OTlkZTRhNmU3MmExMTIy
YjA1Y2ZmMmYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA1LTIyICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5dIEFu
IGFzc2VydGlvbiBmYWlscyBpZiB0aGUgY3VzdG9tIGN1cnNvciBpbWFnZSBpc24ndCBsb2FkZWQg
eWV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIy
MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIGN1
c3RvbSBjdXJzb3IgaW1hZ2UgY2FuIGJlIHplcm8gZGltZW5zaW9uIGlmIGl0IGlzIGxvYWRpbmcg
b3IKKyAgICAgICAgZGVjb2RpbmcuIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3Igb2YgV2lu
ZG93cyBwb3J0IHNob3VsZAorICAgICAgICBoYW5kbGUgc3VjaCBjYXNlIHByb3Blcmx5LgorCisg
ICAgICAgICogcGxhdGZvcm0vd2luL0N1cnNvcldpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
dXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKTogTG9hZCBhIHN0b2NrIGN1cnNvciBpZgorICAg
ICAgICB0aGUgY3VzdG9tIGN1cnNvciBpbWFnZSBoYXMgemVybyBkaW1lbnNpb24uIERvIG5vdCBk
byBudWxsLWNoZWNrCisgICAgICAgIG9mIHRoZSByZXR1cm4gdmFsdWUgb2YgY3JlYXRlU2hhcmVk
Q3Vyc29yKCkgYmVjYXVzZSBpdCBuZXZlcgorICAgICAgICByZXR1cm5zIG51bGwuCisKIDIwMTct
MDUtMjEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIG1hdGNo
TWVkaWEoJ3ByaW50JykuYWRkTGlzdGVuZXIoKSBmaXJlcyBpbiBXSzEgYnV0IG5ldmVyIGluIFdL
MiB3aGVuIHByaW50aW5nIChicmVha3MgcHJpbnRpbmcgR29vZ2xlIG1hcHMsIFF1aWNrTG9va3Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ3Vyc29yV2luLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DdXJzb3JXaW4uY3BwCmluZGV4IGQ5YjIyNTVh
NWUyMWRlMjQ4NWFkNTVhOTBiYTk2ZWQ1OTk0MTRkOTguLmI0ZmZiYzVjZjc4OTA5ZTBmM2UzM2Zm
NGYyMWMwOTA4NTNlNDdlOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9DdXJzb3JXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DdXJzb3JX
aW4uY3BwCkBAIC0yNTcsOSArMjU3LDEwIEBAIHZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1
cnNvcigpIGNvbnN0CiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBsb2FkQ3Vyc29yQnlOYW1l
KCJ6b29tT3V0Q3Vyc29yIiwgNywgNyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ3Vyc29y
OjpDdXN0b206Ci0gICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBjcmVhdGVTaGFyZWRDdXJzb3Io
bV9pbWFnZS5nZXQoKSwgbV9ob3RTcG90KTsKLSAgICAgICAgaWYgKCFtX3BsYXRmb3JtQ3Vyc29y
KQorICAgICAgICBpZiAobV9pbWFnZS0+aXNOdWxsKCkpCiAgICAgICAgICAgICBtX3BsYXRmb3Jt
Q3Vyc29yID0gbG9hZFNoYXJlZEN1cnNvcigwLCBJRENfQVJST1cpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gY3JlYXRlU2hhcmVkQ3Vyc29yKG1faW1hZ2Uu
Z2V0KCksIG1faG90U3BvdCk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310846</attachid>
            <date>2017-05-22 03:14:43 -0700</date>
            <delta_ts>2017-05-22 21:24:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172209-20170522191442.patch</filename>
            <type>text/plain</type>
            <size>3174</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMyNDc5ODc5OWE5OWU3
OTA1ZWVjZTRkNjhlMzdjMmUzZjVkY2JiNy4uYTE5NTE2Y2VmMmVlNWU2ZTI2Y2Y2YWQ4NDYxZjk4
ODI3YTlkMTM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA1LTIyICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5dIEFu
IGFzc2VydGlvbiBmYWlscyBpZiB0aGUgY3VzdG9tIGN1cnNvciBpbWFnZSBpc24ndCBsb2FkZWQg
eWV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIy
MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBodHRwL3Rlc3RzL2Nzcy9jdXJzb3ItaW1hZ2UtbG9hZGluZy5odG1sCisKKyAgICAgICAgQSBj
dXN0b20gY3Vyc29yIGltYWdlIGNhbiBiZSB6ZXJvIGRpbWVuc2lvbiBpZiBpdCBpcyBsb2FkaW5n
IG9yCisgICAgICAgIGRlY29kaW5nLiBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yIG9mIFdp
bmRvd3MgcG9ydCBzaG91bGQKKyAgICAgICAgaGFuZGxlIHN1Y2ggY2FzZSBwcm9wZXJseS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9DdXJzb3JXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcik6IExvYWQgYSBzdG9jayBjdXJzb3IgaWYKKyAg
ICAgICAgdGhlIGN1c3RvbSBjdXJzb3IgaW1hZ2UgaGFzIHplcm8gZGltZW5zaW9uLiBEbyBub3Qg
ZG8gbnVsbC1jaGVjaworICAgICAgICBvZiB0aGUgcmV0dXJuIHZhbHVlIG9mIGNyZWF0ZVNoYXJl
ZEN1cnNvcigpIGJlY2F1c2UgaXQgbmV2ZXIKKyAgICAgICAgcmV0dXJucyBudWxsLgorCiAyMDE3
LTA1LTIxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBtYXRj
aE1lZGlhKCdwcmludCcpLmFkZExpc3RlbmVyKCkgZmlyZXMgaW4gV0sxIGJ1dCBuZXZlciBpbiBX
SzIgd2hlbiBwcmludGluZyAoYnJlYWtzIHByaW50aW5nIEdvb2dsZSBtYXBzLCBRdWlja0xvb2tz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0N1cnNvcldpbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ3Vyc29yV2luLmNwcAppbmRleCBkOWIyMjU1
YTVlMjFkZTI0ODVhZDU1YTkwYmE5NmVkNTk5NDE0ZDk4Li5iNGZmYmM1Y2Y3ODkwOWUwZjNlMzNm
ZjRmMjFjMDkwODUzZTQ3ZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vQ3Vyc29yV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ3Vyc29y
V2luLmNwcApAQCAtMjU3LDkgKzI1NywxMCBAQCB2b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1D
dXJzb3IoKSBjb25zdAogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gbG9hZEN1cnNvckJ5TmFt
ZSgiem9vbU91dEN1cnNvciIsIDcsIDcpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEN1cnNv
cjo6Q3VzdG9tOgotICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gY3JlYXRlU2hhcmVkQ3Vyc29y
KG1faW1hZ2UuZ2V0KCksIG1faG90U3BvdCk7Ci0gICAgICAgIGlmICghbV9wbGF0Zm9ybUN1cnNv
cikKKyAgICAgICAgaWYgKG1faW1hZ2UtPmlzTnVsbCgpKQogICAgICAgICAgICAgbV9wbGF0Zm9y
bUN1cnNvciA9IGxvYWRTaGFyZWRDdXJzb3IoMCwgSURDX0FSUk9XKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IGNyZWF0ZVNoYXJlZEN1cnNvcihtX2ltYWdl
LmdldCgpLCBtX2hvdFNwb3QpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY3NzL2N1cnNvci1pbWFnZS1sb2FkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvY3NzL2N1cnNvci1pbWFnZS1sb2FkaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wMzgzMTYyMGY2NDgwNDUzOGUyMGU5NmExMTMzYmFlOTFkNmI0Y2VkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jc3MvY3Vyc29yLWltYWdlLWxvYWRpbmctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1Rlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNo
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jc3MvY3Vyc29yLWltYWdlLWxv
YWRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY3NzL2N1cnNvci1pbWFnZS1sb2Fk
aW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNhNTU4MjJkNjdmNzQzYmRkZTdkMzkyYjFkMGM2YTIwNDI4
MTFkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY3NzL2N1cnNv
ci1pbWFnZS1sb2FkaW5nLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICAgIGh0bWwgeworICAgICAgICBoZWlnaHQ6IDEwMCU7
CisgICAgICAgIGN1cnNvcjogdXJsKCIvcmVzb3VyY2VzL2xvYWQtYW5kLXN0YWxsLnBocD9uYW1l
PXNxdWFyZTEwMC5wbmcmc3RhbGxBdD01MDAwJnN0YWxsRm9yPTEwIiksIGNyb3NzaGFpcjsKKyAg
ICB9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQord2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNv
bnRlbnRMb2FkZWQiLCAoKSA9PiB7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oNTAsIDUw
KTsKK30sIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitUZXN0IHBhc3NlcyBp
ZiBpdCBkb2VzIG5vdCBjcmFzaC4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310977</attachid>
            <date>2017-05-22 21:24:51 -0700</date>
            <delta_ts>2017-05-24 20:54:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172209-20170523132450.patch</filename>
            <type>text/plain</type>
            <size>3563</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU3M2MyZDNiZjcwOWIx
Y2Y2ODAxN2FhZTdkMDc4N2ZmYjIwNDY5My4uMzc4NTZmZGU2YTQwZTcxMTE3OGQ3ODdiZjZmMTRi
YTFkN2JlYWE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA1LTIyICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5dIEFu
IGFzc2VydGlvbiBmYWlscyBpZiB0aGUgY3VzdG9tIGN1cnNvciBpbWFnZSBpc24ndCBsb2FkZWQg
eWV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIy
MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBmYXN0L2Nzcy9jcmFzaC1vbi1jdXN0b20tY3Vyc29yLXdoZW4tbG9hZGluZy5odG1sCisKKyAg
ICAgICAgQSBjdXN0b20gY3Vyc29yIGltYWdlIGNhbiBiZSB6ZXJvIGRpbWVuc2lvbiBpZiBpdCBp
cyBsb2FkaW5nIG9yCisgICAgICAgIGRlY29kaW5nLiBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vy
c29yIG9mIFdpbmRvd3MgcG9ydCBzaG91bGQKKyAgICAgICAgaGFuZGxlIHN1Y2ggY2FzZSBwcm9w
ZXJseS4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9DdXJzb3JXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcik6IExvYWQgYSBzdG9jayBjdXJz
b3IgaWYKKyAgICAgICAgdGhlIGN1c3RvbSBjdXJzb3IgaW1hZ2UgaGFzIHplcm8gZGltZW5zaW9u
LiBEbyBub3QgZG8gbnVsbC1jaGVjaworICAgICAgICBvZiB0aGUgcmV0dXJuIHZhbHVlIG9mIGNy
ZWF0ZVNoYXJlZEN1cnNvcigpIGJlY2F1c2UgaXQgbmV2ZXIKKyAgICAgICAgcmV0dXJucyBudWxs
LgorCiAyMDE3LTA1LTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVzb3VyY2VzIGluIGNhY2hlZCBwYXJzZWQgc3R5bGVzaGVldHMgbWF5IGJ5cGFzcyBjb250
ZW50IGJsb2NrZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ3Vy
c29yV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DdXJzb3JXaW4uY3BwCmlu
ZGV4IGQ5YjIyNTVhNWUyMWRlMjQ4NWFkNTVhOTBiYTk2ZWQ1OTk0MTRkOTguLmI0ZmZiYzVjZjc4
OTA5ZTBmM2UzM2ZmNGYyMWMwOTA4NTNlNDdlOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9DdXJzb3JXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9DdXJzb3JXaW4uY3BwCkBAIC0yNTcsOSArMjU3LDEwIEBAIHZvaWQgQ3Vyc29yOjplbnN1
cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBsb2Fk
Q3Vyc29yQnlOYW1lKCJ6b29tT3V0Q3Vyc29yIiwgNywgNyk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgQ3Vyc29yOjpDdXN0b206Ci0gICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBjcmVhdGVT
aGFyZWRDdXJzb3IobV9pbWFnZS5nZXQoKSwgbV9ob3RTcG90KTsKLSAgICAgICAgaWYgKCFtX3Bs
YXRmb3JtQ3Vyc29yKQorICAgICAgICBpZiAobV9pbWFnZS0+aXNOdWxsKCkpCiAgICAgICAgICAg
ICBtX3BsYXRmb3JtQ3Vyc29yID0gbG9hZFNoYXJlZEN1cnNvcigwLCBJRENfQVJST1cpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gY3JlYXRlU2hhcmVkQ3Vy
c29yKG1faW1hZ2UuZ2V0KCksIG1faG90U3BvdCk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUxNzIyOGVlNzNlOTg2
OTYxY2Q4M2I2NWY4ZWE3NWVkN2JhY2Y2YTQuLjMyNDRmNDcxZWQ5ZTE4YzYxOTE4Yzk0MmUzYWJk
MDE2OWQzMjU0NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0wNS0yMiAgRnVqaWkgSGly
b25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBbV2luXSBBbiBhc3Nl
cnRpb24gZmFpbHMgaWYgdGhlIGN1c3RvbSBjdXJzb3IgaW1hZ2UgaXNuJ3QgbG9hZGVkIHlldAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMjA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2luZG93cyBw
b3J0IGhhdmUgdGhlIHNhbWUgaXNzdWUgUXQgcG9ydCBoYWQgaGFkIHNldmVyYWwgeWVhcnMgYWdv
CisgICAgICAgIChCdWcgNjgyMjMpLiBJJ2QgbGlrZSB0byByZXVzZSB0aGUgdGVzdCBjYXNlLiBC
dXQsIGN1cnJlbnQgQ1NTCisgICAgICAgIHBhcnNlciByZWplY3RzIGludmFsaWQgJ2N1cnNvcicg
cHJvcGVydHkgdmFsdWUgd2hpY2ggY29uc2lzdHMgb2YKKyAgICAgICAgYSBzaW5nbGUgVVJMIGJ1
dCBubyBrZXl3b3Jkcy4KKworICAgICAgICAqIGZhc3QvY3NzL2NyYXNoLW9uLWN1c3RvbS1jdXJz
b3Itd2hlbi1sb2FkaW5nLmh0bWw6IEZpeCBpbnZhbGlkCisgICAgICAgICdjdXJzb3InIHByb3Bl
cnR5IGJ5IGFwcGVuZGluZyBhIGZhbGxiYWNrIGtleXdvcmQuCisKIDIwMTctMDUtMjIgIFJ5YW4g
SGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayB0byBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0YyB0ZXN0cyBhcyBmYWlsaW5nIG9uIGlvcy13
azIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jcmFzaC1vbi1jdXN0b20tY3Vy
c29yLXdoZW4tbG9hZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY3Jhc2gtb24tY3Vz
dG9tLWN1cnNvci13aGVuLWxvYWRpbmcuaHRtbAppbmRleCAxMzE0ZjZjMmVmYmZlNzQzMGU3M2Qw
YzgxZjRkMGNlZWJlN2MyODBkLi41ZWM4MjkwNjM1M2FkNWRhMzY4NWQ2YWE4YWJkYWNjNGVkYmZl
Y2EwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jcmFzaC1vbi1jdXN0b20tY3Vy
c29yLXdoZW4tbG9hZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NyYXNoLW9u
LWN1c3RvbS1jdXJzb3Itd2hlbi1sb2FkaW5nLmh0bWwKQEAgLTIsNyArMiw3IEBACiA8aGVhZD4K
IDxzdHlsZT4KICAgICBkaXYgewotICAgICAgICBjdXJzb3I6IHVybChyZXNvdXJjZXMvcHVycGxl
LXNyZ2IucG5nKTsKKyAgICAgICAgY3Vyc29yOiB1cmwocmVzb3VyY2VzL3B1cnBsZS1zcmdiLnBu
ZyksIGNyb3NzaGFpcjsKICAgICAgICAgd2lkdGg6IDIwMDsKICAgICAgICAgaGVpZ2h0OiAyMDA7
CiAgICAgICAgIGJhY2tncm91bmQ6IGdyZWVuOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>