<?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>115567</bug_id>
          
          <creation_ts>2013-05-03 11:48:40 -0700</creation_ts>
          <short_desc>check-webkit-style should complain about a layering violation if platform-specific guards are used in WebCore outside of the platform directory</short_desc>
          <delta_ts>2013-05-21 11:15:55 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</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>
          <dependson>116016</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jessie Berlin">jberlin</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dpranke</cc>
    
    <cc>glenn</cc>
    
    <cc>jberlin</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>884263</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-05-03 11:48:40 -0700</bug_when>
    <thetext>This should help in discouraging folks from adding more layering violations between WebCore and WebCore/platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884284</commentid>
    <comment_count>1</comment_count>
      <attachid>200459</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-05-03 12:25:31 -0700</bug_when>
    <thetext>Created attachment 200459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884430</commentid>
    <comment_count>2</comment_count>
      <attachid>200459</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-03 16:10:57 -0700</bug_when>
    <thetext>Comment on attachment 200459
Patch

Awesome idea!

I would have a couple more tests for:
-various spacing
-ifdef in a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884543</commentid>
    <comment_count>3</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-05-04 10:48:33 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 200459 [details])
&gt; Awesome idea!
&gt; 
&gt; I would have a couple more tests for:
&gt; -various spacing

I added

        error_collector = ErrorCollector(self.assertTrue)
        self.process_file_data(&apos;Source/WebCore/loader/NavigationAction.cpp&apos;, &apos;cpp&apos;, [&apos;#if PLATFORM ( MAC )&apos;, &apos;#endif&apos;], error_collector)
        self.assertEqual(1, error_collector.result_list().count(errmsg))

&gt; -ifdef in a comment.

Not 100% sure what you mean by this. Do you mean

// #if PLATFORM(MAC)

?

And would you expect that to cause the style error to be thrown? I don’t think I would.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885286</commentid>
    <comment_count>4</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-05-06 13:21:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 200459 [details] [details])
&gt; &gt; Awesome idea!
&gt; &gt; 
&gt; &gt; I would have a couple more tests for:
&gt; &gt; -various spacing
&gt; 
&gt; I added
&gt; 
&gt;         error_collector = ErrorCollector(self.assertTrue)
&gt;         self.process_file_data(&apos;Source/WebCore/loader/NavigationAction.cpp&apos;, &apos;cpp&apos;, [&apos;#if PLATFORM ( MAC )&apos;, &apos;#endif&apos;], error_collector)
&gt;         self.assertEqual(1, error_collector.result_list().count(errmsg))
&gt; 
&gt; &gt; -ifdef in a comment.
&gt; 
&gt; Not 100% sure what you mean by this. Do you mean
&gt; 
&gt; // #if PLATFORM(MAC)
&gt; 
&gt; ?
&gt; 
&gt; And would you expect that to cause the style error to be thrown? I don’t think I would.

I double checked with Ben and I will add this test with the expectation that the style error will not be thrown in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885294</commentid>
    <comment_count>5</comment_count>
      <attachid>200459</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-05-06 13:37:22 -0700</bug_when>
    <thetext>Comment on attachment 200459
Patch

Committed in http://trac.webkit.org/changeset/149635</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888149</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-05-13 01:58:30 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 200459 [details])
&gt; Committed in http://trac.webkit.org/changeset/149635

The new webkitpy test fails on the bots, fix is coming soon 
in https://bugs.webkit.org/show_bug.cgi?id=116016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891906</commentid>
    <comment_count>7</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-05-21 11:15:55 -0700</bug_when>
    <thetext>Rolled out in http://trac.webkit.org/changeset/150457, it doesn’t make sense to do this at this time.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200459</attachid>
            <date>2013-05-03 12:25:31 -0700</date>
            <delta_ts>2013-05-06 13:37:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-check-webkit-style-should-complain-about-a-layering-.patch</filename>
            <type>text/plain</type>
            <size>5246</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">RnJvbSBkYzY1OWZkYzI0YWE3MTIzNGM3MGNjMGRjNzYxMjkwYTU0YjlmODczIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXNzaWUgQmVybGluIDxqYmVybGluQHdlYmtpdC5vcmc+CkRh
dGU6IEZyaSwgMyBNYXkgMjAxMyAxMjoyMzo0NiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGNoZWNr
LXdlYmtpdC1zdHlsZSBzaG91bGQgY29tcGxhaW4gYWJvdXQgYSBsYXllcmluZyB2aW9sYXRpb24K
IGlmIHBsYXRmb3JtLXNwZWNpZmljIGd1YXJkcyBhcmUgdXNlZCBpbiBXZWJDb3JlIG91dHNpZGUg
b2YgdGhlIHBsYXRmb3JtCiBkaXJlY3RvcnkgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNTU2NwoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgoqIFNjcmlwdHMv
d2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5OgooY2hlY2tfZm9yX3dlYmNvcmVfcGxhdGZv
cm1fbGF5ZXJpbmdfdmlvbGF0aW9uKToKSWYgdGhlIGZpbGUgaXMgaW4gV2ViQ29yZSBidXQgbm90
IGluIHBsYXRmb3JtIGFuZCBjb250YWlucyAjaWYgUExBVEZPUk0oU09NRVRISU5HKSwgZW1pdCBh
biBlcnJvci4KKHByb2Nlc3NfbGluZSk6CkFkZCB0aGUgY2hlY2tfZm9yX3dlYmNvcmVfcGxhdGZv
cm1fbGF5ZXJpbmdfdmlvbGF0aW9uLgooQ3BwQ2hlY2tlcik6Ckxpc3QgdGhlIG5ldyBjaGVjay4K
CiogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHk6CihDcHBT
dHlsZVRlc3QudGVzdF93ZWJjb3JlX3BsYXRmb3JtX2xheWVyaW5nX3Zpb2xhdGlvbik6CkFkZCB0
ZXN0cy4KLS0tCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKysKIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlcnMvY3BwLnB5ICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKIC4uLi9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weSAgfCAxMiArKysr
KysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMTJiOWQ3Li4yMTkzMjlk
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTMtMDUtMDMgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNv
bT4KKworICAgICAgICBjaGVjay13ZWJraXQtc3R5bGUgc2hvdWxkIGNvbXBsYWluIGFib3V0IGEg
bGF5ZXJpbmcgdmlvbGF0aW9uIGlmIHBsYXRmb3JtLXNwZWNpZmljIGd1YXJkcyBhcmUKKyAgICAg
ICAgdXNlZCBpbiBXZWJDb3JlIG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1NTY3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKGNoZWNrX2Zvcl93ZWJjb3Jl
X3BsYXRmb3JtX2xheWVyaW5nX3Zpb2xhdGlvbik6CisgICAgICAgIElmIHRoZSBmaWxlIGlzIGlu
IFdlYkNvcmUgYnV0IG5vdCBpbiBwbGF0Zm9ybSBhbmQgY29udGFpbnMgI2lmIFBMQVRGT1JNKFNP
TUVUSElORyksIGVtaXQgYW4gZXJyb3IuCisgICAgICAgIChwcm9jZXNzX2xpbmUpOgorICAgICAg
ICBBZGQgdGhlIGNoZWNrX2Zvcl93ZWJjb3JlX3BsYXRmb3JtX2xheWVyaW5nX3Zpb2xhdGlvbi4K
KyAgICAgICAgKENwcENoZWNrZXIpOgorICAgICAgICBMaXN0IHRoZSBuZXcgY2hlY2suCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weToK
KyAgICAgICAgKENwcFN0eWxlVGVzdC50ZXN0X3dlYmNvcmVfcGxhdGZvcm1fbGF5ZXJpbmdfdmlv
bGF0aW9uKToKKyAgICAgICAgQWRkIHRlc3RzLgorCiAyMDEzLTA1LTAyICBOaWNvIFdlYmVyICA8
dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmUgYSBzdGFsZSBzY3JpcHQgZmls
ZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3Bw
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKaW5kZXgg
MGFkNTdjMC4uZTZjYmQxMSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jcHAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVj
a2Vycy9jcHAucHkKQEAgLTExMTMsNiArMTExMywxOSBAQCBkZWYgY2hlY2tfaW52YWxpZF9pbmNy
ZW1lbnQoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBlcnJvcik6CiAgICAgICAgICAgICAgICdD
aGFuZ2luZyBwb2ludGVyIGluc3RlYWQgb2YgdmFsdWUgKG9yIHVudXNlZCB2YWx1ZSBvZiBvcGVy
YXRvciopLicpCiAKIAorZGVmIGNoZWNrX2Zvcl93ZWJjb3JlX3BsYXRmb3JtX2xheWVyaW5nX3Zp
b2xhdGlvbihmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBlcnJvcik6CisgICAg
IiIiQ2hlY2tzIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBjb2RlIGluc2lkZSBXZWJDb3JlIG91dHNp
ZGUgb2YgdGhlIHBsYXRmb3JtIGxheWVyLiIiIgorICAgIGRpcmVjdG9yeSA9IEZpbGVJbmZvKGZp
bGVuYW1lKS5zcGxpdCgpWzBdCisgICAgaWYgbm90IG1hdGNoKHInU291cmNlL1dlYkNvcmUnLCBk
aXJlY3RvcnkpOgorICAgICAgICByZXR1cm4KKyAgICBpZiBtYXRjaChyJ1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtJywgZGlyZWN0b3J5KToKKyAgICAgICAgcmV0dXJuCisgICAgbGluZSA9IGNsZWFu
X2xpbmVzLmVsaWRlZFtsaW5lX251bWJlcl0KKyAgICBpZiBtYXRjaChyJ1xzKiNccyppZlxzKlBM
QVRGT1JNXHMqXCgnLCBsaW5lKToKKyAgICAgICAgZXJyb3IobGluZV9udW1iZXIsICdidWlsZC93
ZWJjb3JlX3BsYXRmb3JtX2xheWVyaW5nX3Zpb2xhdGlvbicsIDUsCisgICAgICAgICAgICAgICdE
byBub3QgYWRkIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUgaW4gV2ViQ29yZSBvdXRzaWRlIG9mIHBs
YXRmb3JtLicpCisKKwogY2xhc3MgX0NsYXNzSW5mbyhvYmplY3QpOgogICAgICIiIlN0b3JlcyBp
bmZvcm1hdGlvbiBhYm91dCBhIGNsYXNzLiIiIgogCkBAIC0zNTYxLDYgKzM1NzQsNyBAQCBkZWYg
cHJvY2Vzc19saW5lKGZpbGVuYW1lLCBmaWxlX2V4dGVuc2lvbiwKICAgICBjaGVja19mb3Jfbm9u
X3N0YW5kYXJkX2NvbnN0cnVjdHMoY2xlYW5fbGluZXMsIGxpbmUsIGNsYXNzX3N0YXRlLCBlcnJv
cikKICAgICBjaGVja19wb3NpeF90aHJlYWRpbmcoY2xlYW5fbGluZXMsIGxpbmUsIGVycm9yKQog
ICAgIGNoZWNrX2ludmFsaWRfaW5jcmVtZW50KGNsZWFuX2xpbmVzLCBsaW5lLCBlcnJvcikKKyAg
ICBjaGVja19mb3Jfd2ViY29yZV9wbGF0Zm9ybV9sYXllcmluZ192aW9sYXRpb24oZmlsZW5hbWUs
IGNsZWFuX2xpbmVzLCBsaW5lLCBlcnJvcikKIAogCiBkZWYgX3Byb2Nlc3NfbGluZXMoZmlsZW5h
bWUsIGZpbGVfZXh0ZW5zaW9uLCBsaW5lcywgZXJyb3IsIG1pbl9jb25maWRlbmNlKToKQEAgLTM2
MjcsNiArMzY0MSw3IEBAIGNsYXNzIENwcENoZWNrZXIob2JqZWN0KToKICAgICAgICAgJ2J1aWxk
L3ByaW50Zl9mb3JtYXQnLAogICAgICAgICAnYnVpbGQvc3RvcmFnZV9jbGFzcycsCiAgICAgICAg
ICdidWlsZC91c2luZ19zdGQnLAorICAgICAgICAnYnVpbGQvd2ViY29yZV9wbGF0Zm9ybV9sYXll
cmluZ192aW9sYXRpb24nLAogICAgICAgICAnbGVnYWwvY29weXJpZ2h0JywKICAgICAgICAgJ3Jl
YWRhYmlsaXR5L2JyYWNlcycsCiAgICAgICAgICdyZWFkYWJpbGl0eS9jYXN0aW5nJywKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3Qu
cHkKaW5kZXggMWJmOTQ5Ny4uYTJmNTliOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkKQEAgLTI0NDgsNiArMjQ0OCwx
OCBAQCBjbGFzcyBDcHBTdHlsZVRlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAgICAgICAgIHNlbGYu
YXNzZXJ0X2xpbnQoJ2xvbmcgaW50IGEgOiAzMDsnLCBlcnJtc2cpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0X2xpbnQoJ2ludCBhID0gMSA/IDAgOiAzMDsnLCAnJykKIAorICAgIGRlZiB0ZXN0X3dlYmNv
cmVfcGxhdGZvcm1fbGF5ZXJpbmdfdmlvbGF0aW9uKHNlbGYpOgorICAgICAgICBlcnJtc2cgPSAo
J0RvIG5vdCBhZGQgcGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpbiBXZWJDb3JlIG91dHNpZGUgb2Yg
cGxhdGZvcm0uICBbYnVpbGQvd2ViY29yZV9wbGF0Zm9ybV9sYXllcmluZ192aW9sYXRpb25dIFs1
XScpCisKKyAgICAgICAgZXJyb3JfY29sbGVjdG9yID0gRXJyb3JDb2xsZWN0b3Ioc2VsZi5hc3Nl
cnRUcnVlKQorICAgICAgICBzZWxmLnByb2Nlc3NfZmlsZV9kYXRhKCdTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAnLCAnY3BwJywgWycjaWYgUExBVEZPUk0oTUFDKScs
ICcjZW5kaWYnLCAnXG4nXSwgZXJyb3JfY29sbGVjdG9yKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKDEsIGVycm9yX2NvbGxlY3Rvci5yZXN1bHRfbGlzdCgpLmNvdW50KGVycm1zZykpCisKKyAg
ICAgICAgZXJyb3JfY29sbGVjdG9yID0gRXJyb3JDb2xsZWN0b3Ioc2VsZi5hc3NlcnRUcnVlKQor
ICAgICAgICBzZWxmLnByb2Nlc3NfZmlsZV9kYXRhKCdTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
bGF0Zm9ybUV2ZW50LmNwcCcsICdjcHAnLCBbJyNpZiBQTEFURk9STShNQUMpJywgJyNlbmRpZics
ICdcbiddLCBlcnJvcl9jb2xsZWN0b3IpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgZXJy
b3JfY29sbGVjdG9yLnJlc3VsdF9saXN0KCkuY291bnQoZXJybXNnKSkKKworCiBjbGFzcyBDbGVh
bnNlZExpbmVzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfaW5pdChzZWxm
KToKICAgICAgICAgbGluZXMgPSBbJ0xpbmUgMScsCi0tIAoxLjguMS41IChBcHBsZSBHaXQtNDQp
Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>