<?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>95586</bug_id>
          
          <creation_ts>2012-08-31 09:53:22 -0700</creation_ts>
          <short_desc>[New Multicolumn] Refactor flow thread repainting.</short_desc>
          <delta_ts>2012-08-31 10:37:23 -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>Layout and Rendering</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>709732</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-31 09:53:22 -0700</bug_when>
    <thetext>Refactor flow thread repainting so that it calls into regions to have them do the repainting. This will allow us to subclass in RenderMultiColumnSet to do the right thing. The bulk of the work has moved into a parameterized helper that will be called by derived classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709735</commentid>
    <comment_count>1</comment_count>
      <attachid>161724</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-31 09:56:47 -0700</bug_when>
    <thetext>Created attachment 161724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709763</commentid>
    <comment_count>2</comment_count>
      <attachid>161724</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-31 10:27:06 -0700</bug_when>
    <thetext>Comment on attachment 161724
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        inside sets.

Not sure what &quot;sets&quot; are in this context.

&gt; Source/WebCore/rendering/RenderFlowThread.cpp:322
&gt; +    // We can&apos;t use currentFlowThread as it is possible to have imbricated flow threads and the wrong one could be used.

99.9% of people won&apos;t know what &quot;imbricated&quot; means, even though it&apos;s cool. Maybe &quot;overlapping&quot;?

&gt; Source/WebCore/rendering/RenderRegion.h:72
&gt; +    

Redundant whitespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709769</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-31 10:29:00 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; 
&gt; 99.9% of people won&apos;t know what &quot;imbricated&quot; means, even though it&apos;s cool. Maybe &quot;overlapping&quot;?
&gt; 

I just moved that comment. Don&apos;t blame me! I&apos;ll change it to interleaved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709780</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-31 10:37:23 -0700</bug_when>
    <thetext>Landed in r127280.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161724</attachid>
            <date>2012-08-31 09:56:47 -0700</date>
            <delta_ts>2012-08-31 10:27:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>12739</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzI3MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTA4LTMxICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBbTmV3IE11bHRpY29sdW1uXSBSZWZh
