<?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>142189</bug_id>
          
          <creation_ts>2015-03-02 14:54:57 -0800</creation_ts>
          <short_desc>The InspectorTimelineAgent should gracefully handle attempts to start more than once.</short_desc>
          <delta_ts>2015-03-02 15:42:04 -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>Web Inspector</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>142191</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>burg</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1073451</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-02 14:54:57 -0800</bug_when>
    <thetext>InspectorTimelineAgent::internalStop() already checks for redundant calls to it in case the InspectorTimelineAgent is already disabled.  Similarly, InspectorTimelineAgent::internalStart() should check if the InspectorTimelineAgent is already enabled before proceeding to do work to enable it.   Though wasteful, it is legal for clients of the InspectorTimelineAgent to invoke start on it more than once.  Hence, this check is needed.

This check fixes the debug assertion failure when running the inspector/timeline/debugger-paused-while-recording.html test.  The test can now be unskipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073452</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-03-02 14:55:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/20012601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073470</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-02 15:26:26 -0800</bug_when>
    <thetext>&quot;should not be allowed to start twice&quot; =&gt; &quot;should gracefully handling attempting to start twice&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073474</commentid>
    <comment_count>3</comment_count>
      <attachid>247705</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-02 15:31:26 -0800</bug_when>
    <thetext>Created attachment 247705
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073475</commentid>
    <comment_count>4</comment_count>
      <attachid>247705</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-02 15:33:57 -0800</bug_when>
    <thetext>Comment on attachment 247705
the patch.

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

r=me

&gt; Source/WebCore/ChangeLog:13
&gt; +        is already enabled before proceeding to do work to enable it.   Though wasteful,

Nit: No need for more than one space after &quot;.&quot;.

&gt; LayoutTests/TestExpectations:-100
&gt; -webkit.org/b/137131 inspector/timeline [ Skip ]

I hope this wasn&apos;t flakey for other reasons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073476</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-02 15:35:31 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 247705 [details]
&gt; the patch.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=247705&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:13
&gt; &gt; +        is already enabled before proceeding to do work to enable it.   Though wasteful,
&gt; 
&gt; Nit: No need for more than one space after &quot;.&quot;.

=)  I always preferred 2 spaces for readability, but I can remove it.

&gt; &gt; LayoutTests/TestExpectations:-100
&gt; &gt; -webkit.org/b/137131 inspector/timeline [ Skip ]
&gt; 
&gt; I hope this wasn&apos;t flakey for other reasons.

I didn&apos;t see any, but if the bots complain, we can skip this again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073479</commentid>
    <comment_count>6</comment_count>
      <attachid>247705</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-03-02 15:40:12 -0800</bug_when>
    <thetext>Comment on attachment 247705
the patch.

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

I wonder why some clients call start and stop multiple times. Is it because they assume some initial on/off state?

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests.  Unskipped an existing test that already asserts this.

Test line should be below main description.

&gt; Source/WebCore/ChangeLog:10
&gt; +        InspectorTimelineAgent::internalStop() already checks for redundant calls to it in

This paragraph is longer than necessary. You can simply state that you added a missing guard that prevents the timeline agent from starting if it has already started, matching the logic that guards against duplicated calls to internalStop().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073480</commentid>
    <comment_count>7</comment_count>
      <attachid>247705</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-03-02 15:40:42 -0800</bug_when>
    <thetext>Comment on attachment 247705
the patch.

Accidentally cleared Joe&apos;s r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073481</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-02 15:42:04 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r180901: &lt;http://trac.webkit.org/r180901&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247705</attachid>
            <date>2015-03-02 15:31:26 -0800</date>
            <delta_ts>2015-03-02 15:40:42 -0800</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-142189.patch</filename>
            <type>text/plain</type>
            <size>3210</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDg5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1LTAzLTAyICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBUaGUgSW5zcGVjdG9yVGltZWxpbmVB
