<?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>145981</bug_id>
          
          <creation_ts>2015-06-15 12:38:45 -0700</creation_ts>
          <short_desc>Crash when right clicking in input box with -webkit-user-select: none</short_desc>
          <delta_ts>2016-01-12 15:54:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>bjonesbe</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1102009</commentid>
    <comment_count>0</comment_count>
      <attachid>254888</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2015-06-15 12:38:45 -0700</bug_when>
    <thetext>Created attachment 254888
Test Case

Load the attached test case, then right click in the input box. Watch the renderer crash:

Note that if you do type in the box, only one character shows up, and doesn&apos;t seem to be able to be deleted. But once the box has been left clicked on or typed in, a crash will no longer occur.

Stack:

* thread #1: tid = 0xae932b, 0x000000011830247f WebCore`WebCore::Node::getFlag(this=0x0000000000000000, mask=HasRareDataFlag) const + 15 at Node.h:631, queue = &apos;com.apple.main-thread&apos;, stop reason = EXC_BAD_ACCESS (code=1, address=0x18)
  * frame #0: 0x000000011830247f WebCore`WebCore::Node::getFlag(this=0x0000000000000000, mask=HasRareDataFlag) const + 15 at Node.h:631
    frame #1: 0x000000011830243a WebCore`WebCore::Node::hasRareData(this=0x0000000000000000) const + 26 at Node.h:658
    frame #2: 0x00000001183023d9 WebCore`WebCore::Node::renderer(this=0x0000000000000000) const + 25 at Node.h:441
    frame #3: 0x0000000118a3095f WebCore`WebCore::Editor::hasBidiSelection(this=0x00007f8520c29900) const + 447 at Editor.cpp:712
    frame #4: 0x0000000118648adb WebCore`WebCore::ContextMenuController::populate(this=0x0000000121fcf0b8) + 15547 at ContextMenuController.cpp:1098
    frame #5: 0x00000001186448af WebCore`WebCore::ContextMenuController::handleContextMenuEvent(this=0x0000000121fcf0b8, event=0x0000000121f586e0) + 799 at ContextMenuController.cpp:105
    frame #6: 0x00000001199432e0 WebCore`WebCore::Node::defaultEventHandler(this=0x0000000121fef9c0, event=0x0000000121f586e0) + 592 at Node.cpp:2088
    frame #7: 0x000000011a2555c9 WebCore`WebCore::TextControlInnerTextElement::defaultEventHandler(this=0x0000000121fef9c0, event=0x0000000121f586e0) + 185 at TextControlInnerElements.cpp:111
    frame #8: 0x0000000118a872a6 WebCore`WebCore::callDefaultEventHandlersInTheBubblingOrder(event=0x0000000121f586e0, path=0x00007fff51913ee8) + 102 at EventDispatcher.cpp:257
    frame #9: 0x0000000118a86c39 WebCore`WebCore::EventDispatcher::dispatchEvent(origin=0x0000000121fef9c0, prpEvent=PassRefPtr&lt;WebCore::Event&gt; at 0x00007fff51914040) + 1065 at EventDispatcher.cpp:368
    frame #10: 0x0000000119942bbd WebCore`WebCore::Node::dispatchEvent(this=0x0000000121fef9c0, event=&lt;unavailable&gt;) + 45 at Node.cpp:2011
    frame #11: 0x0000000118a5749f WebCore`WebCore::Element::dispatchMouseEvent(this=0x0000000121fef9c0, platformEvent=0x00007fff51914598, eventType=0x0000000120038d70, detail=0, relatedTarget=0x0000000000000000) + 559 at Element.cpp:264
    frame #12: 0x0000000118a9641f WebCore`WebCore::EventHandler::dispatchMouseEvent(this=0x00000001217e5000, eventType=0x0000000120038d70, targetNode=0x0000000121fef9c0, (null)=true, clickCount=0, platformMouseEvent=0x00007fff51914598, setUnder=false) + 207 at EventHandler.cpp:2582
    frame #13: 0x0000000118a9af5f WebCore`WebCore::EventHandler::sendContextMenuEvent(this=0x00000001217e5000, event=0x00007fff51914598) + 495 at EventHandler.cpp:2833
    frame #14: 0x000000011a31a5cc WebCore`WebCore::UserInputBridge::handleContextMenuEvent(this=0x00007f8520c135b0, mouseEvent=0x00007fff51914598, frame=0x00000001217e6000, (null)=User) + 44 at UserInputBridge.cpp:74
    frame #15: 0x00000001138338aa WebKit`WebKit::handleContextMenuEvent(platformMouseEvent=0x00007fff51914598, page=0x00007f8521012410) + 298 at WebPage.cpp:1918
    frame #16: 0x0000000113828cef WebKit`WebKit::handleMouseEvent(mouseEvent=0x00007fff519147c0, page=0x00007f8521012410, onlyUpdateScrollbars=false) + 271 at WebPage.cpp:1944
    frame #17: 0x0000000113828b79 WebKit`WebKit::WebPage::mouseEvent(this=0x00007f8521012410, mouseEvent=0x00007fff519147c0) + 521 at WebPage.cpp:2006
    frame #18: 0x00000001138a43ef WebKit`void IPC::callMemberFunctionImpl&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;), std::__1::tuple&lt;WebKit::WebMouseEvent&gt;, 0ul&gt;(object=0x00007f8521012410, function=0x0000000113828970, args=0x00007fff519147c0, (null)=index_sequence&lt;0&gt; at 0x00007fff51914700)(WebKit::WebMouseEvent const&amp;), std::__1::tuple&lt;WebKit::WebMouseEvent&gt;&amp;&amp;, std::index_sequence&lt;0ul&gt;) + 159 at HandleMessage.h:16
    frame #19: 0x00000001138a4348 WebKit`void IPC::callMemberFunction&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;), std::__1::tuple&lt;WebKit::WebMouseEvent&gt;, std::make_index_sequence&lt;1ul&gt; &gt;(args=0x00007fff519147c0, object=0x00007f8521012410, function=0x0000000113828970)(WebKit::WebMouseEvent const&amp;)) + 88 at HandleMessage.h:22
    frame #20: 0x000000011388bf94 WebKit`void IPC::handleMessage&lt;Messages::WebPage::MouseEvent, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;)&gt;(decoder=0x0000000121fe46e8, object=0x00007f8521012410, function=0x0000000113828970)(WebKit::WebMouseEvent const&amp;)) + 244 at HandleMessage.h:92
    frame #21: 0x00000001138860e6 WebKit`WebKit::WebPage::didReceiveWebPageMessage(this=0x00007f8521012410, connection=0x00000001217fa000, decoder=0x0000000121fe46e8) + 1574 at WebPageMessageReceiver.cpp:179
    frame #22: 0x000000011382da5b WebKit`WebKit::WebPage::didReceiveMessage(this=0x00007f8521012410, connection=0x00000001217fa000, decoder=0x0000000121fe46e8) + 379 at WebPage.cpp:3630
    frame #23: 0x000000011382daa7 WebKit`non-virtual thunk to WebKit::WebPage::didReceiveMessage(this=0x00007f8521012420, connection=0x00000001217fa000, decoder=0x0000000121fe46e8) + 55 at WebPage.cpp:3631
    frame #24: 0x000000011328d61d WebKit`IPC::MessageReceiverMap::dispatchMessage(this=0x00007f8521814c58, connection=0x00000001217fa000, decoder=0x0000000121fe46e8) + 461 at MessageReceiverMap.cpp:87
    frame #25: 0x00000001139add9d WebKit`WebKit::WebProcess::didReceiveMessage(this=0x00007f8521814c00, connection=0x00000001217fa000, decoder=0x0000000121fe46e8) + 61 at WebProcess.cpp:617
    frame #26: 0x000000011313f3f3 WebKit`IPC::Connection::dispatchMessage(this=0x00000001217fa000, decoder=0x0000000121fe46e8) + 51 at Connection.cpp:870
    frame #27: 0x00000001131378e0 WebKit`IPC::Connection::dispatchMessage(this=0x00000001217fa000, message=unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt; at 0x00007fff519169c8) + 416 at Connection.cpp:893
    frame #28: 0x000000011313f9ef WebKit`IPC::Connection::dispatchOneMessage(this=0x00000001217fa000) + 1519 at Connection.cpp:921
    frame #29: 0x000000011314126d WebKit`IPC::Connection::enqueueIncomingMessage(this=0x00007f8520f4d168)::$_9::operator()() const + 29 at Connection.cpp:864
    frame #30: 0x000000011314123c WebKit`std::__1::__function::__func&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_9, std::__1::allocator&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_9&gt;, void ()&gt;::operator()() [inlined] decltype(__f=0x00007f8520f4d168)::$_9&amp;&gt;(fp)(std::__1::forward&lt;&gt;(fp0))) std::__1::__invoke&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_9&amp;&gt;(IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_9&amp;&amp;&amp;) + 60 at __functional_base:413
    frame #31: 0x000000011314122b WebKit`std::__1::__function::__func&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_9, std::__1::allocator&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_9&gt;, void ()&gt;::operator(this=0x00007f8520f4d160)() + 43 at functional:1370
    frame #32: 0x00000001166da92a JavaScriptCore`std::__1::function&lt;void ()&gt;::operator(this=0x00007fff51916ec0)() const + 26 at functional:1756
    frame #33: 0x0000000116be5302 JavaScriptCore`WTF::RunLoop::performWork(this=0x0000000121ff9000) + 306 at RunLoop.cpp:104
    frame #34: 0x0000000116be65b4 JavaScriptCore`WTF::RunLoop::performWork(context=0x0000000121ff9000) + 36 at RunLoopCF.cpp:38
    frame #35: 0x00007fff8ec86681 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #36: 0x00007fff8ec7880d CoreFoundation`__CFRunLoopDoSources0 + 269
    frame #37: 0x00007fff8ec77e3f CoreFoundation`__CFRunLoopRun + 927
    frame #38: 0x00007fff8ec77858 CoreFoundation`CFRunLoopRunSpecific + 296
    frame #39: 0x00007fff9216aaef HIToolbox`RunCurrentEventLoopInMode + 235
    frame #40: 0x00007fff9216a86a HIToolbox`ReceiveNextEventCommon + 431
    frame #41: 0x00007fff9216a6ab HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 71
    frame #42: 0x00007fff8a338f81 AppKit`_DPSNextEvent + 964
    frame #43: 0x00007fff8a338730 AppKit`-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
    frame #44: 0x00007fff8a32c593 AppKit`-[NSApplication run] + 594
    frame #45: 0x00007fff8a317a14 AppKit`NSApplicationMain + 1832
    frame #46: 0x00007fff90f1eef2 libxpc.dylib`_xpc_objc_main + 793
    frame #47: 0x00007fff90f20a9d libxpc.dylib`xpc_main + 490
    frame #48: 0x000000010e2e8197 com.apple.WebKit.WebContent.Development`main(argc=1, argv=0x00007fff519187f0) + 39 at XPCServiceMain.Development.mm:170
    frame #49: 0x00007fff935345c9 libdyld.dylib`start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121014</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-08-26 12:15:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/22441925&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137733</commentid>
    <comment_count>2</comment_count>
      <attachid>264368</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-29 17:43:28 -0700</bug_when>
    <thetext>Created attachment 264368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137734</commentid>
    <comment_count>3</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-29 17:44:58 -0700</bug_when>
    <thetext>The crash has been fixed, but I am not sure whether the behavior the report described should be abnormal or not. Therefore, I suggest the reporter to file another bug report about the &quot;abnormal&quot; behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137875</commentid>
    <comment_count>4</comment_count>
      <attachid>264368</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2015-10-30 09:32:34 -0700</bug_when>
    <thetext>Comment on attachment 264368