Y3RvciBmbG93IHRocmVhZCByZXBhaW50aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciBmbG93IHRocmVhZCByZXBhaW50aW5nIGluIHJl
Z2lvbnMgdG8gZGVsZWdhdGUgdGhlIHdvcmsgdG8gdGhlIHJlZ2lvbi4gVGhpcyBhbGxvd3Mgc3Vi
Y2xhc3NlcworICAgICAgICB0byBjdXN0b21pemUgaG93IHRoZSByZXBhaW50aW5nIGhhcHBlbnMg
c28gdGhhdCBpbmRpdmlkdWFsIHJlcGFpbnRzIGNhbiBiZSBpc3N1ZWQgZm9yIGNvbHVtbnMgYW5k
IHBhZ2VzCisgICAgICAgIGluc2lkZSBzZXRzLgorICAgICAgICAKKyAgICAgICAgcmVwYWludEZs
b3dUaHJlYWRDb250ZW50IGlzIHRoZSBuZXcgdmlydHVhbCBmdW5jdGlvbiB0aGF0IGNhbiBiZSBz
dWJjbGFzc2VkIGJ5IHNldHMgdG8gY3VzdG9taXplCisgICAgICAgIHRoZSByZXBhaW50IHByb2Nl
c3MuCisgICAgICAgIAorICAgICAgICByZXBhaW50Rmxvd1RocmVhZENvbnRlbnRSZWN0YW5nbGUg
aXMgYSBwYXJhbWV0ZXJpemVkIGhlbHBlciB0aGF0IHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoIGlu
ZGl2aWR1YWwKKyAgICAgICAgY29sdW1uIGFuZCBwYWdlIGluIGEgc2V0LgorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46CisgICAgICAgIENoYW5nZSByZXBhaW50UmVjdGFuZ2xlJ3Mgc2lnbmF0
dXJlIHRvIGJlIGNvbnN0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6cmVwYWludFJlY3Rhbmds
ZUluUmVnaW9ucyk6CisgICAgICAgIE5vdyBkZWxlZ2F0ZXMgdGhlIHdvcmsgZm9yIGVhY2ggcmVn
aW9uIHRvIFJlbmRlclJlZ2lvbjo6cmVwYWludEZsb3dUaHJlYWRDb250ZW50LgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OnJlcGFpbnRVc2luZ0NvbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OnJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpyZXBhaW50
UmVjdGFuZ2xlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aXNSb290ZWQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgQ2hhbmdlIGEgYnVu
Y2ggb2YgZnVuY3Rpb25zIHRvIGJlIGNvbnN0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OnJlcGFpbnRGbG93
VGhyZWFkQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclJlZ2lvbjo6cmVwYWludEZsb3dUaHJlYWRDb250ZW50UmVjdGFuZ2xlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmg6CisgICAgICAgIChSZW5kZXJSZWdpb24pOgorICAg
ICAgICBBZGQgdGhlIHR3byBuZXcgZnVuY3Rpb25zICh0aGUgdmlydHVhbCByZXBhaW50Rmxvd1Ro
cmVhZENvbnRlbnQgYW5kIHRoZSBoZWxwZXIgaXQKKyAgICAgICAgdXNlcywgcmVwYWludEZsb3dU
aHJlYWRDb250ZW50UmVjdGFuZ2xlKS4KKwogMjAxMi0wOC0zMSAgRGF2aWQgSHlhdHQgIDxoeWF0
dEBhcHBsZS5jb20+CiAKICAgICAgICAgW05ldyBNdWx0aWNvbHVtbl0gTWFrZSBSZW5kZXJGbG93
VGhyZWFkcyBpbnRvIHNlbGVjdGlvbiByb290cy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShy
ZXZpc2lvbiAxMjcyNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtMTg0LDcgKzE4NCw3IEBAIF9fWk43V2ViQ29yZTEyUHJpbnRDb250ZXh0OXNw
b29sUGFnZUVSTlMKIF9fWk43V2ViQ29yZTEyUHJpbnRDb250ZXh0OXNwb29sUmVjdEVSTlNfMTVH
cmFwaGljc0NvbnRleHRFUktOU183SW50UmVjdEUKIF9fWk43V2ViQ29yZTEyUHJpbnRDb250ZXh0
QzFFUE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTEyUHJpbnRDb250ZXh0RDFFdgotX19aTjdXZWJD
b3JlMTJSZW5kZXJPYmplY3QxNnJlcGFpbnRSZWN0YW5nbGVFUktOU18yMEZyYWN0aW9uYWxMYXlv
dXRSZWN0RWIKK19fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVjdDE2cmVwYWludFJlY3RhbmdsZUVS
S05TXzIwRnJhY3Rpb25hbExheW91dFJlY3RFYgogX19aTjdXZWJDb3JlMTJSZW5kZXJPYmplY3Qx
OXNjcm9sbFJlY3RUb1Zpc2libGVFUktOU18yMEZyYWN0aW9uYWxMYXlvdXRSZWN0RVJLTlNfMTVT
Y3JvbGxBbGlnbm1lbnRFUzZfCiBfX1pON1dlYkNvcmUxMlJlbmRlcldpZGdldDI4cmVzdW1lV2lk
Z2V0SGllcmFyY2h5VXBkYXRlc0V2CiBfX1pON1dlYkNvcmUxMlJlbmRlcldpZGdldDI5c3VzcGVu
ZFdpZGdldEhpZXJhcmNoeVVwZGF0ZXNFdgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAkocmV2aXNpb24gMTI3MjY3KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MTcsMzMgKzMxNywxOCBAQCB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6OnJlcGFpbnRSZWN0YW5nbGVJ
CiAgICAgaWYgKCFzaG91bGRSZXBhaW50KHJlcGFpbnRSZWN0KSB8fCAhaGFzVmFsaWRSZWdpb25J
bmZvKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIExheW91dFN0YXRlRGlzYWJsZXIgbGF5b3V0
U3RhdGVEaXNhYmxlcih2aWV3KCkpOyAvLyBXZSBjYW4ndCB1c2UgbGF5b3V0IHN0YXRlIHRvIHJl
cGFpbnQsIHNpbmNlIHRoZSByZWdpb25zIGFyZSBzb21ld2hlcmUgZWxzZS4KKworICAgIC8vIFdl
IGNhbid0IHVzZSBjdXJyZW50Rmxvd1RocmVhZCBhcyBpdCBpcyBwb3NzaWJsZSB0byBoYXZlIGlt
YnJpY2F0ZWQgZmxvdyB0aHJlYWRzIGFuZCB0aGUgd3Jvbmcgb25lIGNvdWxkIGJlIHVzZWQuCisg
ICAgLy8gTGV0IGVhY2ggcmVnaW9uIGZpZ3VyZSBvdXQgdGhlIHByb3BlciBlbmNsb3NpbmcgZmxv
dyB0aHJlYWQuCisgICAgQ3VycmVudFJlbmRlckZsb3dUaHJlYWREaXNhYmxlciBkaXNhYmxlcih2
aWV3KCkpOworICAgIAogICAgIGZvciAoUmVuZGVyUmVnaW9uTGlzdDo6aXRlcmF0b3IgaXRlciA9
IG1fcmVnaW9uTGlzdC5iZWdpbigpOyBpdGVyICE9IG1fcmVnaW9uTGlzdC5lbmQoKTsgKytpdGVy
KSB7CiAgICAgICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gKml0ZXI7CiAgICAgICAgIGlmICgh
cmVnaW9uLT5pc1ZhbGlkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvLyBX
ZSBvbmx5IGhhdmUgdG8gaXNzdWUgYSByZXBhaW50IGluIHRoaXMgcmVnaW9uIGlmIHRoZSByZWdp
b24gcmVjdCBpbnRlcnNlY3RzIHRoZSByZXBhaW50IHJlY3QuCi0gICAgICAgIExheW91dFJlY3Qg
ZmxpcHBlZEZsb3dUaHJlYWRQb3J0aW9uUmVjdChyZWdpb24tPmZsb3dUaHJlYWRQb3J0aW9uUmVj
dCgpKTsKLSAgICAgICAgTGF5b3V0UmVjdCBmbGlwcGVkRmxvd1RocmVhZFBvcnRpb25PdmVyZmxv
d1JlY3QocmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvbk92ZXJmbG93UmVjdCgpKTsKLSAgICAgICAg
ZmxpcEZvcldyaXRpbmdNb2RlKGZsaXBwZWRGbG93VGhyZWFkUG9ydGlvblJlY3QpOyAvLyBQdXQg
dGhlIHJlZ2lvbiByZWN0cyBpbnRvIHBoeXNpY2FsIGNvb3JkaW5hdGVzLgotICAgICAgICBmbGlw
Rm9yV3JpdGluZ01vZGUoZmxpcHBlZEZsb3dUaHJlYWRQb3J0aW9uT3ZlcmZsb3dSZWN0KTsKLQot
ICAgICAgICBMYXlvdXRSZWN0IGNsaXBwZWRSZWN0KHJlcGFpbnRSZWN0KTsKLSAgICAgICAgY2xp
cHBlZFJlY3QuaW50ZXJzZWN0KGZsaXBwZWRGbG93VGhyZWFkUG9ydGlvbk92ZXJmbG93UmVjdCk7
Ci0gICAgICAgIGlmIChjbGlwcGVkUmVjdC5pc0VtcHR5KCkpCi0gICAgICAgICAgICBjb250aW51
ZTsKLQotICAgICAgICAvLyBQdXQgdGhlIHJlZ2lvbiByZWN0IGludG8gdGhlIHJlZ2lvbidzIHBo
eXNpY2FsIGNvb3JkaW5hdGUgc3BhY2UuCi0gICAgICAgIGNsaXBwZWRSZWN0LnNldExvY2F0aW9u
KHJlZ2lvbi0+Y29udGVudEJveFJlY3QoKS5sb2NhdGlvbigpICsgKGNsaXBwZWRSZWN0LmxvY2F0
aW9uKCkgLSBmbGlwcGVkRmxvd1RocmVhZFBvcnRpb25SZWN0LmxvY2F0aW9uKCkpKTsKLQotICAg
ICAgICAvLyBOb3cgc3dpdGNoIHRvIHRoZSByZWdpb24ncyB3cml0aW5nIG1vZGUgY29vcmRpbmF0
ZSBzcGFjZSBhbmQgbGV0IGl0IHJlcGFpbnQgaXRzZWxmLgotICAgICAgICByZWdpb24tPmZsaXBG
b3JXcml0aW5nTW9kZShjbGlwcGVkUmVjdCk7Ci0gICAgICAgIExheW91dFN0YXRlRGlzYWJsZXIg
bGF5b3V0U3RhdGVEaXNhYmxlcih2aWV3KCkpOyAvLyBXZSBjYW4ndCB1c2UgbGF5b3V0IHN0YXRl
IHRvIHJlcGFpbnQsIHNpbmNlIHRoZSByZWdpb24gaXMgc29tZXdoZXJlIGVsc2UuCi0KLSAgICAg
ICAgLy8gQ2FuJ3QgdXNlIGN1cnJlbnRGbG93VGhyZWFkIGFzIGl0IHBvc3NpYmxlIHRvIGhhdmUg
aW1icmljYXRlZCBmbG93IHRocmVhZHMgYW5kIHRoZSB3cm9uZyBvbmUgY291bGQgYmUgdXNlZCwK
LSAgICAgICAgLy8gc28sIHdlIGxldCBlYWNoIHJlZ2lvbiBmaWd1cmUgb3V0IHRoZSBwcm9wZXIg
ZW5jbG9zaW5nIGZsb3cgdGhyZWFkCi0gICAgICAgIEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkRGlz
YWJsZXIgZGlzYWJsZXIodmlldygpKTsKLSAgICAgICAgcmVnaW9uLT5yZXBhaW50UmVjdGFuZ2xl
KGNsaXBwZWRSZWN0LCBpbW1lZGlhdGUpOworICAgICAgICByZWdpb24tPnJlcGFpbnRGbG93VGhy
ZWFkQ29udGVudChyZXBhaW50UmVjdCwgaW1tZWRpYXRlKTsKICAgICB9CiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCShyZXZpc2lvbiAxMjcyNjQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTI3OSw3ICsxMjc5LDcgQEAgUmVuZGVyQm94TW9kZWxPYmplY3QqIFJlbmRlck9i
amVjdDo6Y29udAogICAgIHJldHVybiByZXBhaW50Q29udGFpbmVyOwogfQogCi12b2lkIFJlbmRl
ck9iamVjdDo6cmVwYWludFVzaW5nQ29udGFpbmVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyLCBjb25zdCBMYXlvdXRSZWN0JiByLCBib29sIGltbWVkaWF0ZSkKK3ZvaWQg
UmVuZGVyT2JqZWN0OjpyZXBhaW50VXNpbmdDb250YWluZXIoUmVuZGVyQm94TW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIsIGNvbnN0IExheW91dFJlY3QmIHIsIGJvb2wgaW1tZWRpYXRlKSBj
b25zdAogewogICAgIGlmICghcmVwYWludENvbnRhaW5lcikgewogICAgICAgICB2aWV3KCktPnJl
cGFpbnRWaWV3UmVjdGFuZ2xlKHIsIGltbWVkaWF0ZSk7CkBAIC0xMzIyLDcgKzEzMjIsNyBAQCB2
b2lkIFJlbmRlck9iamVjdDo6cmVwYWludFVzaW5nQ29udGFpbmVyCiAjZW5kaWYKIH0KIAotdm9p
ZCBSZW5kZXJPYmplY3Q6OnJlcGFpbnQoYm9vbCBpbW1lZGlhdGUpCit2b2lkIFJlbmRlck9iamVj
dDo6cmVwYWludChib29sIGltbWVkaWF0ZSkgY29uc3QKIHsKICAgICAvLyBEb24ndCByZXBhaW50
IGlmIHdlJ3JlIHVucm9vdGVkIChub3RlIHRoYXQgdmlldygpIHN0aWxsIHJldHVybnMgdGhlIHZp
ZXcgd2hlbiB1bnJvb3RlZCkKICAgICBSZW5kZXJWaWV3KiB2aWV3OwpAQCAtMTMzNiw3ICsxMzM2
LDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnJlcGFpbnQoYm9vbCBpbW1lZGlhdAogICAgIHJlcGFp
bnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyID8gcmVwYWludENvbnRhaW5lciA6IHZp
ZXcsIGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIpLCBpbW1l
ZGlhdGUpOwogfQogCi12b2lkIFJlbmRlck9iamVjdDo6cmVwYWludFJlY3RhbmdsZShjb25zdCBM
YXlvdXRSZWN0JiByLCBib29sIGltbWVkaWF0ZSkKK3ZvaWQgUmVuZGVyT2JqZWN0OjpyZXBhaW50
UmVjdGFuZ2xlKGNvbnN0IExheW91dFJlY3QmIHIsIGJvb2wgaW1tZWRpYXRlKSBjb25zdAogewog
ICAgIC8vIERvbid0IHJlcGFpbnQgaWYgd2UncmUgdW5yb290ZWQgKG5vdGUgdGhhdCB2aWV3KCkg
c3RpbGwgcmV0dXJucyB0aGUgdmlldyB3aGVuIHVucm9vdGVkKQogICAgIFJlbmRlclZpZXcqIHZp
ZXc7CkBAIC0yMjAxLDkgKzIyMDEsOSBAQCBMYXlvdXRSZWN0IFJlbmRlck9iamVjdDo6bG9jYWxD
YXJldFJlY3QoCiAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKIH0KIAotYm9vbCBSZW5kZXJPYmpl
Y3Q6OmlzUm9vdGVkKFJlbmRlclZpZXcqKiB2aWV3KQorYm9vbCBSZW5kZXJPYmplY3Q6OmlzUm9v
dGVkKFJlbmRlclZpZXcqKiB2aWV3KSBjb25zdAogewotICAgIFJlbmRlck9iamVjdCogbyA9IHRo
aXM7CisgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBvID0gdGhpczsKICAgICB3aGlsZSAoby0+cGFy
ZW50KCkpCiAgICAgICAgIG8gPSBvLT5wYXJlbnQoKTsKIApAQCAtMjIxMSw3ICsyMjExLDcgQEAg
Ym9vbCBSZW5kZXJPYmplY3Q6OmlzUm9vdGVkKFJlbmRlclZpZXcqKgogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICBpZiAodmlldykKLSAgICAgICAgKnZpZXcgPSB0b1JlbmRlclZpZXcobyk7
CisgICAgICAgICp2aWV3ID0gY29uc3RfY2FzdDxSZW5kZXJWaWV3Kj4odG9SZW5kZXJWaWV3KG8p
KTsKIAogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMTI3MjY0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC01ODYsNyArNTg2LDcgQEAgcHVi
bGljOgogICAgIFJlbmRlclZpZXcqIHZpZXcoKSBjb25zdDsKIAogICAgIC8vIFJldHVybnMgdHJ1
ZSBpZiB0aGlzIHJlbmRlcmVyIGlzIHJvb3RlZCwgYW5kIG9wdGlvbmFsbHkgcmV0dXJucyB0aGUg
aG9zdGluZyB2aWV3ICh0aGUgcm9vdCBvZiB0aGUgaGllcmFyY2h5KS4KLSAgICBib29sIGlzUm9v
dGVkKFJlbmRlclZpZXcqKiA9IDApOworICAgIGJvb2wgaXNSb290ZWQoUmVuZGVyVmlldyoqID0g
MCkgY29uc3Q7CiAKICAgICBOb2RlKiBub2RlKCkgY29uc3QgeyByZXR1cm4gaXNBbm9ueW1vdXMo
KSA/IDAgOiBtX25vZGU7IH0KIApAQCAtNzUyLDE0ICs3NTIsMTQgQEAgcHVibGljOgogICAgIFJl
bmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluZXJGb3JSZXBhaW50KCkgY29uc3Q7CiAgICAgLy8g
QWN0dWFsbHkgZG8gdGhlIHJlcGFpbnQgb2YgcmVjdCByIGZvciB0aGlzIG9iamVjdCB3aGljaCBo
YXMgYmVlbiBjb21wdXRlZCBpbiB0aGUgY29vcmRpbmF0ZSBzcGFjZQogICAgIC8vIG9mIHJlcGFp
bnRDb250YWluZXIuIElmIHJlcGFpbnRDb250YWluZXIgaXMgMCwgcmVwYWludCB2aWEgdGhlIHZp
ZXcuCi0gICAgdm9pZCByZXBhaW50VXNpbmdDb250YWluZXIoUmVuZGVyQm94TW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIsIGNvbnN0IExheW91dFJlY3QmLCBib29sIGltbWVkaWF0ZSA9IGZh
bHNlKTsKKyAgICB2b2lkIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihSZW5kZXJCb3hNb2RlbE9iamVj
dCogcmVwYWludENvbnRhaW5lciwgY29uc3QgTGF5b3V0UmVjdCYsIGJvb2wgaW1tZWRpYXRlID0g
ZmFsc2UpIGNvbnN0OwogICAgIAogICAgIC8vIFJlcGFpbnQgdGhlIGVudGlyZSBvYmplY3QuICBD
YWxsZWQgd2hlbiwgZS5nLiwgdGhlIGNvbG9yIG9mIGEgYm9yZGVyIGNoYW5nZXMsIG9yIHdoZW4g
YSBib3JkZXIKICAgICAvLyBzdHlsZSBjaGFuZ2VzLgotICAgIHZvaWQgcmVwYWludChib29sIGlt
bWVkaWF0ZSA9IGZhbHNlKTsKKyAgICB2b2lkIHJlcGFpbnQoYm9vbCBpbW1lZGlhdGUgPSBmYWxz
ZSkgY29uc3Q7CiAKICAgICAvLyBSZXBhaW50IGEgc3BlY2lmaWMgc3VicmVjdGFuZ2xlIHdpdGhp
biBhIGdpdmVuIG9iamVjdC4gIFRoZSByZWN0IHxyfCBpcyBpbiB0aGUgb2JqZWN0J3MgY29vcmRp
bmF0ZSBzcGFjZS4KLSAgICB2b2lkIHJlcGFpbnRSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYs
IGJvb2wgaW1tZWRpYXRlID0gZmFsc2UpOworICAgIHZvaWQgcmVwYWludFJlY3RhbmdsZShjb25z
dCBMYXlvdXRSZWN0JiwgYm9vbCBpbW1lZGlhdGUgPSBmYWxzZSkgY29uc3Q7CiAKICAgICAvLyBS
ZXBhaW50IG9ubHkgaWYgb3VyIG9sZCBib3VuZHMgYW5kIG5ldyBib3VuZHMgYXJlIGRpZmZlcmVu
dC4gVGhlIGNhbGxlciBtYXkgcGFzcyBpbiBuZXdCb3VuZHMgYW5kIG5ld091dGxpbmVCb3ggaWYg
dGhleSBhcmUga25vd24uCiAgICAgYm9vbCByZXBhaW50QWZ0ZXJMYXlvdXRJZk5lZWRlZChSZW5k
ZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgY29uc3QgTGF5b3V0UmVjdCYgb2xk
Qm91bmRzLCBjb25zdCBMYXlvdXRSZWN0JiBvbGRPdXRsaW5lQm94LCBjb25zdCBMYXlvdXRSZWN0
KiBuZXdCb3VuZHNQdHIgPSAwLCBjb25zdCBMYXlvdXRSZWN0KiBuZXdPdXRsaW5lQm94UHRyID0g
MCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcAkocmV2
aXNpb24gMTI3MjY3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNyw2ICsyMDcsMzQgQEAgdm9pZCBSZW5kZXJSZWdpb246
OmxheW91dCgpCiAgICAgLy8gV2UnbGwgbmVlZCB0byBleHBhbmQgUmVuZGVyQm94UmVnaW9uSW5m
byB0byBhbHNvIGhvbGQgbGVmdCBhbmQgcmlnaHQgb3ZlcmZsb3cgdmFsdWVzLgogfQogCit2b2lk
IFJlbmRlclJlZ2lvbjo6cmVwYWludEZsb3dUaHJlYWRDb250ZW50KGNvbnN0IExheW91dFJlY3Qm
IHJlcGFpbnRSZWN0LCBib29sIGltbWVkaWF0ZSkgY29uc3QKK3sKKyAgICByZXBhaW50Rmxvd1Ro
cmVhZENvbnRlbnRSZWN0YW5nbGUocmVwYWludFJlY3QsIGltbWVkaWF0ZSwgZmxvd1RocmVhZFBv
cnRpb25SZWN0KCksIGZsb3dUaHJlYWRQb3J0aW9uT3ZlcmZsb3dSZWN0KCksIGNvbnRlbnRCb3hS
ZWN0KCkubG9jYXRpb24oKSk7Cit9CisKK3ZvaWQgUmVuZGVyUmVnaW9uOjpyZXBhaW50Rmxvd1Ro
cmVhZENvbnRlbnRSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgcmVwYWludFJlY3QsIGJvb2wg
aW1tZWRpYXRlLCBjb25zdCBMYXlvdXRSZWN0JiBmbG93VGhyZWFkUG9ydGlvblJlY3QsIGNvbnN0
IExheW91dFJlY3QmIGZsb3dUaHJlYWRQb3J0aW9uT3ZlcmZsb3dSZWN0LCBjb25zdCBMYXlvdXRQ
b2ludCYgcmVnaW9uTG9jYXRpb24pIGNvbnN0Cit7CisgICAgLy8gV2Ugb25seSBoYXZlIHRvIGlz
c3VlIGEgcmVwYWludCBpbiB0aGlzIHJlZ2lvbiBpZiB0aGUgcmVnaW9uIHJlY3QgaW50ZXJzZWN0
cyB0aGUgcmVwYWludCByZWN0LgorICAgIExheW91dFJlY3QgZmxpcHBlZEZsb3dUaHJlYWRQb3J0
aW9uUmVjdChmbG93VGhyZWFkUG9ydGlvblJlY3QpOworICAgIExheW91dFJlY3QgZmxpcHBlZEZs
b3dUaHJlYWRQb3J0aW9uT3ZlcmZsb3dSZWN0KGZsb3dUaHJlYWRQb3J0aW9uT3ZlcmZsb3dSZWN0
KTsKKyAgICBmbG93VGhyZWFkKCktPmZsaXBGb3JXcml0aW5nTW9kZShmbGlwcGVkRmxvd1RocmVh
ZFBvcnRpb25SZWN0KTsgLy8gUHV0IHRoZSByZWdpb24gcmVjdHMgaW50byBwaHlzaWNhbCBjb29y
ZGluYXRlcy4KKyAgICBmbG93VGhyZWFkKCktPmZsaXBGb3JXcml0aW5nTW9kZShmbGlwcGVkRmxv
d1RocmVhZFBvcnRpb25PdmVyZmxvd1JlY3QpOworCisgICAgTGF5b3V0UmVjdCBjbGlwcGVkUmVj
dChyZXBhaW50UmVjdCk7CisgICAgY2xpcHBlZFJlY3QuaW50ZXJzZWN0KGZsaXBwZWRGbG93VGhy
ZWFkUG9ydGlvbk92ZXJmbG93UmVjdCk7CisgICAgaWYgKGNsaXBwZWRSZWN0LmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgLy8gUHV0IHRoZSByZWdpb24gcmVjdCBpbnRvIHRoZSBy
ZWdpb24ncyBwaHlzaWNhbCBjb29yZGluYXRlIHNwYWNlLgorICAgIGNsaXBwZWRSZWN0LnNldExv
Y2F0aW9uKHJlZ2lvbkxvY2F0aW9uICsgKGNsaXBwZWRSZWN0LmxvY2F0aW9uKCkgLSBmbGlwcGVk
Rmxvd1RocmVhZFBvcnRpb25SZWN0LmxvY2F0aW9uKCkpKTsKKworICAgIC8vIE5vdyBzd2l0Y2gg
dG8gdGhlIHJlZ2lvbidzIHdyaXRpbmcgbW9kZSBjb29yZGluYXRlIHNwYWNlIGFuZCBsZXQgaXQg
cmVwYWludCBpdHNlbGYuCisgICAgZmxpcEZvcldyaXRpbmdNb2RlKGNsaXBwZWRSZWN0KTsKKyAg
ICAKKyAgICAvLyBJc3N1ZSB0aGUgcmVwYWludC4KKyAgICByZXBhaW50UmVjdGFuZ2xlKGNsaXBw
ZWRSZWN0LCBpbW1lZGlhdGUpOworfQorCiB2b2lkIFJlbmRlclJlZ2lvbjo6aW5zdGFsbEZsb3dU
aHJlYWQoKQogewogICAgIEFTU0VSVCh2aWV3KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZWdpb24uaAkocmV2aXNpb24gMTI3MjY3KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldEhhc0N1c3RvbVJlZ2lvblN0eWxlKGJvb2wgaGFzQ3VzdG9t
UmVnaW9uU3R5bGUpIHsgbV9oYXNDdXN0b21SZWdpb25TdHlsZSA9IGhhc0N1c3RvbVJlZ2lvblN0
eWxlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7Ci0KKyAgICAKICAgICBSZW5kZXJC
b3hSZWdpb25JbmZvKiByZW5kZXJCb3hSZWdpb25JbmZvKGNvbnN0IFJlbmRlckJveCopIGNvbnN0
OwogICAgIFJlbmRlckJveFJlZ2lvbkluZm8qIHNldFJlbmRlckJveFJlZ2lvbkluZm8oY29uc3Qg
UmVuZGVyQm94KiwgTGF5b3V0VW5pdCBsb2dpY2FsTGVmdEluc2V0LCBMYXlvdXRVbml0IGxvZ2lj
YWxSaWdodEluc2V0LAogICAgICAgICBib29sIGNvbnRhaW5pbmdCbG9ja0NoYWluSXNJbnNldCk7
CkBAIC0xMTYsMTEgKzExNiwxNSBAQCBwdWJsaWM6CiAgICAgLy8gV2hldGhlciBvciBub3QgdGhp
cyByZWdpb24gaXMgYSBzZXQuCiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyUmVnaW9uU2V0KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwYWludEZs
b3dUaHJlYWRDb250ZW50KGNvbnN0IExheW91dFJlY3QmIHJlcGFpbnRSZWN0LCBib29sIGltbWVk
aWF0ZSkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICB2b2lkIHNldFJlZ2lvbk9iamVjdHNSZWdp
b25TdHlsZSgpOwogICAgIHZvaWQgcmVzdG9yZVJlZ2lvbk9iamVjdHNPcmlnaW5hbFN0eWxlKCk7
CiAKICAgICBMYXlvdXRSZWN0IG92ZXJmbG93UmVjdEZvckZsb3dUaHJlYWRQb3J0aW9uKExheW91
dFJlY3QgZmxvd1RocmVhZFBvcnRpb25SZWN0LCBib29sIGlzRmlyc3RQb3J0aW9uLCBib29sIGlz
TGFzdFBvcnRpb24pIGNvbnN0OworICAgIHZvaWQgcmVwYWludEZsb3dUaHJlYWRDb250ZW50UmVj
dGFuZ2xlKGNvbnN0IExheW91dFJlY3QmIHJlcGFpbnRSZWN0LCBib29sIGltbWVkaWF0ZSwgY29u
c3QgTGF5b3V0UmVjdCYgZmxvd1RocmVhZFBvcnRpb25SZWN0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IExheW91dFJlY3QmIGZsb3dUaHJlYWRQb3J0
aW9uT3ZlcmZsb3dSZWN0LCBjb25zdCBMYXlvdXRQb2ludCYgcmVnaW9uTG9jYXRpb24pIGNvbnN0
OwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0
IHsgcmV0dXJuICJSZW5kZXJSZWdpb24iOyB9Cg==
</data>
<flag name="review"
          id="172621"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>