| Index: content/common/input/input_handler.mojom
 | 
| diff --git a/content/common/input/input_handler.mojom b/content/common/input/input_handler.mojom
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..fae10f96c1d3d7eacec511775e4f7800e2e404a8
 | 
| --- /dev/null
 | 
| +++ b/content/common/input/input_handler.mojom
 | 
| @@ -0,0 +1,84 @@
 | 
| +// Copyright 2017 The Chromium Authors. All rights reserved.
 | 
| +// Use of this source code is governed by a BSD-style license that can be
 | 
| +// found in the LICENSE file.
 | 
| +
 | 
| +module content.mojom;
 | 
| +
 | 
| +import "mojo/common/string16.mojom";
 | 
| +import "services/ui/public/interfaces/ime/ime.mojom";
 | 
| +import "ui/gfx/geometry/mojo/geometry.mojom";
 | 
| +
 | 
| +interface WidgetInputHandler {
 | 
| +  // TODO(dtapuska): Implement me.
 | 
| +};
 | 
| +
 | 
| +// This interface provides the input actions associated with the RenderFrame.
 | 
| +// Other input actions may also be dispatched via the WidgetInputHandler
 | 
| +// interface. If frame input actions are dispatched the WidgetInputHandler
 | 
| +// should be fetched via the associated interface request so that input calls
 | 
| +// remain in order. See https://goo.gl/x4ee8A for more details.
 | 
| +interface FrameInputHandler {
 | 
| +  // Sets the text composition to be between the given start and end offsets in
 | 
| +  // the currently focused editable field.
 | 
| +  SetCompositionFromExistingText(
 | 
| +      int32 start, int32 end, array<ui.mojom.CompositionUnderline> underlines);
 | 
| +
 | 
| +  // Deletes the current selection plus the specified number of characters
 | 
| +  // before and after the selection or caret.
 | 
| +  ExtendSelectionAndDelete(int32 before, int32 after);
 | 
| +
 | 
| +  // Deletes text before and after the current cursor position, excluding the
 | 
| +  // selection. The lengths are supplied in Java chars (UTF-16 Code Unit),
 | 
| +  // not in code points or in glyphs.
 | 
| +  DeleteSurroundingText(int32 before, int32 after);
 | 
| +
 | 
| +  // Deletes text before and after the current cursor position, excluding the
 | 
| +  // selection. The lengths are supplied in code points, not in Java chars
 | 
| +  // (UTF-16 Code Unit) or in glyphs. Does nothing if there are one or more
 | 
| +  // invalid surrogate pairs in the requested range
 | 
| +  DeleteSurroundingTextInCodePoints(int32 before, int32 after);
 | 
| +
 | 
| +  // Selects between the given start and end offsets in the currently focused
 | 
| +  // editable field.
 | 
| +  SetEditableSelectionOffsets(int32 start, int32 end);
 | 
| +
 | 
| +  // Message payload is the name/value of a WebCore edit command to execute.
 | 
| +  ExecuteEditCommand(string command, mojo.common.mojom.String16? value);
 | 
| +
 | 
| +  // These messages are typically generated from context menus and request the
 | 
| +  // renderer to apply the specified operation to the current selection.
 | 
| +  Undo();
 | 
| +  Redo();
 | 
| +  Cut();
 | 
| +  Copy();
 | 
| +  CopyToFindPboard();
 | 
| +  Paste();
 | 
| +  PasteAndMatchStyle();
 | 
| +  Delete();
 | 
| +  SelectAll();
 | 
| +  CollapseSelection();
 | 
| +
 | 
| +  // Replaces the selected region or a word around the cursor with the
 | 
| +  // specified string.
 | 
| +  Replace(mojo.common.mojom.String16 word);
 | 
| +
 | 
| +  // Replaces the misspelling in the selected region with the specified string.
 | 
| +  ReplaceMisspelling(mojo.common.mojom.String16 word);
 | 
| +
 | 
| +  // Requests the renderer to select the region between two points.
 | 
| +  // Expects a SelectRange_ACK message when finished.
 | 
| +  SelectRange(gfx.mojom.Point base, gfx.mojom.Point extent);
 | 
| +
 | 
| +  // Sent by the browser to ask the renderer to adjust the selection start and
 | 
| +  // end points by the given amounts. A negative amount moves the selection
 | 
| +  // towards the beginning of the document, a positive amount moves the
 | 
| +  // selection towards the end of the document.
 | 
| +  AdjustSelectionByCharacterOffset(int32 start, int32 end);
 | 
| +
 | 
| +  // Requests the renderer to move the selection extent point to a new position.
 | 
| +  // Expects a MoveRangeSelectionExtent_ACK message when finished.
 | 
| +  MoveRangeSelectionExtent(gfx.mojom.Point extent);
 | 
| +
 | 
| +  // TODO(dtapuska): Implement WidgetInputHandler.
 | 
| +  // GetWidgetInputHandler(associated WidgetInputHandler& interface_request);
 | 
| +};
 | 
| 
 |