<?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>143760</bug_id>
          
          <creation_ts>2015-04-15 06:22:15 -0700</creation_ts>
          <short_desc>[W32] Compile-time assertion failure: RenderBlock_should_stay_small</short_desc>
          <delta_ts>2015-05-18 23:31:36 -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>
          
          <blocked>133028</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="LRN">lrn1986</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>lrn1986</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mcrha</cc>
    
    <cc>tpopela</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1085455</commentid>
    <comment_count>0</comment_count>
    <who name="LRN">lrn1986</who>
    <bug_when>2015-04-15 06:22:15 -0700</bug_when>
    <thetext>Presumably as a result of the way bitfields are packed on Windows (-mms-bitfields is the default these days).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085535</commentid>
    <comment_count>1</comment_count>
      <attachid>250805</attachid>
    <who name="LRN">lrn1986</who>
    <bug_when>2015-04-15 09:54:08 -0700</bug_when>
    <thetext>Created attachment 250805
Move enum LineLayoutPath in RenderBlock

This removes the bitfield interruption, allowing more efficient
packing.
Otherwise compile-time assertion fails:
In file included from ../webkitgtk-2.4.8/Source/WTF/wtf/PossiblyNull.h:29:0,
                 from ../webkitgtk-2.4.8/Source/WTF/wtf/FastMalloc.h:27,
                 from ../webkitgtk-2.4.8/Source/WebCore/config.h:74,
                 from ../webkitgtk-2.4.8/Source/WebCore/rendering/RenderBlock.cpp:24:
../webkitgtk-2.4.8/Source/WTF/wtf/Assertions.h:326:35: error: static assertion failed: RenderBlock_should_stay_small
 #define COMPILE_ASSERT(exp, name) static_assert((exp), #name)
                                   ^
../webkitgtk-2.4.8/Source/WebCore/rendering/RenderBlock.cpp:88:1: note: in expansion of macro &apos;COMPILE_ASSERT&apos;
 COMPILE_ASSERT(sizeof(RenderBlock) == sizeof(SameSizeAsRenderBlock), RenderBlock_should_stay_small);
 ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085574</commentid>
    <comment_count>2</comment_count>
      <attachid>250805</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-15 10:34:45 -0700</bug_when>
    <thetext>Comment on attachment 250805
Move enum LineLayoutPath in RenderBlock

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

&gt; Source/WebCore/rendering/RenderBlock.h:-614
&gt; -    enum LineLayoutPath { UndeterminedPath, SimpleLinesPath, LineBoxesPath, ForceLineBoxesPath };

It’s very strange the defining an enum type (not a data member, just a type) causes a “bitfield interruption”. Which compiler has this problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085580</commentid>
    <comment_count>3</comment_count>
    <who name="LRN">lrn1986</who>
    <bug_when>2015-04-15 10:41:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 250805 [details]
&gt; Move enum LineLayoutPath in RenderBlock
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250805&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.h:-614
&gt; &gt; -    enum LineLayoutPath { UndeterminedPath, SimpleLinesPath, LineBoxesPath, ForceLineBoxesPath };
&gt; 
&gt; It’s very strange the defining an enum type (not a data member, just a type)
&gt; causes a “bitfield interruption”. Which compiler has this problem?

i686-w64-mingw32-gcc-4.9.2 is what i&apos;ve used

The patch originated from https://bugs.webkit.org/show_bug.cgi?id=133028 , where the original author used 4.8.something</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086471</commentid>
    <comment_count>4</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2015-04-17 16:20:39 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; The patch originated from https://bugs.webkit.org/show_bug.cgi?id=133028 ,
&gt; where the original author used 4.8.something

I still use this change with the webkit-2.4 branch at revision 182543.

@LRN: so you&apos;ve split my change (and other changes), but still want to receive credits for it? I&apos;d say it&apos;s not a good habit by any means... :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086498</commentid>
    <comment_count>5</comment_count>
    <who name="LRN">lrn1986</who>
    <bug_when>2015-04-17 17:36:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; The patch originated from https://bugs.webkit.org/show_bug.cgi?id=133028 ,
&gt; &gt; where the original author used 4.8.something
&gt; 
&gt; I still use this change with the webkit-2.4 branch at revision 182543.
&gt; 
&gt; @LRN: so you&apos;ve split my change (and other changes), but still want to
&gt; receive credits for it? I&apos;d say it&apos;s not a good habit by any means... :-/

The problem with the original bug was that it had multiple conflicting patches from 2 different authors, which made it difficult for upstream to sort through.

So i&apos;ve split the changes into separate, manageable chunks and filed a lot bugs. I do admit that i haven&apos;t tracked copyrights or credit though (partially because many patches had no authorship information in them, i.e. were plain diffs; partially because i was more interested in figuring out which changes to apply and which to drop), and it did bother me somewhat when i was filing the bugs (especially on patches with lots of non-trivial code that i&apos;m incapable of writing myself). So if you feel slighted, do comment where appropriate, and hopefully webkit devs will do something (no idea what&apos;s the protocol for such things; i assume there is one, because webkit seems to have lots of unapparent rules about committing).

