<?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>98051</bug_id>
          
          <creation_ts>2012-10-01 11:27:07 -0700</creation_ts>
          <short_desc>Would like a way to customize the type of GraphicsLayers created on a per page basis</short_desc>
          <delta_ts>2012-10-01 13:43:51 -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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>731826</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-01 11:27:07 -0700</bug_when>
    <thetext>Would like a way to customize the type of GraphicsLayers created on a per page basis</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731831</commentid>
    <comment_count>1</comment_count>
      <attachid>166511</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-01 11:31:39 -0700</bug_when>
    <thetext>Created attachment 166511
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731842</commentid>
    <comment_count>2</comment_count>
      <attachid>166511</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-01 11:43:18 -0700</bug_when>
    <thetext>Comment on attachment 166511
Patch

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

&gt; Source/WebCore/platform/graphics/GraphicsLayerClient.h:63
&gt; +    // Allows for a GraphicsLayerClient to customize the kind of GraphicsLayer being created on a per client basis.
&gt; +    virtual PassOwnPtr&lt;GraphicsLayer&gt; createCustomGraphicsLayer() { return nullptr; }

It seems a bit odd to have a create method on the client. Client methods are usually callbacks that involve a specific graphics layer; this one is called before you&apos;ve even created one. And since the client is calling GraphicsLayer::create() already, why doesn&apos;t it just make the custom type? This level of indirection also makes it hard for the client to pass any context that&apos;s needed to decide what kind of GraphicsLayer to create.

I think a factory pattern actually makes more sense here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731858</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-01 11:52:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 166511 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166511&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/GraphicsLayerClient.h:63
&gt; &gt; +    // Allows for a GraphicsLayerClient to customize the kind of GraphicsLayer being created on a per client basis.
&gt; &gt; +    virtual PassOwnPtr&lt;GraphicsLayer&gt; createCustomGraphicsLayer() { return nullptr; }
&gt; 
&gt; It seems a bit odd to have a create method on the client. Client methods are usually callbacks that involve a specific graphics layer; this one is called before you&apos;ve even created one. And since the client is calling GraphicsLayer::create() already, why doesn&apos;t it just make the custom type? This level of indirection also makes it hard for the client to pass any context that&apos;s needed to decide what kind of GraphicsLayer to create.

Yeah I agree that it&apos;s weird. I didn&apos;t want to have to add a separate parameter to GraphicsLayer::create, but I can do that if you think it&apos;s better.

&gt; 
&gt; I think a factory pattern actually makes more sense here.

Cool. Do you think it should be a parameter passed to GraphicsLayer::create?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731897</commentid>
    <comment_count>4</comment_count>
      <attachid>166524</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-01 12:23:07 -0700</bug_when>
    <thetext>Created attachment 166524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731939</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-01 13:43:51 -0700</bug_when>
    <thetext>Committed r130072: &lt;http://trac.webkit.org/changeset/130072&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166511</attachid>
            <date>2012-10-01 11:31:39 -0700</date>
            <delta_ts>2012-10-01 12:23:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98051-20121001113053.patch</filename>
            <type>text/plain</type>
            <size>4285</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc5YTcyYTUwMjdlODkw
