<?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>135544</bug_id>
          
          <creation_ts>2014-08-02 11:54:37 -0700</creation_ts>
          <short_desc>[GTK] Install all unstable webkitdom headers</short_desc>
          <delta_ts>2014-08-04 08:08:44 -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>WebKitGTK</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="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026481</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2014-08-02 11:54:37 -0700</bug_when>
    <thetext>We&apos;re accidentally failing to install unstable webkitdom headers for classes that have both stable and unstable functions.  In Source/WebCore/PlatformGTK.cmake we loop over all such headers that have been generated and add an install rule for each one, but do so before they&apos;ve been generated so they all get missed.

(We&apos;re also going to need this patched in GNOME jhbuild; Epiphany is broken right now.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026482</commentid>
    <comment_count>1</comment_count>
      <attachid>235937</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2014-08-02 11:59:24 -0700</bug_when>
    <thetext>Created attachment 235937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026488</commentid>
    <comment_count>2</comment_count>
      <attachid>235937</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-08-02 13:49:19 -0700</bug_when>
    <thetext>Comment on attachment 235937
Patch

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

&gt; Source/WebCore/PlatformGTK.cmake:751
&gt; +    if (EXISTS &quot;${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/WebKitDOM${classname}Unstable.h&quot;)

This still runs at configuration time, so won&apos;t this fail before the files are generated?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026510</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-03 01:03:10 -0700</bug_when>
    <thetext>Oh, I see the problem, I wonder why it works for me though. I think checking those files exist before adding them to the list was a bad idea in any case. Looking a the CMake docs, it seems we have other options, for example:

 a) Assume all stable classes have an Unstable.h header and make them optional.
    OPTIONAL: Specify that it is not an error if the file to be installed does not exist.

 b) Use a DIRECTORY install with a FILES_MATCHING option to install only the files matching the pattern *Unstable.h.

The problem I see with option b) is that we need the list of headers to generate the introspection files, so I guess we have to go with option a)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026511</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-03 02:17:21 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Oh, I see the problem, I wonder why it works for me though. I think checking those files exist before adding them to the list was a bad idea in any case. Looking a the CMake docs, it seems we have other options, for example:
&gt; 
&gt;  a) Assume all stable classes have an Unstable.h header and make them optional.
&gt;     OPTIONAL: Specify that it is not an error if the file to be installed does not exist.
&gt; 
&gt;  b) Use a DIRECTORY install with a FILES_MATCHING option to install only the files matching the pattern *Unstable.h.
&gt; 
&gt; The problem I see with option b) is that we need the list of headers to generate the introspection files, so I guess we have to go with option a)

Actually, I think we should probably not expose unstable symbols to the gir file, since there&apos;s not way to hide them by default as we do in C (or at least I don&apos;t know how to do it). The symbols are marked as unstable in the docs, but I think bindings don&apos;t use that info at all. So for now, I would only expose stable symbols to bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026514</commentid>
    <comment_count>5</comment_count>
      <attachid>235944</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-03 02:44:20 -0700</bug_when>
    <thetext>Created attachment 235944
Another approach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026517</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2014-08-03 07:34:53 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This still runs at configuration time, so won&apos;t this fail before the files are generated?

Yes, my patch in bogus. I failed to removed my DerivedSources directory (maybe Carlos&apos;s problem too?) so any change at all to CMakeLists would have &quot;fixed&quot; this issue for me.

Carlos&apos;s patch actually works; I think that&apos;s the best approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026634</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-04 08:08:44 -0700</bug_when>
    <thetext>Committed r171991: &lt;http://trac.webkit.org/changeset/171991&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235937</attachid>
            <date>2014-08-02 11:59:24 -0700</date>
            <delta_ts>2014-08-03 07:35:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135544-20140802135911.patch</filename>
            <type>text/plain</type>
            <size>2484</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxOTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTZjNGI3ZGUzM2RkOGE4
