Commit e7d399da authored by Allen Bauer's avatar Allen Bauer Committed by Commit Bot

View ownership clarification in DialogPlate.

Bug: 648382
Change-Id: I1342c7735c5a78dbddd482de7f7a6c2ceb9b9e01
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2014126
Commit-Queue: Allen Bauer <kylixrd@chromium.org>
Reviewed-by: default avatarTao Wu <wutao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#734130}
parent 7b4e2c97
......@@ -264,13 +264,13 @@ void DialogPlate::InitLayout() {
views::BoxLayout::CrossAxisAlignment::kCenter);
// Input modality layout container.
input_modality_layout_container_ = new views::View();
input_modality_layout_container_ =
AddChildView(std::make_unique<views::View>());
input_modality_layout_container_->SetLayoutManager(
std::make_unique<views::FillLayout>());
input_modality_layout_container_->SetPaintToLayer();
input_modality_layout_container_->layer()->SetFillsBoundsOpaquely(false);
input_modality_layout_container_->layer()->SetMasksToBounds(true);
AddChildView(input_modality_layout_container_);
layout_manager->SetFlexForView(input_modality_layout_container_, 1);
......@@ -289,15 +289,15 @@ void DialogPlate::InitLayout() {
}
void DialogPlate::InitKeyboardLayoutContainer() {
keyboard_layout_container_ = new views::View();
keyboard_layout_container_->SetPaintToLayer();
keyboard_layout_container_->layer()->SetFillsBoundsOpaquely(false);
keyboard_layout_container_->layer()->SetOpacity(0.f);
auto keyboard_layout_container = std::make_unique<views::View>();
keyboard_layout_container->SetPaintToLayer();
keyboard_layout_container->layer()->SetFillsBoundsOpaquely(false);
keyboard_layout_container->layer()->SetOpacity(0.f);
constexpr int kHorizontalPaddingDip = 16;
views::BoxLayout* layout_manager =
keyboard_layout_container_->SetLayoutManager(
keyboard_layout_container->SetLayoutManager(
std::make_unique<views::BoxLayout>(
views::BoxLayout::Orientation::kHorizontal,
gfx::Insets(0, kHorizontalPaddingDip)));
......@@ -309,41 +309,42 @@ void DialogPlate::InitKeyboardLayoutContainer() {
assistant::ui::GetDefaultFontList().DeriveWithSizeDelta(2);
// Textfield.
textfield_ = new views::Textfield();
textfield_->SetBackgroundColor(SK_ColorTRANSPARENT);
textfield_->SetBorder(views::NullBorder());
textfield_->set_controller(this);
textfield_->SetFontList(font_list);
textfield_->set_placeholder_font_list(font_list);
auto textfield = std::make_unique<views::Textfield>();
textfield->SetBackgroundColor(SK_ColorTRANSPARENT);
textfield->SetBorder(views::NullBorder());
textfield->set_controller(this);
textfield->SetFontList(font_list);
textfield->set_placeholder_font_list(font_list);
auto textfield_hint =
l10n_util::GetStringUTF16(IDS_ASH_ASSISTANT_DIALOG_PLATE_HINT);
textfield_->SetPlaceholderText(textfield_hint);
textfield_->SetAccessibleName(textfield_hint);
textfield_->set_placeholder_text_color(kTextColorSecondary);
textfield_->SetTextColor(kTextColorPrimary);
keyboard_layout_container_->AddChildView(textfield_);
textfield->SetPlaceholderText(textfield_hint);
textfield->SetAccessibleName(textfield_hint);
textfield->set_placeholder_text_color(kTextColorSecondary);
textfield->SetTextColor(kTextColorPrimary);
textfield_ = keyboard_layout_container->AddChildView(std::move(textfield));
layout_manager->SetFlexForView(textfield_, 1);
// Voice input toggle.
voice_input_toggle_ = keyboard_layout_container_->AddChildView(
voice_input_toggle_ = keyboard_layout_container->AddChildView(
AssistantButton::Create(this, kMicIcon, kButtonSizeDip, kIconSizeDip,
IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_ACCNAME,
AssistantButtonId::kVoiceInputToggle,
IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_TOOLTIP));
input_modality_layout_container_->AddChildView(keyboard_layout_container_);
keyboard_layout_container_ = input_modality_layout_container_->AddChildView(
std::move(keyboard_layout_container));
}
void DialogPlate::InitVoiceLayoutContainer() {
voice_layout_container_ = new views::View();
voice_layout_container_->SetPaintToLayer();
voice_layout_container_->layer()->SetFillsBoundsOpaquely(false);
voice_layout_container_->layer()->SetOpacity(0.f);
auto voice_layout_container = std::make_unique<views::View>();
voice_layout_container->SetPaintToLayer();
voice_layout_container->layer()->SetFillsBoundsOpaquely(false);
voice_layout_container->layer()->SetOpacity(0.f);
constexpr int kLeftPaddingDip = 8;
views::BoxLayout* layout_manager = voice_layout_container_->SetLayoutManager(
views::BoxLayout* layout_manager = voice_layout_container->SetLayoutManager(
std::make_unique<views::BoxLayout>(
views::BoxLayout::Orientation::kHorizontal,
gfx::Insets(0, kLeftPaddingDip, 0, 0)));
......@@ -352,32 +353,29 @@ void DialogPlate::InitVoiceLayoutContainer() {
views::BoxLayout::CrossAxisAlignment::kCenter);
// Keyboard input toggle.
keyboard_input_toggle_ = voice_layout_container_->AddChildView(
keyboard_input_toggle_ = voice_layout_container->AddChildView(
AssistantButton::Create(this, kKeyboardIcon, kButtonSizeDip, kIconSizeDip,
IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_ACCNAME,
AssistantButtonId::kKeyboardInputToggle,
IDS_ASH_ASSISTANT_DIALOG_PLATE_KEYBOARD_TOOLTIP));
// Spacer.
views::View* spacer = new views::View();
voice_layout_container_->AddChildView(spacer);
layout_manager->SetFlexForView(spacer, 1);
layout_manager->SetFlexForView(
voice_layout_container->AddChildView(std::make_unique<views::View>()), 1);
// Animated voice input toggle.
animated_voice_input_toggle_ =
new MicView(this, delegate_, AssistantButtonId::kVoiceInputToggle);
voice_layout_container->AddChildView(std::make_unique<MicView>(
this, delegate_, AssistantButtonId::kVoiceInputToggle));
animated_voice_input_toggle_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_ASH_ASSISTANT_DIALOG_PLATE_MIC_ACCNAME));
voice_layout_container_->AddChildView(animated_voice_input_toggle_);
// Spacer.
spacer = new views::View();
voice_layout_container_->AddChildView(spacer);
layout_manager->SetFlexForView(spacer, 1);
layout_manager->SetFlexForView(
voice_layout_container->AddChildView(std::make_unique<views::View>()), 1);
input_modality_layout_container_->AddChildView(voice_layout_container_);
voice_layout_container_ = input_modality_layout_container_->AddChildView(
std::move(voice_layout_container));
}
void DialogPlate::OnAnimationStarted(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment