<!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>[193379] trunk/Websites/webkit.org</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/193379">193379</a></dd>
<dt>Author</dt> <dd>jond@apple.com</dd>
<dt>Date</dt> <dd>2015-12-03 14:47:29 -0800 (Thu, 03 Dec 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add sub-section anchors to code style guidelines
https://bugs.webkit.org/show_bug.cgi?id=151770

Reviewed by Timothy Hatcher.

* code-style.md:
* wp-content/plugins/table-of-contents.php:
* wp-content/themes/webkit/includes.php:
* wp-content/themes/webkit/style.css:
(a[name]):
(p &gt; a[name]::before):
(a[name]:hover):
(h6 a[name]):
(.admin-bar a[name]):
(.admin-bar p &gt; a[name]::before):
(.screen-reader-text):
(.table-of-contents ul li &gt; ul):
(#post-4132 pre:nth-child(-n+10)):
(#post-4132 pre:nth-child(-n+8)): Deleted.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkWebsiteswebkitorgChangeLog">trunk/Websites/webkit.org/ChangeLog</a></li>
<li><a href="#trunkWebsiteswebkitorgcodestylemd">trunk/Websites/webkit.org/code-style.md</a></li>
<li><a href="#trunkWebsiteswebkitorgwpcontentpluginstableofcontentsphp">trunk/Websites/webkit.org/wp-content/plugins/table-of-contents.php</a></li>
<li><a href="#trunkWebsiteswebkitorgwpcontentthemeswebkitincludesphp">trunk/Websites/webkit.org/wp-content/themes/webkit/includes.php</a></li>
<li><a href="#trunkWebsiteswebkitorgwpcontentthemeswebkitstylecss">trunk/Websites/webkit.org/wp-content/themes/webkit/style.css</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkWebsiteswebkitorgChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/ChangeLog (193378 => 193379)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/ChangeLog        2015-12-03 22:41:36 UTC (rev 193378)
+++ trunk/Websites/webkit.org/ChangeLog        2015-12-03 22:47:29 UTC (rev 193379)
</span><span class="lines">@@ -1,3 +1,25 @@
</span><ins>+2015-12-03  Jonathan Davis  &lt;jond@apple.com&gt;
+
+        Add sub-section anchors to code style guidelines
+        https://bugs.webkit.org/show_bug.cgi?id=151770
+
+        Reviewed by Timothy Hatcher.
+
+        * code-style.md:
+        * wp-content/plugins/table-of-contents.php:
+        * wp-content/themes/webkit/includes.php:
+        * wp-content/themes/webkit/style.css:
+        (a[name]):
+        (p &gt; a[name]::before):
+        (a[name]:hover):
+        (h6 a[name]):
+        (.admin-bar a[name]):
+        (.admin-bar p &gt; a[name]::before):
+        (.screen-reader-text):
+        (.table-of-contents ul li &gt; ul):
+        (#post-4132 pre:nth-child(-n+10)):
+        (#post-4132 pre:nth-child(-n+8)): Deleted.
+
</ins><span class="cx"> 2015-12-01  Jonathan Davis  &lt;jond@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Updated favicon.ico with the new logo.
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgcodestylemd"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/code-style.md (193378 => 193379)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/code-style.md        2015-12-03 22:41:36 UTC (rev 193378)
+++ trunk/Websites/webkit.org/code-style.md        2015-12-03 22:47:29 UTC (rev 193379)
</span><span class="lines">@@ -1,7 +1,9 @@
</span><span class="cx"> ### Indentation
</span><span class="cx"> 
</span><del>-Use spaces, not tabs. The indent size is 4 spaces. Tabs should only appear in files that require them for semantic meaning, like Makefiles.
</del><ins>+[](#indentation-no-tabs) Use spaces, not tabs. Tabs should only appear in files that require them for semantic meaning, like Makefiles.
</ins><span class="cx"> 
</span><ins>+[](#indentation-4-spaces) The indent size is 4 spaces.
+
</ins><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -20,7 +22,7 @@
</span><span class="cx"> }
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-The contents of an outermost `namespace` block (and any nested namespaces with the same scope) should not be indented. The contents of other nested namespaces should be indented.
</del><ins>+[](#indentation-namespace) The contents of an outermost `namespace` block (and any nested namespaces with the same scope) should not be indented. The contents of other nested namespaces should be indented.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -78,9 +80,8 @@
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#indentation-case-label) A case label should line up with its switch statement. The case statement is indented.
</ins><span class="cx"> 
</span><del>-A case label should line up with its switch statement. The case statement is indented.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -107,9 +108,8 @@
</span><span class="cx"> }
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#indentation-wrap-bool-op) Boolean expressions at the same nesting level that span multiple lines should have their operators on the left side of the line instead of the right side.
</ins><span class="cx"> 
</span><del>-Boolean expressions at the same nesting level that span multiple lines should have their operators on the left side of the line instead of the right side.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Spacing
</span><span class="cx"> 
</span><del>-Do not place spaces around unary operators.
</del><ins>+[](#spacing-unary-op) Do not place spaces around unary operators.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -145,9 +145,8 @@
</span><span class="cx"> i ++;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#spacing-binary-ternary-op) **Do** place spaces around binary and ternary operators.
</ins><span class="cx"> 
</span><del>-**Do** place spaces around binary and ternary operators.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -166,9 +165,8 @@
</span><span class="cx"> return condition ? 1:0;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#spacing-for-colon) Place spaces around the colon in a range-based for loop.
</ins><span class="cx"> 
</span><del>-Place spaces around the colon in a range-based for loop.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -185,9 +183,8 @@
</span><span class="cx">     registerPlugin(plugin);
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#spacing-comma-semicolon) Do not place spaces before comma and semicolon.
</ins><span class="cx"> 
</span><del>-Do not place spaces before comma and semicolon.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -206,9 +203,8 @@
</span><span class="cx"> f(a , b) ;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#spacing-control-paren) Place spaces between control statements and their parentheses.
</ins><span class="cx"> 
</span><del>-Place spaces between control statements and their parentheses.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -223,9 +219,8 @@
</span><span class="cx">     doIt();
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#spacing-function-paren) Do not place spaces between a function and its parentheses, or between a parenthesis and its content.
</ins><span class="cx"> 
</span><del>-Do not place spaces between a function and its parentheses, or between a parenthesis and its content.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -241,7 +236,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Line breaking
</span><span class="cx"> 
</span><del>-Each statement should get its own line.
</del><ins>+[](#linebreaking-multiple-statements) Each statement should get its own line.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -259,7 +254,7 @@
</span><span class="cx"> if (condition) doIt();
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-An `else` statement should go on the same line as a preceding close brace if one is present, else it should line up with the `if` statement.
</del><ins>+[](#linebreaking-else-braces) An `else` statement should go on the same line as a preceding close brace if one is present, else it should line up with the `if` statement.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -299,9 +294,8 @@
</span><span class="cx"> }
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#linebreaking-else-if) An `else if` statement should be written as an `if` statement when the prior `if` concludes with a `return` statement.
</ins><span class="cx"> 
</span><del>-An `else if` statement should be written as an `if` statement when the prior `if` concludes with a `return` statement.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -327,7 +321,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Braces
</span><span class="cx"> 
</span><del>-Function definitions: place each brace on its own line.
</del><ins>+[](#braces-function) Function definitions: place each brace on its own line.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -346,7 +340,7 @@
</span><span class="cx"> }
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Other braces: place the open brace on the line preceding the code block; place the close brace on its own line.
</del><ins>+[](#braces-blocks) Other braces: place the open brace on the line preceding the code block; place the close brace on its own line.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -373,7 +367,7 @@
</span><span class="cx"> };
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-One-line control clauses should not use braces unless comments are included or a single statement spans multiple lines.
</del><ins>+[](#braces-one-line) One-line control clauses should not use braces unless comments are included or a single statement spans multiple lines.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -408,9 +402,8 @@
</span><span class="cx">         reallyLongParam5);
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#braces-empty-block) Control clauses without a body should use empty braces:
</ins><span class="cx"> 
</span><del>-Control clauses without a body should use empty braces:
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -425,11 +418,11 @@
</span><span class="cx"> 
</span><span class="cx"> ### Null, false and zero
</span><span class="cx"> 
</span><del>-In C++, the null pointer value should be written as `nullptr`. In C, it should be written as `NULL`. In Objective-C and Objective-C++, follow the guideline for C or C++, respectively, but use `nil` to represent a null Objective-C object.
</del><ins>+[](#zero-null) In C++, the null pointer value should be written as `nullptr`. In C, it should be written as `NULL`. In Objective-C and Objective-C++, follow the guideline for C or C++, respectively, but use `nil` to represent a null Objective-C object.
</ins><span class="cx"> 
</span><del>-C++ and C `bool` values should be written as `true` and `false`. Objective-C `BOOL` values should be written as `YES` and `NO`.
</del><ins>+[](#zero-bool) C++ and C `bool` values should be written as `true` and `false`. Objective-C `BOOL` values should be written as `YES` and `NO`.
</ins><span class="cx"> 
</span><del>-Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.
</del><ins>+[](#zero-comparison) Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -457,11 +450,11 @@
</span><span class="cx">     return;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-In Objective-C, instance variables are initialized to zero automatically. Don't add explicit initializations to nil or NO in an init method.
</del><ins>+[](#zero-objc-variables) In Objective-C, instance variables are initialized to zero automatically. Don't add explicit initializations to nil or NO in an init method.
</ins><span class="cx"> 
</span><span class="cx"> ### Floating point literals
</span><span class="cx"> 
</span><del>-Unless required in order to force floating point math, do not append `.0`, `.f` and `.0f` to floating point literals.
</del><ins>+[](#float-suffixes) Unless required in order to force floating point math, do not append `.0`, `.f` and `.0f` to floating point literals.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -497,7 +490,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Names
</span><span class="cx"> 
</span><del>-Use CamelCase. Capitalize the first letter, including all letters in an acronym, in a class, struct, protocol, or namespace name. Lower-case the first letter, including all letters in an acronym, in a variable or function name.
</del><ins>+[](#names-basic) Use CamelCase. Capitalize the first letter, including all letters in an acronym, in a class, struct, protocol, or namespace name. Lower-case the first letter, including all letters in an acronym, in a variable or function name.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -517,7 +510,7 @@
</span><span class="cx"> String MIMEType();
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Use full words, except in the rare case where an abbreviation would be more canonical and easier to understand.
</del><ins>+[](#names-full-words) Use full words, except in the rare case where an abbreviation would be more canonical and easier to understand.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -535,7 +528,7 @@
</span><span class="cx"> short tabulationIndex; // bizarre
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Data members in C++ classes should be private. Static data members should be prefixed by &quot;s_&quot;. Other data members should be prefixed by &quot;m_&quot;.
</del><ins>+[](#names-data-members) Data members in C++ classes should be private. Static data members should be prefixed by &quot;s_&quot;. Other data members should be prefixed by &quot;m_&quot;.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -560,7 +553,7 @@
</span><span class="cx"> };
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Prefix Objective-C instance variables with &quot;_&quot;.
</del><ins>+[](#names-objc-instance-variables) Prefix Objective-C instance variables with &quot;_&quot;.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -580,7 +573,7 @@
</span><span class="cx"> @end
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Precede boolean values with words like &quot;is&quot; and &quot;did&quot;.
</del><ins>+[](#names-bool) Precede boolean values with words like &quot;is&quot; and &quot;did&quot;.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -596,7 +589,7 @@
</span><span class="cx"> bool sentData;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Precede setters with the word &quot;set&quot;. Use bare words for getters. Setter and getter names should match the names of the variables being set/gotten.
</del><ins>+[](#names-setter-getter) Precede setters with the word &quot;set&quot;. Use bare words for getters. Setter and getter names should match the names of the variables being set/gotten.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -612,7 +605,7 @@
</span><span class="cx"> size_t getCount();
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Precede getters that return values through out arguments with the word &quot;get&quot;.
</del><ins>+[](#names-out-argument) Precede getters that return values through out arguments with the word &quot;get&quot;.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -626,7 +619,7 @@
</span><span class="cx"> void inlineBoxAndOffset(InlineBox*&amp;, int&amp; caretOffset) const;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Use descriptive verbs in function names.
</del><ins>+[](#names-verb) Use descriptive verbs in function names.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -640,7 +633,7 @@
</span><span class="cx"> bool toASCII(short*, size_t);
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Leave meaningless variable names out of function declarations. A good rule of thumb is if the parameter type name contains the parameter name (without trailing numbers or pluralization), then the parameter name isn't needed. Usually, there should be a parameter name for bools, strings, and numerical types.
</del><ins>+[](#names-variable-name-in-function-decl) Leave meaningless variable names out of function declarations. A good rule of thumb is if the parameter type name contains the parameter name (without trailing numbers or pluralization), then the parameter name isn't needed. Usually, there should be a parameter name for bools, strings, and numerical types.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -658,7 +651,7 @@
</span><span class="cx"> void doSomething(ScriptExecutionContext* context);
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Prefer enums to bools on function parameters if callers are likely to be passing constants, since named constants are easier to read at the call site. An exception to this rule is a setter function, where the name of the function already makes clear what the boolean is.
</del><ins>+[](#names-enum-to-bool) Prefer enums to bools on function parameters if callers are likely to be passing constants, since named constants are easier to read at the call site. An exception to this rule is a setter function, where the name of the function already makes clear what the boolean is.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -675,15 +668,15 @@
</span><span class="cx"> setResizable(NotResizable);
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Objective-C method names should follow the Cocoa naming guidelines — they should read like a phrase and each piece of the selector should start with a lowercase letter and use intercaps.
</del><ins>+[](#names-objc-methods) Objective-C method names should follow the Cocoa naming guidelines — they should read like a phrase and each piece of the selector should start with a lowercase letter and use intercaps.
</ins><span class="cx"> 
</span><del>-Enum members should use InterCaps with an initial capital letter.
</del><ins>+[](#names-enum-members) Enum members should use InterCaps with an initial capital letter.
</ins><span class="cx"> 
</span><del>-Prefer `const` to `#define`. Prefer inline functions to macros.
</del><ins>+[](#names-const-to-define) Prefer `const` to `#define`. Prefer inline functions to macros.
</ins><span class="cx"> 
</span><del>-`#defined` constants should use all uppercase names with words separated by underscores.
</del><ins>+[](#names-define-constants) `#defined` constants should use all uppercase names with words separated by underscores.
</ins><span class="cx"> 
</span><del>-Macros that expand to function calls or other non-constant computation: these should be named like functions, and should have parentheses at the end, even if they take no arguments (with the exception of some special macros like ASSERT). Note that usually it is preferable to use an inline function in such cases instead of a macro.
</del><ins>+[](#names-define-non-const) Macros that expand to function calls or other non-constant computation: these should be named like functions, and should have parentheses at the end, even if they take no arguments (with the exception of some special macros like ASSERT). Note that usually it is preferable to use an inline function in such cases instead of a macro.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -702,7 +695,7 @@
</span><span class="cx">         NSLocalizedString(@&quot;Stop&quot;, @&quot;Stop button title&quot;)
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-`#define`, `#ifdef` &quot;header guards&quot; should be named exactly the same as the file (including case), replacing the `.` with a `_`.
</del><ins>+[](#names-header-guards) `#define`, `#ifdef` &quot;header guards&quot; should be named exactly the same as the file (including case), replacing the `.` with a `_`.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -722,7 +715,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Other Punctuation
</span><span class="cx"> 
</span><del>-Constructors for C++ classes should initialize all of their members using C++ initializer syntax. Each member (and superclass) should be indented on a separate line, with the colon or comma preceding the member on that line.
</del><ins>+[](#punctuation-member-init) Constructors for C++ classes should initialize all of their members using C++ initializer syntax. Each member (and superclass) should be indented on a separate line, with the colon or comma preceding the member on that line.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -752,7 +745,7 @@
</span><span class="cx"> MyOtherClass::MyOtherClass() : MySuperClass() {}
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Prefer index over iterator in Vector iterations for terse, easier-to-read code.
</del><ins>+[](#punctuation-vector-index) Prefer index over iterator in Vector iterations for terse, easier-to-read code.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -780,10 +773,10 @@
</span><span class="cx"> 
</span><span class="cx"> ### Pointers and References
</span><span class="cx"> 
</span><del>-**Pointer types in non-C++ code**
</del><ins>+[](#pointers-non-cpp) **Pointer types in non-C++ code**
</ins><span class="cx"> Pointer types should be written with a space between the type and the `*` (so the `*` is adjacent to the following identifier if any).
</span><span class="cx"> 
</span><del>-**Pointer and reference types in C++ code**
</del><ins>+[](#pointers-cpp) **Pointer and reference types in C++ code**
</ins><span class="cx"> Both pointer types and reference types should be written with no space between the type name and the `*` or `&amp;`.
</span><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="lines">@@ -804,9 +797,8 @@
</span><span class="cx">     const KCDashArray &amp;dashes = dashArray();
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#pointers-out-argument) An out argument of a function should be passed by reference except rare cases where it is optional in which case it should be passed by pointer.
</ins><span class="cx"> 
</span><del>-An out argument of a function should be passed by reference except rare cases where it is optional in which case it should be passed by pointer.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -832,10 +824,9 @@
</span><span class="cx"> }
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> ### #include Statements
</span><span class="cx"> 
</span><del>-All implementation files must `#include` `config.h` first. Header files should never include `config.h`.
</del><ins>+[](#include-config-h) All implementation files must `#include` `config.h` first. Header files should never include `config.h`.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -857,9 +848,9 @@
</span><span class="cx"> #include &quot;Node.h&quot;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-All implementation files must `#include` the primary header second, just after `config.h`. So for example, `Node.cpp` should include `Node.h` first, before other files. This guarantees that each header's completeness is tested. This also assures that each header can be compiled without requiring any other header files be included first.
</del><ins>+[](#include-primary) All implementation files must `#include` the primary header second, just after `config.h`. So for example, `Node.cpp` should include `Node.h` first, before other files. This guarantees that each header's completeness is tested. This also assures that each header can be compiled without requiring any other header files be included first.
</ins><span class="cx"> 
</span><del>-Other `#include` statements should be in sorted order (case sensitive, as done by the command-line sort tool or the Xcode sort selection command). Don't bother to organize them in a logical order.
</del><ins>+[](#include-others) Other `#include` statements should be in sorted order (case sensitive, as done by the command-line sort tool or the Xcode sort selection command). Don't bother to organize them in a logical order.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -883,9 +874,8 @@
</span><span class="cx"> #include &quot;Attribute.h&quot;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#include-system) Includes of system headers must come after includes of other headers.
</ins><span class="cx"> 
</span><del>-Includes of system headers must come after includes of other headers.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -914,7 +904,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### &quot;using&quot; Statements
</span><span class="cx"> 
</span><del>-In header files, do not use &quot;using&quot; statements in namespace (or global) scope.
</del><ins>+[](#using-in-headers) In header files, do not use &quot;using&quot; statements in namespace (or global) scope.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -947,9 +937,8 @@
</span><span class="cx"> } // namespace WTF
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#using-wtf) In header files in the WTF sub-library, however, it is acceptable to use &quot;using&quot; declarations at the end of the file to import one or more names in the WTF namespace into the global scope.
</ins><span class="cx"> 
</span><del>-In header files in the WTF sub-library, however, it is acceptable to use &quot;using&quot; declarations at the end of the file to import one or more names in the WTF namespace into the global scope.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -986,9 +975,8 @@
</span><span class="cx"> using WTF::PlacementNewAdopt;
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#using-in-cpp) In C++ implementation files, do not use &quot;using&quot; declarations of any kind to import names in the standard template library. Directly qualify the names at the point they're used instead.
</ins><span class="cx"> 
</span><del>-In C++ implementation files, do not use &quot;using&quot; declarations of any kind to import names in the standard template library. Directly qualify the names at the point they're used instead.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -1030,9 +1018,8 @@
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#using-nested-namespaces) In implementation files, if a &quot;using namespace&quot; statement is for a nested namespace whose parent namespace is defined in the file, put the statement inside that namespace definition.
</ins><span class="cx"> 
</span><del>-In implementation files, if a &quot;using namespace&quot; statement is for a nested namespace whose parent namespace is defined in the file, put the statement inside that namespace definition.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -1057,9 +1044,8 @@
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> ```
</span><span class="cx"> 
</span><ins>+[](#using-position) In implementation files, put all other &quot;using&quot; statements at the beginning of the file, before any namespace definitions and after any &quot;include&quot; statements.
</ins><span class="cx"> 
</span><del>-In implementation files, put all other &quot;using&quot; statements at the beginning of the file, before any namespace definitions and after any &quot;include&quot; statements.
-
</del><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="cx"> ```cpp
</span><span class="lines">@@ -1086,7 +1072,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Types
</span><span class="cx"> 
</span><del>-Omit &quot;int&quot; when using &quot;unsigned&quot; modifier. Do not use &quot;signed&quot; modifier. Use &quot;int&quot; by itself instead.
</del><ins>+[](#types-unsigned) Omit &quot;int&quot; when using &quot;unsigned&quot; modifier. Do not use &quot;signed&quot; modifier. Use &quot;int&quot; by itself instead.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -1105,7 +1091,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Classes
</span><span class="cx"> 
</span><del>-Use a constructor to do an implicit conversion when the argument is reasonably thought of as a type conversion and the type conversion is fast. Otherwise, use the explicit keyword or a function returning the type. This only applies to single argument constructors.
</del><ins>+[](#classes-explicit) Use a constructor to do an implicit conversion when the argument is reasonably thought of as a type conversion and the type conversion is fast. Otherwise, use the explicit keyword or a function returning the type. This only applies to single argument constructors.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -1136,7 +1122,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Singleton pattern
</span><span class="cx"> 
</span><del>-Use a static member function named &quot;singleton()&quot; to access the instance of the singleton.
</del><ins>+[](#singleton-static-member) Use a static member function named &quot;singleton()&quot; to access the instance of the singleton.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -1168,7 +1154,7 @@
</span><span class="cx"> 
</span><span class="cx"> ### Comments
</span><span class="cx"> 
</span><del>-Use only _one_ space before end of line comments and in between sentences in comments.
</del><ins>+[](#comments-eol) Use only _one_ space before end of line comments and in between sentences in comments.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span><span class="lines">@@ -1183,9 +1169,9 @@
</span><span class="cx"> double f; // This is another comment.  There are two spaces before this sentence which is a non-conforming style.
</span><span class="cx"> ```
</span><span class="cx"> 
</span><del>-Make comments look like sentences by starting with a capital letter and ending with a period (punctation). One exception may be end of line comments like this `if (x == y) // false for NaN`.
</del><ins>+[](#comments-sentences) Make comments look like sentences by starting with a capital letter and ending with a period (punctation). One exception may be end of line comments like this `if (x == y) // false for NaN`.
</ins><span class="cx"> 
</span><del>-Use FIXME: (without attribution) to denote items that need to be addressed in the future.
</del><ins>+[](#comments-fixme) Use FIXME: (without attribution) to denote items that need to be addressed in the future.
</ins><span class="cx"> 
</span><span class="cx"> ###### Right:
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgwpcontentpluginstableofcontentsphp"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/wp-content/plugins/table-of-contents.php (193378 => 193379)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/wp-content/plugins/table-of-contents.php        2015-12-03 22:41:36 UTC (rev 193378)
+++ trunk/Websites/webkit.org/wp-content/plugins/table-of-contents.php        2015-12-03 22:47:29 UTC (rev 193379)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx">     public static function filterIndex($value, $key) {
</span><span class="cx">         list($level, $anchor) = explode('::', $key);
</span><del>-        if ( $level &lt; 4 ) self::$toc[ $key ] = $value;
</del><ins>+        if ( $level &lt; 3 ) self::$toc[ $key ] = $value;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     public static function renderMarkup() {
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgwpcontentthemeswebkitincludesphp"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/wp-content/themes/webkit/includes.php (193378 => 193379)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/wp-content/themes/webkit/includes.php        2015-12-03 22:41:36 UTC (rev 193378)
+++ trunk/Websites/webkit.org/wp-content/themes/webkit/includes.php        2015-12-03 22:47:29 UTC (rev 193379)
</span><span class="lines">@@ -18,9 +18,15 @@
</span><span class="cx">             ob_start();
</span><span class="cx">             include $path . '/' . $file;
</span><span class="cx">             $content = ob_get_clean();
</span><del>-        
</del><ins>+
+            // Handle sub-section anchors
+            $content = preg_replace('/\[]\(\#([^\)]+)\)\s+?/', '&lt;a href=&quot;#$1&quot; name=&quot;$1&quot;&gt;&lt;/a&gt;', $content);
+            
+            // Transform Markdown
</ins><span class="cx">             $Markdown = WPCom_Markdown::get_instance();
</span><span class="cx">             $content = wp_unslash( $Markdown-&gt;transform($content) );
</span><ins>+            
+            // Index table of contents
</ins><span class="cx">             $content = table_of_contents_index($content, get_the_ID());
</span><span class="cx">             
</span><span class="cx">             set_transient($cachekey, $content, DAY_IN_SECONDS);
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgwpcontentthemeswebkitstylecss"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/wp-content/themes/webkit/style.css (193378 => 193379)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/wp-content/themes/webkit/style.css        2015-12-03 22:41:36 UTC (rev 193378)
+++ trunk/Websites/webkit.org/wp-content/themes/webkit/style.css        2015-12-03 22:47:29 UTC (rev 193379)
</span><span class="lines">@@ -97,9 +97,33 @@
</span><span class="cx"> 
</span><span class="cx"> /** Accessibility Helpers **/
</span><span class="cx"> a[name] {
</span><del>-    display: block;
</del><ins>+    display: inline-block;
</ins><span class="cx">     position: relative;
</span><span class="cx">     top: -3rem;
</span><ins>+    color: #ddd;
+    width: 0;
+}
+
+p &gt; a[name]::before {
+    content: &quot;#&quot;;
+    margin-left: -1.7rem;
+    position: relative;
+    top: 3rem;
+    
+}
+
+a[name]:hover {
+    color: #08c;
+    text-decoration: none;
+}
+
+h1 a[name],
+h2 a[name],
+h3 a[name],
+h4 a[name],
+h5 a[name],
+h6 a[name] {
+    display: block;
</ins><span class="cx">     visibility: hidden;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -107,6 +131,10 @@
</span><span class="cx">     top: calc(-32px - 3rem);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+.admin-bar p &gt; a[name]::before {
+    top: calc(32px + 3rem);
+}
+
</ins><span class="cx"> .screen-reader-text {
</span><span class="cx">         clip: rect(1px, 1px, 1px, 1px);
</span><span class="cx">         position: absolute !important;
</span><span class="lines">@@ -1216,7 +1244,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> .with-toc pre:nth-child(-n+6),
</span><del>-#post-4132 pre:nth-child(-n+8) {
</del><ins>+#post-4132 pre:nth-child(-n+10) {
</ins><span class="cx">     width: 55%;
</span><span class="cx">     z-index: -1;
</span><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>