Implement the sink list view UI for the Harmony Cast dialog. We will have Views but not Cocoa implementation, since Mac will support Views dialogs before we launch this dialog.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e11084aa123cb9d638bcc8e938cba7b59a3554a0 commit e11084aa123cb9d638bcc8e938cba7b59a3554a0 Author: Takumi Fujimoto <takumif@chromium.org> Date: Tue Apr 03 00:09:07 2018 Parametrize the secondary icon for HoverButton This CL changes a ctor for HoverButton to take an optional View object for showing an arbitrary secondary icon, instead of taking a boolean for whether to show an arrow icon. The HoverButton will be used by the Cast dialog to list devices. Bug: 826089 Change-Id: Iac36c2bc8a60666bc6aa035fbcbbedd0f59c66cf Reviewed-on: https://chromium-review.googlesource.com/989023 Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Reviewed-by: Bret Sepulveda <bsep@chromium.org> Cr-Commit-Position: refs/heads/master@{#547575} [modify] https://crrev.com/e11084aa123cb9d638bcc8e938cba7b59a3554a0/chrome/browser/ui/views/hover_button.cc [modify] https://crrev.com/e11084aa123cb9d638bcc8e938cba7b59a3554a0/chrome/browser/ui/views/hover_button.h [modify] https://crrev.com/e11084aa123cb9d638bcc8e938cba7b59a3554a0/chrome/browser/ui/views/hover_button_unittest.cc [modify] https://crrev.com/e11084aa123cb9d638bcc8e938cba7b59a3554a0/chrome/browser/ui/views/profiles/profile_chooser_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d37f3a32d266f49235d0260172a6cd85398324d5 commit d37f3a32d266f49235d0260172a6cd85398324d5 Author: Takumi Fujimoto <takumif@chromium.org> Date: Fri Apr 13 19:42:23 2018 Implement sink list button for Harmony Cast dialog - Add CastDialogSinkButton, which will be used for sink list items in the Harmony Cast dialog. It's a subclass of HoverButton that shows a device icon and an optional status indicator (checkmark or throbber). - Add UIMediaSink, a struct containing data used to populate the button - Add Skia icons used by the button: Cast for EDU, input, speaker, speaker group, and TV Screenshot of the button (two of them) in a WIP dialog: https://drive.google.com/file/d/1M1R9jO-VHEO18aA3pTpoQBI4FHMU5MEf/view?usp=sharing Dimensions and colors are subject to change in later CLs. Bug: 826089 , 826393 Change-Id: I0eef58e1c0b9bf2cff3b3d146e911d3a18c7d23c Reviewed-on: https://chromium-review.googlesource.com/996458 Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Bret Sepulveda <bsep@chromium.org> Reviewed-by: Evan Stade <estade@chromium.org> Reviewed-by: Adam Parker <amp@chromium.org> Cr-Commit-Position: refs/heads/master@{#550722} [modify] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/app/vector_icons/BUILD.gn [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/app/vector_icons/cast_for_education.icon [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/app/vector_icons/input.icon [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/app/vector_icons/speaker.icon [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/app/vector_icons/speaker_group.icon [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/app/vector_icons/tv.icon [modify] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/browser/ui/BUILD.gn [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/browser/ui/media_router/ui_media_sink.cc [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/browser/ui/media_router/ui_media_sink.h [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/browser/ui/views/media_router/cast_dialog_sink_button.h [add] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/browser/ui/views/media_router/cast_dialog_sink_button_unittest.cc [modify] https://crrev.com/d37f3a32d266f49235d0260172a6cd85398324d5/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9b4d304c491cc4e33711f0112e9221ede4389814 commit 9b4d304c491cc4e33711f0112e9221ede4389814 Author: Findit <findit-for-me@appspot.gserviceaccount.com> Date: Sat Apr 14 00:29:30 2018 Revert "Implement sink list button for Harmony Cast dialog" This reverts commit d37f3a32d266f49235d0260172a6cd85398324d5. Reason for revert: Findit (https://goo.gl/kROfz5) identified CL at revision 550722 as the culprit for failures in the build cycles as shown on: https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2QzN2YzYTMyZDI2NmY0OTIzNWQwMjYwMTcyYTZjZDg1Mzk4MzI0ZDUM Sample Failed Build: https://ci.chromium.org/buildbot/chromium.memory/Linux%20MSan%20Tests/9167 Sample Failed Step: unit_tests Original change's description: > Implement sink list button for Harmony Cast dialog > > - Add CastDialogSinkButton, which will be used for sink list items in > the Harmony Cast dialog. It's a subclass of HoverButton that shows a > device icon and an optional status indicator (checkmark or throbber). > - Add UIMediaSink, a struct containing data used to populate the button > - Add Skia icons used by the button: Cast for EDU, input, speaker, > speaker group, and TV > > Screenshot of the button (two of them) in a WIP dialog: > https://drive.google.com/file/d/1M1R9jO-VHEO18aA3pTpoQBI4FHMU5MEf/view?usp=sharing > > Dimensions and colors are subject to change in later CLs. > > Bug: 826089 , 826393 > Change-Id: I0eef58e1c0b9bf2cff3b3d146e911d3a18c7d23c > Reviewed-on: https://chromium-review.googlesource.com/996458 > Commit-Queue: Takumi Fujimoto <takumif@chromium.org> > Reviewed-by: mark a. foltz <mfoltz@chromium.org> > Reviewed-by: Bret Sepulveda <bsep@chromium.org> > Reviewed-by: Evan Stade <estade@chromium.org> > Reviewed-by: Adam Parker <amp@chromium.org> > Cr-Commit-Position: refs/heads/master@{#550722} Change-Id: I78a18bd028e5574869eca8a3376a43eb5aa5dc74 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 826089 , 826393 Reviewed-on: https://chromium-review.googlesource.com/1012475 Cr-Commit-Position: refs/heads/master@{#550830} [modify] https://crrev.com/9b4d304c491cc4e33711f0112e9221ede4389814/chrome/app/vector_icons/BUILD.gn [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/app/vector_icons/cast_for_education.icon [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/app/vector_icons/input.icon [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/app/vector_icons/speaker.icon [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/app/vector_icons/speaker_group.icon [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/app/vector_icons/tv.icon [modify] https://crrev.com/9b4d304c491cc4e33711f0112e9221ede4389814/chrome/browser/ui/BUILD.gn [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/browser/ui/media_router/ui_media_sink.cc [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/browser/ui/media_router/ui_media_sink.h [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/browser/ui/views/media_router/cast_dialog_sink_button.h [delete] https://crrev.com/f93971923f4c999e61bbdb91bbc6a7aeecffcef3/chrome/browser/ui/views/media_router/cast_dialog_sink_button_unittest.cc [modify] https://crrev.com/9b4d304c491cc4e33711f0112e9221ede4389814/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3613946f7535f3a82c536e78ca80e95f04541b14 commit 3613946f7535f3a82c536e78ca80e95f04541b14 Author: Takumi Fujimoto <takumif@chromium.org> Date: Tue Apr 17 19:44:47 2018 Reland "Implement sink list button for Harmony Cast dialog" This is a reland of d37f3a32d266f49235d0260172a6cd85398324d5 This fixes the issue of attributes in UIMediaSink not being initialized at instantiation, which was breaking MSAN builds. TBR=estade@chromium.org,bsep@chromium.org Original change's description: > Implement sink list button for Harmony Cast dialog > > - Add CastDialogSinkButton, which will be used for sink list items in > the Harmony Cast dialog. It's a subclass of HoverButton that shows a > device icon and an optional status indicator (checkmark or throbber). > - Add UIMediaSink, a struct containing data used to populate the button > - Add Skia icons used by the button: Cast for EDU, input, speaker, > speaker group, and TV > > Screenshot of the button (two of them) in a WIP dialog: > https://drive.google.com/file/d/1M1R9jO-VHEO18aA3pTpoQBI4FHMU5MEf/view?usp=sharing > > Dimensions and colors are subject to change in later CLs. > > Bug: 826089 , 826393 > Change-Id: I0eef58e1c0b9bf2cff3b3d146e911d3a18c7d23c > Reviewed-on: https://chromium-review.googlesource.com/996458 > Commit-Queue: Takumi Fujimoto <takumif@chromium.org> > Reviewed-by: mark a. foltz <mfoltz@chromium.org> > Reviewed-by: Bret Sepulveda <bsep@chromium.org> > Reviewed-by: Evan Stade <estade@chromium.org> > Reviewed-by: Adam Parker <amp@chromium.org> > Cr-Commit-Position: refs/heads/master@{#550722} Bug: 826089 , 826393 Change-Id: Ib9343fc56a96f128c3b3d2bfa5e82542e94a4441 Reviewed-on: https://chromium-review.googlesource.com/1014540 Reviewed-by: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Takumi Fujimoto <takumif@chromium.org> Reviewed-by: Adam Parker <amp@chromium.org> Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Cr-Commit-Position: refs/heads/master@{#551441} [modify] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/app/vector_icons/BUILD.gn [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/app/vector_icons/cast_for_education.icon [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/app/vector_icons/input.icon [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/app/vector_icons/speaker.icon [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/app/vector_icons/speaker_group.icon [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/app/vector_icons/tv.icon [modify] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/browser/ui/BUILD.gn [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/browser/ui/media_router/ui_media_sink.cc [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/browser/ui/media_router/ui_media_sink.h [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/browser/ui/views/media_router/cast_dialog_sink_button.h [add] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/browser/ui/views/media_router/cast_dialog_sink_button_unittest.cc [modify] https://crrev.com/3613946f7535f3a82c536e78ca80e95f04541b14/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3 commit 62155aa5c35449f913f7dbd3f51f78d5c41c0ce3 Author: Takumi Fujimoto <takumif@chromium.org> Date: Thu May 10 03:54:24 2018 Add Model/View/Controller for Harmony Cast Dialog - Add CastDialogModel struct that contains dialog header and sink info. - Add CastDialogView class that implements the dialog UI. - Add CastDialogController interface, through which the dialog will communicate with Media Router. The interface will be implemented by MediaRouterViewsUI. The code paths to open and send data to the dialog will be added in a later CL (WIP): crrev.com/c/1010410/6..8 Screenshots (colors/dimensions TBD): https://drive.google.com/open?id=1M1R9jO-VHEO18aA3pTpoQBI4FHMU5MEf https://drive.google.com/open?id=1dRGkINNrk8etvx8_SSZko13uu3MQRfER Bug: 826089 Change-Id: I7f965383d427d347bf8063ed1cb16296a0044aa2 Reviewed-on: https://chromium-review.googlesource.com/1020231 Commit-Queue: Takumi Fujimoto <takumif@chromium.org> Reviewed-by: Bret Sepulveda <bsep@chromium.org> Reviewed-by: Derek Cheng <imcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#557447} [modify] https://crrev.com/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3/chrome/browser/ui/BUILD.gn [add] https://crrev.com/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3/chrome/browser/ui/media_router/cast_dialog_controller.h [add] https://crrev.com/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3/chrome/browser/ui/media_router/cast_dialog_model.cc [add] https://crrev.com/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3/chrome/browser/ui/media_router/cast_dialog_model.h [add] https://crrev.com/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3/chrome/browser/ui/views/media_router/cast_dialog_view.cc [add] https://crrev.com/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3/chrome/browser/ui/views/media_router/cast_dialog_view.h [add] https://crrev.com/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3/chrome/browser/ui/views/media_router/cast_dialog_view_unittest.cc [modify] https://crrev.com/62155aa5c35449f913f7dbd3f51f78d5c41c0ce3/chrome/test/BUILD.gn
Closing this bug now that we have a sink list implementation. Other UI changes are tracked in individual bugs blocking the launch bug, issue 754101.
Comment 1 by bugdroid1@chromium.org
, Apr 3 2018