<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Web Inspector: Jump from a computed style to the rule it came from"
   href="https://bugs.webkit.org/show_bug.cgi?id=120640#c12">Comment # 12</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Web Inspector: Jump from a computed style to the rule it came from"
   href="https://bugs.webkit.org/show_bug.cgi?id=120640">bug 120640</a>
              from <span class="vcard"><a class="email" href="mailto:timothy&#64;apple.com" title="Timothy Hatcher &lt;timothy&#64;apple.com&gt;"> <span class="fn">Timothy Hatcher</span></a>
</span></b>
        <pre>Comment on <span class=""><a href="attachment.cgi?id=253869&amp;action=diff" name="attach_253869" title="Patch">attachment 253869</a> <a href="attachment.cgi?id=253869&amp;action=edit" title="Patch">[details]</a></span>
Patch

View in context: <a href="https://bugs.webkit.org/attachment.cgi?id=253869&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=253869&amp;action=review</a>

Almost there!

<span class="quote">&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js:214
&gt; +                this._codeMirror.setSelection(selection.from, selection.to);</span >

You might want to do this which we use in TextEditor to scroll:

    _scrollIntoViewCentered(position)
    {
        var scrollInfo = this._codeMirror.getScrollInfo();
        var lineHeight = Math.ceil(this._codeMirror.defaultTextHeight());
        var margin = Math.floor((scrollInfo.clientHeight - lineHeight) / 2);
        this._codeMirror.scrollIntoView(position, margin);
    }

Might not need to make it as complex, it would be good to share that code. Maybe in CodeMirrorAdditions.js?

You can remove the scrollIntoView from CSSStyleDeclarationSection then.

<span class="quote">&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js:482
&gt; +                &amp;&amp; !property.implicit
&gt; +                &amp;&amp; typeof this._delegate.cssStyleDeclarationTextEditorShowProperty === &quot;function&quot;) {</span >

I'd put these on the same line.

<span class="quote">&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js:491
&gt; +            var arrowMarker = this._codeMirror.setUniqueBookmark(to, arrowElement);</span >

You never use arrowMarker, you can drop the var.

<span class="quote">&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js:146
&gt; +        this._navigationBar.updateLayout();</span >

Why is this needed? It should happen automatically.

<span class="quote">&gt; Source/WebInspectorUI/UserInterface/Views/RulesStyleDetailsPanel.js:298
&gt; +            delete this._propertyToSelectAndHighlight;</span >

We are trying to avoid delete for performance reasons. This can just be:

this._propertyToSelectAndHighlight = null;</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>