<?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>97841</bug_id>
          
          <creation_ts>2012-09-27 19:11:53 -0700</creation_ts>
          <short_desc>Crash re-entering Document layout with frame flattening enabled</short_desc>
          <delta_ts>2012-10-01 11:53:08 -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>Frames</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>kenneth</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>730116</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-27 19:11:53 -0700</bug_when>
    <thetext>Navigation with framesets and plugins and the page cache can cause layout to be re-entered, causing crashes. I have a layout test that reproduces this.

In debug, DRT will assert about layout being called on a FrameView whose frame&apos;s view is not it:


Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010ca49076 WebCore::RenderView::layout() + 886 (RenderView.cpp:158)
1   com.apple.WebCore             	0x000000010bce8192 WebCore::FrameView::layout(bool) + 3426 (FrameView.cpp:1190)
2   com.apple.WebCore             	0x000000010bce8a3c WebCore::FrameView::doLayoutWithFrameFlattening(bool) + 380 (FrameView.cpp:3128)
3   com.apple.WebCore             	0x000000010bce761d WebCore::FrameView::layout(bool) + 493 (FrameView.cpp:1011)
4   com.apple.WebCore             	0x000000010bcf1765 WebCore::FrameView::forceLayout(bool) + 37 (FrameView.cpp:3412)
5   com.apple.WebKit              	0x000000010af85565 -[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:] + 469 (WebHTMLView.mm:3065)
6   com.apple.WebKit              	0x000000010af855cc -[WebHTMLView layout] + 76 (WebHTMLView.mm:3079)
7   com.apple.WebKit              	0x000000010af226f8 -[WebDynamicScrollBarsView(WebInternal) updateScrollers] + 264 (WebDynamicScrollBarsView.mm:266)
8   com.apple.WebKit              	0x000000010af23364 -[WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:] + 228 (WebDynamicScrollBarsView.mm:408)
9   com.apple.AppKit              	0x00007fff8d94b59a -[NSClipView _selfBoundsChanged] + 689
10  com.apple.AppKit              	0x00007fff8d94ad70 -[NSClipView setFrameSize:] + 410
11  com.apple.AppKit              	0x00007fff8d8f503e -[NSView setFrame:] + 299
12  com.apple.AppKit              	0x00007fff8d9b8abf -[NSScrollView _setContentViewFrame:] + 596
13  com.apple.AppKit              	0x00007fff8d9b84f7 -[NSScrollView _applyContentAreaLayout:] + 129
14  com.apple.AppKit              	0x00007fff8d9b75ae -[NSScrollView tile] + 2091
15  com.apple.WebKit              	0x000000010af222a9 -[WebDynamicScrollBarsView(WebInternal) tile] + 57 (WebDynamicScrollBarsView.mm:212)
16  com.apple.AppKit              	0x00007fff8d9b6ce6 -[NSScrollView _tileWithoutRecursing] + 49
17  com.apple.AppKit              	0x00007fff8d9b6c6a -[NSScrollView _update] + 30
18  com.apple.AppKit              	0x00007fff8d8f57f8 -[NSView setFrameSize:] + 1101
19  com.apple.AppKit              	0x00007fff8d9bbf0c -[NSScrollView setFrameSize:] + 1131
20  com.apple.AppKit              	0x00007fff8d8f503e -[NSView setFrame:] + 299
21  com.apple.AppKit              	0x00007fff8d94a2a2 -[NSView resizeWithOldSuperviewSize:] + 1502
22  com.apple.AppKit              	0x00007fff8d9493e7 -[NSView resizeSubviewsWithOldSize:] + 318
23  com.apple.AppKit              	0x00007fff8d8f57f8 -[NSView setFrameSize:] + 1101
24  com.apple.WebKit              	0x000000010af51deb -[WebFrameView setFrameSize:] + 267 (WebFrameView.mm:514)
25  com.apple.AppKit              	0x00007fff8d8f503e -[NSView setFrame:] + 299
26  com.apple.WebCore             	0x000000010cf07b1f WebCore::Widget::setFrameRect(WebCore::IntRect const&amp;) + 607 (WidgetMac.mm:178)
27  com.apple.WebCore             	0x000000010cb14df7 WebCore::ScrollView::setFrameRect(WebCore::IntRect const&amp;) + 103 (ScrollView.cpp:872)
28  com.apple.WebCore             	0x000000010bce53cf WebCore::FrameView::setFrameRect(WebCore::IntRect const&amp;) + 95 (FrameView.cpp:442)
29  com.apple.WebCore             	0x000000010ca57425 WebCore::RenderWidget::setWidgetGeometry(WebCore::FractionalLayoutRect const&amp;) + 437 (RenderWidget.cpp:159)
30  com.apple.WebCore             	0x000000010ca576e7 WebCore::RenderWidget::updateWidgetGeometry() + 423 (RenderWidget.cpp:175)
31  com.apple.WebCore             	0x000000010ca587d3 WebCore::RenderWidget::updateWidgetPosition() + 83 (RenderWidget.cpp:331)
32  com.apple.WebCore             	0x000000010c896846 WebCore::RenderFrameBase::layoutWithFlattening(bool, bool) + 374 (RenderFrameBase.cpp:70)
33  com.apple.WebCore             	0x000000010c899ead WebCore::RenderFrameSet::positionFramesWithFlattening() + 893 (RenderFrameSet.cpp:592)
34  com.apple.WebCore             	0x000000010c899951 WebCore::RenderFrameSet::layout() + 961 (RenderFrameSet.cpp:487)
35  com.apple.WebCore             	0x000000010c7bdd6c WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, WebCore::FractionalLayoutUnit&amp;, WebCore::FractionalLayoutUnit&amp;) + 1324 (RenderBlock.cpp:2487)
36  com.apple.WebCore             	0x000000010c7b48d4 WebCore::RenderBlock::layoutBlockChildren(bool, WebCore::FractionalLayoutUnit&amp;) + 1316 (RenderBlock.cpp:2421)
37  com.apple.WebCore             	0x000000010c7b1dc6 WebCore::RenderBlock::layoutBlock(bool, WebCore::FractionalLayoutUnit) + 1590 (RenderBlock.cpp:1556)
38  com.apple.WebCore             	0x000000010c7b0da5 WebCore::RenderBlock::layout() + 117 (RenderBlock.cpp:1378)
39  com.apple.WebCore             	0x000000010c7bdd6c WebCore::RenderBlock::layoutBlockChild(WebCore::RenderBox*, WebCore::RenderBlock::MarginInfo&amp;, WebCore::FractionalLayoutUnit&amp;, WebCore::FractionalLayoutUnit&amp;) + 1324 (RenderBlock.cpp:2487)
40  com.apple.WebCore             	0x000000010c7b48d4 WebCore::RenderBlock::layoutBlockChildren(bool, WebCore::FractionalLayoutUnit&amp;) + 1316 (RenderBlock.cpp:2421)
41  com.apple.WebCore             	0x000000010c7b1dc6 WebCore::RenderBlock::layoutBlock(bool, WebCore::FractionalLayoutUnit) + 1590 (RenderBlock.cpp:1556)
42  com.apple.WebCore             	0x000000010c7b0da5 WebCore::RenderBlock::layout() + 117 (RenderBlock.cpp:1378)
43  com.apple.WebCore             	0x000000010ca4912e WebCore::RenderView::layout() + 1070 (RenderView.cpp:170)
44  com.apple.WebCore             	0x000000010bce8192 WebCore::FrameView::layout(bool) + 3426 (FrameView.cpp:1190)
45  com.apple.WebCore             	0x000000010bce8a3c WebCore::FrameView::doLayoutWithFrameFlattening(bool) + 380 (FrameView.cpp:3128)
46  com.apple.WebCore             	0x000000010bce761d WebCore::FrameView::layout(bool) + 493 (FrameView.cpp:1011)
47  com.apple.WebCore             	0x000000010bce3ee8 WebCore::FrameView::layoutTimerFired(WebCore::Timer&lt;WebCore::FrameView&gt;*) + 72 (FrameView.cpp:2125)
48  com.apple.WebCore             	0x000000010bcff713 WebCore::Timer&lt;WebCore::FrameView&gt;::fired() + 115 (Timer.h:100)
49  com.apple.WebCore             	0x000000010ce34bfd WebCore::ThreadTimers::sharedTimerFiredInternal() + 285 (ThreadTimers.cpp:118)
50  com.apple.WebCore             	0x000000010ce34999 WebCore::ThreadTimers::sharedTimerFired() + 25 (ThreadTimers.cpp:94)
51  com.apple.WebCore             	0x000000010cb599a3 WebCore::timerFired(__CFRunLoopTimer*, void*) + 67 (SharedTimerMac.mm:167)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730117</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-09-27 19:12:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/12392198&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730118</commentid>
    <comment_count>2</comment_count>
      <attachid>166113</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-27 19:14:50 -0700</bug_when>
    <thetext>Created attachment 166113
