[omnibox] Implement arrow animation for AI Mode button [chromium/src : main]

1 view
Skip to first unread message

Aviv Kiss (Gerrit)

unread,
Jun 9, 2026, 1:56:52 PMJun 9
to Caitlin Chen, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org, omnibox-...@chromium.org
Attention needed from Caitlin Chen

Aviv Kiss voted and added 4 comments

Votes added by Aviv Kiss

Code-Review+1

4 comments

Patchset-level comments
File-level comment, Patchset 15 (Latest):
Aviv Kiss . unresolved

Overall LG but maybe we should find someone with some more views expertise to take a look

File chrome/browser/ui/views/location_bar/ai_mode_page_action_icon_view.cc
Line 272, Patchset 15 (Latest): }
Aviv Kiss . unresolved

AI review comment:

Returning early here bypasses the `standard_height` enforcement below, which could lead to the button rendering smaller than the standard location bar height.

You can preserve the minimum height behavior like this:
```cpp
int preferred_height = std::max(
PageActionIconView::CalculatePreferredSize(available_size).height(),
GetLayoutConstant(LayoutConstant::kLocationBarHeight));
return ai_mode_layout::CalculatePreferredSize(available_size, label(),
preferred_height);
```
Line 331, Patchset 15 (Latest): }
Aviv Kiss . unresolved

AI review comment:

Nesting `ResetSlideAnimation(true)` inside the `if (is_visible)` block changes the behavior for the non-dynamic mode when `is_visible` is false (it used to be called unconditionally). Please verify if skipping this reset for hidden buttons was intended, or restructure the `else` to preserve the original behavior.

File chrome/browser/ui/views/page_action/page_action_view.cc
Line 57, Patchset 15 (Latest): is_dynamic_ai_mode_(action_item_->GetActionId().value() ==
Aviv Kiss . unresolved

AI review comment:

Calling `.value()` on `GetActionId()` before confirming `has_value()` will cause a `std::bad_optional_access` crash if it happens to be empty.

The `CHECK` on line 61 happens too late because it runs after the initializer list. You can safely compare the `std::optional` directly with the value instead:
```cpp
is_dynamic_ai_mode_(action_item_->GetActionId() == kActionAiMode &&
base::FeatureList::IsEnabled(
omnibox::kWebUIOmniboxDynamicAiModeButton)) {
```
Open in Gerrit

Related details

Attention is currently required from:
  • Caitlin Chen
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
Gerrit-Change-Number: 7902917
Gerrit-PatchSet: 15
Gerrit-Owner: Caitlin Chen <ca...@google.com>
Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
Gerrit-Attention: Caitlin Chen <ca...@google.com>
Gerrit-Comment-Date: Tue, 09 Jun 2026 17:56:37 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Caitlin Chen (Gerrit)

unread,
Jun 9, 2026, 4:44:59 PMJun 9
to Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org, omnibox-...@chromium.org

Caitlin Chen added 4 comments

Patchset-level comments

Overall LG but maybe we should find someone with some more views expertise to take a look

Caitlin Chen

Agreed!

File chrome/browser/ui/views/location_bar/ai_mode_page_action_icon_view.cc
Line 272, Patchset 15: }
Aviv Kiss . resolved

AI review comment:

Returning early here bypasses the `standard_height` enforcement below, which could lead to the button rendering smaller than the standard location bar height.

You can preserve the minimum height behavior like this:
```cpp
int preferred_height = std::max(
PageActionIconView::CalculatePreferredSize(available_size).height(),
GetLayoutConstant(LayoutConstant::kLocationBarHeight));
return ai_mode_layout::CalculatePreferredSize(available_size, label(),
preferred_height);
```
Caitlin Chen

Done

Line 331, Patchset 15: }
Aviv Kiss . resolved

AI review comment:

Nesting `ResetSlideAnimation(true)` inside the `if (is_visible)` block changes the behavior for the non-dynamic mode when `is_visible` is false (it used to be called unconditionally). Please verify if skipping this reset for hidden buttons was intended, or restructure the `else` to preserve the original behavior.

Caitlin Chen

Done

File chrome/browser/ui/views/page_action/page_action_view.cc
Line 57, Patchset 15: is_dynamic_ai_mode_(action_item_->GetActionId().value() ==
Aviv Kiss . resolved

AI review comment:

Calling `.value()` on `GetActionId()` before confirming `has_value()` will cause a `std::bad_optional_access` crash if it happens to be empty.

The `CHECK` on line 61 happens too late because it runs after the initializer list. You can safely compare the `std::optional` directly with the value instead:
```cpp
is_dynamic_ai_mode_(action_item_->GetActionId() == kActionAiMode &&
base::FeatureList::IsEnabled(
omnibox::kWebUIOmniboxDynamicAiModeButton)) {
```
Caitlin Chen

Done

Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
    Gerrit-Change-Number: 7902917
    Gerrit-PatchSet: 16
    Gerrit-Owner: Caitlin Chen <ca...@google.com>
    Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
    Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
    Gerrit-Comment-Date: Tue, 09 Jun 2026 20:44:45 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Aviv Kiss <aviv...@google.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kaan Alsan (Gerrit)

    unread,
    Jun 10, 2026, 10:03:01 AMJun 10
    to Caitlin Chen, Caleb Raitto, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
    Attention needed from Caitlin Chen

    Kaan Alsan added 2 comments

    Patchset-level comments
    File-level comment, Patchset 16 (Latest):
    Kaan Alsan . resolved

    +cc Caleb, who is working on the WebUI version of page actions

    File chrome/browser/ui/views/page_action/page_action_view.cc
    Line 83, Patchset 16 (Latest): // Set up overlapping arrow and GPU layers for AI Mode fade/scale transition.
    if (is_dynamic_ai_mode_) {
    arrow_container_view_ = AddChildView(std::make_unique<views::ImageView>());
    arrow_container_view_->SetCanProcessEventsWithinSubtree(false);
    arrow_container_view_->SetPaintToLayer();
    arrow_container_view_->layer()->SetFillsBoundsOpaquely(false);
    ReorderChildView(arrow_container_view_.get(), 1);

    image_container_view()->SetPaintToLayer();
    image_container_view()->layer()->SetFillsBoundsOpaquely(false);

    SetPaintToLayer();
    layer()->SetFillsBoundsOpaquely(false);
    layer()->SetMasksToBounds(true);

    SetUpForAnimation(base::Milliseconds(300));
    slide_animation_.SetTweenType(gfx::Tween::EASE_IN_OUT);
    label()->SetElideBehavior(gfx::ELIDE_TAIL);
    }
    Kaan Alsan . unresolved

    We shouldn't be adding feature-specific logic like this into the framework.

    For context, we've been migrating from the legacy page action system (e.g. all the subclasses of PageActionIconView, which will be removed soon) to a centralized framework where the View is feature-unaware. The motivation for this is that these 20+ per-feature View implementations diverging, which created an inconsistent UI and made it things like UI refreshes (which is the next phase after the migration completes) complex.

    Adding AI-mode specific logic here is essentially restarting this pattern that we we've been trying to get rid of.

    There are two ways forward here:
    A) Removing AI Mode from the Page Actions framework. This might make sense since it hasn't fit very well from the start (e.g. allowing it to show while the omnibox is open: https://chromium-review.git.corp.google.com/c/chromium/src/+/6966699).

    B) Spec out the desired behavior in such a way that it could be applied to existing and new page actions. We already had the idea of animating icons in mind, so this could be an extension of that. I think it would be good to loop in UX here.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Caitlin Chen
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
      Gerrit-Change-Number: 7902917
      Gerrit-PatchSet: 16
      Gerrit-Owner: Caitlin Chen <ca...@google.com>
      Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
      Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
      Gerrit-Reviewer: Kaan Alsan <al...@chromium.org>
      Gerrit-CC: Caleb Raitto <cara...@chromium.org>
      Gerrit-Attention: Caitlin Chen <ca...@google.com>
      Gerrit-Comment-Date: Wed, 10 Jun 2026 14:02:02 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Kaan Alsan (Gerrit)

      unread,
      Jun 10, 2026, 12:08:50 PMJun 10
      to Caitlin Chen, Caleb Raitto, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
      Attention needed from Caitlin Chen

      Kaan Alsan added 1 comment

      File chrome/browser/ui/views/page_action/page_action_view.cc
      Line 83, Patchset 16 (Latest): // Set up overlapping arrow and GPU layers for AI Mode fade/scale transition.
      if (is_dynamic_ai_mode_) {
      arrow_container_view_ = AddChildView(std::make_unique<views::ImageView>());
      arrow_container_view_->SetCanProcessEventsWithinSubtree(false);
      arrow_container_view_->SetPaintToLayer();
      arrow_container_view_->layer()->SetFillsBoundsOpaquely(false);
      ReorderChildView(arrow_container_view_.get(), 1);

      image_container_view()->SetPaintToLayer();
      image_container_view()->layer()->SetFillsBoundsOpaquely(false);

      SetPaintToLayer();
      layer()->SetFillsBoundsOpaquely(false);
      layer()->SetMasksToBounds(true);

      SetUpForAnimation(base::Milliseconds(300));
      slide_animation_.SetTweenType(gfx::Tween::EASE_IN_OUT);
      label()->SetElideBehavior(gfx::ELIDE_TAIL);
      }
      Kaan Alsan . unresolved

      We shouldn't be adding feature-specific logic like this into the framework.

      For context, we've been migrating from the legacy page action system (e.g. all the subclasses of PageActionIconView, which will be removed soon) to a centralized framework where the View is feature-unaware. The motivation for this is that these 20+ per-feature View implementations diverging, which created an inconsistent UI and made it things like UI refreshes (which is the next phase after the migration completes) complex.

      Adding AI-mode specific logic here is essentially restarting this pattern that we we've been trying to get rid of.

      There are two ways forward here:
      A) Removing AI Mode from the Page Actions framework. This might make sense since it hasn't fit very well from the start (e.g. allowing it to show while the omnibox is open: https://chromium-review.git.corp.google.com/c/chromium/src/+/6966699).

      B) Spec out the desired behavior in such a way that it could be applied to existing and new page actions. We already had the idea of animating icons in mind, so this could be an extension of that. I think it would be good to loop in UX here.

      Kaan Alsan

      Following up on B), we did just add icon animations for the bookmark star: https://chromium-review.git.corp.google.com/c/chromium/src/+/7888303.

      Building off of that would be ideal.

      Gerrit-Comment-Date: Wed, 10 Jun 2026 16:08:36 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Kaan Alsan <al...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Caitlin Chen (Gerrit)

      unread,
      Jun 16, 2026, 8:28:11 PM (8 days ago) Jun 16
      to Caleb Raitto, Kaan Alsan, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
      Attention needed from Kaan Alsan

      Caitlin Chen added 1 comment

      File chrome/browser/ui/views/page_action/page_action_view.cc
      Line 83, Patchset 16: // Set up overlapping arrow and GPU layers for AI Mode fade/scale transition.

      if (is_dynamic_ai_mode_) {
      arrow_container_view_ = AddChildView(std::make_unique<views::ImageView>());
      arrow_container_view_->SetCanProcessEventsWithinSubtree(false);
      arrow_container_view_->SetPaintToLayer();
      arrow_container_view_->layer()->SetFillsBoundsOpaquely(false);
      ReorderChildView(arrow_container_view_.get(), 1);

      image_container_view()->SetPaintToLayer();
      image_container_view()->layer()->SetFillsBoundsOpaquely(false);

      SetPaintToLayer();
      layer()->SetFillsBoundsOpaquely(false);
      layer()->SetMasksToBounds(true);

      SetUpForAnimation(base::Milliseconds(300));
      slide_animation_.SetTweenType(gfx::Tween::EASE_IN_OUT);
      label()->SetElideBehavior(gfx::ELIDE_TAIL);
      }
      Kaan Alsan . unresolved

      We shouldn't be adding feature-specific logic like this into the framework.

      For context, we've been migrating from the legacy page action system (e.g. all the subclasses of PageActionIconView, which will be removed soon) to a centralized framework where the View is feature-unaware. The motivation for this is that these 20+ per-feature View implementations diverging, which created an inconsistent UI and made it things like UI refreshes (which is the next phase after the migration completes) complex.

      Adding AI-mode specific logic here is essentially restarting this pattern that we we've been trying to get rid of.

      There are two ways forward here:
      A) Removing AI Mode from the Page Actions framework. This might make sense since it hasn't fit very well from the start (e.g. allowing it to show while the omnibox is open: https://chromium-review.git.corp.google.com/c/chromium/src/+/6966699).

      B) Spec out the desired behavior in such a way that it could be applied to existing and new page actions. We already had the idea of animating icons in mind, so this could be an extension of that. I think it would be good to loop in UX here.

      Kaan Alsan

      Following up on B), we did just add icon animations for the bookmark star: https://chromium-review.git.corp.google.com/c/chromium/src/+/7888303.

      Building off of that would be ideal.

      Caitlin Chen

      Hello @alsan! I ended up going with Option A because the animations seemed to be too much in an experimental state to go with Option B.

      • I decided to make a subclass AiModePageActionView. I tried to change PageActionView minimally and have no knowledge of the subclass.
      • Keep the changes is legacy so we can we don't have to enable too many flags in our LEs.
      • Move all helpers to new directory.

      Please let me know what you think of the current state of the CL. I think its possible to migrate out any existing Ai Mode specific stuff into this new subclass but in separate CLs.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Kaan Alsan
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
        Gerrit-Change-Number: 7902917
        Gerrit-PatchSet: 24
        Gerrit-Owner: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
        Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Kaan Alsan <al...@chromium.org>
        Gerrit-CC: Caleb Raitto <cara...@chromium.org>
        Gerrit-Attention: Kaan Alsan <al...@chromium.org>
        Gerrit-Comment-Date: Wed, 17 Jun 2026 00:27:56 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Kaan Alsan (Gerrit)

        unread,
        Jun 17, 2026, 11:14:56 AM (8 days ago) Jun 17
        to Caitlin Chen, Caleb Raitto, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
        Attention needed from Caitlin Chen

        Kaan Alsan added 1 comment

        File chrome/browser/ui/views/page_action/page_action_view.cc
        Kaan Alsan

        In the current state of the CL, we still have feature-specific logic within the page actions framework (e.g. the new View is still owned by PageActionsContainerView), which isn't a scalable pattern: if more features just subclassed PageActionView, we'd end up in the same spot as before the migration.

        If we're going the route of removing AI Mode from the page actions framework kActionAiMode action should be removed from chrome/browser/ui/page_action/action_ids.h.

        Also, the view should be owned by LocationBarView instead, similar to Content Settings: https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/views/location_bar/location_bar_view.cc;l=480;drc=6ce6f0f91493b5c3a3ce713a2ef454db5deb45a3.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Caitlin Chen
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
        Gerrit-Change-Number: 7902917
        Gerrit-PatchSet: 24
        Gerrit-Owner: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
        Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Kaan Alsan <al...@chromium.org>
        Gerrit-CC: Caleb Raitto <cara...@chromium.org>
        Gerrit-Attention: Caitlin Chen <ca...@google.com>
        Gerrit-Comment-Date: Wed, 17 Jun 2026 15:14:41 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Caitlin Chen <ca...@google.com>
        Comment-In-Reply-To: Kaan Alsan <al...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Caitlin Chen (Gerrit)

        unread,
        Jun 17, 2026, 5:27:52 PM (7 days ago) Jun 17
        to Caleb Raitto, Kaan Alsan, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
        Attention needed from Kaan Alsan

        Caitlin Chen added 1 comment

        File chrome/browser/ui/views/page_action/page_action_view.cc
        Caitlin Chen

        Thanks for the feedback! Sorry I misunderstood what you meant with Option A and will explore a route closer to what you are suggesting.

        I did talk with the team and I wanted to raise that we are currently implementing a full webui of the omnibox popup instance including the input bar.This would mean that all of these changes would be replaced in a few months and Views would no longer be used for the omnibox popup. This specific animation is only relevant when the omnibox is clicked into and the popup is open.

        The team would like to experiment with a more dynamic looking button and I am trying to balance the amount of potential throw away work.

        After explaining this, what are your thoughts about this subclass solution for the in between time instead?? Would this negatively impact the the PageActionView migration long term??

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Kaan Alsan
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
        Gerrit-Change-Number: 7902917
        Gerrit-PatchSet: 24
        Gerrit-Owner: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
        Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Kaan Alsan <al...@chromium.org>
        Gerrit-CC: Caleb Raitto <cara...@chromium.org>
        Gerrit-Attention: Kaan Alsan <al...@chromium.org>
        Gerrit-Comment-Date: Wed, 17 Jun 2026 21:27:38 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Caitlin Chen (Gerrit)

        unread,
        Jun 18, 2026, 12:48:02 AM (7 days ago) Jun 18
        to Caleb Raitto, Kaan Alsan, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
        File chrome/browser/ui/views/page_action/page_action_view.cc
        Caitlin Chen

        Just adding on that I started a prototype of Option A where we make a new button entirely
        https://chromium-review.git.corp.google.com/c/chromium/src/+/7960637

        Not sure if there are any regressions or big caveats here but just wanted to make aware that I am exploring options if needed.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Kaan Alsan
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
        Gerrit-Change-Number: 7902917
        Gerrit-PatchSet: 25
        Gerrit-Owner: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
        Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Kaan Alsan <al...@chromium.org>
        Gerrit-CC: Caleb Raitto <cara...@chromium.org>
        Gerrit-Attention: Kaan Alsan <al...@chromium.org>
        Gerrit-Comment-Date: Thu, 18 Jun 2026 04:47:42 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Kaan Alsan (Gerrit)

        unread,
        Jun 18, 2026, 12:04:07 PM (7 days ago) Jun 18
        to Caitlin Chen, Caleb Raitto, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
        Attention needed from Caitlin Chen

        Kaan Alsan added 1 comment

        File chrome/browser/ui/views/page_action/page_action_view.cc
        Kaan Alsan

        The page actions migration is complete, but we have plans for the near future to apply a visual refresh to the page actions and are already working on introducing new capabilities (anchored messaging/priority chip selection), which will be directly affected by this.

        I think it's also worth considering option B, since this animation is generalizable (change the icon and move it to the right/left of the label), so it may not be too much effort.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Caitlin Chen
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
        Gerrit-Change-Number: 7902917
        Gerrit-PatchSet: 25
        Gerrit-Owner: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
        Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Kaan Alsan <al...@chromium.org>
        Gerrit-CC: Caleb Raitto <cara...@chromium.org>
        Gerrit-Attention: Caitlin Chen <ca...@google.com>
        Gerrit-Comment-Date: Thu, 18 Jun 2026 16:03:48 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Caitlin Chen (Gerrit)

        unread,
        Jun 22, 2026, 3:01:30 PM (3 days ago) Jun 22
        to Caleb Raitto, Kaan Alsan, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
        Attention needed from Kaan Alsan

        Caitlin Chen added 1 comment

        File chrome/browser/ui/views/page_action/page_action_view.cc
        Caitlin Chen

        Hey Kaan! I took a look at exploring Option B and before I get too deep into cleaning the implementation up here is the prototype.
        https://chromium-review.git.corp.google.com/c/chromium/src/+/7965783

        Overall I am introducing a way to add different animations that are compatible with the slide_animation. Please let me know your initial thoughts and feel free to directly comment as I clean it up and refine it!.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Kaan Alsan
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
        Gerrit-Change-Number: 7902917
        Gerrit-PatchSet: 25
        Gerrit-Owner: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
        Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Kaan Alsan <al...@chromium.org>
        Gerrit-CC: Caleb Raitto <cara...@chromium.org>
        Gerrit-Attention: Kaan Alsan <al...@chromium.org>
        Gerrit-Comment-Date: Mon, 22 Jun 2026 19:00:58 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Kaan Alsan (Gerrit)

        unread,
        Jun 23, 2026, 11:09:50 AM (2 days ago) Jun 23
        to Caitlin Chen, Caleb Raitto, Aviv Kiss, Chromium LUCI CQ, chromium...@chromium.org, jdonnel...@chromium.org
        Attention needed from Caitlin Chen

        Kaan Alsan added 1 comment

        File chrome/browser/ui/views/page_action/page_action_view.cc
        Kaan Alsan

        That approach lgtm!

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Caitlin Chen
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I1d2772c8873be7643563fcaf17bd610684dd1a82
        Gerrit-Change-Number: 7902917
        Gerrit-PatchSet: 25
        Gerrit-Owner: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Aviv Kiss <aviv...@google.com>
        Gerrit-Reviewer: Caitlin Chen <ca...@google.com>
        Gerrit-Reviewer: Kaan Alsan <al...@chromium.org>
        Gerrit-CC: Caleb Raitto <cara...@chromium.org>
        Gerrit-Attention: Caitlin Chen <ca...@google.com>
        Gerrit-Comment-Date: Tue, 23 Jun 2026 15:09:30 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy
        Reply all
        Reply to author
        Forward
        0 new messages