Patch

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

I don&apos;t know enough about the context menu stuff to give a real review, but thanks for fixing this! I&apos;ll take a look once this has landed and file a new bug on the weird input behavior if it persists.

&gt; LayoutTests/editing/selection/minimal-user-select-crash-expected.txt:1
&gt; +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification

There may not be a way around it, but it is unfortunate that this ends up in the expected result, since it&apos;ll probably cause the test to fail on non-Mac ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137896</commentid>
    <comment_count>5</comment_count>
      <attachid>264368</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-30 10:59:40 -0700</bug_when>
    <thetext>Comment on attachment 264368
Patch

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

&gt;&gt; LayoutTests/editing/selection/minimal-user-select-crash-expected.txt:1
&gt;&gt; +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
&gt; 
&gt; There may not be a way around it, but it is unfortunate that this ends up in the expected result, since it&apos;ll probably cause the test to fail on non-Mac ports.

Currently, all the layout tests under editing will include things like this. I have to follow the rule. Maybe you can ask Enrica for more detailed explanation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137919</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-10-30 12:17:36 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 264368 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=264368&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/editing/selection/minimal-user-select-crash-expected.txt:1
&gt; &gt;&gt; +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
&gt; &gt; 
&gt; &gt; There may not be a way around it, but it is unfortunate that this ends up in the expected result, since it&apos;ll probably cause the test to fail on non-Mac ports.
&gt; 
&gt; Currently, all the layout tests under editing will include things like this.
&gt; I have to follow the rule. Maybe you can ask Enrica for more detailed
&gt; explanation.

