<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 webkit_web_editor_is_editing_command_enabled()"
   href="https://bugs.webkit.org/show_bug.cgi?id=168219">168219</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[GTK] Add webkit_web_editor_is_editing_command_enabled()
          </td>
        </tr>

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

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

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

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </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>WebKit Gtk
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>mcatanzaro&#64;igalia.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>bugs-noreply&#64;webkitgtk.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Add webkit_web_editor_is_editing_command_enabled() so that context menu item availability can be decided in the web process and then sent to the UI process via the WebKitContextMenu user data. This is superior to sending the WebKitContextMenu from the web process to the UI process without this information, and then subsequently performing several IPC queries from the UI process to the web process to check the availability of editing commands.

I want it to fix a context menu flickering problem in Epiphany. Since we have to show the WebKitContextMenu in a WebKitWebView::context-menu handler, but cannot check the availability of editing commands there without using sync IPC, we currently assume all editing commands are available, add them to the menu, start querying the availability with webkit_web_view_can_execute_editing_command(), show the menu, and later remove them from the menu once that finishes, causing the flicker.</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>