[Native Cast MRP] Fix the VirtualConnectionType in connection requests

Establish a strong virtual connection in the following cases:
- Launching a session without the invisibleSender field set in its
  presentation URL
- Making a connection to receiver-0

Otherwise create an invisible virtual connection, including cases where
we're requesting media status to show in the global media controls.

This is consistent with the behavior in virtual_connection_manager.js
and presentation_url.js in the component extension.

(cherry picked from commit 36670d0e162c07f475ed7957f998089743a42fd7)

Bug: 1133502, b/168566028
Change-Id: I9b7c9c3937bb4ac1f2a95fa2f8aa42a16616971a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2439012
Commit-Queue: Takumi Fujimoto <[email protected]>
Reviewed-by: mark a. foltz <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#814460}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2462727
Reviewed-by: Takumi Fujimoto <[email protected]>
Cr-Commit-Position: refs/branch-heads/4280@{#206}
Cr-Branched-From: ea420fb963f9658c9969b6513c56b8f47efa1a2a-refs/heads/master@{#812852}
13 files changed
tree: 9271e881410cfe46e28c3b1e5cfe68ad8a258528
  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.