There may be a way to disable editing delegates on a per-test basis via window.internal function.

Otherwise, we can just land separate results for the other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1138215</commentid>
    <comment_count>7</comment_count>
      <attachid>264368</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-31 15:13:56 -0700</bug_when>
    <thetext>Comment on attachment 264368
Patch

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

Please rethink the regression test.

&gt;&gt;&gt;&gt; LayoutTests/editing/selection/minimal-user-select-crash-expected.txt:1
&gt;&gt;&gt;&gt; +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
&gt;&gt;&gt; 
&gt;&gt;&gt; There may not be a way around it, but it is unfortunate that this ends up in the expected result, since it&apos;ll probably cause the test to fail on non-Mac ports.
&gt;&gt; 
&gt;&gt; Currently, all the layout tests under editing will include things like this. I have to follow the rule. Maybe you can ask Enrica for more detailed explanation.
&gt; 
&gt; There may be a way to disable editing delegates on a per-test basis via window.internal function.
&gt; 
&gt; Otherwise, we can just land separate results for the other ports.

What turns this on is code that says:

    testRunner.dumpEditingCallbacks();

It’s not because the test is in the editing directory, but because it’s using editing/editing.js and calling runEditingTest. I think there should be a way to change things so it won’t dump the editing callbacks. I am not sure this test needs to use runEditingTest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139473</commentid>
    <comment_count>8</comment_count>
      <attachid>264824</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-11-04 15:56:27 -0800</bug_when>
    <thetext>Created attachment 264824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140533</commentid>
    <comment_count>9</comment_count>
      <attachid>264368</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-11-09 14:15:09 -0800</bug_when>
    <thetext>Comment on attachment 264368