ZTAyYmI5YjZmZDU1YzVkMWI5N2E3ZjMzZi4uMGU0M2I1MjVkMzU4NzhkMDdhNzAyNzM3NTg3NGZi
ODkwMTlhNDVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTA4LTAyICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBJ
bnN0YWxsIGFsbCB1bnN0YWJsZSB3ZWJraXRkb20gaGVhZGVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTQ0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVkLCBubyBu
ZXcgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAg
ICBEbyBub3QgbG9vcCBvdmVyIGdlbmVyYXRlZCB1bnN0YWJsZSB3ZWJraXRkb20gaGVhZGVycyBi
ZWZvcmUgdGhleSBoYXZlCisgICAgICAgIGJlZW4gZ2VuZXJhdGVkLiBOb3cgdGhleSB3aWxsIGJl
IGluc3RhbGxlZCBwcm9wZXJseS4KKwogMjAxNC0wOC0wMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3
MTk1Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMjVkMjE3NzY0ZmZhYjNlMjU5MjBl
NmMwMDFhZGM2ZmY1ZTBhOGIxZC4uNGQ5MThkOTUwYThlZGYzN2YyM2U1OWI4MWFmODI1MjJlNjAz
NGFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTY2OSw5ICs2NjksNiBAQCBmb3Jl
YWNoIChmaWxlICR7R09iamVjdERPTUJpbmRpbmdzU3RhYmxlX0lETF9GSUxFU30pCiAgICAgZ2V0
X2ZpbGVuYW1lX2NvbXBvbmVudChjbGFzc25hbWUgJHtmaWxlfSBOQU1FX1dFKQogICAgIGxpc3Qo
QVBQRU5EIEdPYmplY3RET01CaW5kaW5nc1N0YWJsZV9DTEFTU19MSVNUICR7Y2xhc3NuYW1lfSkK
ICAgICBsaXN0KEFQUEVORCBHT2JqZWN0RE9NQmluZGluZ3NTdGFibGVfSU5TVEFMTEVEX0hFQURF
UlMgJHtERVJJVkVEX1NPVVJDRVNfR09CSkVDVF9ET01fQklORElOR1NfRElSfS9XZWJLaXRET00k
e2NsYXNzbmFtZX0uaCkKLSAgICBpZiAoRVhJU1RTICIke0RFUklWRURfU09VUkNFU19HT0JKRUNU
X0RPTV9CSU5ESU5HU19ESVJ9L1dlYktpdERPTSR7Y2xhc3NuYW1lfVVuc3RhYmxlLmgiKQotICAg
ICAgICBsaXN0KEFQUEVORCBHT2JqZWN0RE9NQmluZGluZ3NVbnN0YWJsZV9JTlNUQUxMRURfSEVB
REVSUyAke0RFUklWRURfU09VUkNFU19HT0JKRUNUX0RPTV9CSU5ESU5HU19ESVJ9L1dlYktpdERP
TSR7Y2xhc3NuYW1lfVVuc3RhYmxlLmgpCi0gICAgZW5kaWYgKCkKIGVuZGZvcmVhY2ggKCkKIAog
Zm9yZWFjaCAoZmlsZSAke0dPYmplY3RET01CaW5kaW5nc1Vuc3RhYmxlX0lETF9GSUxFU30pCkBA
IC03NDksNiArNzQ2LDEzIEBAIGZpbGUoV1JJVEUgJHtDTUFLRV9CSU5BUllfRElSfS9ndGtkb2Mt
d2Via2l0ZG9tLmNmZwogICAgICJoZWFkZXJzPSR7R09iamVjdERPTUJpbmRpbmdzU3RhYmxlX0lO
U1RBTExFRF9IRUFERVJTfVxuIgogKQogCitmb3JlYWNoIChmaWxlICR7R09iamVjdERPTUJpbmRp
bmdzU3RhYmxlX0lETF9GSUxFU30pCisgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChjbGFzc25h
bWUgJHtmaWxlfSBOQU1FX1dFKQorICAgIGlmIChFWElTVFMgIiR7REVSSVZFRF9TT1VSQ0VTX0dP
QkpFQ1RfRE9NX0JJTkRJTkdTX0RJUn0vV2ViS2l0RE9NJHtjbGFzc25hbWV9VW5zdGFibGUuaCIp
CisgICAgICAgIGxpc3QoQVBQRU5EIEdPYmplY3RET01CaW5kaW5nc1Vuc3RhYmxlX0lOU1RBTExF
RF9IRUFERVJTICR7REVSSVZFRF9TT1VSQ0VTX0dPQkpFQ1RfRE9NX0JJTkRJTkdTX0RJUn0vV2Vi
S2l0RE9NJHtjbGFzc25hbWV9VW5zdGFibGUuaCkKKyAgICBlbmRpZiAoKQorZW5kZm9yZWFjaCAo
KQorCiBzZXQoR09iamVjdERPTUJpbmRpbmdzX0lOU1RBTExFRF9IRUFERVJTICR7R09iamVjdERP
TUJpbmRpbmdzU3RhYmxlX0lOU1RBTExFRF9IRUFERVJTfSAke0dPYmplY3RET01CaW5kaW5nc1Vu
c3RhYmxlX0lOU1RBTExFRF9IRUFERVJTfSkKIGluc3RhbGwoRklMRVMgJHtHT2JqZWN0RE9NQmlu
ZGluZ3NfSU5TVEFMTEVEX0hFQURFUlN9CiAgICAgICAgIERFU1RJTkFUSU9OICIke1dFQktJVEdU
S19IRUFERVJfSU5TVEFMTF9ESVJ9L3dlYmtpdGRvbSIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235944</attachid>
            <date>2014-08-03 02:44:20 -0700</date>
            <delta_ts>2014-08-04 05:30:22 -0700</delta_ts>
            <desc>Another approach</desc>
            <filename>wkdom-install-unstable-headers.diff</filename>
            <type>text/plain</type>
            <size>2772</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwZDAwMjRiLi5mMzUxOGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTQtMDgtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEluc3RhbGwgYWxsIHVuc3RhYmxlIHdlYmtpdGRvbSBoZWFkZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU1NDQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVW5z
