<?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>109659</bug_id>
          
          <creation_ts>2013-02-12 21:11:14 -0800</creation_ts>
          <short_desc>Coordinated Graphics : Prevent code duplication of CoordinatedSurface</short_desc>
          <delta_ts>2023-05-27 07:04:09 -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>UNCONFIRMED</bug_status>
          <resolution></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>
          
          <blocked>109661</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jae Hyun Park">jaepark</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>koivisto</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>831594</commentid>
    <comment_count>0</comment_count>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2013-02-12 21:11:14 -0800</bug_when>
    <thetext>Many code, especially GraphicsSurface related code, will be shared between WebCoordinatedSurface and WebKit1 CoordinatedSurface.
Therefore, those code should be implemented in CoordinatedSurface.* to prevent from code duplication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831607</commentid>
    <comment_count>1</comment_count>
      <attachid>188005</attachid>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2013-02-12 21:27:02 -0800</bug_when>
    <thetext>Created attachment 188005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855874</commentid>
    <comment_count>2</comment_count>
      <attachid>188005</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-03-15 03:59:29 -0700</bug_when>
    <thetext>Comment on attachment 188005
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Coordinated Graphics : Prevent code duplication of CoordinatedSurface

Coordinated Graphics:

&gt; Source/WebCore/ChangeLog:10
&gt; +        This is patch moves CoordinatedSurface implementation that will be shared
&gt; +        between WebKit1 CoordinatedSurface and WebCoordinatedSurface to
&gt; +        CoordinatedSurface so that it prevents code duplication.

Move some of the duplicated code to CoordinatedSurface.

&gt; Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedSurface.cpp:64
&gt; +PassRefPtr&lt;GraphicsSurface&gt; CoordinatedSurface::createGraphicsSurface(const IntSize&amp; size, Flags flags)

createWithNewGraphicsSurface