Patch

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

Please address my comment for the ChangeLog before landing. The change looks ok.

&gt; Source/WebCore/ChangeLog:13
&gt; +        Selection could point to non visible position with -webkit-user-select: none.

I think the correct comment is that there is no visible position. The problem is not that the position is not visible, but that a visible position cannot be created because of the style that makes it non selectable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140534</commentid>
    <comment_count>10</comment_count>
      <attachid>264824</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2015-11-09 14:16:56 -0800</bug_when>
    <thetext>Comment on attachment 264824
Patch

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

Please address my comment to the ChangeLog before committing the patch. The change looks ok.

&gt; Source/WebCore/ChangeLog:13
&gt; +        Selection could point to non visible position with -webkit-user-select: none.

This comment is not correct. It is not that the position is non visible, but rather that a visible position cannot be created because of the style that doesn&apos;t allow the selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140575</commentid>
    <comment_count>11</comment_count>
      <attachid>265110</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-11-09 15:53:09 -0800</bug_when>
    <thetext>Created attachment 265110
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140601</commentid>
    <comment_count>12</comment_count>
      <attachid>265110</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-09 16:44:16 -0800</bug_when>
    <thetext>Comment on attachment 265110
Patch for committing

Clearing flags on attachment: 265110

Committed r192191: &lt;http://trac.webkit.org/changeset/192191&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>254888</attachid>
            <date>2015-06-15 12:38:45 -0700</date>
            <delta_ts>2015-06-15 12:38:45 -0700</delta_ts>
            <desc>Test Case</desc>
            <filename>minimal-user-select-crash.html</filename>
            <type>text/html</type>
            <size>208</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxzdHlsZT4KICAgICNzZWFyY2gtdGV4dCB7CiAgICAgICAgLXdlYmtp
dC11c2VyLXNlbGVjdDogbm9uZTsKICAgIH0KPC9zdHlsZT4KPGJvZHk+CiAgICA8aW5wdXQgaWQ9
InNlYXJjaC10ZXh0Ij4KPC9ib2R5Pgo8c2NyaXB0PgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3NlYXJjaC10ZXh0JykuZm9jdXMoKTsKPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264368</attachid>
            <date>2015-10-29 17:43:28 -0700</date>
            <delta_ts>2015-11-04 15:56:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145981-20151029174236.patch</filename>
            <type>text/plain</type>
            <size>6027</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFiMjJhNjc4Yjc4ODVm
