-
Notifications
You must be signed in to change notification settings - Fork 921
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added BraveHelpBubbleView as part of the new onboarding flow #15198
Conversation
4fbad01
to
fd09231
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hi @nullhook . Sorry for delayed response. I guess this is still on its way but I left some comments. Thanks :)
aab162d
to
8611851
Compare
Note to self: How to fade the browser window? This requires a WidgetFadeAnimator attached to the browser frame
|
8611851
to
0c884aa
Compare
bdd8246
to
d2e7038
Compare
aeb9369
to
eb474b4
Compare
16a3d5b
to
d11845a
Compare
a11fd68
to
e66c311
Compare
NO_SHADOW_LEGACY does not exist anymore
2275c7a
to
2484cff
Compare
[puLL-Merge] - brave/brave-core@15198 DescriptionThis pull request introduces the implementation of an onboarding experience for new users of the Brave browser. It is focused on highlighting the Brave Shields feature, which blocks trackers and ads. Onboarding includes a help bubble that provides users with contextual information about the number of trackers blocked, including those from specific companies like Google, Amazon, and Facebook. Changesbrowser/brave_local_state_prefs.cc and browser/brave_tab_helpers.cc
browser/onboarding/BUILD.gn
browser/onboarding/domain_map.*
browser/onboarding/onboarding_tab_helper.*
browser/onboarding/onboarding_unittest.cc
browser/onboarding/pref_names.h
browser/onboarding/sources.gni
browser/sources.gni
browser/ui/BUILD.gn
browser/ui/brave_browser_window.*
browser/ui/views/brave_actions/brave_shields_action_view.*
browser/ui/views/brave_help_bubble/*
browser/ui/views/frame/brave_browser_view.*
components/resources/brave_shields_strings.grdp
test/BUILD.gn
Security Hotspots
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's looking really nice!
I did detect one issue though - the "tooltip" is showing above all other OS windows. Is there a way to fix that? I think if the user doesn't dismiss it immediately, or switches app before the page finishes loading, then it becomes confusing that it pops up without being attached at the same z-index as its browser window.
@@ -201,4 +201,20 @@ | |||
<message name="IDS_BRAVE_SHIELDS_NOT_VALID_ADDRESS" desc="Label for link about invalid pattern for content setting page dialog to add a site"> | |||
Wildcards are not allowed for Brave Shields. | |||
</message> | |||
|
|||
<message name="IDS_BRAVE_SHIELDS_ONBOARDING_LABEL_WITH_COMPANIES" desc="Label for the onboarding bubble UI, informing users about Brave Shields blocking company-specific trackers on a website, along with the number of additional trackers blocked."> | |||
Brave Shields blocked <ph name="COMPANY_LIST">$1</ph> and <ph name="BLOCKED_COUNT">$2</ph> other trackers on <ph name="SITE_URL">$3</ph> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: ideally we would use the pluralisation helper to make sure we say
"and 1 other tracker"
"and 2 other trackers"
</message> | ||
|
||
<message name="IDS_BRAVE_SHIELDS_ONBOARDING_LABEL_WITH_ONLY_COMPANIES" desc="Label for the onboarding bubble UI, informing users about Brave Shields blocking company-specific trackers only on a website."> | ||
Brave Shields blocked <ph name="COMPANY_LIST">$1</ph> trackers on <ph name="SITE_URL">$2</ph> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same nit
* Fixed help bubble is shown over the another app * Plural formatting for the number of trackers
[puLL-Merge] - brave/brave-core@15198 DescriptionThe provided PR introduces onboarding features related to the Brave Shields functionality. It seems focused on providing help and guidance to new users of the Brave browser, emphasizing the utility and functioning of Brave Shields, which is a privacy feature of the browser that blocks trackers and ads. Changesbrowser/brave_local_state_prefs.cc
browser/brave_tab_helpers.cc
browser/onboarding/BUILD.gn
browser/onboarding/domain_map.cc and .h
browser/onboarding/onboarding_tab_helper.cc and .h
browser/onboarding/pref_names.h
browser/onboarding/sources.gni
browser/ui/BUILD.gn
browser/ui/brave_browser_window.[cc|h]
browser/ui/views/brave_actions/brave_shields_action_view.[cc|h]
browser/ui/views/brave_help_bubble/brave_help_bubble_delegate_view.[cc|h]
browser/ui/views/brave_help_bubble/brave_help_bubble_host_view.[cc|h]
browser/ui/views/frame/brave_browser_view.[cc|h]
components/resources/brave_shields_strings.grdp
test/BUILD.gn
Security Hotspots
|
Resolves brave/brave-browser#27490
This PR adds a new UI element inside
brave/browser/ui
, the BraveHelpBubbleView is part of the new onboarding experience. The BraveHelpBubbleView is a ring that pulsates around a tracked element with an anchored bubble.The BrowserView currently owns the BraveHelpBubbleView, which allows it to be absolutely positioned on top. The BraveHelpBubbleDelegate has a customized bubble border with an arrow.
The following logic has been added:
Platform: MacOS
Platform: Linux
Upstream border rendering issue
Submitter Checklist:
QA/Yes
orQA/No
;release-notes/include
orrelease-notes/exclude
;OS/...
) to the associated issuenpm run test -- brave_browser_tests
,npm run test -- brave_unit_tests
,npm run lint
,npm run gn_check
,npm run tslint
git rebase master
(if needed)Reviewer Checklist:
gn
After-merge Checklist:
changes has landed on
Test Plan:
If you installed your browser within the past 7 days, you will see the bubble. If not, you can use the command line option
--force-first-run
to view it. Note that the bubble can only be viewed once. After closing it for the first time, it will not be shown again. However, for testing purposes, you can start the browser instance with the option--user_data_dir_name=
to create a new profile and local state file.It's also important to test with
--disable-gpu
flag. In this condition you shouldn't be able to see the pulse animation.