Patch adding a test that shows the crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730121</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-27 19:15:37 -0700</bug_when>
    <thetext>The reason we hit the LayoutState crash is that we&apos;re re-entering layout on the live Document. This happens as follows:

Cached subframe FrameView does layout from a timer.
Via frame flattening, main cached FrameView does a layout. It gets the document via m_frame-&gt;document(), which is the LIVE document, and does layout on it. The live document is a frameset, so does layout on its child frames. The child frame trys to lay outs its parent (beccause of frame flattening), and because the FrameView is different, misses the if (parentView-&gt;m_nestedLayoutCount) check, and starts laying out on the Document that is already in the middle of layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730793</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-28 10:39:57 -0700</bug_when>
    <thetext>This bug reflects a number of issue about how the page cache and frame flattening work that I plan to clean up as follows:

1. Make FrameView::parentFrameView() go via the Frame tree, rather than Widgets (it&apos;s how flattened frames find their parent frame)
2. Move the frame-&gt;clearTimers() in CachedFrame::CachedFrame until after m_document-&gt;documentWillSuspendForPageCache(); this will fix the crash.
3. Clear the Frame on a FrameView that&apos;s in the page cache, and add some assertions in FrameView to catch anything happening on cached FramesViews
4. Maybe clear the parent pointer on cached subframe Frames in the page cache (if this is not done already).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730796</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-09-28 10:47:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; This bug reflects a number of issue about how the page cache and frame flattening work that I plan to clean up as follows:
&gt; 
&gt; 1. Make FrameView::parentFrameView() go via the Frame tree, rather than Widgets (it&apos;s how flattened frames find their parent frame)
&gt; 2. Move the frame-&gt;clearTimers() in CachedFrame::CachedFrame until after m_document-&gt;documentWillSuspendForPageCache(); this will fix the crash.
&gt; 3. Clear the Frame on a FrameView that&apos;s in the page cache, and add some assertions in FrameView to catch anything happening on cached FramesViews