NTAyYmFkY2ZiNjU1MTUyOTY0ODIxNjFlNi4uNjhkNjQ4ZTExNjZkMWMzYTEwNWExZTliZTRkNTU2
NDMyNTUyMzFmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTEwLTI5ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiByaWdo
dCBjbGlja2luZyBpbiBpbnB1dCBib3ggd2l0aCAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU5ODEKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNDQxOTI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvc2VsZWN0aW9uL21pbmltYWwt
dXNlci1zZWxlY3QtY3Jhc2guaHRtbAorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpoYXNCaWRpU2VsZWN0aW9uKToKKyAgICAgICAgU2Vs
ZWN0aW9uIGNvdWxkIHBvaW50IHRvIG5vbiB2aXNpYmxlIHBvc2l0aW9uIHdpdGggLXdlYmtpdC11
c2VyLXNlbGVjdDogbm9uZS4KKwogMjAxNS0xMC0xOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIEhvc3QgR3JhcGhpY3NDb250ZXh0J3MgQ1RNIGlu
c2lkZSBHcmFwaGljc0NvbnRleHRTdGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc2MmY1YjY1MjU0ODJhNmE5
M2FlZjRhMzQxN2I1MGNkOTQ2ODMzZDkuLjk5YmFjZTlmYjYyMjY1ODZiY2FkYzA2ZmQ4OWYwMDU4
MmU0ZmQyNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0xMC0yOSAgSmlld2Vu
IFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIHdoZW4gcmlnaHQg
Y2xpY2tpbmcgaW4gaW5wdXQgYm94IHdpdGggLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1OTgxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yMjQ0MTkyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94
eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eU1hYzo6c2hvd0Nv
bnRleHRNZW51KToKKyAgICAgICAgSWYgbm90aGluZyBpcyBzZWxlY3RlZCwgQ29udGV4dE1lbnVJ
dGVtOjpwbGF0Zm9ybURlc2NyaXB0aW9uKCkgd2lsbCBiZSBudWxsLgorCiAyMDE1LTEwLTE5ICBU
aW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1
bnVzZWQgc3VwcG9ydCBmb3IgbG9uZyBwcmVzc2VzIGZyb20gV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRvci5jcHAKaW5kZXggOTg0MGZlNWY5NjEyYmFlZmFlNDUyMDUxNjg1ZDAyMzBmNWE0NzBj
Ny4uZTIwYmJkMDZiNzIxZDMyMjBmMzUxNWE4MjQyYzg0MGM3M2U3YjhkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcApAQCAtNzA4LDYgKzcwOCw5IEBAIGJvb2wgRWRpdG9yOjpoYXNCaWRp
U2VsZWN0aW9uKCkgY29uc3QKICAgICB9IGVsc2UKICAgICAgICAgc3RhcnROb2RlID0gbV9mcmFt
ZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS52aXNpYmxlU3RhcnQoKS5kZWVwRXF1aXZhbGVudCgp
LmRlcHJlY2F0ZWROb2RlKCk7CiAKKyAgICBpZiAoIXN0YXJ0Tm9kZSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgYXV0byByZW5kZXJlciA9IHN0YXJ0Tm9kZS0+cmVuZGVyZXIoKTsKICAg
ICB3aGlsZSAocmVuZGVyZXIgJiYgIWlzPFJlbmRlckJsb2NrRmxvdz4oKnJlbmRlcmVyKSkKICAg
ICAgICAgcmVuZGVyZXIgPSByZW5kZXJlci0+cGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KaW5kZXggZjQ3
YzNmNTZkOTA0NjJhNGE0N2U0YTk0N2JiYjc3Njg1MDJmNmE2NS4uZDUxOTQ5OTAwNmQ5ZWE5NmQ5
MmQ0NDlkMWQ1OWIzODg3NTNiY2U0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQpAQCAtMzk3LDcgKzM5Nyw5IEBA
IHZvaWQgV2ViQ29udGV4dE1lbnVQcm94eU1hYzo6c2hvd0NvbnRleHRNZW51KCkKICAgICAgICAg
fQogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgICAgIHByb3Bvc2VkQVBJSXRl
bXMuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKHNoYXJlTWVudUl0ZW0oKSkpOwor
ICAgICAgICBDb250ZXh0TWVudUl0ZW0gY29udGV4dE1lbnVJdGVtID0gc2hhcmVNZW51SXRlbSgp
OworICAgICAgICBpZiAoY29udGV4dE1lbnVJdGVtLnBsYXRmb3JtRGVzY3JpcHRpb24oKSkKKyAg
ICAgICAgICAgIHByb3Bvc2VkQVBJSXRlbXMuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3Jl
YXRlKGNvbnRleHRNZW51SXRlbSkpOwogI2VuZGlmCiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTVmNDVlOGIy
NDEyMTQwNmQ3YzBmNTExOTE2OTEyMGI1NDg2NjBmMC4uMDAyMWJmN2FiZTY1MWMwMzYxYTJmYjA3
ZWUyNjQ3ZjkxY2ViYjU0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTEwLTI5ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiByaWdo
dCBjbGlja2luZyBpbiBpbnB1dCBib3ggd2l0aCAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU5ODEKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNDQxOTI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbWluaW1hbC11c2Vy
LXNlbGVjdC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2Vs
ZWN0aW9uL21pbmltYWwtdXNlci1zZWxlY3QtY3Jhc2guaHRtbDogQWRkZWQuCisKIDIwMTUtMTAt
MTkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgRG9u
J3QgZHVtcCBHZXN0dXJlRXZlbnQgY29uc3RydWN0b3IgYXR0cmlidXRlcyBmb3Igbm93CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taW5pbWFsLXVzZXItc2VsZWN0
LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21pbmlt
YWwtdXNlci1zZWxlY3QtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzZDY0Y2VhMTM4
ZDdjNTZhMTVhOGJmOTA0OGQyMzUyOTI3YmNjNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taW5pbWFsLXVzZXItc2VsZWN0LWNyYXNoLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDIgQEAKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorUEFTUy4gV2Vi
S2l0IGRpZG4ndCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL21pbmltYWwtdXNlci1zZWxlY3QtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL21pbmltYWwtdXNlci1zZWxlY3QtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTRj
N2EwNjkyNTBmZTY3OWNkNTI0ZTczNGRhMTZmOTMwYjFhM2UzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWluaW1hbC11c2VyLXNlbGVjdC1jcmFzaC5o
dG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
dHlsZT4KKyAgICAjc2VhcmNoLXRleHQgeworICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBu
b25lOworICAgIH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIj48L3Nj
cmlwdD4KKworPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgZnVuY3Rpb24gZWRpdGluZ1Rlc3QoKSB7Cisg
ICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlYXJjaC10ZXh0
Jyk7CisgICAgICAgIGVsZW1lbnQuZm9jdXMoKTsKKworICAgICAgICBpZiAod2luZG93LmV2ZW50
U2VuZGVyKSB7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhlbGVtZW50Lm9m
ZnNldExlZnQsIGVsZW1lbnQub2Zmc2V0VG9wKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNv
bnRleHRDbGljaygpOworICAgICAgICAgICAgCisgICAgICAgICAgICBkb2N1bWVudC53cml0ZSgi
UEFTUy4gV2ViS2l0IGRpZG4ndCBjcmFzaC4iKQorICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9cnVuRWRpdGluZ1Rlc3QoKT4KKyAgICA8aW5wdXQgaWQ9
InNlYXJjaC10ZXh0Ij4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwNGQ4YmM3NTk0MWUw
MWQ0Mzc3ODliNTBhMjE2MmE4NjZjNDk5OWM4Li41ZmRhNTQxYTcxY2U0YWE2MzNjMjkxMjc1MTEz
MTM1OWU2YTFhM2UyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxh
dG9yL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVs
YXRvci9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNTAyLDYgKzI1MDIsNyBAQCB0YWJsZXMvbW96aWxs
YV9leHBlY3RlZF9mYWlsdXJlcy9vdGhlci90ZXN0NC5odG1sIFsgRmFpbHVyZSBdCiBlZGl0aW5n
L3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLmh0bWwKIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxjaGVjay1hc3luYy5odG1sCiBlZGl0aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9kZS13
aXRob3V0LWVkaXRhYmxlLXBhcmVudC5odG1sCitlZGl0aW5nL3NlbGVjdGlvbi9taW5pbWFsLXVz
ZXItc2VsZWN0LWNyYXNoLmh0bWwKIAogIyBFZGl0aW5nIHRlc3RzIHRoYXQgZmFpbDoKIGVkaXRp
bmcvZGVsZXRpbmcvZGVsZXRlLWVtb2ppLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264824</attachid>
            <date>2015-11-04 15:56:27 -0800</date>
            <delta_ts>2015-11-09 14:16:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145981-20151104155529.patch</filename>
            <type>text/plain</type>
            <size>4362</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjU2YjQ4OGUyMWQ2MDE3