ZWUwNjczNTVkZmRjZTI0YmE3MTBiZjI5OC4uMGQ0YjdlZjYxODAxMmU5MzMwMWNlNjcxMDA2ZTBk
MjcwYmRkZTQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTAxICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgV291bGQgbGlrZSBh
IHdheSB0byBjdXN0b21pemUgdGhlIHR5cGUgb2YgR3JhcGhpY3NMYXllcnMgY3JlYXRlZCBvbiBh
IHBlciBwYWdlIGJhc2lzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05ODA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIEdyYXBoaWNzTGF5ZXJDbGllbnQ6OmNyZWF0ZUN1c3RvbUdyYXBoaWNzTGF5
ZXIgbWVtYmVyIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gbGV0IEdyYXBoaWNzTGF5ZXJD
bGllbnQgb2JqZWN0cworICAgICAgICBjcmVhdGUgYSBjdXN0b20gR3JhcGhpY3NMYXllciBzdWJj
bGFzcyBmcm9tIEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZS4gVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBt
b3JlIGZsZXhpYmxlIHRoYW4gdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXI6OnNldEdyYXBoaWNz
TGF5ZXJGYWN0b3J5IG1lY2hhbmlzbSB0aGF0J3MgdXNlZCBieSBzb21lIHBvcnRzLiAKKworICAg
ICAgICBDdXJyZW50bHkgb25seSBHcmFwaGljc0xheWVyQ0Egc3VwcG9ydHMgdGhpcywgYnV0IEkg
aW50ZW5kIHRvIGFkZCB0aGlzIHRvIGFsbCBwb3J0cyB0aGF0IHVzZSBzZXRHcmFwaGljc0xheWVy
RmFjdG9yeS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGll
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbGllbnQ6OmNyZWF0ZUN1c3Rv
bUdyYXBoaWNzTGF5ZXIpOgorICAgICAgICBBZGQgZW1wdHkgbWVtYmVyIGZ1bmN0aW9uIHRoYXQg
anVzdCByZXR1cm5zIG51bGwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFw
aGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6Y3JlYXRl
KToKKyAgICAgICAgVHJ5IHRvIGNyZWF0ZSBhIGN1c3RvbSBncmFwaGljcyBsYXllciBmaXJzdC4K
KwogMjAxMi0xMC0wMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLiBDaHJvbWl1bSBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWMy
NTczYmEzNWJiYWZkZmVkNTVhODY5MTUxODI0NDVjZDQ3N2JkMS4uYzgzNGViMWEyNTU5YTBiYzU0
YWZkZGZlMmRjN2QzODkwN2VjNGExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEy
LTEwLTAxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAg
V291bGQgbGlrZSBhIHdheSB0byBjdXN0b21pemUgdGhlIHR5cGUgb2YgR3JhcGhpY3NMYXllcnMg
Y3JlYXRlZCBvbiBhIHBlciBwYWdlIGJhc2lzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05ODA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBHcmFwaGljc0xheWVyLmggaW5jbHVkZS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisKIDIwMTItMTAtMDEgIENs
YXVkaW8gU2FhdmVkcmEgIDxjc2FhdmVkcmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtX
SzJdIFNhdmUgdGhlIGRvd25sb2FkIHVyaSBhcyBmaWxlIG1ldGFkYXRhCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKaW5k
ZXggMTBiMTE2ZDlkYTBhZTY5ZTQ5NTEwZWM2ZmU3YmYzODhkM2I2NDNjYS4uZTViNGYzMTk4YzVh
NmYwMmM2MzU0ZjAyYTkyMTZmYmVlZjVkNWY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtMjgsNiArMjgs
OCBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCisjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHcmFwaGljc0Nv
bnRleHQ7CkBAIC01Nyw2ICs1OSw5IEBAIGNsYXNzIEdyYXBoaWNzTGF5ZXJDbGllbnQgewogcHVi
bGljOgogICAgIHZpcnR1YWwgfkdyYXBoaWNzTGF5ZXJDbGllbnQoKSB7fQogCisgICAgLy8gQWxs
b3dzIGZvciBhIEdyYXBoaWNzTGF5ZXJDbGllbnQgdG8gY3VzdG9taXplIHRoZSBraW5kIG9mIEdy
YXBoaWNzTGF5ZXIgYmVpbmcgY3JlYXRlZCBvbiBhIHBlciBjbGllbnQgYmFzaXMuCisgICAgdmly
dHVhbCBQYXNzT3duUHRyPEdyYXBoaWNzTGF5ZXI+IGNyZWF0ZUN1c3RvbUdyYXBoaWNzTGF5ZXIo
KSB7IHJldHVybiBudWxscHRyOyB9CisKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlVGlsZUNh
Y2hlKGNvbnN0IEdyYXBoaWNzTGF5ZXIqKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCB1c2luZ1RpbGVDYWNoZShjb25zdCBHcmFwaGljc0xheWVyKikgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCmluZGV4IGRjZGI1ODZkMGNiZmIzMjkz
NjFkNmVkYjU5ZmNjYWMwZWIzMGIyMjYuLmY3ODQ2YTNhYzEyNDk5ZjllMGJmNDlkZmVkMGM2NDI0
ZGZjMjljZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L0dyYXBoaWNzTGF5ZXJDQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcApAQCAtMjU3LDYgKzI1NywxMCBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgc3VwcG9ydHNBY2NlbGVyYXRlZEZpbHRlckFuaW1hdGlvbnMoKQogCiBQYXNzT3du
UHRyPEdyYXBoaWNzTGF5ZXI+IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShHcmFwaGljc0xheWVyQ2xp
ZW50KiBjbGllbnQpCiB7CisgICAgLy8gR2l2ZSB0aGUgY2xpZW50IHRoZSBjaGFuY2UgdG8gY3Jl
YXRlIGEgY3VzdG9tIGxheWVyLgorICAgIGlmIChPd25QdHI8R3JhcGhpY3NMYXllcj4gY3VzdG9t
TGF5ZXIgPSBjbGllbnQtPmNyZWF0ZUN1c3RvbUdyYXBoaWNzTGF5ZXIoKSkKKyAgICAgICAgcmV0
dXJuIGN1c3RvbUxheWVyLnJlbGVhc2UoKTsKKwogICAgIHJldHVybiBhZG9wdFB0cihuZXcgR3Jh
cGhpY3NMYXllckNBKGNsaWVudCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAppbmRleCA4ZDNiYjk0YWM3NzQxYjMzOWMwOWQ4
YjljMjA3YjBkZjE1MTFkYTk0Li5hZDdlYjllNDNkNDExY2I2YzYyOGFkNWEzNTMzMzI3MDY2ZmEw
YzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJU
cmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRy
ZWVIb3N0LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgTGF5ZXJUcmVlSG9zdF9oCiAKICNp
bmNsdWRlICJMYXllclRyZWVDb250ZXh0LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xh
eWVyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166524</attachid>
            <date>2012-10-01 12:23:07 -0700</date>
            <delta_ts>2012-10-01 13:40:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98051-20121001122221.patch</filename>
            <type>text/plain</type>
            <size>9080</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc5YTcyYTUwMjdlODkw