Z2VudCBzaG91bGQgZ3JhY2VmdWxseSBoYW5kbGUgYXR0ZW1wdHMgdG8gc3RhcnQgbW9yZSB0aGFu
IG9uY2UuCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDIxODk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAgVW5z
a2lwcGVkIGFuIGV4aXN0aW5nIHRlc3QgdGhhdCBhbHJlYWR5IGFzc2VydHMgdGhpcy4KKworICAg
ICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjppbnRlcm5hbFN0b3AoKSBhbHJlYWR5IGNoZWNr
cyBmb3IgcmVkdW5kYW50IGNhbGxzIHRvIGl0IGluCisgICAgICAgIGNhc2UgdGhlIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQgaXMgYWxyZWFkeSBkaXNhYmxlZC4gIFNpbWlsYXJseSwKKyAgICAgICAg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6aW50ZXJuYWxTdGFydCgpIHNob3VsZCBjaGVjayBpZiB0
aGUgSW5zcGVjdG9yVGltZWxpbmVBZ2VudAorICAgICAgICBpcyBhbHJlYWR5IGVuYWJsZWQgYmVm
b3JlIHByb2NlZWRpbmcgdG8gZG8gd29yayB0byBlbmFibGUgaXQuICAgVGhvdWdoIHdhc3RlZnVs
LAorICAgICAgICBpdCBpcyBsZWdhbCBmb3IgY2xpZW50cyBvZiB0aGUgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCB0byBpbnZva2Ugc3RhcnQgb24gaXQgbW9yZQorICAgICAgICB0aGFuIG9uY2UuICBI
ZW5jZSwgdGhpcyBjaGVjayBpcyBuZWVkZWQuCisKKyAgICAgICAgVGhpcyBjaGVjayBmaXhlcyB0
aGUgZGVidWcgYXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBydW5uaW5nIHRoZQorICAgICAgICBpbnNw
ZWN0b3IvdGltZWxpbmUvZGVidWdnZXItcGF1c2VkLXdoaWxlLXJlY29yZGluZy5odG1sIHRlc3Qu
ICBUaGUgdGVzdCBjYW4gbm93CisgICAgICAgIGJlIHVuc2tpcHBlZC4KKworICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmludGVybmFsU3RhcnQpOgorCiAyMDE1LTAzLTAyICBSb2dl
ciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGJhY2tncm91
bmRzIG9mIHNsaWRlcnMgZm9yIGlubGluZSBtZWRpYSBjb250cm9scyBvbiBPUyBYLgpJbmRleDog
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmNwcAkocmV2aXNpb24gMTgwODk2KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNiArMTA1LDkgQEAg
dm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdG9wKEVycm9yUwogCiB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmludGVybmFsU3RhcnQoY29uc3QgaW50KiBtYXhDYWxsU3RhY2tEZXB0
aCkKIHsKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAobWF4
Q2FsbFN0YWNrRGVwdGggJiYgKm1heENhbGxTdGFja0RlcHRoID4gMCkKICAgICAgICAgbV9tYXhD
YWxsU3RhY2tEZXB0aCA9ICptYXhDYWxsU3RhY2tEZXB0aDsKICAgICBlbHNlCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxODA4OTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAxNS0wMy0wMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CisKKyAgICAgICAgVGhlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgc2hvdWxkIGdyYWNlZnVs
bHkgaGFuZGxlIGF0dGVtcHRzIHRvIHN0YXJ0IG1vcmUgdGhhbiBvbmNlLgorICAgICAgICA8aHR0
cHM6Ly93ZWJraXQub3JnL2IvMTQyMTg5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgLSBVbnNraXBw
ZWQgaW5zcGVjdG9yL3RpbWVsaW5lIHRlc3RzLgorCiAyMDE1LTAzLTAyICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIERvY3VtZW50IG1vcmUgZGVi
dWcgYXNzZXJ0aW9ucy4KSW5kZXg6IExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTgwODk2KQor
KysgTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtOTcsNyAr
OTcsNiBAQCB3ZWJraXQub3JnL2IvMTMxOTE5IGluc3BlY3Rvci9kb20gWyBTa2lwCiAjIFRoZXNl
IHRlc3RzIHN0aWxsIG15c3RlcmlvdXNseSBmbGFrZSBhbmQvb3IgdGltZSBvdXQuCiB3ZWJraXQu
b3JnL2IvMTM3MTMxIGluc3BlY3Rvci9kZWJ1Z2dlciBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEz
NzEzMCBpbnNwZWN0b3IvcmVwbGF5IFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTM3MTMxIGluc3Bl
Y3Rvci90aW1lbGluZSBbIFNraXAgXQogaW5zcGVjdG9yL21vZGVsL3JlbW90ZS1vYmplY3QtZ2V0
LXByb3BlcnRpZXMuaHRtbCBbIFNraXAgXQogaW5zcGVjdG9yL21vZGVsL3JlbW90ZS1vYmplY3Qt
d2Vhay1jb2xsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIGluc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2Jq
ZWN0Lmh0bWwgWyBTa2lwIF0K
</data>
<flag name="review"
          id="272616"
          type_id="1"
          status="+"
          setter="burg"
    />
          </attachment>
      

    </bug>

</bugzilla>