<?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>137352</bug_id>
          
          <creation_ts>2014-10-02 11:42:30 -0700</creation_ts>
          <short_desc>Back TextRun with a StringView</short_desc>
          <delta_ts>2014-10-02 13:55:01 -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>New Bugs</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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1038917</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-10-02 11:42:30 -0700</bug_when>
    <thetext>Back TextRun with a StringView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038918</commentid>
    <comment_count>1</comment_count>
      <attachid>239124</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-10-02 11:44:28 -0700</bug_when>
    <thetext>Created attachment 239124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038938</commentid>
    <comment_count>2</comment_count>
      <attachid>239124</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-10-02 12:25:47 -0700</bug_when>
    <thetext>Comment on attachment 239124
Patch

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

&gt; Source/WebCore/platform/graphics/TextRun.h:219
&gt; +    StringView m_data;

m_data is not very descriptive. Just m_string perhaps?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038940</commentid>
    <comment_count>3</comment_count>
      <attachid>239124</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-10-02 12:29:15 -0700</bug_when>
    <thetext>Comment on attachment 239124
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/TextRun.h:219
&gt;&gt; +    StringView m_data;
&gt; 
&gt; m_data is not very descriptive. Just m_string perhaps?

Or m_text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038941</commentid>
    <comment_count>4</comment_count>
      <attachid>239124</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-10-02 12:31:20 -0700</bug_when>
    <thetext>Comment on attachment 239124
Patch

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

&gt; Source/WebCore/platform/graphics/TextRun.h:160
&gt; +    String string() const { return m_data.toString(); }

This should be called text() to match setText.

&gt; Source/WebCore/platform/graphics/TextRun.h:193
&gt; +    StringView stringView() const { return m_data; }

I don&apos;t see any clients to this accessor. Is it needed? If not, please remove it.

&gt;&gt;&gt; Source/WebCore/platform/graphics/TextRun.h:219
&gt;&gt;&gt; +    StringView m_data;
&gt;&gt; 
&gt;&gt; m_data is not very descriptive. Just m_string perhaps?
&gt; 
&gt; Or m_text.

Or m_text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038942</commentid>
    <comment_count>5</comment_count>
      <attachid>239124</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-10-02 12:36:38 -0700</bug_when>
    <thetext>Comment on attachment 239124
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/TextRun.h:160
&gt;&gt; +    String string() const { return m_data.toString(); }
&gt; 
&gt; This should be called text() to match setText.

Hmm, I guess the name is ok for something that constructs a String. It would be better to have an accessor called text() that returns a StringView and leave it to the callers to construct a String if they really need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038953</commentid>
    <comment_count>6</comment_count>
      <attachid>239124</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-10-02 13:24:29 -0700</bug_when>
    <thetext>Comment on attachment 239124
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/TextRun.h:160
&gt;&gt;&gt; +    String string() const { return m_data.toString(); }
&gt;&gt; 
&gt;&gt; This should be called text() to match setText.
&gt; 
&gt; Hmm, I guess the name is ok for something that constructs a String. It would be better to have an accessor called text() that returns a StringView and leave it to the callers to construct a String if they really need it.

I&apos;ve kept this and renamed stringView() to text(). Done.

&gt;&gt; Source/WebCore/platform/graphics/TextRun.h:193
&gt;&gt; +    StringView stringView() const { return m_data; }
&gt; 
&gt; I don&apos;t see any clients to this accessor. Is it needed? If not, please remove it.

Done.

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/TextRun.h:219
&gt;&gt;&gt;&gt; +    StringView m_data;
&gt;&gt;&gt; 
&gt;&gt;&gt; m_data is not very descriptive. Just m_string perhaps?
&gt;&gt; 
&gt;&gt; Or m_text.
&gt; 
&gt; Or m_text.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1038963</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-10-02 13:55:01 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/174228</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239124</attachid>
            <date>2014-10-02 11:44:28 -0700</date>
            <delta_ts>2014-10-02 13:24:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137352-20141002114429.patch</filename>
            <type>text/plain</type>
            <size>9958</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMyYzlhYTE4NTY0Yzkw
