<?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>24063</bug_id>
          
          <creation_ts>2009-02-20 11:11:59 -0800</creation_ts>
          <short_desc>Allow port to require a user gesture to play/pause an &lt;audio&gt; or &lt;video&gt; element</short_desc>
          <delta_ts>2009-02-20 13:13:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>0</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>110412</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-02-20 11:11:59 -0800</bug_when>
    <thetext>A port should be able to require a script to be called from a user gesture to start/stop a media element .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110414</commentid>
    <comment_count>1</comment_count>
      <attachid>27833</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-02-20 11:15:04 -0800</bug_when>
    <thetext>Created attachment 27833
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110419</commentid>
    <comment_count>2</comment_count>
      <attachid>27833</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-20 12:01:53 -0800</bug_when>
    <thetext>Comment on attachment 27833
proposed patch

&gt; Index: WebCore/html/HTMLMediaElement.cpp
&gt; ===================================================================

&gt;  void HTMLMediaElement::loadTimerFired(Timer&lt;HTMLMediaElement&gt;*)
&gt;  {
&gt;      ExceptionCode ec;
&gt; +
&gt; +    ++m_internalCall;
&gt;      load(ec);
&gt; +    --m_internalCall;

I think it would be better for load() to wrap a loadInternal().
load() could do the permissions checking, and loadInternal() should
always load. Same with play() and pause().

&gt; Index: WebCore/html/HTMLMediaElement.h
&gt; ===================================================================

&gt; +    enum BehaviorRestrictions 
&gt;      { 
&gt; -        NoLoadRestriction = 0,
&gt; -        RequireUserGestureLoadRestriction = 1 &lt;&lt; 0, 
&gt; +        NoRestrictions = 0,
&gt; +        RequireUserGestureLoadRestriction = 1 &lt;&lt; 0,

RequireUserGestureForLoadRestriction
&gt; +        RequireUserGestureRateChangeRestriction = 1 &lt;&lt; 1,
RequireUserGestureForRateChangeRestriction

&gt;      };
&gt;  
&gt;  
&gt; @@ -237,7 +238,7 @@ protected:
&gt;  
&gt;      OwnPtr&lt;MediaPlayer&gt; m_player;
&gt;  
&gt; -    LoadRestrictions m_loadRestrictions;
&gt; +    BehaviorRestrictions m_Restrictions;

m_Restrictions -&gt; m_restrictions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110423</commentid>
    <comment_count>3</comment_count>
      <attachid>27836</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-02-20 12:39:53 -0800</bug_when>
    <thetext>Created attachment 27836
revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110424</commentid>
    <comment_count>4</comment_count>
      <attachid>27836</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-20 12:46:38 -0800</bug_when>
    <thetext>Comment on attachment 27836
revised patch

&gt; Index: WebCore/html/HTMLMediaElement.cpp
&gt; ===================================================================

&gt;  void HTMLMediaElement::togglePlayState(ExceptionCode&amp; ec)
&gt;  {
&gt;      if (canPlay())
&gt; -        play(ec);
&gt; +        playInternal(ec);
&gt;      else 
&gt; -        pause(ec);
&gt; +        pauseInternal(ec);
&gt;  }

Maybe add a comment to say why it&apos;s always OK to call the
internal methods.

&gt; Index: WebCore/html/HTMLMediaElement.h
&gt; ===================================================================

&gt; +    void loadInternal(ExceptionCode&amp; ec);
&gt; +    void playInternal(ExceptionCode&amp; ec);
&gt; +    void pauseInternal(ExceptionCode&amp; ec);

Add a comment to say why these are needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110426</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-02-20 13:13:40 -0800</bug_when>
    <thetext>Committed revision 41117.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27833</attachid>
            <date>2009-02-20 11:15:04 -0800</date>
            <delta_ts>2009-02-20 12:39:53 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>6532</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTEwOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMDItMjAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDYzCisgICAgICAg
IEFsbG93IHBvcnQgdG8gcmVxdWlyZSBhIHVzZXIgZ2VzdHVyZSB0byBwbGF5L3BhdXNlIGFuIDxh
dWRpbz4gb3IgPHZpZGVvPiBlbGVtZW50CisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxl
bWVudCk6ICBSZW5hbWUgbV9sb2FkUmVzdHJpY3Rpb25zIHRvIG1fUmVzdHJpY3Rpb25zLiAKKyAg
ICAgICAgSW5pdGlhbGl6ZSBtX2ludGVybmFsQ2FsbC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKTogSW5jcmVtZW50IG1faW50ZXJuYWxDYWxsIGFy
b3VuZCBjYWxsIHRvIGxvYWQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmxvYWQpOiBEb24ndCByZXF1aXJlIHVzZXIgZ2VzdHVyZSBpZiBjYWxsZWQgaW50ZXJuYWxseS4K
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldE5ldHdvcmtTdGF0ZSk6IEZp
eCBidWcgaW50cm9kdWNlZCBpbiByNDA5NDMKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnBsYXkpOiBSZXF1aXJlIHVzZXIgZ2VzdHVyZSBpZiBSZXF1aXJlVXNlckdlc3R1cmVS
YXRlQ2hhbmdlUmVzdHJpY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpwYXVzZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dG9n
Z2xlUGxheVN0YXRlKTogSW5jcmVtZW50IG1faW50ZXJuYWxDYWxsIGFyb3VuZCBjYWxsIHRvIHBs
YXkvcGF1c2UuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpkZWxpdmVyTm90
aWZpY2F0aW9uKTogUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlIHNwYWNlLgorICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5oOiBSZW5hbWUgbV9sb2FkUmVzdHJpY3Rpb25zIHRvIG1fUmVz
dHJpY3Rpb25zLCBhZGQgbV9pbnRlcm5hbENhbGwsCisgICAgICAgIGFkZCBSZXF1aXJlVXNlckdl
c3R1cmVSYXRlQ2hhbmdlUmVzdHJpY3Rpb24uCisKIDIwMDktMDItMjAgIERhdmlkIEtpbHplciAg
PGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgY29tbWVudCB0byBnZW5lcmF0ZWQg
Y29kZSB3aGVuIHNoYWRvd2luZyBhIGJ1aWx0LWluIG9iamVjdApJbmRleDogV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAkocmV2aXNpb24gNDEwODMpCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTkwLDEyICs5MCwxMyBAQCBI
VE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0CiAgICAgLCBtX3BhdXNlZElu
dGVybmFsKGZhbHNlKQogICAgICwgbV9pbkFjdGl2ZURvY3VtZW50KHRydWUpCiAgICAgLCBtX3Bs
YXllcigwKQotICAgICwgbV9sb2FkUmVzdHJpY3Rpb25zKE5vTG9hZFJlc3RyaWN0aW9uKQorICAg
ICwgbV9SZXN0cmljdGlvbnMoTm9SZXN0cmljdGlvbnMpCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRp
YVBsYXllckNhbGxiYWNrKDApCiAgICAgLCBtX3NlbmRQcm9ncmVzc0V2ZW50cyh0cnVlKQogI2lm
IEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQogICAgICwgbV9uZWVkV2lkZ2V0VXBkYXRl
KGZhbHNlKQogI2VuZGlmCisgICAgLCBtX2ludGVybmFsQ2FsbCgwKQogewogICAgIGRvY3VtZW50
KCktPnJlZ2lzdGVyRm9yRG9jdW1lbnRBY3RpdmF0aW9uQ2FsbGJhY2tzKHRoaXMpOwogICAgIGRv
Y3VtZW50KCktPnJlZ2lzdGVyRm9yTWVkaWFWb2x1bWVDYWxsYmFja3ModGhpcyk7CkBAIC0yMjQs
NyArMjI1LDEwIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlzcGF0Y2hFdmVudEFzeW4KIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZFRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVu
dD4qKQogewogICAgIEV4Y2VwdGlvbkNvZGUgZWM7CisKKyAgICArK21faW50ZXJuYWxDYWxsOwog
ICAgIGxvYWQoZWMpOworICAgIC0tbV9pbnRlcm5hbENhbGw7CiB9CiAKIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6YXN5bmNFdmVudFRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4qKQpA
QCAtMzA3LDcgKzMxMSw3IEBAIGZsb2F0IEhUTUxNZWRpYUVsZW1lbnQ6OmJ1ZmZlcmluZ1JhdGUo
KQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWQoRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0g
ICAgaWYgKChtX2xvYWRSZXN0cmljdGlvbnMgJiBSZXF1aXJlVXNlckdlc3R1cmVMb2FkUmVzdHJp
Y3Rpb24pICYmICFwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgIGlmIChtX1Jlc3RyaWN0
aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUxvYWRSZXN0cmljdGlvbiAmJiAhbV9pbnRlcm5hbENh
bGwgJiYgIXByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC00MjIsNyArNDI2LDcgQEAgdm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllck5ldHdvcgogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnNldE5ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIHN0YXRlKQog
ewotICAgIGlmIChtX25ldHdvcmtTdGF0ZSA9PSBFTVBUWSkgeworICAgIGlmIChzdGF0ZSA9PSBN
ZWRpYVBsYXllcjo6RW1wdHkpIHsKICAgICAgICAgLy8ganVzdCB1cGRhdGUgdGhlIGNhY2hlZCBz
dGF0ZSBhbmQgbGVhdmUsIHdlIGNhbid0IGRvIGFueXRoaW5nIAogICAgICAgICBtX25ldHdvcmtT
dGF0ZSA9IEVNUFRZOwogICAgICAgICByZXR1cm47CkBAIC03MTUsNiArNzE5LDExIEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c2V0QXV0b3BsYXkoYm9vbCAKIAogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjpwbGF5KEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIGlmIChtX1Jlc3RyaWN0aW9ucyAm
IFJlcXVpcmVVc2VyR2VzdHVyZVJhdGVDaGFuZ2VSZXN0cmljdGlvbiAmJiAhbV9pbnRlcm5hbENh
bGwgJiYgIXByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyAzLjE0LjkuNy4gUGxh
eWluZyB0aGUgbWVkaWEgcmVzb3VyY2UKICAgICBpZiAoIW1fcGxheWVyIHx8IG5ldHdvcmtTdGF0
ZSgpID09IEVNUFRZKSB7CiAgICAgICAgIGVjID0gMDsKQEAgLTc0MSw2ICs3NTAsMTEgQEAgdm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5KEV4Y2VwdGlvbkNvZAogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnBhdXNlKEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIGlmIChtX1Jlc3RyaWN0aW9u
cyAmIFJlcXVpcmVVc2VyR2VzdHVyZVJhdGVDaGFuZ2VSZXN0cmljdGlvbiAmJiAhbV9pbnRlcm5h
bENhbGwgJiYgIXByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJ
RF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyAzLjE0LjkuNy4g
UGxheWluZyB0aGUgbWVkaWEgcmVzb3VyY2UKICAgICBpZiAoIW1fcGxheWVyIHx8IG5ldHdvcmtT
dGF0ZSgpID09IEVNUFRZKSB7CiAgICAgICAgIGVjID0gMDsKQEAgLTg4MiwxMCArODk2LDEyIEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0TXV0ZWQoYm9vbCBtdXQKIAogdm9pZCBIVE1MTWVk
aWFFbGVtZW50Ojp0b2dnbGVQbGF5U3RhdGUoRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAgKytt
X2ludGVybmFsQ2FsbDsKICAgICBpZiAoY2FuUGxheSgpKQogICAgICAgICBwbGF5KGVjKTsKICAg
ICBlbHNlIAogICAgICAgICBwYXVzZShlYyk7CisgICAgLS1tX2ludGVybmFsQ2FsbDsKIH0KIAog
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpiZWdpblNjcnViYmluZygpCkBAIC0xMjE1LDcgKzEyMzEs
NyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmRlbGl2ZXJOb3RpZmljYXRpCiAgICAgaWYgKG5v
dGlmaWNhdGlvbiA9PSBNZWRpYVBsYXllck5vdGlmaWNhdGlvblBsYXlQYXVzZUJ1dHRvblByZXNz
ZWQpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAgdG9nZ2xlUGxheVN0YXRl
KGVjKTsKLSAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlm
IChtX3BsYXllcikKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkocmV2aXNpb24gNDEwODMp
CisrKyBXZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0xODgsMTIgKzE4OCwxMyBAQCBwcml2YXRlOgogICAgIGJvb2wgYWN0aXZlbHlQbGF5
aW5nKCkgY29uc3Q7CiAgICAgYm9vbCBlbmRlZFBsYXliYWNrKCkgY29uc3Q7CiAKLSAgICAvLyBD
b250cm9sIG1lZGlhIGxvYWQgcmVzdHJpY3Rpb25zLiBUaGlzIGlzIGEgZWZmZWN0aXZlbHkgYSBj
b21waWxlIHRpbWUgY2hvaWNlIGF0IHRoZSBtb21lbnQKKyAgICAvLyBSZXN0cmljdGlvbnMgdG8g
Y2hhbmdlIGRlZmF1bHQgYmVoYXZpb3JzLiBUaGlzIGlzIGEgZWZmZWN0aXZlbHkgYSBjb21waWxl
IHRpbWUgY2hvaWNlIGF0IHRoZSBtb21lbnQKICAgICAvLyAgYmVjYXVzZSB0aGVyZSBhcmUgbm8g
YWNjZXNzb3IgbWV0aG9kcy4KLSAgICBlbnVtIExvYWRSZXN0cmljdGlvbnMgCisgICAgZW51bSBC
ZWhhdmlvclJlc3RyaWN0aW9ucyAKICAgICB7IAotICAgICAgICBOb0xvYWRSZXN0cmljdGlvbiA9
IDAsCi0gICAgICAgIFJlcXVpcmVVc2VyR2VzdHVyZUxvYWRSZXN0cmljdGlvbiA9IDEgPDwgMCwg
CisgICAgICAgIE5vUmVzdHJpY3Rpb25zID0gMCwKKyAgICAgICAgUmVxdWlyZVVzZXJHZXN0dXJl
TG9hZFJlc3RyaWN0aW9uID0gMSA8PCAwLAorICAgICAgICBSZXF1aXJlVXNlckdlc3R1cmVSYXRl
Q2hhbmdlUmVzdHJpY3Rpb24gPSAxIDw8IDEsCiAgICAgfTsKIAogCkBAIC0yMzcsNyArMjM4LDcg
QEAgcHJvdGVjdGVkOgogCiAgICAgT3duUHRyPE1lZGlhUGxheWVyPiBtX3BsYXllcjsKIAotICAg
IExvYWRSZXN0cmljdGlvbnMgbV9sb2FkUmVzdHJpY3Rpb25zOworICAgIEJlaGF2aW9yUmVzdHJp
Y3Rpb25zIG1fUmVzdHJpY3Rpb25zOwogCiAgICAgLy8gY291bnRlciBpbmNyZW1lbnRlZCB3aGls
ZSBwcm9jZXNzaW5nIGEgY2FsbGJhY2sgZnJvbSB0aGUgbWVkaWEgcGxheWVyLCBzbyB3ZSBjYW4g
YXZvaWQKICAgICAvLyAgY2FsbGluZyB0aGUgbWVkaWEgZW5naW5lIHJlY3Vyc2l2ZWx5CkBAIC0y
NTAsNiArMjUxLDggQEAgcHJvdGVjdGVkOgogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJ
REVPKQogICAgIGJvb2wgbV9uZWVkV2lkZ2V0VXBkYXRlOwogI2VuZGlmCisKKyAgICBpbnQgbV9p
bnRlcm5hbENhbGw7CiB9OwogCiB9IC8vbmFtZXNwYWNlCg==
</data>
<flag name="review"
          id="13540"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27836</attachid>
            <date>2009-02-20 12:39:53 -0800</date>
            <delta_ts>2009-02-20 12:46:38 -0800</delta_ts>
            <desc>revised patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>7890</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTExMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDItMjAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDYzCisgICAgICAg
IE1ha2UgaXQgcG9zc2libGUgZm9yIGEgcG9ydCB0byByZXF1aXJlIGEgdXNlciBnZXN0dXJlIHRv
IHBsYXkvcGF1c2UgYW4gPGF1ZGlvPiBvciA8dmlkZW8+IGVsZW1lbnQKKworICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpIVE1MTWVkaWFFbGVtZW50KTogIFJlbmFtZSBtX2xvYWRSZXN0cmljdGlvbnMgdG8gbV9S
ZXN0cmljdGlvbnMuIAorICAgICAgICBJbml0aWFsaXplIG1faW50ZXJuYWxDYWxsLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bG9hZFRpbWVyRmlyZWQpOiBJbmNyZW1lbnQg
bV9pbnRlcm5hbENhbGwgYXJvdW5kIGNhbGwgdG8gbG9hZCgpLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6bG9hZCk6IENhbGwgbG9hZEludGVybmFsIGlmIHJlc3RyaWN0aW9u
cyBjaGVjayBvdXQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkSW50
ZXJuYWwpOiBOZXcsIGd1dHMgb2Ygb2xkIGxvYWQoKQorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6c2V0TmV0d29ya1N0YXRlKTogRml4IGJ1ZyBpbnRyb2R1Y2VkIGluIHI0MDk0
MworICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGxheSk6IENhbGwgcGxheUlu
dGVybmFsIGlmIHJlc3RyaWN0aW9ucyBjaGVjayBvdXQuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpwbGF5SW50ZXJuYWwpOiBOZXcsIGd1dHMgb2Ygb2xkIHBsYXkoKQorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGF1c2UpOiBDYWxsIHBhdXNlSW50ZXJu
YWwgaWYgcmVzdHJpY3Rpb25zIGNoZWNrIG91dC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnBhdXNlSW50ZXJuYWwpOiBOZXcsIGd1dHMgb2Ygb2xkIHBhdXNlKCkKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZVBsYXlTdGF0ZSk6IENhbGwgcGxh
eUludGVybmFsL3BhdXNlSW50ZXJuYWwKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmRlbGl2ZXJOb3RpZmljYXRpb24pOiBSZW1vdmUgdW5uZWNlc3Nhcnkgd2hpdGUgc3BhY2Uu
CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6IFJlbmFtZSBtX2xvYWRSZXN0cmlj
dGlvbnMgdG8gbV9SZXN0cmljdGlvbnMsIGFkZCBtX2ludGVybmFsQ2FsbCwKKyAgICAgICAgYWRk
IFJlcXVpcmVVc2VyR2VzdHVyZVJhdGVDaGFuZ2VSZXN0cmljdGlvbi4KKwogMjAwOS0wMi0yMCAg
R3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBIb2xnZXIgRnJleXRoZXIuCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA0MTA4MykKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIw
MDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3
LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTAsNyArOTAsNyBAQCBIVE1MTWVkaWFFbGVtZW50OjpI
VE1MTWVkaWFFbGVtZW50KGNvbnN0CiAgICAgLCBtX3BhdXNlZEludGVybmFsKGZhbHNlKQogICAg
ICwgbV9pbkFjdGl2ZURvY3VtZW50KHRydWUpCiAgICAgLCBtX3BsYXllcigwKQotICAgICwgbV9s
b2FkUmVzdHJpY3Rpb25zKE5vTG9hZFJlc3RyaWN0aW9uKQorICAgICwgbV9yZXN0cmljdGlvbnMo
Tm9SZXN0cmljdGlvbnMpCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKDAp
CiAgICAgLCBtX3NlbmRQcm9ncmVzc0V2ZW50cyh0cnVlKQogI2lmIEVOQUJMRShQTFVHSU5fUFJP
WFlfRk9SX1ZJREVPKQpAQCAtMjI0LDcgKzIyNCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
ZGlzcGF0Y2hFdmVudEFzeW4KIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZFRpbWVyRmlyZWQo
VGltZXI8SFRNTE1lZGlhRWxlbWVudD4qKQogewogICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAg
bG9hZChlYyk7CisKKyAgICBsb2FkSW50ZXJuYWwoZWMpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OmFzeW5jRXZlbnRUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+KikKQEAg
LTMwNywxMSArMzA4LDE2IEBAIGZsb2F0IEhUTUxNZWRpYUVsZW1lbnQ6OmJ1ZmZlcmluZ1JhdGUo
KQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWQoRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0g
ICAgaWYgKChtX2xvYWRSZXN0cmljdGlvbnMgJiBSZXF1aXJlVXNlckdlc3R1cmVMb2FkUmVzdHJp
Y3Rpb24pICYmICFwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgIGlmIChtX3Jlc3RyaWN0
aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUZvckxvYWRSZXN0cmljdGlvbiAmJiAhcHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAorICAgIGxvYWRJbnRlcm5hbChlYyk7Cit9CisKK3ZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6bG9hZEludGVybmFsKEV4Y2VwdGlvbkNvZGUmIGVjKQorewogICAgIFN0
cmluZyBtZWRpYVNyYzsKICAgICBTdHJpbmcgbWVkaWFNSU1FVHlwZTsKIApAQCAtMzg1LDYgKzM5
MSw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZChFeGNlcHRpb25Db2QKICNpZiAhRU5B
QkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgbV9wbGF5ZXIuY2xlYXIoKTsKICAgICBt
X3BsYXllci5zZXQobmV3IE1lZGlhUGxheWVyKHRoaXMpKTsKKyNlbHNlCisgICAgaWYgKCFtX3Bs
YXllcikKKyAgICAgICAgbV9wbGF5ZXIuc2V0KG5ldyBNZWRpYVBsYXllcih0aGlzKSk7CiAjZW5k
aWYKIAogICAgIHVwZGF0ZVZvbHVtZSgpOwpAQCAtNDIyLDcgKzQzMSw3IEBAIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJOZXR3b3IKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpz
ZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBzdGF0ZSkKIHsKLSAgICBp
ZiAobV9uZXR3b3JrU3RhdGUgPT0gRU1QVFkpIHsKKyAgICBpZiAoc3RhdGUgPT0gTWVkaWFQbGF5
ZXI6OkVtcHR5KSB7CiAgICAgICAgIC8vIGp1c3QgdXBkYXRlIHRoZSBjYWNoZWQgc3RhdGUgYW5k
IGxlYXZlLCB3ZSBjYW4ndCBkbyBhbnl0aGluZyAKICAgICAgICAgbV9uZXR3b3JrU3RhdGUgPSBF
TVBUWTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDgyLDExICs0OTEsMTMgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpzZXROZXR3b3JrU3RhdGUoTQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAKICAgICAgICAgbV9sb2FkZWRGaXJzdEZyYW1lID0gdHJ1ZTsKKyNpZiAhRU5BQkxFKFBMVUdJ
Tl9QUk9YWV9GT1JfVklERU8pCiAgICAgICAgIGlmIChyZW5kZXJlcigpKSB7CiAgICAgICAgICAg
ICBBU1NFUlQoIXJlbmRlcmVyKCktPmlzSW1hZ2UoKSk7CiAgICAgICAgICAgICBzdGF0aWNfY2Fz
dDxSZW5kZXJWaWRlbyo+KHJlbmRlcmVyKCkpLT52aWRlb1NpemVDaGFuZ2VkKCk7CiAgICAgICAg
IH0KLSAgICAgICAgCisjZW5kaWYgICAgICAgIAorCiAgICAgICAgIGRpc3BhdGNoRXZlbnRGb3JU
eXBlKGV2ZW50TmFtZXMoKS5sb2FkZWRmaXJzdGZyYW1lRXZlbnQsIGZhbHNlLCB0cnVlKTsKICAg
ICAgICAgaWYgKG1fbG9hZE5lc3RpbmdMZXZlbCA8IG1fdGVybWluYXRlTG9hZEJlbG93TmVzdGlu
Z0xldmVsKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNzE1LDYgKzcyNiwxNiBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OnNldEF1dG9wbGF5KGJvb2wgCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cGxheShFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBpZiAobV9yZXN0cmljdGlvbnMgJiBS
ZXF1aXJlVXNlckdlc3R1cmVGb3JSYXRlQ2hhbmdlUmVzdHJpY3Rpb24gJiYgIXByb2Nlc3NpbmdV
c2VyR2VzdHVyZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBwbGF5SW50ZXJuYWwoZWMpOworfQorCit2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnBsYXlJbnRlcm5hbChFeGNlcHRpb25Db2RlJiBlYykKK3sKICAgICAvLyAz
LjE0LjkuNy4gUGxheWluZyB0aGUgbWVkaWEgcmVzb3VyY2UKICAgICBpZiAoIW1fcGxheWVyIHx8
IG5ldHdvcmtTdGF0ZSgpID09IEVNUFRZKSB7CiAgICAgICAgIGVjID0gMDsKQEAgLTc0MSw2ICs3
NjIsMTcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwbGF5KEV4Y2VwdGlvbkNvZAogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlKEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIGlmICht
X3Jlc3RyaWN0aW9ucyAmIFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2VSZXN0cmljdGlv
biAmJiAhcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NU
QVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHBhdXNlSW50ZXJuYWwoZWMp
OworfQorCisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2VJbnRlcm5hbChFeGNlcHRpb25D
b2RlJiBlYykKK3sKICAgICAvLyAzLjE0LjkuNy4gUGxheWluZyB0aGUgbWVkaWEgcmVzb3VyY2UK
ICAgICBpZiAoIW1fcGxheWVyIHx8IG5ldHdvcmtTdGF0ZSgpID09IEVNUFRZKSB7CiAgICAgICAg
IGVjID0gMDsKQEAgLTg4Myw5ICs5MTUsOSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE11
dGVkKGJvb2wgbXV0CiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZVBsYXlTdGF0ZShFeGNl
cHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoY2FuUGxheSgpKQotICAgICAgICBwbGF5KGVjKTsK
KyAgICAgICAgcGxheUludGVybmFsKGVjKTsKICAgICBlbHNlIAotICAgICAgICBwYXVzZShlYyk7
CisgICAgICAgIHBhdXNlSW50ZXJuYWwoZWMpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OmJlZ2luU2NydWJiaW5nKCkKQEAgLTEyMTUsNyArMTI0Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6ZGVsaXZlck5vdGlmaWNhdGkKICAgICBpZiAobm90aWZpY2F0aW9uID09IE1lZGlhUGxh
eWVyTm90aWZpY2F0aW9uUGxheVBhdXNlQnV0dG9uUHJlc3NlZCkgewogICAgICAgICBFeGNlcHRp
b25Db2RlIGVjOwogICAgICAgICB0b2dnbGVQbGF5U3RhdGUoZWMpOwotICAgICAgICAgcmV0dXJu
OworICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG1fcGxheWVyKQpJbmRleDogV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCShyZXZpc2lvbiA0MTA4MykKKysrIFdlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE3Miw2ICsxNzIsMTAg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2dyZXNzRXZlbnRUaW1lckZpcmVkKFRpbWVyPEhUTUxN
ZWRpYUVsZW1lbnQ+Kik7CiAgICAgdm9pZCBzZWVrKGZsb2F0IHRpbWUsIEV4Y2VwdGlvbkNvZGUm
IGVjKTsKICAgICB2b2lkIGNoZWNrSWZTZWVrTmVlZGVkKCk7CisKKyAgICB2b2lkIGxvYWRJbnRl
cm5hbChFeGNlcHRpb25Db2RlJiBlYyk7CisgICAgdm9pZCBwbGF5SW50ZXJuYWwoRXhjZXB0aW9u
Q29kZSYgZWMpOworICAgIHZvaWQgcGF1c2VJbnRlcm5hbChFeGNlcHRpb25Db2RlJiBlYyk7CiAg
ICAgCiAgICAgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSBjb25zdDsKICAgICBib29sIHBy
b2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNzaW5n
TWVkaWFQbGF5ZXJDYWxsYmFjayA+IDA7IH0KQEAgLTE4OCwxMiArMTkyLDEzIEBAIHByaXZhdGU6
CiAgICAgYm9vbCBhY3RpdmVseVBsYXlpbmcoKSBjb25zdDsKICAgICBib29sIGVuZGVkUGxheWJh
Y2soKSBjb25zdDsKIAotICAgIC8vIENvbnRyb2wgbWVkaWEgbG9hZCByZXN0cmljdGlvbnMuIFRo
aXMgaXMgYSBlZmZlY3RpdmVseSBhIGNvbXBpbGUgdGltZSBjaG9pY2UgYXQgdGhlIG1vbWVudAor
ICAgIC8vIFJlc3RyaWN0aW9ucyB0byBjaGFuZ2UgZGVmYXVsdCBiZWhhdmlvcnMuIFRoaXMgaXMg
YSBlZmZlY3RpdmVseSBhIGNvbXBpbGUgdGltZSBjaG9pY2UgYXQgdGhlIG1vbWVudAogICAgIC8v
ICBiZWNhdXNlIHRoZXJlIGFyZSBubyBhY2Nlc3NvciBtZXRob2RzLgotICAgIGVudW0gTG9hZFJl
c3RyaWN0aW9ucyAKKyAgICBlbnVtIEJlaGF2aW9yUmVzdHJpY3Rpb25zIAogICAgIHsgCi0gICAg
ICAgIE5vTG9hZFJlc3RyaWN0aW9uID0gMCwKLSAgICAgICAgUmVxdWlyZVVzZXJHZXN0dXJlTG9h
ZFJlc3RyaWN0aW9uID0gMSA8PCAwLCAKKyAgICAgICAgTm9SZXN0cmljdGlvbnMgPSAwLAorICAg
ICAgICBSZXF1aXJlVXNlckdlc3R1cmVGb3JMb2FkUmVzdHJpY3Rpb24gPSAxIDw8IDAsCisgICAg
ICAgIFJlcXVpcmVVc2VyR2VzdHVyZUZvclJhdGVDaGFuZ2VSZXN0cmljdGlvbiA9IDEgPDwgMSwK
ICAgICB9OwogCiAKQEAgLTIzNyw3ICsyNDIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBPd25QdHI8
TWVkaWFQbGF5ZXI+IG1fcGxheWVyOwogCi0gICAgTG9hZFJlc3RyaWN0aW9ucyBtX2xvYWRSZXN0
cmljdGlvbnM7CisgICAgQmVoYXZpb3JSZXN0cmljdGlvbnMgbV9yZXN0cmljdGlvbnM7CiAKICAg
ICAvLyBjb3VudGVyIGluY3JlbWVudGVkIHdoaWxlIHByb2Nlc3NpbmcgYSBjYWxsYmFjayBmcm9t
IHRoZSBtZWRpYSBwbGF5ZXIsIHNvIHdlIGNhbiBhdm9pZAogICAgIC8vICBjYWxsaW5nIHRoZSBt
ZWRpYSBlbmdpbmUgcmVjdXJzaXZlbHkK
</data>
<flag name="review"
          id="13542"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>