YTZkYTVhM2U4MDQ4NGM5M2E5ODU2YTBiOC4uYzViOTVlMTkxOTI2MTA5MThhZmRlYTg5MTQ4MDQy
NDUzMWMwMzM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTExLTA0ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiByaWdo
dCBjbGlja2luZyBpbiBpbnB1dCBib3ggd2l0aCAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU5ODEKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNDQxOTI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvc2VsZWN0aW9uL21pbmltYWwt
dXNlci1zZWxlY3QtY3Jhc2guaHRtbAorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpoYXNCaWRpU2VsZWN0aW9uKToKKyAgICAgICAgU2Vs
ZWN0aW9uIGNvdWxkIHBvaW50IHRvIG5vbiB2aXNpYmxlIHBvc2l0aW9uIHdpdGggLXdlYmtpdC11
c2VyLXNlbGVjdDogbm9uZS4KKwogMjAxNS0xMS0wNCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJs
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVkaWFTdHJlYW1dIEEgUmVhbHRpbWVNZWRpYVNv
dXJjZSBzaG91bGQgYmVnaW4gcHJvZHVjaW5nIGRhdGEgYXV0b21hdGljYWxseQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCmluZGV4IGVkMGRlMzc5YzRmZGQwYmIzZWI1YjVmMGE4NDZhNjM5YzQ5
YWQ3MGUuLjFiMjAyZTVkYTE3ZDNmNjZmMzEzZDdhNTJjMzMwNGJlMTMzYTVjZTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTcwOCw2ICs3MDgsOSBAQCBib29sIEVkaXRvcjo6aGFz
QmlkaVNlbGVjdGlvbigpIGNvbnN0CiAgICAgfSBlbHNlCiAgICAgICAgIHN0YXJ0Tm9kZSA9IG1f
ZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkudmlzaWJsZVN0YXJ0KCkuZGVlcEVxdWl2YWxl
bnQoKS5kZXByZWNhdGVkTm9kZSgpOwogCisgICAgaWYgKCFzdGFydE5vZGUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKwogICAgIGF1dG8gcmVuZGVyZXIgPSBzdGFydE5vZGUtPnJlbmRlcmVyKCk7
CiAgICAgd2hpbGUgKHJlbmRlcmVyICYmICFpczxSZW5kZXJCbG9ja0Zsb3c+KCpyZW5kZXJlcikp
CiAgICAgICAgIHJlbmRlcmVyID0gcmVuZGVyZXItPnBhcmVudCgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDczYjFmNzU3
Zjg2ZDFiMTVmZmVlOGFhN2QzNDI4MjNkZmVjN2I5NTkuLmE1ZjI3MzUyYjgxM2JlZmJiYWI3NzQ3
MTQ5MDkwYTUxNzE0OWU3ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0xMS0wNCAgSmll
d2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIHdoZW4gcmln
aHQgY2xpY2tpbmcgaW4gaW5wdXQgYm94IHdpdGggLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1OTgxCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjQ0MTkyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL21pbmltYWwtdXNl
ci1zZWxlY3QtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Nl
bGVjdGlvbi9taW5pbWFsLXVzZXItc2VsZWN0LWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDE1LTEx
LTA0ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeGlu
ZyB0ZXN0IGFkZGVkIHdpdGggcjE5MjAyMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vbWluaW1hbC11c2VyLXNlbGVjdC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taW5pbWFsLXVzZXItc2VsZWN0LWNyYXNoLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yYWZhMGJmZDE1ODljMWNjYjUwZjRkNTMxYmFmNGRjNWM2NTEz
MzkzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWlu
aW1hbC11c2VyLXNlbGVjdC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorUEFTUy4g
V2ViS2l0IGRpZG4ndCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL21pbmltYWwtdXNlci1zZWxlY3QtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL21pbmltYWwtdXNlci1zZWxlY3QtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
YmMxY2E4MTA2ZjlhNWY4OTczOTAyZjIxNzllNTYzOWJlMzM3NDFjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWluaW1hbC11c2VyLXNlbGVjdC1jcmFz
aC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzdHlsZT4KKyAgICAjc2VhcmNoLXRleHQgeworICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0
OiBub25lOworICAgIH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIj48
L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgZnVuY3Rpb24gZWRpdGluZ1Rlc3QoKSB7
CisgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlYXJjaC10
ZXh0Jyk7CisgICAgICAgIGVsZW1lbnQuZm9jdXMoKTsKKworICAgICAgICBpZiAod2luZG93LmV2
ZW50U2VuZGVyKSB7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhlbGVtZW50
Lm9mZnNldExlZnQsIGVsZW1lbnQub2Zmc2V0VG9wKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVy
LmNvbnRleHRDbGljaygpOworCisgICAgICAgICAgICBkb2N1bWVudC53cml0ZSgiUEFTUy4gV2Vi
S2l0IGRpZG4ndCBjcmFzaC4iKQorICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9ZWRpdGluZ1Rlc3QoKT4KKyAgICA8aW5wdXQgaWQ9InNlYXJjaC10ZXh0
Ij4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiODNlN2QzYWRhZTBiNmZmYTI1NDE5NGM2
MDM4NzNkMWJmNzRiNGZjLi4zYTJjMTk4YTM1YzQ5ZmQ1ZjVkNzg2ZmE5Yzc2ZDkxZDU5NGQ0NTJi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yNDY2LDYgKzI0NjYsNyBAQCB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9m
YWlsdXJlcy9vdGhlci90ZXN0NC5odG1sIFsgRmFpbHVyZSBdCiBlZGl0aW5nL3NlbGVjdGlvbi9l
eHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLmh0bWwKIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVj
ay1hc3luYy5odG1sCiBlZGl0aW5nL3N0eWxlL3N0eWxlLXRleHQtbm9kZS13aXRob3V0LWVkaXRh
YmxlLXBhcmVudC5odG1sCitlZGl0aW5nL3NlbGVjdGlvbi9taW5pbWFsLXVzZXItc2VsZWN0LWNy
YXNoLmh0bWwKIAogIyBFZGl0aW5nIHRlc3RzIHRoYXQgZmFpbDoKIGVkaXRpbmcvZGVsZXRpbmcv
ZGVsZXRlLWVtb2ppLmh0bWwgWyBGYWlsdXJlIF0K
</data>
<flag name="review"
          id="289923"
          type_id="1"
          status="+"
          setter="enrica"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265110</attachid>
            <date>2015-11-09 15:53:09 -0800</date>
            <delta_ts>2015-11-09 16:44:16 -0800</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-145981-20151109155305.patch</filename>
            <type>text/plain</type>
            <size>4430</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVhZmJmYmI1YzlhYWY0
