Migrate ViewHostMsg_TakeFocus IPC to mojo

This CL migrates the legacy IPC message out of view_messages.h to
{Local,Remote}MainFrameHost mojo interfaces from Blink.

The ViewHostMsg_Focus IPC method has been migrated both into the
LocalMainFrameHost and RemoteMainFrameHost interfaces, and Blink will
route the message through the correct channel depending on whether the
renderer's main frame is a LocalFrame or a RemoteFrame.

ChromeClient calls to WebView to send the message, previously this went
through the RenderView. Method TakeFocus has been added to the WebView
and methods Focus{Next/Previous} were removed from the RenderView and
WebViewClient.

Bug: 1135180
Change-Id: I6ac1ac344b9863ad685abca369ad14997b27be0b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2475116
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Aaron Colwell <acolwell@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Antia Puentes <apuentes@igalia.com>
Cr-Commit-Position: refs/heads/master@{#818434}
15 files changed
tree: e907f9ba02bfef2f0cc5599e0dc5223f62a0f500
  1. .clang-format
  2. .clang-tidy
  3. .eslintrc.js
  4. .git-blame-ignore-revs
  5. .gitattributes
  6. .gitignore
  7. .gn
  8. .vpython
  9. .vpython3
  10. .yapfignore
  11. AUTHORS
  12. BUILD.gn
  13. CODE_OF_CONDUCT.md
  14. DEPS
  15. DIR_METADATA
  16. ENG_REVIEW_OWNERS
  17. LICENSE
  18. LICENSE.chromium_os
  19. OWNERS
  20. PRESUBMIT.py
  21. PRESUBMIT_test.py
  22. PRESUBMIT_test_mocks.py
  23. README.md
  24. WATCHLISTS
  25. android_webview/
  26. apps/
  27. ash/
  28. base/
  29. build/
  30. build_overrides/
  31. buildtools/
  32. cc/
  33. chrome/
  34. chromecast/
  35. chromeos/
  36. cloud_print/
  37. codelabs/
  38. codereview.settings
  39. components/
  40. content/
  41. courgette/
  42. crypto/
  43. dbus/
  44. device/
  45. docs/
  46. extensions/
  47. fuchsia/
  48. gin/
  49. google_apis/
  50. google_update/
  51. gpu/
  52. headless/
  53. infra/
  54. ios/
  55. ipc/
  56. jingle/
  57. media/
  58. mojo/
  59. native_client_sdk/
  60. net/
  61. pdf/
  62. ppapi/
  63. printing/
  64. remoting/
  65. rlz/
  66. sandbox/
  67. services/
  68. skia/
  69. sql/
  70. storage/
  71. styleguide/
  72. testing/
  73. third_party/
  74. tools/
  75. ui/
  76. url/
  77. weblayer/
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.