These all seem reasonable!

(In reply to comment #4)
&gt; 4. Maybe clear the parent pointer on cached subframe Frames in the page cache (if this is not done already).

We do this already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730934</commentid>
    <comment_count>6</comment_count>
      <attachid>166303</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-28 13:24:05 -0700</bug_when>
    <thetext>Created attachment 166303
Parent FrameView patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730938</commentid>
    <comment_count>7</comment_count>
      <attachid>166303</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-28 13:25:35 -0700</bug_when>
    <thetext>Comment on attachment 166303
Parent FrameView patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Walking up to parent FrameViews when doing a fram-flattening

frame*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730966</commentid>
    <comment_count>8</comment_count>
      <attachid>166303</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-28 13:45:22 -0700</bug_when>
    <thetext>Comment on attachment 166303
Parent FrameView patch

http://trac.webkit.org/changeset/129944</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730969</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-28 13:45:53 -0700</bug_when>
    <thetext>Not done yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731016</commentid>
    <comment_count>10</comment_count>
      <attachid>166319</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-28 15:03:55 -0700</bug_when>
    <thetext>Created attachment 166319
clearTimers() patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731121</commentid>
    <comment_count>11</comment_count>
      <attachid>166319</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-28 18:35:51 -0700</bug_when>
    <thetext>Comment on attachment 166319
clearTimers() patch

http://trac.webkit.org/changeset/129966

Keeping bug open to clear out the Frame on cached FrameViews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731860</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-01 11:53:08 -0700</bug_when>
    <thetext>I filed bug 98057 to do the longer-term improvement of nulling out the Frame pointer on FrameViews in the page cache. I tried, and had problems because of Frame lifetime changes. So I&apos;m calling this bug complete.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166113</attachid>
            <date>2012-09-27 19:14:50 -0700</date>
            <delta_ts>2012-09-28 13:24:00 -0700</delta_ts>
            <desc>Patch adding a test that shows the crash</desc>
            <filename>frame-crash-test.patch</filename>
            <type>text/plain</type>
            <size>2410</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzViNDdmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFt
ZS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2Vz
UGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zUHJlZmVyZW5jZUtleSIs
IDEpOworICAgIH0KKzwvc2NyaXB0PgorCis8ZnJhbWVzZXQgcm93cz0iMTAwJSwqIiBjb2xzPSIq
IiBmcmFtZWJvcmRlcj0iTk8iIGJvcmRlcj0iZmFsc2UiIGZyYW1lc3BhY2luZz0iMCIgYm9yZGVy
Y29sb3I9IiMwMDAwMDAiPiAKKyAgICA8ZnJhbWUgc3JjPSJyZXNvdXJjZXMvcGx1Z2luLWZyYW1l
Lmh0bWwiIHNjcm9sbGluZz0iYXV0byI+Cis8L2ZyYW1lc2V0PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvZnJhbWUtd2l0aC1wbHVnaW4tc3ViZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL2ZyYW1lLXdpdGgtcGx1Z2lu
LXN1YmZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgxYjcx
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL2ZyYW1l
LXdpdGgtcGx1Z2luLXN1YmZyYW1lLmh0bWwKQEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUgaHRt
bD4KKworPGh0bWw+Cis8Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0icGx1Z2luLXBhZ2UuaHRtbCI+
PC9pZnJhbWU+CisgICAgPGVtYmVkIGlkPSJ0ZXN0UGx1Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94
LW1pc3NpbmctcGx1Z2luIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PC9lbWJlZD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3Rh
cmdldC1mcmFtZXNldC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMv
dGFyZ2V0LWZyYW1lc2V0LWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZDQ3NzJjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvcmVz
b3VyY2VzL3RhcmdldC1mcmFtZXNldC1mcmFtZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1s
PgorPGhlYWQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0
Zi04Ij4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keT4KKyAgICBUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3Rhcmdl
dC1mcmFtZXNldC5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvdGFyZ2V0LWZy
YW1lc2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ3ZTE3Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3RhcmdldC1m
cmFtZXNldC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1sPgorPHNjcmlwdD4KK2Z1bmN0aW9u
IGNoYW5nZUZyYW1lKCkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZnJh
bWUnKVswXS5zdHlsZS5ib3JkZXIgPSAnMTBweCBzb2xpZCBibHVlJzsKK30KK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgY2hhbmdlRnJhbWUsIGZhbHNlKTsKKzwv
c2NyaXB0PgorPGZyYW1lc2V0IHJvd3M9IjUwJSwqIiBjb2xzPSIqIj4gCisgICAgPGZyYW1lIHNy
Yz0idGFyZ2V0LWZyYW1lc2V0LWZyYW1lLmh0bWwiIHNjcm9sbGluZz0iYXV0byI+Cis8L2ZyYW1l
c2V0PgorCis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166303</attachid>
            <date>2012-09-28 13:24:05 -0700</date>
            <delta_ts>2012-09-28 15:05:55 -0700</delta_ts>
            <desc>Parent FrameView patch</desc>
            <filename>bug-97841-20120928132324.patch</filename>
            <type>text/plain</type>
            <size>5936</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjI5YjJlMmNhMTk0ODhk
YmMxNzgxNzczMzY0OGVhNTBhNDYyZTIxNi4uMWM5ODkyNGM4MDlmMjQwYmIyMGIxNGUyMDdiYTgx
NWZlNDVkMzc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTI4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIHJlLWVu
dGVyaW5nIERvY3VtZW50IGxheW91dCB3aXRoIGZyYW1lIGZsYXR0ZW5pbmcgZW5hYmxlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc4NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXYWxraW5nIHVwIHRv
IHBhcmVudCBGcmFtZVZpZXdzIHdoZW4gZG9pbmcgYSBmcmFtLWZsYXR0ZW5pbmcKKyAgICAgICAg
bGF5b3V0IHNob3VsZCB3YWxrIHZpYSB0aGUgRnJhbWUgdHJlZSwgbm90IHRoZSBXaWRnZXQgaGll
cmFyY2h5LgorICAgICAgICBXYWxraW5nIHZpYSB0aGUgRnJhbWUgdHJlZSBlbnN1cmVzIHRoYXQg
d2UgZG9uJ3Qgd2FsayB1cCB0byB0aGUKKyAgICAgICAgcm9vdCBGcmFtZSB3aGVuIGxheWluZyBv
dXQgYSBzdWJmcmFtZSB0aGF0IGlzIGluIHRoZSBwYWdlIGNhY2hlLgorICAgICAgICBUaGF0J3Mg
YmFkLCBiZWNhdXNlIHRoZSByb290IEZyYW1lIGlzIHJldXNlZCBmb3IgdGhlIG5ldworICAgICAg
ICBwYWdlLCBhbmQgbGF5aW5nIGl0IG91dCBmcm9tIGEgZnJhbWUgaW4gdGhlIHBhZ2UgY2FjaGUg
Y2F1c2VzCisgICAgICAgIHJlLWVudHJhbnQgbGF5b3V0LgorCisgICAgICAgIFRlc3Q6IHBsdWdp
bnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwYXJlbnRGcmFtZVZpZXcp
OgorCiAyMDEyLTA5LTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbmFtZSBQYWdlOjpmcmFtZUNvdW50KCkgdG8gc3ViZnJhbWVDb3VudCgpLCBh
bmQgcmVsYXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGExOTU3ZDQ2NGE0Mzhk
YjNhMzIxNDUyMTNhOTE3OTVmNWI2MjFhMWIuLjU4Y2Q1YmEwZTFkMGYyOWMzMzQ3YWQ2ZDc4NGU5
MjQ5MDMzMWYyYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTMwNTAsMTAgKzMw
NTAsOSBAQCBib29sIEZyYW1lVmlldzo6aGFzQ3VzdG9tU2Nyb2xsYmFycygpIGNvbnN0CiAKIEZy
YW1lVmlldyogRnJhbWVWaWV3OjpwYXJlbnRGcmFtZVZpZXcoKSBjb25zdAogewotICAgIGlmIChX
aWRnZXQqIHBhcmVudFZpZXcgPSBwYXJlbnQoKSkgewotICAgICAgICBpZiAocGFyZW50Vmlldy0+
aXNGcmFtZVZpZXcoKSkKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxGcmFtZVZpZXcq
PihwYXJlbnRWaWV3KTsKLSAgICB9CisgICAgaWYgKEZyYW1lKiBwYXJlbnRGcmFtZSA9IG1fZnJh
bWUtPnRyZWUoKS0+cGFyZW50KCkpCisgICAgICAgIHJldHVybiBwYXJlbnRGcmFtZS0+dmlldygp
OworCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YWQ2YzU5ZTc0MDgyZDMyMDA3OGU3NWE4
NjdlMDUwYWZjZmFhMzJmLi4wM2RkZTAwNDU2YmI0NDliZWZmYWFhMjMxZDBkY2VjMTgxNGNiMjZk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDktMjggIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggcmUtZW50ZXJpbmcgRG9jdW1lbnQg
bGF5b3V0IHdpdGggZnJhbWUgZmxhdHRlbmluZyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Nzg0MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhhdCBuYXZpZ2F0ZXMgZnJvbSBvbmUg
ZnJhbWVzZXQgdG8gYW5vdGhlciBmcmFtZXNldCwgd2hlcmUKKyAgICAgICAgb25lIG9mIHRoZSBz
dWJmcmFtZXMgY29udGFpbnMgYSBwbHVnaW4uCisKKyAgICAgICAgKiBwbHVnaW5zL2ZyYW1lc2V0
LXdpdGgtcGx1Z2luLWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGx1Z2lu
cy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbHVn
aW5zL3Jlc291cmNlcy9mcmFtZS13aXRoLXBsdWdpbi1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbHVnaW5zL3Jlc291cmNlcy90YXJnZXQtZnJhbWVzZXQtZnJhbWUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGx1Z2lucy9yZXNvdXJjZXMvdGFyZ2V0LWZyYW1lc2V0Lmh0bWw6IEFk
ZGVkLgorCiAyMDEyLTA5LTI2ICBNaWtlIFJlZWQgIDxyZWVkQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgdXBkYXRlIGV4cGVjdGF0aW9ucyBmb3IgZmVUaWxlLnN2ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZyYW1lLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mOTM5MmExYWQ1OTA3M2NkNDc3N2M5ZGZjNTgyOTZkYmExMmIzZmY4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdp
bi1mcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNjogVGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2gKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM3NWI0N2Y4MzZlZTI0NGUyZWFlYmUwMzkxMmMyNjhiMTRjOWI0ZjEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZyYW1lLmh0bWwK
QEAgLTAsMCArMSwxNSBAQAorPGh0bWw+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
Y2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2Fj
aGVQcmVmZXJlbmNlS2V5IiwgMSk7CisgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnNQcmVmZXJlbmNlS2V5IiwgMSk7Cisg
ICAgfQorPC9zY3JpcHQ+CisKKzxmcmFtZXNldCByb3dzPSIxMDAlLCoiIGNvbHM9IioiIGZyYW1l
Ym9yZGVyPSJOTyIgYm9yZGVyPSJmYWxzZSIgZnJhbWVzcGFjaW5nPSIwIiBib3JkZXJjb2xvcj0i
IzAwMDAwMCI+IAorICAgIDxmcmFtZSBzcmM9InJlc291cmNlcy9wbHVnaW4tZnJhbWUuaHRtbCIg
c2Nyb2xsaW5nPSJhdXRvIj4KKzwvZnJhbWVzZXQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbHVnaW5zL3Jlc291cmNlcy9mcmFtZS13aXRoLXBsdWdpbi1zdWJmcmFtZS5odG1s
IGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvZnJhbWUtd2l0aC1wbHVnaW4tc3ViZnJh
bWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jODFiNzFhOGJjZmE1OGNlZjE0ZGZlMTYxYTI4M2ZiMTE2Y2I5
NzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvZnJh
bWUtd2l0aC1wbHVnaW4tc3ViZnJhbWUuaHRtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBo
dG1sPgorCis8aHRtbD4KKzxib2R5PgorICAgIDxpZnJhbWUgc3JjPSJwbHVnaW4tcGFnZS5odG1s
Ij48L2lmcmFtZT4KKyAgICA8ZW1iZWQgaWQ9InRlc3RQbHVnaW4iIHR5cGU9ImFwcGxpY2F0aW9u
L3gtbWlzc2luZy1wbHVnaW4iIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48L2VtYmVkPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMv
dGFyZ2V0LWZyYW1lc2V0LWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL3Jlc291cmNl
cy90YXJnZXQtZnJhbWVzZXQtZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzMyMjRiMmVjNGMzYzVj
MTZkOTUyNGIxMGJkYzNhZTJhYTk4OTE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGx1Z2lucy9yZXNvdXJjZXMvdGFyZ2V0LWZyYW1lc2V0LWZyYW1lLmh0bWwKQEAgLTAsMCArMSwx
MyBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
Y2hhcnNldD0idXRmLTgiPgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgd2luZG93LmNvbnNv
bGUubG9nKCdUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaCcpCisgICAgICAgIH0KKyAg
ICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL3Jlc291cmNlcy90YXJnZXQtZnJhbWVzZXQuaHRtbCBi
L0xheW91dFRlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL3RhcmdldC1mcmFtZXNldC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM0N2UxNzI5MDAxNTZhYzc2MTBhZGI4YzUzMTJlM2I1NWQyOGE4NmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL3Jlc291cmNlcy90YXJnZXQtZnJhbWVzZXQu
aHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBjaGFuZ2VG
cmFtZSgpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ZyYW1lJylbMF0u
c3R5bGUuYm9yZGVyID0gJzEwcHggc29saWQgYmx1ZSc7Cit9Cit3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGNoYW5nZUZyYW1lLCBmYWxzZSk7Cis8L3NjcmlwdD4K
KzxmcmFtZXNldCByb3dzPSI1MCUsKiIgY29scz0iKiI+IAorICAgIDxmcmFtZSBzcmM9InRhcmdl
dC1mcmFtZXNldC1mcmFtZS5odG1sIiBzY3JvbGxpbmc9ImF1dG8iPgorPC9mcmFtZXNldD4KKwor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166319</attachid>
            <date>2012-09-28 15:03:55 -0700</date>
            <delta_ts>2012-09-28 18:35:51 -0700</delta_ts>
            <desc>clearTimers() patch</desc>
            <filename>bug-97841-20120928150314.patch</filename>
            <type>text/plain</type>
            <size>2960</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5OTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWIyOGE1YTkyNDc1OTU5
YWVkZWU4NThlZDA2NzE3NzcxM2EyNzlmNy4uMjQ4ZWZiN2QxNWYxY2IxYWFmMjg4OWMzNTkxODgy
YjczNTg2MWMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA5LTI4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIHJlLWVu
dGVyaW5nIERvY3VtZW50IGxheW91dCB3aXRoIGZyYW1lIGZsYXR0ZW5pbmcgZW5hYmxlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc4NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGNyZWF0aW5n
IGEgQ2FjaGVkRnJhbWUsIGNsZWFyVGltZXJzIG9uIHRoZSBGcmFtZSBsYXRlcjsgaXQgaGFzIHRv
CisgICAgICAgIGJlIGRvbmUgYWZ0ZXIgZG9jdW1lbnRXaWxsU3VzcGVuZEZvclBhZ2VDYWNoZSgp
LCBiZWNhdXNlIHRoZSBzdHlsZQorICAgICAgICBjaGFuZ2VzIHRoYXQgSFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6ZG9jdW1lbnRXaWxsU3VzcGVuZEZvclBhZ2VDYWNoZSgpCisgICAgICAgIGRvIGNh
biBzY2hlZHVsZSBhIGxheW91dCBvbiB0aGUgRnJhbWVWaWV3LCBhbmQgd2UgZG9uJ3Qgd2FudCB0
aGlzIGxheW91dAorICAgICAgICB0aW1lciB0byBmaXJlIHdoaWxlIHRoZSBwYWdlIGlzIGluIHRo
ZSBwYWdlIGNhY2hlLgorCisgICAgICAgIEFkZCBhbiBhc3NlcnRpb24gaW4gRnJhbWVWaWV3Ojps
YXlvdXQoKSB0aGF0IHRoZSBkb2N1bWVudCBpcyBub3QgaW4KKyAgICAgICAgdGhlIHBhZ2UgY2Fj
aGUuIFdpdGhvdXQgdGhlIGFib3ZlIGNoYW5nZSwgdGhpcyB3b3VsZCBhc3NlcnQgaW4KKyAgICAg
ICAgdGhlIHBsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbCB0ZXN0LgorCisg
ICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRGcmFtZTo6Q2FjaGVkRnJhbWUpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKwogMjAxMi0wOS0yOCAgQmVuIFdh
Z25lciAgPGJ1bmdlbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaHJvbWl1bSBzaG91bGQg
cmVzcGVjdCAndGV4dC1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9uJyBieSBkaXNhYmxpbmcg
aGludGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKaW5kZXggMTIxMmZk
OWZlZTBkNDkwYTI2YmFlOTRiNWQ1Y2FkYzhiMjFhMzZiZC4uOWJhZGM5MWRhMzg1ZjI5N2Y0MGNh
YTM1NjEzYzg5YmMwZDRmMDcxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9D
YWNoZWRGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5j
cHAKQEAgLTE1Nyw3ICsxNTcsNiBAQCBDYWNoZWRGcmFtZTo6Q2FjaGVkRnJhbWUoRnJhbWUqIGZy
YW1lKQogICAgIC8vIEN1c3RvbSBzY3JvbGxiYXIgcmVuZGVyZXJzIHdpbGwgZ2V0IHJlYXR0YWNo
ZWQgd2hlbiB0aGUgZG9jdW1lbnQgY29tZXMgb3V0IG9mIHRoZSBwYWdlIGNhY2hlCiAgICAgbV92
aWV3LT5kZXRhY2hDdXN0b21TY3JvbGxiYXJzKCk7CiAKLSAgICBmcmFtZS0+Y2xlYXJUaW1lcnMo
KTsKICAgICBtX2RvY3VtZW50LT5zZXRJblBhZ2VDYWNoZSh0cnVlKTsKICAgICBmcmFtZS0+bG9h
ZGVyKCktPnN0b3BMb2FkaW5nKFVubG9hZEV2ZW50UG9saWN5VW5sb2FkQW5kUGFnZUhpZGUpOwog
CkBAIC0xODMsNiArMTgyLDkgQEAgQ2FjaGVkRnJhbWU6OkNhY2hlZEZyYW1lKEZyYW1lKiBmcmFt
ZSkKICAgICAgICAgZnJhbWUtPnZpZXcoKS0+Y2xlYXJCYWNraW5nU3RvcmVzKCk7CiAjZW5kaWYK
IAorICAgIC8vIGRvY3VtZW50V2lsbFN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjYW4gc2V0IHVwIGEg
bGF5b3V0IHRpbWVyIG9uIHRoZSBGcmFtZVZpZXcsIHNvIGNsZWFyIHRpbWVycyBhZnRlciB0aGF0
LgorICAgIGZyYW1lLT5jbGVhclRpbWVycygpOworCiAgICAgLy8gRGVjb25zdHJ1Y3QgdGhlIEZy
YW1lVHJlZSwgdG8gcmVzdG9yZSBpdCBsYXRlci4KICAgICAvLyBXZSBkbyB0aGlzIGZvciB0d28g
cmVhc29uczoKICAgICAvLyAxIC0gV2UgcmV1c2UgdGhlIG1haW4gZnJhbWUsIHNvIHdoZW4gaXQg
bmF2aWdhdGVzIHRvIGEgbmV3IHBhZ2UgbG9hZCBpdCBuZWVkcyB0byBzdGFydCB3aXRoIGEgYmxh
bmsgRnJhbWVUcmVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDU4Y2Q1YmEwZTFk
MGYyOWMzMzQ3YWQ2ZDc4NGU5MjQ5MDMzMWYyYzUuLmQ4YTAzZjAxZmQwNzg3OTMxYzhkN2RjNzdh
ODk2NGVjMTI2ZTZmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEwMzEsNiAr
MTAzMSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAgICAg
QVNTRVJUKG1fZnJhbWUtPnZpZXcoKSA9PSB0aGlzKTsKIAogICAgIERvY3VtZW50KiBkb2N1bWVu
dCA9IG1fZnJhbWUtPmRvY3VtZW50KCk7CisgICAgQVNTRVJUKCFkb2N1bWVudC0+aW5QYWdlQ2Fj
aGUoKSk7CiAgICAgYm9vbCBzdWJ0cmVlOwogICAgIFJlbmRlck9iamVjdCogcm9vdDsKIAo=
</data>
<flag name="review"
          id="178620"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>