OLD | NEW |
(Empty) | |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef MediaRemotingElements_h |
| 6 #define MediaRemotingElements_h |
| 7 |
| 8 #include "core/html/shadow/MediaRemotingInterstitial.h" |
| 9 |
| 10 namespace blink { |
| 11 |
| 12 // A button shown when media remoting starts. It allows user to click to exit |
| 13 // media remoting and back to traditional tab mirroring. |
| 14 class MediaRemotingExitButtonElement final : public HTMLDivElement { |
| 15 public: |
| 16 explicit MediaRemotingExitButtonElement(MediaRemotingInterstitial&); |
| 17 |
| 18 void OnShown(); |
| 19 void OnHidden(); |
| 20 HTMLVideoElement& GetVideoElement() const; |
| 21 |
| 22 DECLARE_VIRTUAL_TRACE(); |
| 23 |
| 24 private: |
| 25 class MouseEventsListener; |
| 26 |
| 27 Member<MediaRemotingInterstitial> interstitial_; |
| 28 // A document event listener to listen to the mouse clicking events while |
| 29 // media remoting is ongoing. This listener is used instead of the |
| 30 // DefaultEventHandler() to avoid other web sites stopping propagating the |
| 31 // events. It will be removed once media remoting stops. |
| 32 Member<MouseEventsListener> listener_; |
| 33 }; |
| 34 |
| 35 // A text message shown to indicate media remoting is ongoing. |
| 36 class MediaRemotingCastMessageElement final : public HTMLDivElement { |
| 37 public: |
| 38 explicit MediaRemotingCastMessageElement(MediaRemotingInterstitial&); |
| 39 }; |
| 40 |
| 41 // An icon shown to indicate media remoting is ongoing. |
| 42 class MediaRemotingCastIconElement final : public HTMLDivElement { |
| 43 public: |
| 44 explicit MediaRemotingCastIconElement(MediaRemotingInterstitial&); |
| 45 }; |
| 46 |
| 47 } // namespace blink |
| 48 |
| 49 #endif // MediaRemotingElements_h |
OLD | NEW |