Ironically, half of these changes probably won&apos;t make it past 2.4 anyway :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086514</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-17 20:22:31 -0700</bug_when>
    <thetext>Just please credit the original author somewhere in the changelog entry. :)  &quot;Patch by Person&quot; or &quot;Based on work by Person,&quot; something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095847</commentid>
    <comment_count>7</comment_count>
      <attachid>250805</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-18 23:31:01 -0700</bug_when>
    <thetext>Comment on attachment 250805
Move enum LineLayoutPath in RenderBlock

I don&apos;t understand it either, but it&apos;s harmless in any case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095848</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-18 23:31:36 -0700</bug_when>
    <thetext>Committed to 2.4 http://trac.webkit.org/changeset/184548</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250805</attachid>
            <date>2015-04-15 09:54:08 -0700</date>
            <delta_ts>2015-05-18 23:31:01 -0700</delta_ts>
            <desc>Move enum LineLayoutPath in RenderBlock</desc>
            <filename>Move-enum-LineLayoutPath-in-RenderBlock.patch</filename>
            <type>text/plain</type>
            <size>3861</size>
            <attacher name="LRN">lrn1986</attacher>
            
              <data encoding="base64">RnJvbSAxNzM1OWIxODVhZWZjNTYyMjI1NmM2NjdhY2UwYjI1ODA0NDZlZmNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUQwPUEwPUQxPTgzPUQxPTgxPUQwPUJCPUQw
PUIwPUQwPUJEPTIwPUQwPTk4PUQwPUI2PUQwPUIxPz0KID0/VVRGLTg/cT89RDE9ODM9RDA9QkI9
RDA9QjA9RDE9ODI9RDA9QkU9RDA9QjI/PSA8bHJuMTk4NkBnbWFpbC5jb20+CkRhdGU6IE1vbiwg
MTMgQXByIDIwMTUgMTA6MjE6NDIgKzAwMDAKU3ViamVjdDogW1BBVENIXSBNb3ZlIGVudW0gTGlu
ZUxheW91dFBhdGggaW4gUmVuZGVyQmxvY2sKClRoaXMgcmVtb3ZlcyB0aGUgYml0ZmllbGQgaW50
ZXJydXB0aW9uLCBhbGxvd2luZyBtb3JlIGVmZmljaWVudApwYWNraW5nLgpPdGhlcndpc2UgY29t
cGlsZS10aW1lIGFzc2VydGlvbiBmYWlsczoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3dlYmtp
dGd0ay0yLjQuOC9Tb3VyY2UvV1RGL3d0Zi9Qb3NzaWJseU51bGwuaDoyOTowLAogICAgICAgICAg
ICAgICAgIGZyb20gLi4vd2Via2l0Z3RrLTIuNC44L1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2Mu
aDoyNywKICAgICAgICAgICAgICAgICBmcm9tIC4uL3dlYmtpdGd0ay0yLjQuOC9Tb3VyY2UvV2Vi
Q29yZS9jb25maWcuaDo3NCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL3dlYmtpdGd0ay0yLjQu
OC9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOjI0OgouLi93ZWJraXRn
dGstMi40LjgvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oOjMyNjozNTogZXJyb3I6IHN0YXRp
YyBhc3NlcnRpb24gZmFpbGVkOiBSZW5kZXJCbG9ja19zaG91bGRfc3RheV9zbWFsbAogI2RlZmlu
ZSBDT01QSUxFX0FTU0VSVChleHAsIG5hbWUpIHN0YXRpY19hc3NlcnQoKGV4cCksICNuYW1lKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vd2Via2l0Z3RrLTIuNC44L1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6ODg6MTogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvICdDT01QSUxFX0FTU0VSVCcKIENPTVBJTEVfQVNTRVJUKHNpemVvZihS
ZW5kZXJCbG9jaykgPT0gc2l6ZW9mKFNhbWVTaXplQXNSZW5kZXJCbG9jayksIFJlbmRlckJsb2Nr
X3Nob3VsZF9zdGF5X3NtYWxsKTsKIF4KCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDM3NjAKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmggfCAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25z
KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGUzMzViNjIuLjdhMWExNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwzMiBAQAogMjAxNS0wNC0xNSAg0KDRg9GB0LvQsNC9INCY0LbQsdGD
0LvQsNGC0L7QsiAgPGxybjE5ODZAZ21haWwuY29tPgogCisgICAgICAgIE1vdmUgZW51bSBMaW5l
TGF5b3V0UGF0aCBpbiBSZW5kZXJCbG9jaworCisgICAgICAgIFRoaXMgcmVtb3ZlcyB0aGUgYml0
ZmllbGQgaW50ZXJydXB0aW9uLCBhbGxvd2luZyBtb3JlIGVmZmljaWVudAorICAgICAgICBwYWNr
aW5nLgorICAgICAgICBPdGhlcndpc2UgY29tcGlsZS10aW1lIGFzc2VydGlvbiBmYWlsczoKKyAg
ICAgICAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3dlYmtpdGd0ay0yLjQuOC9Tb3VyY2UvV1RG
L3d0Zi9Qb3NzaWJseU51bGwuaDoyOTowLAorICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20g
Li4vd2Via2l0Z3RrLTIuNC44L1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuaDoyNywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBmcm9tIC4uL3dlYmtpdGd0ay0yLjQuOC9Tb3VyY2UvV2ViQ29y
ZS9jb25maWcuaDo3NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIC4uL3dlYmtpdGd0
ay0yLjQuOC9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOjI0OgorICAg
ICAgICAuLi93ZWJraXRndGstMi40LjgvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oOjMyNjoz
NTogZXJyb3I6IHN0YXRpYyBhc3NlcnRpb24gZmFpbGVkOiBSZW5kZXJCbG9ja19zaG91bGRfc3Rh
eV9zbWFsbAorICAgICAgICAgI2RlZmluZSBDT01QSUxFX0FTU0VSVChleHAsIG5hbWUpIHN0YXRp
Y19hc3NlcnQoKGV4cCksICNuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4KKyAgICAgICAgLi4vd2Via2l0Z3RrLTIuNC44L1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6ODg6MTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv
ICdDT01QSUxFX0FTU0VSVCcKKyAgICAgICAgIENPTVBJTEVfQVNTRVJUKHNpemVvZihSZW5kZXJC
bG9jaykgPT0gc2l6ZW9mKFNhbWVTaXplQXNSZW5kZXJCbG9jayksIFJlbmRlckJsb2NrX3Nob3Vs
ZF9zdGF5X3NtYWxsKTsKKyAgICAgICAgIF4KKworICAgICAgICBbVzMyXSBDb21waWxlLXRpbWUg
YXNzZXJ0aW9uIGZhaWx1cmU6IFJlbmRlckJsb2NrX3Nob3VsZF9zdGF5X3NtYWxsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM3NjAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9P
UFMhKS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorCisyMDE1LTA0LTE1
ICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyICA8bHJuMTk4NkBnbWFpbC5jb20+CisK
ICAgICAgICAgQWRkIG1pc3NpbmcgaW5jbHVkZXMgdG8gRmlsZVN5c3RlbUd0awogCiAgICAgICAg
IE5lZWRlZCBmb3IgR2V0TW9kdWxlSGFuZGxlRXhBKCkgJiBDby4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNWFhMjllMC4uYzI5YjA3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTYxMSw4ICs2MTEsOCBAQCBwdWJsaWM6CiAgICAg
dW5zaWduZWQgbV9iZWluZ0Rlc3Ryb3llZCA6IDE7CiAgICAgdW5zaWduZWQgbV9oYXNNYXJrdXBU
cnVuY2F0aW9uIDogMTsKICAgICB1bnNpZ25lZCBtX2hhc0JvcmRlck9yUGFkZGluZ0xvZ2ljYWxX
aWR0aENoYW5nZWQgOiAxOwotICAgIGVudW0gTGluZUxheW91dFBhdGggeyBVbmRldGVybWluZWRQ
YXRoLCBTaW1wbGVMaW5lc1BhdGgsIExpbmVCb3hlc1BhdGgsIEZvcmNlTGluZUJveGVzUGF0aCB9
OwogICAgIHVuc2lnbmVkIG1fbGluZUxheW91dFBhdGggOiAyOworICAgIGVudW0gTGluZUxheW91
dFBhdGggeyBVbmRldGVybWluZWRQYXRoLCBTaW1wbGVMaW5lc1BhdGgsIExpbmVCb3hlc1BhdGgs
IEZvcmNlTGluZUJveGVzUGF0aCB9OwogICAgIAogICAgIC8vIFJlbmRlclJ1YnlCYXNlIG9iamVj
dHMgbmVlZCB0byBiZSBhYmxlIHRvIHNwbGl0IGFuZCBtZXJnZSwgbW92aW5nIHRoZWlyIGNoaWxk
cmVuIGFyb3VuZAogICAgIC8vIChjYWxsaW5nIG1vdmVDaGlsZFRvLCBtb3ZlQWxsQ2hpbGRyZW5U
bywgYW5kIG1ha2VDaGlsZHJlbk5vbklubGluZSkuCi0tIAoxLjguNS4z
</data>
<flag name="review"
          id="275600"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
    <flag name="commit-queue"
          id="278268"
          type_id="3"
          status="-"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>