[go: nahoru, domu]

Reland "Change the ownership of ash::TabDragDropDelegate"

This is a reland of 1654d660fb0159a5f57d78d9be8a1f37a9c079bf

Same as original; The reverted CL was not the one causing the failure.
Details in: [1].

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1259127#c2

Original change's description:
> Change the ownership of ash::TabDragDropDelegate
>
> In the current implementation, TabDragDropDelegate runs all its methods
> synchronously and the deletion model is simple: object is deleted
> when it goes out of scope.
> However, to support Lacros' WebUI tab drop, TabDragDropDelegate::Drop()
> becomes naturally asynchronous, since its closure routine needs to
> be called by Lacros.
> Hence, the current ownership model does not work well for lacros,
> since one can not predict when the Drop() closure routine is called.
>
> This CL fixes this by changing the ownership model of
> ash::TabDragDropDelegate to self delete after the Drop()'s closure
> routine is called.
>
> This is a preparation email for fully support WebUI tab drop.
>
> BUG=1236708
> R=oshima@chromium.org
>
> Change-Id: I330f35f9697a27fc3a35454f059cb3377378a718
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3203250
> Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
> Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#930161}

Bug: 1236708
Change-Id: I4d09f225c7e9c8d76613ff693ac03152f2c7b27d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3220950
Auto-Submit: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Cr-Commit-Position: refs/heads/main@{#931022}
4 files changed
tree: 88f6338d79bdb4f027c22d4673acbf5a5f28d74e
  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. codelabs/
  14. components/
  15. content/
  16. courgette/
  17. crypto/
  18. dbus/
  19. device/
  20. docs/
  21. extensions/
  22. fuchsia/
  23. gin/
  24. google_apis/
  25. google_update/
  26. gpu/
  27. headless/
  28. infra/
  29. ios/
  30. ipc/
  31. jingle/
  32. media/
  33. mojo/
  34. native_client_sdk/
  35. net/
  36. pdf/
  37. ppapi/
  38. printing/
  39. remoting/
  40. rlz/
  41. sandbox/
  42. services/
  43. skia/
  44. sql/
  45. storage/
  46. styleguide/
  47. testing/
  48. third_party/
  49. tools/
  50. ui/
  51. url/
  52. weblayer/
  53. .clang-format
  54. .clang-tidy
  55. .eslintrc.js
  56. .git-blame-ignore-revs
  57. .gitattributes
  58. .gitignore
  59. .gn
  60. .mailmap
  61. .rustfmt.toml
  62. .vpython
  63. .vpython3
  64. .yapfignore
  65. AUTHORS
  66. BUILD.gn
  67. CODE_OF_CONDUCT.md
  68. codereview.settings
  69. DEPS
  70. DIR_METADATA
  71. ENG_REVIEW_OWNERS
  72. LICENSE
  73. LICENSE.chromium_os
  74. OWNERS
  75. PRESUBMIT.py
  76. PRESUBMIT_test.py
  77. PRESUBMIT_test_mocks.py
  78. README.md
  79. 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.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

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.

If you found a bug, please file it at https://crbug.com/new.