<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[176920] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/176920">176920</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2014-12-07 05:40:56 -0800 (Sun, 07 Dec 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[GTK] Add Since tags to GObject DOM bindings documentation
https://bugs.webkit.org/show_bug.cgi?id=139356

Reviewed by Gustavo Noronha Silva.

Now that we have a small stable API, and new symbols are added
manually, we can also add the version to the symbols file, that
the code generator can ue to add Since tags to the gtk-doc.

* bindings/gobject/webkitdom.symbols: Add @2.8 to the new symbols
added for 2.8.
* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateConstants): Add Since tag to gtk-doc if there's a version
number for the symbol in the .symbols file.
(GenerateFunction): Ditto.
(ReadStableSymbols):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsgobjectwebkitdomsymbols">trunk/Source/WebCore/bindings/gobject/webkitdom.symbols</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorGObjectpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (176919 => 176920)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-12-07 10:02:52 UTC (rev 176919)
+++ trunk/Source/WebCore/ChangeLog        2014-12-07 13:40:56 UTC (rev 176920)
</span><span class="lines">@@ -1,5 +1,24 @@
</span><span class="cx"> 2014-12-07  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><ins>+        [GTK] Add Since tags to GObject DOM bindings documentation
+        https://bugs.webkit.org/show_bug.cgi?id=139356
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Now that we have a small stable API, and new symbols are added
+        manually, we can also add the version to the symbols file, that
+        the code generator can ue to add Since tags to the gtk-doc.
+
+        * bindings/gobject/webkitdom.symbols: Add @2.8 to the new symbols
+        added for 2.8.
+        * bindings/scripts/CodeGeneratorGObject.pm:
+        (GenerateConstants): Add Since tag to gtk-doc if there's a version
+        number for the symbol in the .symbols file.
+        (GenerateFunction): Ditto.
+        (ReadStableSymbols):
+
+2014-12-07  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
</ins><span class="cx">         [GTK] Missing API detected in GObject DOM bindings after r176630
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=139201
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsgobjectwebkitdomsymbols"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/gobject/webkitdom.symbols (176919 => 176920)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/gobject/webkitdom.symbols        2014-12-07 10:02:52 UTC (rev 176919)
+++ trunk/Source/WebCore/bindings/gobject/webkitdom.symbols        2014-12-07 13:40:56 UTC (rev 176920)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> WebKitDOMCSSStyleSheet* webkit_dom_dom_implementation_create_css_style_sheet(WebKitDOMDOMImplementation*, const gchar*, const gchar*, GError**)
</span><span class="cx"> WebKitDOMHTMLDocument* webkit_dom_dom_implementation_create_html_document(WebKitDOMDOMImplementation*, const gchar*)
</span><span class="cx"> GType webkit_dom_dom_window_get_type(void)
</span><del>-gboolean webkit_dom_dom_window_webkit_message_handlers_post_message(WebKitDOMDOMWindow*, const gchar*, const gchar*)
</del><ins>+gboolean webkit_dom_dom_window_webkit_message_handlers_post_message(WebKitDOMDOMWindow*, const gchar*, const gchar*)@2.8
</ins><span class="cx"> GType webkit_dom_document_get_type(void)
</span><span class="cx"> WebKitDOMDocumentType* webkit_dom_document_get_doctype(WebKitDOMDocument*)
</span><span class="cx"> WebKitDOMHTMLCollection* webkit_dom_document_get_images(WebKitDOMDocument*)
</span><span class="lines">@@ -112,10 +112,10 @@
</span><span class="cx"> WebKitDOMCSSStyleDeclaration* webkit_dom_element_get_style(WebKitDOMElement*)
</span><span class="cx"> gchar* webkit_dom_element_get_class_name(WebKitDOMElement*)
</span><span class="cx"> void webkit_dom_element_set_class_name(WebKitDOMElement*, const gchar*)
</span><del>-void webkit_dom_element_set_inner_html(WebKitDOMElement*, const gchar*, GError**)
-gchar* webkit_dom_element_get_inner_html(WebKitDOMElement*)
-void webkit_dom_element_set_outer_html(WebKitDOMElement*, const gchar*, GError**)
-gchar* webkit_dom_element_get_outer_html(WebKitDOMElement*)
</del><ins>+void webkit_dom_element_set_inner_html(WebKitDOMElement*, const gchar*, GError**)@2.8
+gchar* webkit_dom_element_get_inner_html(WebKitDOMElement*)@2.8
+void webkit_dom_element_set_outer_html(WebKitDOMElement*, const gchar*, GError**)@2.8
+gchar* webkit_dom_element_get_outer_html(WebKitDOMElement*)@2.8
</ins><span class="cx"> gchar* webkit_dom_element_get_tag_name(WebKitDOMElement*)
</span><span class="cx"> WebKitDOMElement* webkit_dom_element_get_offset_parent(WebKitDOMElement*)
</span><span class="cx"> glong webkit_dom_element_get_scroll_left(WebKitDOMElement*)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorGObjectpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (176919 => 176920)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm        2014-12-07 10:02:52 UTC (rev 176919)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm        2014-12-07 13:40:56 UTC (rev 176920)
</span><span class="lines">@@ -760,8 +760,10 @@
</span><span class="cx">             my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($constant);
</span><span class="cx">             my $constantName = $prefix . $constant-&gt;name;
</span><span class="cx">             my $constantValue = $constant-&gt;value;
</span><del>-            my $isStableSymbol = grep {$_ eq $constantName} @stableSymbols;
-            if ($isStableSymbol) {
</del><ins>+            my $stableSymbol = grep {$_ =~ /^\Q$constantName/} @stableSymbols;
+            my $stableSymbolVersion;
+            if ($stableSymbol) {
+                ($dummy, $stableSymbolVersion) = split('@', $stableSymbol, 2);
</ins><span class="cx">                 push(@symbols, &quot;$constantName\n&quot;);
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="lines">@@ -769,12 +771,15 @@
</span><span class="cx">             push(@constantHeader, &quot;#if ${conditionalString}&quot;) if $conditionalString;
</span><span class="cx">             push(@constantHeader, &quot;/**&quot;);
</span><span class="cx">             push(@constantHeader, &quot; * ${constantName}:&quot;);
</span><ins>+            if ($stableSymbolVersion) {
+                push(@constantHeader, &quot; * Since: ${stableSymbolVersion}&quot;);
+            }
</ins><span class="cx">             push(@constantHeader, &quot; */&quot;);
</span><span class="cx">             push(@constantHeader, &quot;#define $constantName $constantValue&quot;);
</span><span class="cx">             push(@constantHeader, &quot;#endif /* ${conditionalString} */&quot;) if $conditionalString;
</span><span class="cx">             push(@constantHeader, &quot;\n&quot;);
</span><span class="cx"> 
</span><del>-            if ($isStableSymbol or !$isStableClass) {
</del><ins>+            if ($stableSymbol or !$isStableClass) {
</ins><span class="cx">                 push(@hBody, join(&quot;\n&quot;, @constantHeader));
</span><span class="cx">             } else {
</span><span class="cx">                 push(@hBodyUnstable, join(&quot;\n&quot;, @constantHeader));
</span><span class="lines">@@ -1006,8 +1011,10 @@
</span><span class="cx"> 
</span><span class="cx">     my $symbol = &quot;$returnType $functionName($symbolSig)&quot;;
</span><span class="cx">     my $isStableClass = scalar(@stableSymbols);
</span><del>-    my $isStableSymbol = grep {$_ eq $symbol} @stableSymbols;
-    if ($isStableSymbol and $isStableClass) {
</del><ins>+    my ($stableSymbol) = grep {$_ =~ /^\Q$symbol/} @stableSymbols;
+    my $stableSymbolVersion;
+    if ($stableSymbol and $isStableClass) {
+        ($dummy, $stableSymbolVersion) = split('@', $stableSymbol, 2);
</ins><span class="cx">         push(@symbols, &quot;$symbol\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1043,17 +1050,22 @@
</span><span class="cx">         push(@functionHeader, &quot; * Returns: A #${returnTypeName}&quot;);
</span><span class="cx">         $hasReturnTag = 1;
</span><span class="cx">     }
</span><del>-    if (!$isStableSymbol) {
</del><ins>+    if (!$stableSymbol) {
</ins><span class="cx">         if ($hasReturnTag) {
</span><span class="cx">             push(@functionHeader, &quot; *&quot;);
</span><span class="cx">         }
</span><span class="cx">         push(@functionHeader, &quot; * Stability: Unstable&quot;);
</span><ins>+    } elsif ($stableSymbolVersion) {
+        if ($hasReturnTag) {
+            push(@functionHeader, &quot; *&quot;);
+        }
+        push(@functionHeader, &quot; * Since: ${stableSymbolVersion}&quot;);
</ins><span class="cx">     }
</span><span class="cx">     push(@functionHeader, &quot;**/&quot;);
</span><span class="cx"> 
</span><span class="cx">     push(@functionHeader, &quot;WEBKIT_API $returnType\n$functionName($functionSig);&quot;);
</span><span class="cx">     push(@functionHeader, &quot;\n&quot;);
</span><del>-    if ($isStableSymbol or !$isStableClass) {
</del><ins>+    if ($stableSymbol or !$isStableClass) {
</ins><span class="cx">         push(@hBody, join(&quot;\n&quot;, @functionHeader));
</span><span class="cx">     } else {
</span><span class="cx">         push(@hBodyUnstable, join(&quot;\n&quot;, @functionHeader));
</span><span class="lines">@@ -1783,17 +1795,19 @@
</span><span class="cx">     foreach $line (@lines) {
</span><span class="cx">         $line =~ s/\n$//;
</span><span class="cx"> 
</span><del>-        if ($line eq &quot;GType ${lowerCaseIfaceName}_get_type(void)&quot;) {
</del><ins>+        my ($symbol) = split('@', $line, 2);
+
+        if ($symbol eq &quot;GType ${lowerCaseIfaceName}_get_type(void)&quot;) {
</ins><span class="cx">             push(@stableSymbols, $line);
</span><span class="cx">             next;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (scalar(@stableSymbols) and IsInterfaceSymbol($line, $lowerCaseIfaceName) and $line !~ /^GType/) {
</del><ins>+        if (scalar(@stableSymbols) and IsInterfaceSymbol($symbol, $lowerCaseIfaceName) and $symbol !~ /^GType/) {
</ins><span class="cx">             push(@stableSymbols, $line);
</span><span class="cx">             next;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (scalar(@stableSymbols) and $line !~ /^GType/) {
</del><ins>+        if (scalar(@stableSymbols) and $symbol !~ /^GType/) {
</ins><span class="cx">             warn &quot;Symbol %line found, but a get_type was expected&quot;;
</span><span class="cx">         }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>