ZDg5MjZlN2RhYmJmOTBhZmVhYzE3ZmU2MC4uZWM1ZDU1NTU3Njg0NjBlZGUwOGEyMGJlNDZmNDdj
MzMyM2Q0YzU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0LTEwLTAyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgQmFjayBUZXh0
UnVuIHdpdGggYSBTdHJpbmdWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzczNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXh0UnVuIGNvbnRhaW5zIGEgdW5pb24gb2YgYSBVQ2hhciogYW5kIGFu
IExDaGFyKiBhcyB3ZWxsIGFzIGEgbGVuZ3RoLCB3aGljaCBpcyB0aGUgYWJzdHJhY3Rpb24KKyAg
ICAgICAgdGhhdCBTdHJpbmdWaWV3IGlzIGludGVuZGVkIHRvIGJlLiBUaGlzIHBhdGNoIGNsZWFu
cyB1cCBUZXh0UnVuIGJ5IHJlcGxhY2luZyB0aGUgdW5pb24gYW5kIGxlbmd0aAorICAgICAgICB3
aXRoIGEgU3RyaW5nVmlldyBpbnN0YW5jZSBtZW1iZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvVGV4dFJ1bi5oOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6VGV4dFJ1
bik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UnVuOjpzdWJSdW4pOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dFJ1bjo6b3BlcmF0b3JbXSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UnVuOjpkYXRh
OCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UnVuOjpkYXRhMTYpOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dFJ1bjo6Y2hhcmFjdGVyczgpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6Y2hh
cmFjdGVyczE2KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSdW46OmlzOEJpdCk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0UnVuOjpsZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6
c3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSdW46OnNldFRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFJ1bjo6c3RyaW5nVmlldyk6CisKIDIwMTQtMTAtMDEgIENocmlzdG9waGUg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBpczw+KCkgLyBkb3duY2Fz
dDw+KCkgZm9yIEV2ZW50IGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RleHRSdW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1RleHRSdW4uaAppbmRleCAzOTYxYTRjYzVmNWNmZDBjNGVhMTM2ODQ2MjU5YWZmNjdiMDc1Yjc0
Li4yOTNiMjI3OTQwMDk0ODcwYzkyMDFlNDRmNDc2ZjY1MjRlMjkwNDU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCkBAIC02MiwxNCArNjIsMTMgQEAgcHVi
bGljOgogICAgIHR5cGVkZWYgdW5zaWduZWQgUm91bmRpbmdIYWNrczsKIAogICAgIFRleHRSdW4o
Y29uc3QgTENoYXIqIGMsIHVuc2lnbmVkIGxlbiwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFu
c2lvbiA9IDAsIEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yID0gQWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiB8IEZvcmJpZExlYWRpbmdFeHBhbnNpb24sIFRleHREaXJlY3Rpb24gZGly
ZWN0aW9uID0gTFRSLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwgYm9vbCBjaGFy
YWN0ZXJTY2FuRm9yQ29kZVBhdGggPSB0cnVlLCBSb3VuZGluZ0hhY2tzIHJvdW5kaW5nSGFja3Mg
PSBSdW5Sb3VuZGluZyB8IFdvcmRSb3VuZGluZykKLSAgICAgICAgOiBtX2NoYXJhY3RlcnNMZW5n
dGgobGVuKQotICAgICAgICAsIG1fbGVuKGxlbikKKyAgICAgICAgOiBtX2RhdGEoYywgbGVuKQor
ICAgICAgICAsIG1fY2hhcmFjdGVyc0xlbmd0aChsZW4pCiAgICAgICAgICwgbV90YWJTaXplKDAp
CiAgICAgICAgICwgbV94cG9zKHhwb3MpCiAgICAgICAgICwgbV9ob3Jpem9udGFsR2x5cGhTdHJl
dGNoKDEpCiAgICAgICAgICwgbV9leHBhbnNpb24oZXhwYW5zaW9uKQogICAgICAgICAsIG1fZXhw
YW5zaW9uQmVoYXZpb3IoZXhwYW5zaW9uQmVoYXZpb3IpCi0gICAgICAgICwgbV9pczhCaXQodHJ1
ZSkKICAgICAgICAgLCBtX2FsbG93VGFicyhmYWxzZSkKICAgICAgICAgLCBtX2RpcmVjdGlvbihk
aXJlY3Rpb24pCiAgICAgICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3Zl
cnJpZGUpCkBAIC03OCwxOCArNzcsMTYgQEAgcHVibGljOgogICAgICAgICAsIG1fYXBwbHlXb3Jk
Um91bmRpbmcoKHJvdW5kaW5nSGFja3MgJiBXb3JkUm91bmRpbmcpICYmIHNfYWxsb3dzUm91bmRp
bmdIYWNrcykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQogICAgIHsKLSAgICAg
ICAgbV9kYXRhLmNoYXJhY3RlcnM4ID0gYzsKICAgICB9CiAKICAgICBUZXh0UnVuKGNvbnN0IFVD
aGFyKiBjLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAw
LCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBh
bnNpb24gfCBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9
IExUUiwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UsIGJvb2wgY2hhcmFjdGVyU2Nh
bkZvckNvZGVQYXRoID0gdHJ1ZSwgUm91bmRpbmdIYWNrcyByb3VuZGluZ0hhY2tzID0gUnVuUm91
bmRpbmcgfCBXb3JkUm91bmRpbmcpCi0gICAgICAgIDogbV9jaGFyYWN0ZXJzTGVuZ3RoKGxlbikK
LSAgICAgICAgLCBtX2xlbihsZW4pCisgICAgICAgIDogbV9kYXRhKGMsIGxlbikKKyAgICAgICAg
LCBtX2NoYXJhY3RlcnNMZW5ndGgobGVuKQogICAgICAgICAsIG1fdGFiU2l6ZSgwKQogICAgICAg
ICAsIG1feHBvcyh4cG9zKQogICAgICAgICAsIG1faG9yaXpvbnRhbEdseXBoU3RyZXRjaCgxKQog
ICAgICAgICAsIG1fZXhwYW5zaW9uKGV4cGFuc2lvbikKICAgICAgICAgLCBtX2V4cGFuc2lvbkJl
aGF2aW9yKGV4cGFuc2lvbkJlaGF2aW9yKQotICAgICAgICAsIG1faXM4Qml0KGZhbHNlKQogICAg
ICAgICAsIG1fYWxsb3dUYWJzKGZhbHNlKQogICAgICAgICAsIG1fZGlyZWN0aW9uKGRpcmVjdGlv
bikKICAgICAgICAgLCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVycmlkZSkK
QEAgLTk4LDEyICs5NSwxMSBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
Zygocm91bmRpbmdIYWNrcyAmIFdvcmRSb3VuZGluZykgJiYgc19hbGxvd3NSb3VuZGluZ0hhY2tz
KQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAgICAgewotICAgICAgICBtX2Rh
dGEuY2hhcmFjdGVyczE2ID0gYzsKICAgICB9CiAgICAgCiAgICAgZXhwbGljaXQgVGV4dFJ1bihj
b25zdCBTdHJpbmcmIHMsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBFeHBh
bnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24g
fCBGb3JiaWRMZWFkaW5nRXhwYW5zaW9uLCBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9IExUUiwg
Ym9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UsIGJvb2wgY2hhcmFjdGVyU2NhbkZvckNv
ZGVQYXRoID0gdHJ1ZSwgUm91bmRpbmdIYWNrcyByb3VuZGluZ0hhY2tzID0gUnVuUm91bmRpbmcg
fCBXb3JkUm91bmRpbmcpCi0gICAgICAgIDogbV9jaGFyYWN0ZXJzTGVuZ3RoKHMubGVuZ3RoKCkp
Ci0gICAgICAgICwgbV9sZW4ocy5sZW5ndGgoKSkKKyAgICAgICAgOiBtX2RhdGEoU3RyaW5nVmll
dyhzKSkKKyAgICAgICAgLCBtX2NoYXJhY3RlcnNMZW5ndGgocy5sZW5ndGgoKSkKICAgICAgICAg
LCBtX3RhYlNpemUoMCkKICAgICAgICAgLCBtX3hwb3MoeHBvcykKICAgICAgICAgLCBtX2hvcml6
b250YWxHbHlwaFN0cmV0Y2goMSkKQEAgLTExNywyNCArMTEzLDE2IEBAIHB1YmxpYzoKICAgICAg
ICAgLCBtX2FwcGx5V29yZFJvdW5kaW5nKChyb3VuZGluZ0hhY2tzICYgV29yZFJvdW5kaW5nKSAm
JiBzX2FsbG93c1JvdW5kaW5nSGFja3MpCiAgICAgICAgICwgbV9kaXNhYmxlU3BhY2luZyhmYWxz
ZSkKICAgICB7Ci0gICAgICAgIGlmICghbV9jaGFyYWN0ZXJzTGVuZ3RoIHx8IHMuaXM4Qml0KCkp
IHsKLSAgICAgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzOCA9IHMuY2hhcmFjdGVyczgoKTsKLSAg
ICAgICAgICAgIG1faXM4Qml0ID0gdHJ1ZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IG1fZGF0YS5jaGFyYWN0ZXJzMTYgPSBzLmNoYXJhY3RlcnMxNigpOwotICAgICAgICAgICAgbV9p
czhCaXQgPSBmYWxzZTsKLSAgICAgICAgfQogICAgIH0KIAogICAgIGV4cGxpY2l0IFRleHRSdW4o
U3RyaW5nVmlldyBzLCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgRXhwYW5z
aW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uIHwg
Rm9yYmlkTGVhZGluZ0V4cGFuc2lvbiwgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24gPSBMVFIsIGJv
b2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlLCBib29sIGNoYXJhY3RlclNjYW5Gb3JDb2Rl
UGF0aCA9IHRydWUsIFJvdW5kaW5nSGFja3Mgcm91bmRpbmdIYWNrcyA9IFJ1blJvdW5kaW5nIHwg
V29yZFJvdW5kaW5nKQotICAgICAgICA6IG1fY2hhcmFjdGVyc0xlbmd0aChzLmxlbmd0aCgpKQot
ICAgICAgICAsIG1fbGVuKHMubGVuZ3RoKCkpCisgICAgICAgIDogbV9kYXRhKHMpCisgICAgICAg
ICwgbV9jaGFyYWN0ZXJzTGVuZ3RoKHMubGVuZ3RoKCkpCiAgICAgICAgICwgbV90YWJTaXplKDAp
CiAgICAgICAgICwgbV94cG9zKHhwb3MpCiAgICAgICAgICwgbV9ob3Jpem9udGFsR2x5cGhTdHJl
dGNoKDEpCiAgICAgICAgICwgbV9leHBhbnNpb24oZXhwYW5zaW9uKQogICAgICAgICAsIG1fZXhw
YW5zaW9uQmVoYXZpb3IoZXhwYW5zaW9uQmVoYXZpb3IpCi0gICAgICAgICwgbV9pczhCaXQocy5p
czhCaXQoKSkKICAgICAgICAgLCBtX2FsbG93VGFicyhmYWxzZSkKICAgICAgICAgLCBtX2RpcmVj
dGlvbihkaXJlY3Rpb24pCiAgICAgICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlv
bmFsT3ZlcnJpZGUpCkBAIC0xNDMsMTUgKzEzMSwxMSBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9h
cHBseVdvcmRSb3VuZGluZygocm91bmRpbmdIYWNrcyAmIFdvcmRSb3VuZGluZykgJiYgc19hbGxv
d3NSb3VuZGluZ0hhY2tzKQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAgICAg
ewotICAgICAgICBpZiAocy5pczhCaXQoKSkKLSAgICAgICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJz
OCA9IHMuY2hhcmFjdGVyczgoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9kYXRhLmNo
YXJhY3RlcnMxNiA9IHMuY2hhcmFjdGVyczE2KCk7CiAgICAgfQogCiAgICAgVGV4dFJ1biBzdWJS
dW4odW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCkgY29uc3QKICAgICB7Ci0g
ICAgICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHN0YXJ0T2Zmc2V0IDwgbV9s
ZW4pOworICAgICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihzdGFydE9mZnNl
dCA8IG1fZGF0YS5sZW5ndGgoKSk7CiAKICAgICAgICAgVGV4dFJ1biByZXN1bHQgPSAqdGhpczsK
IApAQCAtMTYzLDI1ICsxNDcsMjAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gcmVzdWx0Owog
ICAgIH0KIAotICAgIFVDaGFyIG9wZXJhdG9yW10odW5zaWduZWQgaSkgY29uc3QgeyBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihpIDwgbV9sZW4pOyByZXR1cm4gaXM4Qml0KCkgPyBt
X2RhdGEuY2hhcmFjdGVyczhbaV0gOm1fZGF0YS5jaGFyYWN0ZXJzMTZbaV07IH0KLSAgICBjb25z
dCBMQ2hhciogZGF0YTgodW5zaWduZWQgaSkgY29uc3QgeyBBU1NFUlRfV0lUSF9TRUNVUklUWV9J
TVBMSUNBVElPTihpIDwgbV9sZW4pOyBBU1NFUlQoaXM4Qml0KCkpOyByZXR1cm4gJm1fZGF0YS5j
aGFyYWN0ZXJzOFtpXTsgfQotICAgIGNvbnN0IFVDaGFyKiBkYXRhMTYodW5zaWduZWQgaSkgY29u
c3QgeyBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihpIDwgbV9sZW4pOyBBU1NFUlQo
IWlzOEJpdCgpKTsgcmV0dXJuICZtX2RhdGEuY2hhcmFjdGVyczE2W2ldOyB9CisgICAgVUNoYXIg
b3BlcmF0b3JbXSh1bnNpZ25lZCBpKSBjb25zdCB7IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKGkgPCBtX2RhdGEubGVuZ3RoKCkpOyByZXR1cm4gbV9kYXRhW2ldOyB9CisgICAgY29u
c3QgTENoYXIqIGRhdGE4KHVuc2lnbmVkIGkpIGNvbnN0IHsgQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oaSA8IG1fZGF0YS5sZW5ndGgoKSk7IEFTU0VSVChpczhCaXQoKSk7IHJldHVy
biAmbV9kYXRhLmNoYXJhY3RlcnM4KClbaV07IH0KKyAgICBjb25zdCBVQ2hhciogZGF0YTE2KHVu
c2lnbmVkIGkpIGNvbnN0IHsgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oaSA8IG1f
ZGF0YS5sZW5ndGgoKSk7IEFTU0VSVCghaXM4Qml0KCkpOyByZXR1cm4gJm1fZGF0YS5jaGFyYWN0
ZXJzMTYoKVtpXTsgfQogCi0gICAgY29uc3QgTENoYXIqIGNoYXJhY3RlcnM4KCkgY29uc3QgeyBB
U1NFUlQoaXM4Qml0KCkpOyByZXR1cm4gbV9kYXRhLmNoYXJhY3RlcnM4OyB9Ci0gICAgY29uc3Qg
VUNoYXIqIGNoYXJhY3RlcnMxNigpIGNvbnN0IHsgQVNTRVJUKCFpczhCaXQoKSk7IHJldHVybiBt
X2RhdGEuY2hhcmFjdGVyczE2OyB9CisgICAgY29uc3QgTENoYXIqIGNoYXJhY3RlcnM4KCkgY29u
c3QgeyBBU1NFUlQoaXM4Qml0KCkpOyByZXR1cm4gbV9kYXRhLmNoYXJhY3RlcnM4KCk7IH0KKyAg
ICBjb25zdCBVQ2hhciogY2hhcmFjdGVyczE2KCkgY29uc3QgeyBBU1NFUlQoIWlzOEJpdCgpKTsg
cmV0dXJuIG1fZGF0YS5jaGFyYWN0ZXJzMTYoKTsgfQogICAgIAotICAgIGJvb2wgaXM4Qml0KCkg
Y29uc3QgeyByZXR1cm4gbV9pczhCaXQ7IH0KLSAgICBpbnQgbGVuZ3RoKCkgY29uc3QgeyByZXR1
cm4gbV9sZW47IH0KKyAgICBib29sIGlzOEJpdCgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5pczhC
aXQoKTsgfQorICAgIGludCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2RhdGEubGVuZ3RoKCk7
IH0KICAgICBpbnQgY2hhcmFjdGVyc0xlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hhcmFjdGVy
c0xlbmd0aDsgfQotICAgIFN0cmluZyBzdHJpbmcoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYg
KGlzOEJpdCgpKQotICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhtX2RhdGEuY2hhcmFjdGVyczgs
IG1fbGVuKTsKLSAgICAgICAgcmV0dXJuIFN0cmluZyhtX2RhdGEuY2hhcmFjdGVyczE2LCBtX2xl
bik7Ci0gICAgfQorICAgIFN0cmluZyBzdHJpbmcoKSBjb25zdCB7IHJldHVybiBtX2RhdGEudG9T
dHJpbmcoKTsgfQogCi0gICAgdm9pZCBzZXRUZXh0KGNvbnN0IExDaGFyKiBjLCB1bnNpZ25lZCBs
ZW4pIHsgbV9kYXRhLmNoYXJhY3RlcnM4ID0gYzsgbV9sZW4gPSBsZW47IG1faXM4Qml0ID0gdHJ1
ZTt9Ci0gICAgdm9pZCBzZXRUZXh0KGNvbnN0IFVDaGFyKiBjLCB1bnNpZ25lZCBsZW4pIHsgbV9k
YXRhLmNoYXJhY3RlcnMxNiA9IGM7IG1fbGVuID0gbGVuOyBtX2lzOEJpdCA9IGZhbHNlO30KKyAg
ICB2b2lkIHNldFRleHQoY29uc3QgTENoYXIqIGMsIHVuc2lnbmVkIGxlbikgeyBtX2RhdGEgPSBT
dHJpbmdWaWV3KGMsIGxlbik7IH0KKyAgICB2b2lkIHNldFRleHQoY29uc3QgVUNoYXIqIGMsIHVu
c2lnbmVkIGxlbikgeyBtX2RhdGEgPSBTdHJpbmdWaWV3KGMsIGxlbik7IH0KICAgICB2b2lkIHNl
dFRleHQoU3RyaW5nVmlldyk7CiAgICAgdm9pZCBzZXRDaGFyYWN0ZXJzTGVuZ3RoKHVuc2lnbmVk
IGNoYXJhY3RlcnNMZW5ndGgpIHsgbV9jaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVyc0xlbmd0
aDsgfQogCkBAIC0yMTEsNiArMTkwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGlyZWN0aW9u
KFRleHREaXJlY3Rpb24gZGlyZWN0aW9uKSB7IG1fZGlyZWN0aW9uID0gZGlyZWN0aW9uOyB9CiAg
ICAgdm9pZCBzZXREaXJlY3Rpb25hbE92ZXJyaWRlKGJvb2wgb3ZlcnJpZGUpIHsgbV9kaXJlY3Rp
b25hbE92ZXJyaWRlID0gb3ZlcnJpZGU7IH0KICAgICB2b2lkIHNldENoYXJhY3RlclNjYW5Gb3JD
b2RlUGF0aChib29sIHNjYW4pIHsgbV9jaGFyYWN0ZXJTY2FuRm9yQ29kZVBhdGggPSBzY2FuOyB9
CisgICAgU3RyaW5nVmlldyBzdHJpbmdWaWV3KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9CiAK
ICAgICBjbGFzcyBSZW5kZXJpbmdDb250ZXh0IDogcHVibGljIFJlZkNvdW50ZWQ8UmVuZGVyaW5n
Q29udGV4dD4gewogICAgIHB1YmxpYzoKQEAgLTIzMywxNiArMjEzLDExIEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBzX2FsbG93c1JvdW5kaW5nSGFja3M7Ci0KLSAgICB1
bmlvbiB7Ci0gICAgICAgIGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzODsKLSAgICAgICAgY29uc3Qg
VUNoYXIqIGNoYXJhY3RlcnMxNjsKLSAgICB9IG1fZGF0YTsKLQorICAgIAogICAgIFJlZlB0cjxS
ZW5kZXJpbmdDb250ZXh0PiBtX3JlbmRlcmluZ0NvbnRleHQ7CiAKLSAgICB1bnNpZ25lZCBtX2No
YXJhY3RlcnNMZW5ndGg7IC8vIE1hcmtzIHRoZSBlbmQgb2YgdGhlIGNoYXJhY3RlcnMgYnVmZmVy
LiBEZWZhdWx0IGVxdWFscyB0byBtX2xlbi4KLSAgICB1bnNpZ25lZCBtX2xlbjsKKyAgICBTdHJp
bmdWaWV3IG1fZGF0YTsKKyAgICB1bnNpZ25lZCBtX2NoYXJhY3RlcnNMZW5ndGg7IC8vIE1hcmtz
IHRoZSBlbmQgb2YgdGhlIGNoYXJhY3RlcnMgYnVmZmVyLiBEZWZhdWx0IGVxdWFscyB0byBsZW5n
dGggb2YgbV9kYXRhLgogCiAgICAgdW5zaWduZWQgbV90YWJTaXplOwogCkBAIC0yNTQsNyArMjI5
LDYgQEAgcHJpdmF0ZToKIAogICAgIGZsb2F0IG1fZXhwYW5zaW9uOwogICAgIEV4cGFuc2lvbkJl
aGF2aW9yIG1fZXhwYW5zaW9uQmVoYXZpb3IgOiAyOwotICAgIHVuc2lnbmVkIG1faXM4Qml0IDog
MTsKICAgICB1bnNpZ25lZCBtX2FsbG93VGFicyA6IDE7CiAgICAgdW5zaWduZWQgbV9kaXJlY3Rp
b24gOiAxOwogICAgIHVuc2lnbmVkIG1fZGlyZWN0aW9uYWxPdmVycmlkZSA6IDE7IC8vIFdhcyB0
aGlzIGRpcmVjdGlvbiBzZXQgYnkgYW4gb3ZlcnJpZGUgY2hhcmFjdGVyLgpAQCAtMjcwLDE0ICsy
NDQsOSBAQCBpbmxpbmUgdm9pZCBUZXh0UnVuOjpzZXRUYWJTaXplKGJvb2wgYWxsb3csIHVuc2ln
bmVkIHNpemUpCiAgICAgbV90YWJTaXplID0gc2l6ZTsKIH0KIAotaW5saW5lIHZvaWQgVGV4dFJ1
bjo6c2V0VGV4dChTdHJpbmdWaWV3IHN0cmluZykKK2lubGluZSB2b2lkIFRleHRSdW46OnNldFRl
eHQoU3RyaW5nVmlldyBzdHJpbmdWaWV3KQogewotICAgIG1fbGVuID0gc3RyaW5nLmxlbmd0aCgp
OwotICAgIG1faXM4Qml0ID0gc3RyaW5nLmlzOEJpdCgpOwotICAgIGlmIChzdHJpbmcuaXM4Qml0
KCkpCi0gICAgICAgIG1fZGF0YS5jaGFyYWN0ZXJzOCA9IHN0cmluZy5jaGFyYWN0ZXJzOCgpOwot
ICAgIGVsc2UKLSAgICAgICAgbV9kYXRhLmNoYXJhY3RlcnMxNiA9IHN0cmluZy5jaGFyYWN0ZXJz
MTYoKTsKKyAgICBtX2RhdGEgPSBzdHJpbmdWaWV3OwogfQogCiB9Cg==
</data>
<flag name="review"
          id="263833"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>