[devtools] Use `ExecuteJavaScriptMethod` in DevTools

rebase CL 2044170 part 2.
part 1 was merged in CL 2431864.

DevTools uses `ExecuteJavaScriptMethod` instead of `ExecuteJavaScript`, which should reduce serialisation/deserialisation overhead.

Loading Chrome DevTools on the page https://www.facebook.com/Shakira:
Before:
  V8.CompileCode, 130.326 ms, 2227 times
  V8.ParseProgram, 49.329 ms, 1878 times

After:
  V8.CompileCode, 18.571 ms, 343 times
  V8.ParseProgram, 0.053ms, 2 times

Loading Chrome DevTools on Chrome DevTools on the page https://www.facebook.com/Shakira:
DevTools on DevTools
Before:
  V8.CompileCode, 180.928 ms, 3708
  V8.ParseProgram, 59.535 ms, 3700
After:
  V8.CompileCode, 4.956 ms, 92
  V8.ParseFunction, 1.945 ms, 92


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