YjAzNmQ5MWZkZGQwZGI4ZTJlZTNlMGExZi4uZWUyY2JjM2FhYjMxYzg1NWE5MTI1ZjVjMjkxNTgz
ODc4NzY1Y2IyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTExLTA5ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiByaWdo
dCBjbGlja2luZyBpbiBpbnB1dCBib3ggd2l0aCAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU5ODEKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNDQxOTI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEVu
cmljYSBDYXN1Y2NpLgorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvc2VsZWN0aW9uL21pbmltYWwt
dXNlci1zZWxlY3QtY3Jhc2guaHRtbAorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpoYXNCaWRpU2VsZWN0aW9uKToKKyAgICAgICAgVmlz
aWJsZSBwb3NpdGlvbiBjYW5ub3QgYmUgY3JlYXRlZCBiZWNhdXNlIG9mIHRoZSBzdHlsZSB0aGF0
IGRvZXNuJ3QgYWxsb3cgdGhlIHNlbGVjdGlvbi4KKwogMjAxNS0xMS0wOSAgUGVyIEFybmUgVm9s
bGFuICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXVtWaWRlb11bTWVk
aWFGb3VuZGF0aW9uXSBWaWRlbyBzaG91bGQgYmUgcmVuZGVyZWQgaW4gcHJvdmlkZWQgZ3JhcGhp
Y3MgY29udGV4dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCBkNGIwZmFkYjZlNWI3
NTU0M2FmMDg5NjZiNDNlMjQ0Y2ZjNTFjNzE5Li5hZjUyODZkYzkxZWFmZWVhYTBhYWI2YTk2NWY0
NmY3Yzk4MjUwZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC03MDgsNiArNzA4
LDkgQEAgYm9vbCBFZGl0b3I6Omhhc0JpZGlTZWxlY3Rpb24oKSBjb25zdAogICAgIH0gZWxzZQog
ICAgICAgICBzdGFydE5vZGUgPSBtX2ZyYW1lLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLnZpc2li
bGVTdGFydCgpLmRlZXBFcXVpdmFsZW50KCkuZGVwcmVjYXRlZE5vZGUoKTsKIAorICAgIGlmICgh
c3RhcnROb2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBhdXRvIHJlbmRlcmVyID0g
c3RhcnROb2RlLT5yZW5kZXJlcigpOwogICAgIHdoaWxlIChyZW5kZXJlciAmJiAhaXM8UmVuZGVy
QmxvY2tGbG93PigqcmVuZGVyZXIpKQogICAgICAgICByZW5kZXJlciA9IHJlbmRlcmVyLT5wYXJl
bnQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAzODc2YzE3MWZjNzIxM2U5NzUxM2YyOTUwNWFkYTUyMTE3Y2I0NDY2Li5j
YWNmODY3NGQzOGMzNjNlM2IyNWI0ZDllNDJmMjgxMDk1YzU4OGY2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTUtMTEtMDkgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDcmFzaCB3aGVuIHJpZ2h0IGNsaWNraW5nIGluIGlucHV0IGJveCB3aXRoIC13ZWJr
aXQtdXNlci1zZWxlY3Q6IG5vbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0NTk4MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI0NDE5MjU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRW5yaWNhIENhc3VjY2kuCisKKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9taW5pbWFsLXVzZXItc2VsZWN0LWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vbWluaW1hbC11c2VyLXNlbGVjdC1jcmFzaC5o
dG1sOiBBZGRlZC4KKwogMjAxNS0xMS0wOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIFhIUiB0aW1lb3V0cyBzaG91bGQgbm90IGZpcmUgaWYg
dGhlcmUgaXMgYW4gaW1tZWRpYXRlIG5ldHdvcmsgZXJyb3IuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taW5pbWFsLXVzZXItc2VsZWN0LWNyYXNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21pbmltYWwtdXNlci1zZWxlY3Qt
Y3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhZmEwYmZkMTU4OWMxY2NiNTBmNGQ1MzFi
YWY0ZGM1YzY1MTMzOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9taW5pbWFsLXVzZXItc2VsZWN0LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
IEBACitQQVNTLiBXZWJLaXQgZGlkbid0IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vbWluaW1hbC11c2VyLXNlbGVjdC1jcmFzaC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbWluaW1hbC11c2VyLXNlbGVjdC1jcmFzaC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmViYzFjYTgxMDZmOWE1Zjg5NzM5MDJmMjE3OWU1NjM5YmUzMzc0MWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9taW5pbWFsLXVzZXIt
c2VsZWN0LWNyYXNoLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHN0eWxlPgorICAgICNzZWFyY2gtdGV4dCB7CisgICAgICAgIC13ZWJraXQt
dXNlci1zZWxlY3Q6IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uL2Vk
aXRpbmcuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICBmdW5jdGlvbiBlZGl0
aW5nVGVzdCgpIHsKKyAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc2VhcmNoLXRleHQnKTsKKyAgICAgICAgZWxlbWVudC5mb2N1cygpOworCisgICAgICAgIGlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKGVsZW1lbnQub2Zmc2V0TGVmdCwgZWxlbWVudC5vZmZzZXRUb3ApOworICAgICAgICAgICAg
ZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCk7CisKKyAgICAgICAgICAgIGRvY3VtZW50LndyaXRl
KCJQQVNTLiBXZWJLaXQgZGlkbid0IGNyYXNoLiIpCisgICAgICAgIH0KKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD1lZGl0aW5nVGVzdCgpPgorICAgIDxpbnB1dCBpZD0i
c2VhcmNoLXRleHQiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGI4M2U3ZDNhZGFlMGI2
ZmZhMjU0MTk0YzYwMzg3M2QxYmY3NGI0ZmMuLjNhMmMxOThhMzVjNDlmZDVmNWQ3ODZmYTljNzZk
OTFkNTk0ZDQ1MmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0
b3IvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxh
dG9yL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0NjYsNiArMjQ2Niw3IEBAIHRhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL290aGVyL3Rlc3Q0Lmh0bWwgWyBGYWlsdXJlIF0KIGVkaXRpbmcv
c2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQuaHRtbAogZWRpdGluZy9zcGVsbGlu
Zy9zcGVsbGNoZWNrLWFzeW5jLmh0bWwKIGVkaXRpbmcvc3R5bGUvc3R5bGUtdGV4dC1ub2RlLXdp
dGhvdXQtZWRpdGFibGUtcGFyZW50Lmh0bWwKK2VkaXRpbmcvc2VsZWN0aW9uL21pbmltYWwtdXNl
ci1zZWxlY3QtY3Jhc2guaHRtbAogCiAjIEVkaXRpbmcgdGVzdHMgdGhhdCBmYWlsOgogZWRpdGlu
Zy9kZWxldGluZy9kZWxldGUtZW1vamkuaHRtbCBbIEZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>