<?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>130919</bug_id>
          
          <creation_ts>2014-03-28 16:50:07 -0700</creation_ts>
          <short_desc>[MSE][Mac] Support lease-renewal.</short_desc>
          <delta_ts>2014-03-31 10:01:26 -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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>995497</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-28 16:50:07 -0700</bug_when>
    <thetext>[MSE][Mac] Support lease-renewal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995500</commentid>
    <comment_count>1</comment_count>
      <attachid>228093</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-28 16:54:58 -0700</bug_when>
    <thetext>Created attachment 228093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995893</commentid>
    <comment_count>2</comment_count>
      <attachid>228093</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-31 09:43:58 -0700</bug_when>
    <thetext>Comment on attachment 228093
Patch

Clearing flags on attachment: 228093

Committed r166509: &lt;http://trac.webkit.org/changeset/166509&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995894</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-31 09:44:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995905</commentid>
    <comment_count>4</comment_count>
      <attachid>228093</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-03-31 10:01:26 -0700</bug_when>
    <thetext>Comment on attachment 228093
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:116
&gt; +    static NeverDestroyed&lt;String&gt; renewMessage(&quot;renew&quot;);
&gt; +    String keyAsString(key-&gt;data(), key-&gt;length());
&gt; +
&gt; +    if (keyAsString == renewMessage) {

This is a tortured way to check if the key is &quot;renew&quot;. I suggest writing a function to do it without memory allocation. Maybe put it in a header somewhere, but at least do it within this file for now:

    static bool isEqual(const uint8_t* data, unsigned length, const char* literal)
    {
        for (unsigned i = 0; i &lt; length; ++i) {
            if (data[i] != static_cast&lt;uint8_t&gt;(literal[i]))
                return false;
        }
        return !literal[length];
    }

Then get rid of the renewMessage and keyAsStringLocal variables. And write:

    if (isEqual(key-&gt;data(), key-&gt;length(), &quot;renew&quot;) {</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228093</attachid>
            <date>2014-03-28 16:54:58 -0700</date>
            <delta_ts>2014-03-31 10:01:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130919-20140328165442.patch</filename>
            <type>text/plain</type>
            <size>2948</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk0Y2FlYjg2ZGVhYThk
OWI0MzE4MzhhN2ZjM2ExN2NlNDU3ZDk0Yi4uYWJkYjhiZjkwNmUyYjkwOWVjMGI2YTZhODAxZjg5
OWZkODYzZGM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE0LTAzLTI4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtNU0VdW01hY10gU3VwcG9y
dCBsZWFzZS1yZW5ld2FsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTMwOTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVHJpZ2dlciBhIG5ldyBrZXkgcmVxdWVzdCB3aGVuIHJlY2VpdmluZyBhbiB1cGRh
dGUgbWVzc2FnZSBjb250YWludGluZyAicmVuZXciLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OkNETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakM6OmdlbmVyYXRl
S2V5UmVxdWVzdCk6IERyaXZlLWJ5IGZpeDsgZ2VuZXJhdGUgYSBVVEYtOAorICAgICAgICAgICAg
YmFzZWQgYXJyYXkuCisgICAgICAgIChXZWJDb3JlOjpDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZP
YmpDOjp1cGRhdGUpOgorCisyMDE0LTAzLTI4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCiAgICAgICAgIFtNU0VdIEltcGxlbWVudCBzdXBwb3J0IGZvciBTb3VyY2VCdWZmZXIu
cmVtb3ZlKCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMTU2MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1l
ZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCBkNzhkZTI3OWE5Y2Y5Mjc1MjA5YTAyNzE5NTU2MGZk
MjllNTZhMjRkLi4wNGY0ZTk0MjNkNDYyMjc2OGYzODMxYzc1YTQ3MmVjMThmZjZhNDcyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFW
Rk9iakMubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgIlVVSUQuaCIKICNpbXBvcnQgPENv
cmVNZWRpYS9DTUJhc2UuaD4KICNpbXBvcnQgPG9iamMvb2JqYy1ydW50aW1lLmg+CisjaW1wb3J0
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAogU09GVF9MSU5LX0ZSQU1FV09SS19PUFRJT05BTChB
VkZvdW5kYXRpb24pCiBTT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9uLCBBVlN0cmVhbURhdGFQ
YXJzZXIpOwpAQCAtNzMsMTEgKzc0LDEwIEBAIFBhc3NSZWZQdHI8VWludDhBcnJheT4gQ0RNU2Vz
c2lvbk1lZGlhU291cmNlQVZGT2JqQzo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0CiAgICAg
bV9pbml0RGF0YSA9IGluaXREYXRhOwogCiAgICAgU3RyaW5nIGNlcnRpZmljYXRlU3RyaW5nKEFT
Q0lJTGl0ZXJhbCgiY2VydGlmaWNhdGUiKSk7Ci0gICAgUmVmUHRyPEFycmF5QnVmZmVyPiBidWZm
ZXIgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGNlcnRpZmljYXRlU3RyaW5nLmxlbmd0aCgpLCAyKTsK
LSAgICBSZWZQdHI8SlNDOjpVaW50MTZBcnJheT4gYXJyYXkgPSBKU0M6OlVpbnQxNkFycmF5Ojpj
cmVhdGUoYnVmZmVyLCAwLCBjZXJ0aWZpY2F0ZVN0cmluZy5sZW5ndGgoKSk7CisgICAgUmVmUHRy
PFVpbnQ4QXJyYXk+IGFycmF5ID0gVWludDhBcnJheTo6Y3JlYXRlKGNlcnRpZmljYXRlU3RyaW5n
Lmxlbmd0aCgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBsZW5ndGggPSBjZXJ0aWZpY2F0
ZVN0cmluZy5sZW5ndGgoKTsgaSA8IGxlbmd0aDsgKytpKQogICAgICAgICBhcnJheS0+c2V0KGks
IGNlcnRpZmljYXRlU3RyaW5nW2ldKTsKLSAgICByZXR1cm4gVWludDhBcnJheTo6Y3JlYXRlKGJ1
ZmZlciwgMCwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkpOworICAgIHJldHVybiBhcnJheTsKIH0KIAog
dm9pZCBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDOjpyZWxlYXNlS2V5cygpCkBAIC0xMTAs
NiArMTEwLDE0IEBAIGJvb2wgQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2JqQzo6dXBkYXRlKFVp
bnQ4QXJyYXkqIGtleSwgUmVmUHRyPFVpbnQ4QXJyYXk+JiBuCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiByZW5ld01lc3Nh
Z2UoInJlbmV3Iik7CisgICAgU3RyaW5nIGtleUFzU3RyaW5nKGtleS0+ZGF0YSgpLCBrZXktPmxl
bmd0aCgpKTsKKworICAgIGlmIChrZXlBc1N0cmluZyA9PSByZW5ld01lc3NhZ2UpIHsKKyAgICAg
ICAgW21fcGFyZW50LT5wYXJzZXIoKSByZW5ld0V4cGlyaW5nQ29udGVudEtleVJlc3BvbnNlRGF0
YUZvclRyYWNrSUQ6bV9wYXJlbnQtPnByb3RlY3RlZFRyYWNrSUQoKV07CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKwogICAgIExPRyhNZWRpYSwgIkNETVNlc3Npb25NZWRpYVNvdXJjZUFW
Rk9iakM6OnVwZGF0ZSglcCkgLSBrZXkgZGF0YSIsIHRoaXMpOwogICAgIGVycm9yQ29kZSA9IE1l
ZGlhUGxheWVyOjpOb0Vycm9yOwogICAgIHN5c3RlbUNvZGUgPSAwOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>