&gt; Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedSurface.cpp:84
&gt; +    RefPtr&lt;BitmapTextureGL&gt; textureGL = toBitmapTextureGL(texture);
&gt; +    if (textureGL) {

You can&apos;t assume that textureMapper is GL based. You should only do this when isBackedByOpenGL returns true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1958404</commentid>
    <comment_count>3</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-05-27 07:04:09 -0700</bug_when>
    <thetext>This code seems to modify &apos;CoordinatedSurface.cpp/h&apos; files, which don&apos;t exist in WebKit anymore but this commit did seems to highlight renaming:

https://github.com/WebKit/WebKit/commit/fe9d29899711bb87766fd5cb2b2b4f3bbfead88f

So not sure, whether it is needed or not. Appreciate if someone can confirm whether it is needed or not.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188005</attachid>
            <date>2013-02-12 21:27:02 -0800</date>
            <delta_ts>2013-03-15 03:59:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109659-20130212212410.patch</filename>
            <type>text/plain</type>
            <size>11903</size>
            <attacher name="Jae Hyun Park">jaepark</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE2ZDViYzVmOWRiOGUx
NWNjZDk4ZDMzNjUxYzVmYmI2MzkzMjdjNi4uNTQ1OGU1MzVmNzk5Mjk4ZjFkYzkxNTYxZmQ3ZmRl
ZGRjOWQ4OWQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAyLTEyICBKYWUg
SHl1biBQYXJrICA8amFlLnBhcmtAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQ29vcmRpbmF0
ZWQgR3JhcGhpY3MgOiBQcmV2ZW50IGNvZGUgZHVwbGljYXRpb24gb2YgQ29vcmRpbmF0ZWRTdXJm
YWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IGlzIHBhdGNoIG1vdmVzIENvb3JkaW5hdGVkU3VyZmFjZSBpbXBsZW1lbnRhdGlvbiB0aGF0IHdp
bGwgYmUgc2hhcmVkCisgICAgICAgIGJldHdlZW4gV2ViS2l0MSBDb29yZGluYXRlZFN1cmZhY2Ug
YW5kIFdlYkNvb3JkaW5hdGVkU3VyZmFjZSB0bworICAgICAgICBDb29yZGluYXRlZFN1cmZhY2Ug
c28gdGhhdCBpdCBwcmV2ZW50cyBjb2RlIGR1cGxpY2F0aW9uLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkU3VyZmFjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDb29yZGluYXRlZFN1cmZhY2U6OkNvb3JkaW5hdGVkU3VyZmFjZSk6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkU3VyZmFjZTo6Y3JlYXRl
R3JhcGhpY3NTdXJmYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkU3VyZmFjZTo6
Y29weVRvVGV4dHVyZVVzaW5nR3JhcGhpY3NTdXJmYWNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRTdXJmYWNlLmg6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZFN1cmZhY2U6OnNpemUpOgorICAgICAgICAoQ29vcmRpbmF0
ZWRTdXJmYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkU3VyZmFjZTo6ZmxhZ3Mp
OgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRTdXJmYWNlOjppc0JhY2tlZEJ5R3JhcGhp
Y3NTdXJmYWNlKToKKwogMjAxMy0wMi0xMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIEVsZW1lbnQ6OmVuc3VyZUF0dHJpYnV0ZURhdGEoKS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCA3NTg3MTU0NjZmOTc2MjdmNWY2YjFlOWYxOWMxMDZlNTU2MzI1NDJhLi5iNDdl
YzQ1MDUyZWY0NDY1MTM0ZGZkY2JkOWE0NDA0ZGRhNTdjNmI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjEgQEAKKzIwMTMtMDItMTIgIEphZSBIeXVuIFBhcmsgIDxqYWUucGFya0Bjb21wYW55MTAw
Lm5ldD4KKworICAgICAgICBDb29yZGluYXRlZCBHcmFwaGljcyA6IFByZXZlbnQgY29kZSBkdXBs
aWNhdGlvbiBvZiBDb29yZGluYXRlZFN1cmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTY1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgcGF0Y2ggbW92ZXMgQ29vcmRpbmF0ZWRTdXJm
YWNlIGltcGxlbWVudGF0aW9uIHRoYXQgd2lsbCBiZSBzaGFyZWQKKyAgICAgICAgYmV0d2VlbiBX
ZWJLaXQxIENvb3JkaW5hdGVkU3VyZmFjZSBhbmQgV2ViQ29vcmRpbmF0ZWRTdXJmYWNlIHRvCisg
ICAgICAgIENvb3JkaW5hdGVkU3VyZmFjZSBzbyB0aGF0IGl0IHByZXZlbnRzIGNvZGUgZHVwbGlj
YXRpb24uCisKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGlu
YXRlZFN1cmZhY2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29yZGluYXRlZFN1cmZhY2U6
OmNyZWF0ZVdpdGhTdXJmYWNlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29vcmRpbmF0ZWRTdXJm
YWNlOjpXZWJDb29yZGluYXRlZFN1cmZhY2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29yZGlu
YXRlZFN1cmZhY2U6OmNvcHlUb1RleHR1cmUpOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5oOgorICAgICAgICAoV2ViQ29vcmRpbmF0
ZWRTdXJmYWNlKToKKwogMjAxMy0wMi0xMiAgQWRlbmlsc29uIENhdmFsY2FudGkgIDxjYXZhbGNh
bnRpaUBnbWFpbC5jb20+CiAKICAgICAgICAgW1dLMl0gUGFnZSByZWxvYWRpbmcgd2lsbCBjcmFz
aCBVSVByb2Nlc3MgYWZ0ZXIgV2ViUHJvY2VzcyB3YXMga2lsbGVkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZFN1cmZhY2UuY3BwCmluZGV4IGY5YTk0MjM3Mjc0MzVhNDU4
NGQ3NWJkMDAzOGFiMzZkNzFmMGEzNmYuLjViZWNjY2RkZDFiMGEzNmYwMGY1ZjIzYzZhYzBhMDgx
ZDg1OTIzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFN1cmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFN1cmZh
Y2UuY3BwCkBAIC0yOCw2ICsyOCwxMCBAQAogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQogCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQorI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJHTC5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ29vcmRpbmF0ZWRTdXJmYWNlOjpG
YWN0b3J5KiBDb29yZGluYXRlZFN1cmZhY2U6OnNfZmFjdG9yeSA9IDA7CkBAIC00Myw2ICs0Nyw1
NCBAQCBQYXNzUmVmUHRyPENvb3JkaW5hdGVkU3VyZmFjZT4gQ29vcmRpbmF0ZWRTdXJmYWNlOjpj
cmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgRgogICAgIHJldHVybiBzX2ZhY3Rvcnkoc2l6ZSwg
ZmxhZ3MpOwogfQogCitDb29yZGluYXRlZFN1cmZhY2U6OkNvb3JkaW5hdGVkU3VyZmFjZShjb25z
dCBJbnRTaXplJiBzaXplLCBGbGFncyBmbGFncykKKyAgICA6IG1fc2l6ZShzaXplKQorICAgICwg
bV9mbGFncyhmbGFncykKK3sKK30KKworI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQorQ29vcmRp
bmF0ZWRTdXJmYWNlOjpDb29yZGluYXRlZFN1cmZhY2UoY29uc3QgSW50U2l6ZSYgc2l6ZSwgRmxh
Z3MgZmxhZ3MsIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBzdXJmYWNlKQorICAgIDogbV9z
aXplKHNpemUpCisgICAgLCBtX2ZsYWdzKGZsYWdzKQorICAgICwgbV9ncmFwaGljc1N1cmZhY2Uo
c3VyZmFjZSkKK3sKK30KKworUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IENvb3JkaW5hdGVk
U3VyZmFjZTo6Y3JlYXRlR3JhcGhpY3NTdXJmYWNlKGNvbnN0IEludFNpemUmIHNpemUsIEZsYWdz
IGZsYWdzKQoreworICAgIEdyYXBoaWNzU3VyZmFjZTo6RmxhZ3Mgc3VyZmFjZUZsYWdzID0KKyAg
ICAgICAgR3JhcGhpY3NTdXJmYWNlOjpTdXBwb3J0c1NvZnR3YXJlV3JpdGUKKyAgICAgICAgfCBH
cmFwaGljc1N1cmZhY2U6OlN1cHBvcnRzQ29weVRvVGV4dHVyZQorICAgICAgICB8IEdyYXBoaWNz
U3VyZmFjZTo6U3VwcG9ydHNTaGFyaW5nOworCisgICAgaWYgKGZsYWdzICYgU3VwcG9ydHNBbHBo
YSkKKyAgICAgICAgc3VyZmFjZUZsYWdzIHw9IEdyYXBoaWNzU3VyZmFjZTo6U3VwcG9ydHNBbHBo
YTsKKworICAgIHJldHVybiBHcmFwaGljc1N1cmZhY2U6OmNyZWF0ZShzaXplLCBzdXJmYWNlRmxh
Z3MpOworfQorCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQorYm9vbCBDb29yZGluYXRlZFN1cmZh
Y2U6OmNvcHlUb1RleHR1cmVVc2luZ0dyYXBoaWNzU3VyZmFjZShCaXRtYXBUZXh0dXJlKiB0ZXh0
dXJlLCBjb25zdCBJbnRSZWN0JiB0YXJnZXQsIGNvbnN0IEludFBvaW50JiBzb3VyY2VPZmZzZXQp
Cit7CisgICAgaWYgKCFpc0JhY2tlZEJ5R3JhcGhpY3NTdXJmYWNlKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlR0w+IHRleHR1cmVHTCA9IHRvQml0
bWFwVGV4dHVyZUdMKHRleHR1cmUpOworICAgIGlmICh0ZXh0dXJlR0wpIHsKKyAgICAgICAgdWlu
dDMyX3QgdGV4dHVyZUlEID0gdGV4dHVyZUdMLT5pZCgpOworICAgICAgICB1aW50MzJfdCB0ZXh0
dXJlVGFyZ2V0ID0gdGV4dHVyZUdMLT50ZXh0dXJlVGFyZ2V0KCk7CisgICAgICAgIG1fZ3JhcGhp
Y3NTdXJmYWNlLT5jb3B5VG9HTFRleHR1cmUodGV4dHVyZVRhcmdldCwgdGV4dHVyZUlELCB0YXJn
ZXQsIHNvdXJjZU9mZnNldCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIFJl
ZlB0cjxJbWFnZT4gaW1hZ2UgPSBtX2dyYXBoaWNzU3VyZmFjZS0+Y3JlYXRlUmVhZE9ubHlJbWFn
ZShJbnRSZWN0KHNvdXJjZU9mZnNldCwgdGFyZ2V0LnNpemUoKSkpOworICAgIHRleHR1cmUtPnVw
ZGF0ZUNvbnRlbnRzKGltYWdlLmdldCgpLCB0YXJnZXQsIEludFBvaW50Ojp6ZXJvKCksIEJpdG1h
cFRleHR1cmU6OlVwZGF0ZUNhbk1vZGlmeU9yaWdpbmFsSW1hZ2VEYXRhKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKyNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVIpCisjZW5kaWYgLy8gVVNFKEdS
QVBISUNTX1NVUkZBQ0UpCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFN1cmZhY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZFN1cmZhY2UuaAppbmRleCAzMDc3YzNjMDljNGFiMDY3ZmZiOTg2NjZiNDBmNjA3NTk3ODVl
NWQ2Li43OTg4ZGI3ODZlMWNiMzMwOGRmZTkwYThjMDEwMjE0NWE4ZmQwYTBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRTdXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkU3VyZmFjZS5oCkBAIC0yNyw2ICsyNywxMCBA
QAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVS
ZWZDb3VudGVkLmg+CiAKKyNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyNpbmNsdWRlICJHcmFw
aGljc1N1cmZhY2UuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBCaXRt
YXBUZXh0dXJlOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwpAQCAtNDYsNyArNTAsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB+Q29vcmRpbmF0ZWRTdXJmYWNlKCkgeyB9CiAKICAgICBib29sIHN1
cHBvcnRzQWxwaGEoKSBjb25zdCB7IHJldHVybiBmbGFncygpICYgU3VwcG9ydHNBbHBoYTsgfQot
ICAgIHZpcnR1YWwgSW50U2l6ZSBzaXplKCkgY29uc3QgPSAwOworICAgIEludFNpemUgc2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQogCiAgICAgLy8gQ3JlYXRlIGEgZ3JhcGhpY3MgY29u
dGV4dCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBhaW50IGludG8gdGhlIGJhY2tpbmcgc3RvcmUuCiAg
ICAgdmlydHVhbCBQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dD4gY3JlYXRlR3JhcGhpY3NDb250
ZXh0KGNvbnN0IEludFJlY3QmKSA9IDA7CkBAIC01Niw3ICs2MCwyNCBAQCBwdWJsaWM6CiAjZW5k
aWYKIAogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgRmxhZ3MgZmxhZ3MoKSBjb25zdCA9IDA7Cisg
ICAgQ29vcmRpbmF0ZWRTdXJmYWNlKGNvbnN0IEludFNpemUmLCBGbGFncyk7CisKKyAgICBGbGFn
cyBmbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3M7IH0KKworI2lmIFVTRShHUkFQSElDU19T
VVJGQUNFKQorICAgIENvb3JkaW5hdGVkU3VyZmFjZShjb25zdCBJbnRTaXplJiwgRmxhZ3MsIFBh
c3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPik7CisgICAgYm9vbCBpc0JhY2tlZEJ5R3JhcGhpY3NT
dXJmYWNlKCkgY29uc3QgeyByZXR1cm4gISFtX2dyYXBoaWNzU3VyZmFjZTsgfQorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4gY3JlYXRlR3JhcGhpY3NTdXJmYWNlKGNvbnN0
IEludFNpemUmLCBGbGFncyk7CisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQorICAgIGJvb2wgY29w
eVRvVGV4dHVyZVVzaW5nR3JhcGhpY3NTdXJmYWNlKEJpdG1hcFRleHR1cmUqLCBjb25zdCBJbnRS
ZWN0JiB0YXJnZXQsIGNvbnN0IEludFBvaW50JiBzb3VyY2VPZmZzZXQpOworI2VuZGlmIC8vIFVT
RShURVhUVVJFX01BUFBFUikKKyNlbmRpZiAvLyBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKworICAg
IEludFNpemUgbV9zaXplOworICAgIEZsYWdzIG1fZmxhZ3M7CisjaWYgVVNFKEdSQVBISUNTX1NV
UkZBQ0UpCisgICAgUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4gbV9ncmFwaGljc1N1cmZhY2U7Cisj
ZW5kaWYKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgQ29vcmRpbmF0ZWRTdXJmYWNlOjpGYWN0b3J5
KiBzX2ZhY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViQ29vcmRpbmF0ZWRTdXJmYWNlLmNwcAppbmRleCA1
MmI3ZjZkMmMxNDQzYTQ3OTc5MmU2ODA1OTNlYjY4YzBlMDRlNjk1Li4wZTk3NThlM2IyZTc3Mzkz
NDRmY2JmZTViMGUxYzEwMzM5ZTMwNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3Vy
ZmFjZS5jcHAKQEAgLTg0LDE3ICs4NCw5IEBAIFBhc3NSZWZQdHI8V2ViQ29vcmRpbmF0ZWRTdXJm
YWNlPiBXZWJDb29yZGluYXRlZFN1cmZhY2U6OmNyZWF0ZShjb25zdCBJbnRTaXplJiBzCiAjaWYg
VVNFKEdSQVBISUNTX1NVUkZBQ0UpCiBQYXNzUmVmUHRyPFdlYkNvb3JkaW5hdGVkU3VyZmFjZT4g
V2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpjcmVhdGVXaXRoU3VyZmFjZShjb25zdCBJbnRTaXplJiBz
aXplLCBDb29yZGluYXRlZFN1cmZhY2U6OkZsYWdzIGZsYWdzKQogewotICAgIEdyYXBoaWNzU3Vy
ZmFjZTo6RmxhZ3Mgc3VyZmFjZUZsYWdzID0KLSAgICAgICAgR3JhcGhpY3NTdXJmYWNlOjpTdXBw
b3J0c1NvZnR3YXJlV3JpdGUKLSAgICAgICAgfCBHcmFwaGljc1N1cmZhY2U6OlN1cHBvcnRzQ29w
eVRvVGV4dHVyZQotICAgICAgICB8IEdyYXBoaWNzU3VyZmFjZTo6U3VwcG9ydHNTaGFyaW5nOwot
Ci0gICAgaWYgKGZsYWdzICYgU3VwcG9ydHNBbHBoYSkKLSAgICAgICAgc3VyZmFjZUZsYWdzIHw9
IEdyYXBoaWNzU3VyZmFjZTo6U3VwcG9ydHNBbHBoYTsKLQogICAgIC8vIFRoaXMgbWlnaHQgcmV0
dXJuIG51bGwsIGlmIHRoZSBzeXN0ZW0gaXMgdW5hYmxlIHRvIHByb3ZpZGUgYSBuZXcgZ3JhcGhp
Y3Mgc3VyZmFjZS4KICAgICAvLyBJbiB0aGF0IGNhc2UsIHRoaXMgZnVuY3Rpb24gd291bGQgcmV0
dXJuIG51bGwgYW5kIGFsbG93IGZhbGxpbmcgYmFjayB0byBTaGFyZWFibGVCaXRtYXAuCi0gICAg
UmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4gc3VyZmFjZSA9IEdyYXBoaWNzU3VyZmFjZTo6Y3JlYXRl
KHNpemUsIHN1cmZhY2VGbGFncyk7CisgICAgUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4gc3VyZmFj
ZSA9IGNyZWF0ZUdyYXBoaWNzU3VyZmFjZShzaXplLCBmbGFncyk7CiAgICAgaWYgKCFzdXJmYWNl
KQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMTIzLDE3ICsxMTUsMTQgQEAgUGFzc1JlZlB0cjxX
ZWJDb29yZGluYXRlZFN1cmZhY2U+IFdlYkNvb3JkaW5hdGVkU3VyZmFjZTo6Y3JlYXRlKGNvbnN0
IEludFNpemUmIHMKIH0KIAogV2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpXZWJDb29yZGluYXRlZFN1
cmZhY2UoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmYWNlOjpGbGFncyBmbGFn
cywgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCkKLSAgICA6IG1fc2l6ZShzaXpl
KQotICAgICwgbV9mbGFncyhmbGFncykKKyAgICA6IENvb3JkaW5hdGVkU3VyZmFjZShzaXplLCBm
bGFncykKICAgICAsIG1fYml0bWFwKGJpdG1hcCkKIHsKIH0KIAogI2lmIFVTRShHUkFQSElDU19T
VVJGQUNFKQogV2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpXZWJDb29yZGluYXRlZFN1cmZhY2UoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmYWNlOjpGbGFncyBmbGFn
cywgUGFzc1JlZlB0cjxXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2U+IHN1cmZhY2UpCi0gICAgOiBt
X3NpemUoc2l6ZSkKLSAgICAsIG1fZmxhZ3MoZmxhZ3MpCi0gICAgLCBtX2dyYXBoaWNzU3VyZmFj
ZShzdXJmYWNlKQorICAgIDogQ29vcmRpbmF0ZWRTdXJmYWNlKHNpemUsIGZsYWdzLCBzdXJmYWNl
KQogewogfQogCkBAIC0xODksMTkgKzE3OCw4IEBAIHZvaWQgV2ViQ29vcmRpbmF0ZWRTdXJmYWNl
Ojpjb3B5VG9UZXh0dXJlKFBhc3NSZWZQdHI8V2ViQ29yZTo6Qml0bWFwVGV4dHVyZT4gcGFzCiAg
ICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IHRleHR1cmUocGFzc1RleHR1cmUpOwogCiAjaWYgVVNF
KEdSQVBISUNTX1NVUkZBQ0UpCi0gICAgaWYgKGlzQmFja2VkQnlHcmFwaGljc1N1cmZhY2UoKSkg
ewotICAgICAgICBSZWZQdHI8Qml0bWFwVGV4dHVyZUdMPiB0ZXh0dXJlR0wgPSB0b0JpdG1hcFRl
eHR1cmVHTCh0ZXh0dXJlLmdldCgpKTsKLSAgICAgICAgaWYgKHRleHR1cmVHTCkgewotICAgICAg
ICAgICAgdWludDMyX3QgdGV4dHVyZUlEID0gdGV4dHVyZUdMLT5pZCgpOwotICAgICAgICAgICAg
dWludDMyX3QgdGV4dHVyZVRhcmdldCA9IHRleHR1cmVHTC0+dGV4dHVyZVRhcmdldCgpOwotICAg
ICAgICAgICAgbV9ncmFwaGljc1N1cmZhY2UtPmNvcHlUb0dMVGV4dHVyZSh0ZXh0dXJlVGFyZ2V0
LCB0ZXh0dXJlSUQsIHRhcmdldCwgc291cmNlT2Zmc2V0KTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotCi0gICAgICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSBtX2dyYXBoaWNzU3Vy
ZmFjZS0+Y3JlYXRlUmVhZE9ubHlJbWFnZShJbnRSZWN0KHNvdXJjZU9mZnNldCwgdGFyZ2V0LnNp
emUoKSkpOwotICAgICAgICB0ZXh0dXJlLT51cGRhdGVDb250ZW50cyhpbWFnZS5nZXQoKSwgdGFy
Z2V0LCBJbnRQb2ludDo6emVybygpLCBCaXRtYXBUZXh0dXJlOjpVcGRhdGVDYW5Nb2RpZnlPcmln
aW5hbEltYWdlRGF0YSk7CisgICAgaWYgKGNvcHlUb1RleHR1cmVVc2luZ0dyYXBoaWNzU3VyZmFj
ZSh0ZXh0dXJlLmdldCgpLCB0YXJnZXQsIHNvdXJjZU9mZnNldCkpCiAgICAgICAgIHJldHVybjsK
LSAgICB9CiAjZW5kaWYKIAogICAgIEFTU0VSVChtX2JpdG1hcCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZh
Y2UuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3Jk
aW5hdGVkU3VyZmFjZS5oCmluZGV4IDUzODZhOTE3ZTUyNmViNGEzZDU4ZDc4MjJiOTFjZTAwOWVi
MjUxM2EuLjQ1NDZhMTE4NzhhYzgxMzQxNGRjMDk4ZTBiMjFiZGNkMjQ1MjllNGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5h
dGVkU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5oCkBAIC0yNSwxNSArMjUsNiBAQAogI2luY2x1ZGUg
IlNoYXJlYWJsZUJpdG1hcC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29vcmRpbmF0ZWRTdXJmYWNl
Lmg+CiAKLSNpZiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKLSNpbmNsdWRlICJHcmFwaGljc1N1cmZh
Y2UuaCIKLSNlbmRpZgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBCaXRtYXBUZXh0dXJl
OwotY2xhc3MgR3JhcGhpY3NDb250ZXh0OwotfQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgV2ViQ29vcmRpbmF0ZWRTdXJmYWNlIDogcHVibGljIFdlYkNvcmU6OkNvb3JkaW5hdGVkU3Vy
ZmFjZSB7CkBAIC03MSw4ICs2Miw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfldlYkNvb3Jk
aW5hdGVkU3VyZmFjZSgpOwogCi0gICAgdmlydHVhbCBXZWJDb3JlOjpJbnRTaXplIHNpemUoKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBtX3NpemU7IH0KLQogICAgIHZpcnR1YWwgUGFzc093blB0
cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ+IGNyZWF0ZUdyYXBoaWNzQ29udGV4dChjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JikgT1ZFUlJJREU7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCkBA
IC04Miw4ICs3MSw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgV2ViQ29vcmRpbmF0ZWRTdXJm
YWNlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBGbGFncywgUGFzc1JlZlB0cjxTaGFyZWFibGVC
aXRtYXA+KTsKIAotICAgIHZpcnR1YWwgRmxhZ3MgZmxhZ3MoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBtX2ZsYWdzOyB9Ci0KICAgICAvLyBDcmVhdGUgYSBXZWJDb29yZGluYXRlZFN1cmZhY2Ug
cmVmZXJlbmNpbmcgYW4gZXhpc3RpbmcgU2hhcmVhYmxlQml0bWFwLgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYkNvb3JkaW5hdGVkU3VyZmFjZT4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmLCBGbGFncywgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+KTsKIApAQCAtOTMsMTcgKzgw
LDEwIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29vcmRpbmF0ZWRTdXJm
YWNlPiBjcmVhdGVXaXRoU3VyZmFjZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgRmxhZ3MpOwog
ICAgIC8vIENyZWF0ZSBhIFdlYkNvb3JkaW5hdGVkU3VyZmFjZSByZWZlcmVuY2luZyBhbiBleGlz
dGluZyBHcmFwaGljc1N1cmZhY2UuCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29vcmRpbmF0
ZWRTdXJmYWNlPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIEZsYWdzLCBQYXNzUmVm
UHRyPFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZT4pOwotCi0gICAgYm9vbCBpc0JhY2tlZEJ5R3Jh
cGhpY3NTdXJmYWNlKCkgY29uc3QgeyByZXR1cm4gISFtX2dyYXBoaWNzU3VyZmFjZTsgfQogI2Vu
ZGlmCiAKLSAgICBXZWJDb3JlOjpJbnRTaXplIG1fc2l6ZTsKLSAgICBGbGFncyBtX2ZsYWdzOwog
ICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IG1fYml0bWFwOwogCi0jaWYgVVNFKEdSQVBISUNT
X1NVUkZBQ0UpCi0gICAgUmVmUHRyPFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZT4gbV9ncmFwaGlj
c1N1cmZhY2U7Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="207996"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
      

    </bug>

</bugzilla>