dGFibGUuaCBoZWFkZXIgZm9yIGFsbCBzdGFibGUgY2xhc3NlcyB0bworICAgICAgICBHT2JqZWN0
RE9NQmluZGluZ3NVbnN0YWJsZV9JTlNUQUxMRURfSEVBREVSUyBhbmQgc3BsaXQgdGhlIGluc3Rh
bGwKKyAgICAgICAgY29tbWFuZCBmb3Igc3RhYmxlIGFuZCB1bnN0YWJsZSBoZWFkZXJzIG1ha2lu
ZyB1bnN0YWJsZSBoZWFkZXJzIG9wdGlvbmFsLgorCisgICAgICAgICogUGxhdGZvcm1HVEsuY21h
a2U6CisKIDIwMTQtMDgtMDIgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFN1cHBvcnQgYm90aCB3aW5kb3cgYW5kIHZpZXcgYmFzZWQgdmlkZW8gZnVsbHNjcmVl
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMjVkMjE3Ny4uODg2Yzc5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTY2OSw5ICs2NjksNyBAQCBmb3JlYWNoIChmaWxlICR7
R09iamVjdERPTUJpbmRpbmdzU3RhYmxlX0lETF9GSUxFU30pCiAgICAgZ2V0X2ZpbGVuYW1lX2Nv
bXBvbmVudChjbGFzc25hbWUgJHtmaWxlfSBOQU1FX1dFKQogICAgIGxpc3QoQVBQRU5EIEdPYmpl
Y3RET01CaW5kaW5nc1N0YWJsZV9DTEFTU19MSVNUICR7Y2xhc3NuYW1lfSkKICAgICBsaXN0KEFQ
UEVORCBHT2JqZWN0RE9NQmluZGluZ3NTdGFibGVfSU5TVEFMTEVEX0hFQURFUlMgJHtERVJJVkVE
X1NPVVJDRVNfR09CSkVDVF9ET01fQklORElOR1NfRElSfS9XZWJLaXRET00ke2NsYXNzbmFtZX0u
aCkKLSAgICBpZiAoRVhJU1RTICIke0RFUklWRURfU09VUkNFU19HT0JKRUNUX0RPTV9CSU5ESU5H
U19ESVJ9L1dlYktpdERPTSR7Y2xhc3NuYW1lfVVuc3RhYmxlLmgiKQotICAgICAgICBsaXN0KEFQ
UEVORCBHT2JqZWN0RE9NQmluZGluZ3NVbnN0YWJsZV9JTlNUQUxMRURfSEVBREVSUyAke0RFUklW
RURfU09VUkNFU19HT0JKRUNUX0RPTV9CSU5ESU5HU19ESVJ9L1dlYktpdERPTSR7Y2xhc3NuYW1l
fVVuc3RhYmxlLmgpCi0gICAgZW5kaWYgKCkKKyAgICBsaXN0KEFQUEVORCBHT2JqZWN0RE9NQmlu
ZGluZ3NVbnN0YWJsZV9JTlNUQUxMRURfSEVBREVSUyAke0RFUklWRURfU09VUkNFU19HT0JKRUNU
X0RPTV9CSU5ESU5HU19ESVJ9L1dlYktpdERPTSR7Y2xhc3NuYW1lfVVuc3RhYmxlLmgpCiBlbmRm
b3JlYWNoICgpCiAKIGZvcmVhY2ggKGZpbGUgJHtHT2JqZWN0RE9NQmluZGluZ3NVbnN0YWJsZV9J
RExfRklMRVN9KQpAQCAtNzQ5LDEzICs3NDcsMTggQEAgZmlsZShXUklURSAke0NNQUtFX0JJTkFS
WV9ESVJ9L2d0a2RvYy13ZWJraXRkb20uY2ZnCiAgICAgImhlYWRlcnM9JHtHT2JqZWN0RE9NQmlu
ZGluZ3NTdGFibGVfSU5TVEFMTEVEX0hFQURFUlN9XG4iCiApCiAKLXNldChHT2JqZWN0RE9NQmlu
ZGluZ3NfSU5TVEFMTEVEX0hFQURFUlMgJHtHT2JqZWN0RE9NQmluZGluZ3NTdGFibGVfSU5TVEFM
TEVEX0hFQURFUlN9ICR7R09iamVjdERPTUJpbmRpbmdzVW5zdGFibGVfSU5TVEFMTEVEX0hFQURF
UlN9KQotaW5zdGFsbChGSUxFUyAke0dPYmplY3RET01CaW5kaW5nc19JTlNUQUxMRURfSEVBREVS
U30KK2luc3RhbGwoRklMRVMgJHtHT2JqZWN0RE9NQmluZGluZ3NTdGFibGVfSU5TVEFMTEVEX0hF
QURFUlN9CisgICAgICAgIERFU1RJTkFUSU9OICIke1dFQktJVEdUS19IRUFERVJfSU5TVEFMTF9E
SVJ9L3dlYmtpdGRvbSIKKykKKworIyBNYWtlIHVuc3RhYmxlIGhlYWRlciBvcHRpb25hbCBpZiB0
aGV5IGRvbid0IGV4aXN0CitpbnN0YWxsKEZJTEVTICR7R09iamVjdERPTUJpbmRpbmdzVW5zdGFi
bGVfSU5TVEFMTEVEX0hFQURFUlN9CiAgICAgICAgIERFU1RJTkFUSU9OICIke1dFQktJVEdUS19I
RUFERVJfSU5TVEFMTF9ESVJ9L3dlYmtpdGRvbSIKKyAgICAgICAgT1BUSU9OQUwKICkKIAogIyBT
b21lIGluc3RhbGxlZCBoZWFkZXJzIGFyZSBub3Qgb24gdGhlIGxpc3Qgb2YgaGVhZGVycyB1c2Vk
IGZvciBnaXIgZ2VuZXJhdGlvbi4KLXNldChHT2JqZWN0RE9NQmluZGluZ3NfR0lSX0hFQURFUlMg
JHtHT2JqZWN0RE9NQmluZGluZ3NfSU5TVEFMTEVEX0hFQURFUlN9KQorc2V0KEdPYmplY3RET01C
aW5kaW5nc19HSVJfSEVBREVSUyAke0dPYmplY3RET01CaW5kaW5nc1N0YWJsZV9JTlNUQUxMRURf
SEVBREVSU30pCiBsaXN0KFJFTU9WRV9JVEVNIEdPYmplY3RET01CaW5kaW5nc19HSVJfSEVBREVS
UwogICAgICBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmgKICAgICAgYmlu
ZGluZ3MvZ29iamVjdC9XZWJLaXRET01Ob2RlRmlsdGVyLmgK
</data>
<flag name="review"
          id="260534"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>