blob: c9fdf7d092e7943ef99535a7bbc693915c93f262 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/modules/media_controls/touchless/elements/media_controls_touchless_overlay_element.h"
#include "third_party/blink/public/strings/grit/blink_strings.h"
#include "third_party/blink/renderer/modules/media_controls/touchless/elements/media_controls_touchless_play_button_element.h"
#include "third_party/blink/renderer/modules/media_controls/touchless/elements/media_controls_touchless_seek_button_element.h"
#include "third_party/blink/renderer/modules/media_controls/touchless/elements/media_controls_touchless_volume_button_element.h"
#include "third_party/blink/renderer/modules/media_controls/touchless/media_controls_touchless_impl.h"
#include "third_party/blink/renderer/platform/text/platform_locale.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
MediaControlsTouchlessOverlayElement::MediaControlsTouchlessOverlayElement(
MediaControlsTouchlessImpl& media_controls)
: MediaControlsTouchlessElement(media_controls) {
SetShadowPseudoId(AtomicString("-internal-media-controls-touchless-overlay"));
MediaControlsTouchlessPlayButtonElement* play_button =
MakeGarbageCollected<MediaControlsTouchlessPlayButtonElement>(
media_controls);
MediaControlsTouchlessVolumeButtonElement* volume_up_button =
MakeGarbageCollected<MediaControlsTouchlessVolumeButtonElement>(
media_controls, true);
MediaControlsTouchlessVolumeButtonElement* volume_down_button =
MakeGarbageCollected<MediaControlsTouchlessVolumeButtonElement>(
media_controls, false);
MediaControlsTouchlessSeekButtonElement* seek_forward_button =
MakeGarbageCollected<MediaControlsTouchlessSeekButtonElement>(
media_controls, true);
MediaControlsTouchlessSeekButtonElement* seek_backward_button =
MakeGarbageCollected<MediaControlsTouchlessSeekButtonElement>(
media_controls, false);
ParserAppendChild(volume_up_button);
ParserAppendChild(seek_backward_button);
ParserAppendChild(play_button);
ParserAppendChild(seek_forward_button);
ParserAppendChild(volume_down_button);
StringBuilder aria_label;
aria_label.Append(
GetLocale().QueryString(IDS_AX_MEDIA_TOUCHLESS_PLAY_PAUSE_ACTION));
aria_label.Append(" ");
aria_label.Append(
GetLocale().QueryString(IDS_AX_MEDIA_TOUCHLESS_SEEK_ACTION));
aria_label.Append(" ");
aria_label.Append(
GetLocale().QueryString(IDS_AX_MEDIA_TOUCHLESS_VOLUME_ACTION));
setAttribute(html_names::kAriaLabelAttr, aria_label.ToAtomicString());
}
void MediaControlsTouchlessOverlayElement::Trace(blink::Visitor* visitor) {
MediaControlsTouchlessElement::Trace(visitor);
}
} // namespace blink