<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] Add WebKitWebView::caret/focus-position-changed signal"
   href="https://bugs.webkit.org/show_bug.cgi?id=157790">157790</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[GTK] Add WebKitWebView::caret/focus-position-changed signal
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Local Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>WebKit2
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mcrha&#64;redhat.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>tpopela&#64;redhat.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>It would be pretty handy to have &quot;caret-position-changed&quot;/&quot;focus-position-changed&quot; signals on the UIProcess side, thus on the WebKitWebView, to which one would be able to connect and listen for the changes on the caret position (the focus position is for the read-only WebView-s, when the Tab circles between focusable elements, like anchors, inputs and similar, but otherwise has the same meaning).

The idea for this signal is to help in case of the GNOME-related bug [1]. It asks for a way to allow the scrolling to be fully managed by the WebView owner, not by the WebView itself. For this the cursor/focus position change notifications are needed, to be able to properly scroll the content to the place where the user is focusing his/her interest.

I hope it's understood what I mean, but just in case, when tabbing between anchors/inputs/... inside the WebView the scrolled window should make sure that the currently focused anchor is shown in the view; similarly when moving the cursor when having a caret mode on, or when moving the cursor in the editor mode (contenteditable). It would be nice not only to receive the position of the cursor (x,y coordinates), but also the size of the focused area (width,height values), which can be [0,cursor-height] in case of the cursor and [anchor-width,anchor-height] in case of the selected anchor, and so on. Cursor movement inside an input element should be also notified (like when typing/moving inside a TextArea).

[1] <a href="https://bugzilla.gnome.org/show_bug.cgi?id=763863">https://bugzilla.gnome.org/show_bug.cgi?id=763863</a></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>