ZWUwNjczNTVkZmRjZTI0YmE3MTBiZjI5OC4uMTBlNTYyY2VkMjIwMDUwY2I1NDg3YzllNzE3ZGRk
MmM3MWI2OGQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTEwLTAxICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgV291bGQgbGlrZSBh
IHdheSB0byBjdXN0b21pemUgdGhlIHR5cGUgb2YgR3JhcGhpY3NMYXllcnMgY3JlYXRlZCBvbiBh
IHBlciBwYWdlIGJhc2lzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05ODA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIEdyYXBoaWNzTGF5ZXJGYWN0b3J5IGFic3RyYWN0IGNsYXNzIGFuZCBhIG5l
dyBHcmFwaGljc0xheWVyOjpjcmVhdGUgb3ZlcmxvYWQgdGhhdCB0YWtlcworICAgICAgICBhIGZh
Y3Rvcnkgb2JqZWN0LiBFdmVudHVhbGx5LCBhbGwgY2FsbHMgdG8gdGhlIG9sZCBHcmFwaGljc0xh
eWVyOjpjcmVhdGUgd2lsbCBiZSByZXBsYWNlZCB3aXRoCisgICAgICAgIHRoZSBuZXcgdmVyc2lv
biB0aGF0IHRha2VzIGFuIG9wdGlvbmFsIGZhY3RvcnkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChHcmFwaGljc0xheWVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyRmFjdG9yeS5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoR3JhcGhpY3NMYXllckZhY3Rvcnkp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3Rvcnk6On5HcmFwaGljc0xheWVy
RmFjdG9yeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNB
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlKToKKwogMjAxMi0xMC0wMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBDaHJvbWl1bSBidWlsZCBmaXguCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NWU1NjgzMDQ0YjdhOGIzMjY4MDYxYWZiYTExMTZhNWY3Y2UxZmRlOC4uMjM2ZGNjNmI4ZmVmYmUw
ZGQzOTg5ZjFmMjU1MzFhMzQ0MWNkNzJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQ3LDYgKzU0Nyw3IEBACiAJCTFBQkE3
NkNCMTFEMjBFNTcwMDRDMjAxQyAvKiBDU1NWYWx1ZUtleXdvcmRzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MUVBMDM5MTE5ODM3NDkwMDcxMEJD
NSAvKiBDU1NWYWx1ZUtleXdvcmRzLmNwcCAqLzsgfTsKIAkJMUFDMjI2MEMwREI2OUYxOTAwODlC
NjY5IC8qIEpTRE9NQXBwbGljYXRpb25DYWNoZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUMyMjYwQTBEQjY5RjE5MDA4OUI2NjkgLyogSlNET01B
cHBsaWNhdGlvbkNhY2hlLmNwcCAqLzsgfTsKIAkJMUFDMjI2MEQwREI2OUYxOTAwODlCNjY5IC8q
IEpTRE9NQXBwbGljYXRpb25DYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFDMjI2MEIwREI2OUYxOTAwODlCNjY5IC8qIEpTRE9NQXBwbGljYXRp
b25DYWNoZS5oICovOyB9OworCQkxQUM2OTU5MzE2MUExRTUzMDAzNzMyQ0IgLyogR3JhcGhpY3NM
YXllckZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBQzY5NTkyMTYxQTFFNTMwMDM3MzJDQiAvKiBHcmFwaGljc0xheWVyRmFjdG9yeS5oICov
OyB9OwogCQkxQUNEMUI2MzBCMDI5NzM5MDA3RTUwMTYgLyogRE9NQ1NTU3R5bGVEZWNsYXJhdGlv
bkludGVybmFsLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NUU3MTE0NDBBQzVENTM0MDA1MzI3MEYgLyogRE9NQ1NTU3R5bGVE
ZWNsYXJhdGlvbkludGVybmFsLmggKi87IH07CiAJCTFBQ0U1M0RGMEE4RDE4ODEwMDIyOTQ3RCAv
KiBKU0RPTVBhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUNFNTNERDBBOEQxODgxMDAyMjk0N0QgLyogSlNET01QYXJzZXIuY3BwICovOyB9
OwogCQkxQUNFNTNFMDBBOEQxODgxMDAyMjk0N0QgLyogSlNET01QYXJzZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQ0U1M0RFMEE4RDE4ODEwMDIy
OTQ3RCAvKiBKU0RPTVBhcnNlci5oICovOyB9OwpAQCAtNzYwNyw2ICs3NjA4LDcgQEAKIAkJMUFC
N0ZDNjcwQThCOTJFQzAwRDlEMzdCIC8qIFhQYXRoVmFyaWFibGVSZWZlcmVuY2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhQYXRoVmFyaWFibGVSZWZlcmVuY2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDMjI2MEEwREI2OUYxOTAwODlCNjY5IC8qIEpT
RE9NQXBwbGljYXRpb25DYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQUMyMjYwQjBEQjY5RjE5MDA4OUI2NjkgLyogSlNET01BcHBsaWNhdGlvbkNhY2hlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQXBwbGljYXRpb25DYWNoZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUM2OTU5MjE2MUExRTUzMDAzNzMyQ0Ig
LyogR3JhcGhpY3NMYXllckZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gR3JhcGhpY3NMYXllckZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUFDRTUzREQwQThEMTg4MTAwMjI5NDdEIC8qIEpTRE9NUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFBQ0U1M0RFMEE4RDE4ODEwMDIyOTQ3RCAvKiBKU0RPTVBhcnNlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01QYXJzZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDRTUzRTEwQThEMThFNzAwMjI5NDdEIC8qIERPTVBh
cnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NUGFyc2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5ODc4LDYgKzE5ODgwLDcgQEAK
IAkJCQkwRjU4MEIwOTBGMTJBMjY5MDA1MUQ2ODkgLyogR3JhcGhpY3NMYXllci5jcHAgKi8sCiAJ
CQkJMEY1ODBCMEEwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBoaWNzTGF5ZXIuaCAqLywKIAkJCQkw
RjU4MEIwQjBGMTJBMjY5MDA1MUQ2ODkgLyogR3JhcGhpY3NMYXllckNsaWVudC5oICovLAorCQkJ
CTFBQzY5NTkyMTYxQTFFNTMwMDM3MzJDQiAvKiBHcmFwaGljc0xheWVyRmFjdG9yeS5oICovLAog
CQkJCUIyQTAxNTk0MEFGNkNENTMwMDZCQ0UwRSAvKiBHcmFwaGljc1R5cGVzLmNwcCAqLywKIAkJ
CQlCMkEwMTU5NTBBRjZDRDUzMDA2QkNFMEUgLyogR3JhcGhpY3NUeXBlcy5oICovLAogCQkJCTc3
QTE3QTdBMTJGMjg5MEIwMDRFMDJGNiAvKiBHcmFwaGljc1R5cGVzM0QuaCAqLywKQEAgLTI1NTA0
LDYgKzI1NTA3LDcgQEAKIAkJCQlGQjkyREY0QjE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhP
cGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTRGN0I0QTY2MTVGRjZENkEwMDZCNUYyMiAv
KiBQbGF0Zm9ybU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMx
RDcyRjYxNUZFNjk1MzAwQzRDMDdFIC8qIExheW91dE1pbGVzdG9uZXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTFBQzY5NTkzMTYxQTFFNTMwMDM3MzJDQiAvKiBHcmFwaGljc0xheWVyRmFjdG9yeS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmgKaW5kZXggMzdlYThkMDUyZWE3NTA3MmYzODIyYTMzYjkyYTkzZGE1ZWJk
MmNmOS4uMTg1NWUyNmYwNzkwZjU5YTk3MDFhOTJlN2FkMTY5ZDA1MDE3MjY5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtNTQs
NiArNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDsKK2NsYXNzIEdyYXBoaWNzTGF5ZXJGYWN0b3J5OwogY2xhc3Mg
SW1hZ2U7CiBjbGFzcyBUZXh0U3RyZWFtOwogY2xhc3MgVGlsZWRCYWNraW5nOwpAQCAtMTkxLDYg
KzE5Miw5IEBAIHByb3RlY3RlZDoKIGNsYXNzIEdyYXBoaWNzTGF5ZXIgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEdyYXBoaWNzTGF5ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxHcmFwaGljc0xheWVyPiBjcmVhdGUoR3JhcGhp
Y3NMYXllckZhY3RvcnkqLCBHcmFwaGljc0xheWVyQ2xpZW50Kik7CisKKyAgICAvLyBGSVhNRTog
UmVwbGFjZSBhbGwgdXNlcyBvZiB0aGlzIGNyZWF0ZSBmdW5jdGlvbiB3aXRoIHRoZSBvbmUgdGhh
dCB0YWtlcyBhIEdyYXBoaWNzTGF5ZXJGYWN0b3J5LgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEdy
YXBoaWNzTGF5ZXI+IGNyZWF0ZShHcmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAgCiAgICAgdmly
dHVhbCB+R3JhcGhpY3NMYXllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJGYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzc0N2JiOGE2
NzczZDQwODYzZWI2OWNhYmNlMmY1MjQ1NTNmMDA5NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJGYWN0b3J5LmgKQEAgLTAs
MCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgR3JhcGhpY3NMYXllckZhY3RvcnlfaAor
I2RlZmluZSBHcmFwaGljc0xheWVyRmFjdG9yeV9oCisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEdyYXBoaWNzTGF5ZXI7CitjbGFzcyBHcmFwaGljc0xheWVyQ2xpZW50Owor
CitjbGFzcyBHcmFwaGljc0xheWVyRmFjdG9yeSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+R3Jh
cGhpY3NMYXllckZhY3RvcnkoKSB7IH0KKworICAgIHZpcnR1YWwgUGFzc093blB0cjxHcmFwaGlj
c0xheWVyPiBjcmVhdGVHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXJDbGllbnQqKSA9IDA7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCisKKyNlbmRpZiAvLyBHcmFwaGljc0xheWVyRmFjdG9yeV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0Eu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNB
LmNwcAppbmRleCBkY2RiNTg2ZDBjYmZiMzI5MzYxZDZlZGI1OWZjY2FjMGViMzBiMjI2Li5jN2Iy
NTIyMDNiMTBjMjY5MjgzODU2MmE5OTliYzA1OWJiN2UxNTFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAg
LTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJBbmltYXRpb24uaCIKICNpbmNsdWRlICJGbG9hdENv
bnZlcnNpb24uaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJHcmFwaGljc0xh
eWVyRmFjdG9yeS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ0FMYXllci5oIgogI2luY2x1ZGUgIlJv
dGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNjYWxlVHJhbnNmb3JtT3BlcmF0
aW9uLmgiCkBAIC0yNTUsNiArMjU2LDE0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzdXBwb3J0c0Fj
Y2VsZXJhdGVkRmlsdGVyQW5pbWF0aW9ucygpCiB9CiAjZW5kaWYKIAorUGFzc093blB0cjxHcmFw
aGljc0xheWVyPiBHcmFwaGljc0xheWVyOjpjcmVhdGUoR3JhcGhpY3NMYXllckZhY3RvcnkqIGZh
Y3RvcnksIEdyYXBoaWNzTGF5ZXJDbGllbnQqIGNsaWVudCkKK3sKKyAgICBpZiAoIWZhY3Rvcnkp
CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgR3JhcGhpY3NMYXllckNBKGNsaWVudCkpOwor
CisgICAgcmV0dXJuIGZhY3RvcnktPmNyZWF0ZUdyYXBoaWNzTGF5ZXIoY2xpZW50KTsKK30KKwog
UGFzc093blB0cjxHcmFwaGljc0xheWVyPiBHcmFwaGljc0xheWVyOjpjcmVhdGUoR3JhcGhpY3NM
YXllckNsaWVudCogY2xpZW50KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgR3JhcGhpY3NM
YXllckNBKGNsaWVudCkpOwo=
</data>
<flag name="review"
          id="178875"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>