| Commit-Queue | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Can we loop into [KeyboardProvider](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657;bpv=1;bpt=1) instead? It takes a browser so we can definitely initialize it in our browser agent. We would just need to add a browser agent call [here](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657-664;bpv=1;bpt=1) for show/hide keyboard
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Can we loop into [KeyboardProvider](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657;bpv=1;bpt=1) instead? It takes a browser so we can definitely initialize it in our browser agent. We would just need to add a browser agent call [here](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657-664;bpv=1;bpt=1) for show/hide keyboard
The KeyboardProvider uses ```UIKeyboardDidShowNotification``` and ```UIKeyboardDidHideNotification``` while we use ```UIKeyboardWillShowNotification``` and ```UIKeyboardWillHideNotification```.
This causes fullscreen progress updates to happen before KeyboardProvider receives the DidShow notification, which will cause the floaty to disappear for a sec before reappearing (https://drive.google.com/file/d/16jff6iyBXqOaQc8vMEjGrIJqquqegKXj/view?usp=sharing).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Tarek MakkoukCan we loop into [KeyboardProvider](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657;bpv=1;bpt=1) instead? It takes a browser so we can definitely initialize it in our browser agent. We would just need to add a browser agent call [here](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657-664;bpv=1;bpt=1) for show/hide keyboard
The KeyboardProvider uses ```UIKeyboardDidShowNotification``` and ```UIKeyboardDidHideNotification``` while we use ```UIKeyboardWillShowNotification``` and ```UIKeyboardWillHideNotification```.
This causes fullscreen progress updates to happen before KeyboardProvider receives the DidShow notification, which will cause the floaty to disappear for a sec before reappearing (https://drive.google.com/file/d/16jff6iyBXqOaQc8vMEjGrIJqquqegKXj/view?usp=sharing).
Can we add UIKeyboardWillShowNotification listeners in `KeyboardProvider` https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=101-110 this is more to keep keyboard logic together so that if other features add keyboard listeners, they're aware that it's also changing the floaty behavior if anything.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Tarek MakkoukCan we loop into [KeyboardProvider](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657;bpv=1;bpt=1) instead? It takes a browser so we can definitely initialize it in our browser agent. We would just need to add a browser agent call [here](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657-664;bpv=1;bpt=1) for show/hide keyboard
Joemer RamosThe KeyboardProvider uses ```UIKeyboardDidShowNotification``` and ```UIKeyboardDidHideNotification``` while we use ```UIKeyboardWillShowNotification``` and ```UIKeyboardWillHideNotification```.
This causes fullscreen progress updates to happen before KeyboardProvider receives the DidShow notification, which will cause the floaty to disappear for a sec before reappearing (https://drive.google.com/file/d/16jff6iyBXqOaQc8vMEjGrIJqquqegKXj/view?usp=sharing).
Can we add UIKeyboardWillShowNotification listeners in `KeyboardProvider` https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=101-110 this is more to keep keyboard logic together so that if other features add keyboard listeners, they're aware that it's also changing the floaty behavior if anything.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
BwgBrowserAgent* bwgAgent = BwgBrowserAgent::FromBrowser(_browser.get());Behind the `IsGeminiCopresenceEnabled()` flag, and we should also add a check somewhere to check if the floaty is invoked before updating the fullscreen progress value. There's a class var for that `is_floaty_invoked_`.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
BwgBrowserAgent* bwgAgent = BwgBrowserAgent::FromBrowser(_browser.get());Behind the `IsGeminiCopresenceEnabled()` flag, and we should also add a check somewhere to check if the floaty is invoked before updating the fullscreen progress value. There's a class var for that `is_floaty_invoked_`.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
- (void)keyboardWillShow {Comment above since this is a private method.
bwgAgent->SetKeyboardVisible(true);This is an obj-c file so this should be `YES` (and `NO` below)
- (void)keyboardWillHide {Comment above since this is a private method.
void SetKeyboardVisible(bool visible);nit:`is_visible` or `is_keyboard_visible` for parity with our class var.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Comment above since this is a private method.
Done
This is an obj-c file so this should be `YES` (and `NO` below)
Done
Comment above since this is a private method.
Done
nit:`is_visible` or `is_keyboard_visible` for parity with our class var.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +0 |
Thanks Tarek! Looks great!
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
- (void)keyboardWillShow {I'm not sure how I feel about Gemini-specific logic in the key commands provider. It might be better for the BwgBrowserAgent to register its own observers for keyboard notifications
Maybe @rohi...@chromium.org could chime in here, since I do see some feature code in this file
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Tarek MakkoukCan we loop into [KeyboardProvider](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657;bpv=1;bpt=1) instead? It takes a browser so we can definitely initialize it in our browser agent. We would just need to add a browser agent call [here](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657-664;bpv=1;bpt=1) for show/hide keyboard
Joemer RamosThe KeyboardProvider uses ```UIKeyboardDidShowNotification``` and ```UIKeyboardDidHideNotification``` while we use ```UIKeyboardWillShowNotification``` and ```UIKeyboardWillHideNotification```.
This causes fullscreen progress updates to happen before KeyboardProvider receives the DidShow notification, which will cause the floaty to disappear for a sec before reappearing (https://drive.google.com/file/d/16jff6iyBXqOaQc8vMEjGrIJqquqegKXj/view?usp=sharing).
Tarek MakkoukCan we add UIKeyboardWillShowNotification listeners in `KeyboardProvider` https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=101-110 this is more to keep keyboard logic together so that if other features add keyboard listeners, they're aware that it's also changing the floaty behavior if anything.
Done
Just saw this comment, I don't mean to cause too much back and forth but let's just make sure it's the right approach
- (void)keyboardWillShow {I'm not sure how I feel about Gemini-specific logic in the key commands provider. It might be better for the BwgBrowserAgent to register its own observers for keyboard notifications
Maybe @rohi...@chromium.org could chime in here, since I do see some feature code in this file
Seems better to register separate observers, unless BWG is specifically hooking into the existing code to add gemini-specific keyboard shortcuts. I don't see that here, it looks like this code could live anywhere?)
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Tarek MakkoukCan we loop into [KeyboardProvider](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657;bpv=1;bpt=1) instead? It takes a browser so we can definitely initialize it in our browser agent. We would just need to add a browser agent call [here](https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=657-664;bpv=1;bpt=1) for show/hide keyboard
Joemer RamosThe KeyboardProvider uses ```UIKeyboardDidShowNotification``` and ```UIKeyboardDidHideNotification``` while we use ```UIKeyboardWillShowNotification``` and ```UIKeyboardWillHideNotification```.
This causes fullscreen progress updates to happen before KeyboardProvider receives the DidShow notification, which will cause the floaty to disappear for a sec before reappearing (https://drive.google.com/file/d/16jff6iyBXqOaQc8vMEjGrIJqquqegKXj/view?usp=sharing).
Tarek MakkoukCan we add UIKeyboardWillShowNotification listeners in `KeyboardProvider` https://source.chromium.org/chromium/chromium/src/+/main:ios/chrome/browser/browser_view/ui_bundled/key_commands_provider.mm;l=101-110 this is more to keep keyboard logic together so that if other features add keyboard listeners, they're aware that it's also changing the floaty behavior if anything.
Adam ArcaroDone
Just saw this comment, I don't mean to cause too much back and forth but let's just make sure it's the right approach
Acknowledged
- (void)keyboardWillShow {Rohit RaoI'm not sure how I feel about Gemini-specific logic in the key commands provider. It might be better for the BwgBrowserAgent to register its own observers for keyboard notifications
Maybe @rohi...@chromium.org could chime in here, since I do see some feature code in this file
Seems better to register separate observers, unless BWG is specifically hooking into the existing code to add gemini-specific keyboard shortcuts. I don't see that here, it looks like this code could live anywhere?)
They're new observers, and they do feel Gemini-specific so I think the BwgBrowserAgent could register them
- (void)keyboardWillShow {Rohit RaoI'm not sure how I feel about Gemini-specific logic in the key commands provider. It might be better for the BwgBrowserAgent to register its own observers for keyboard notifications
Maybe @rohi...@chromium.org could chime in here, since I do see some feature code in this file
Adam ArcaroSeems better to register separate observers, unless BWG is specifically hooking into the existing code to add gemini-specific keyboard shortcuts. I don't see that here, it looks like this code could live anywhere?)
They're new observers, and they do feel Gemini-specific so I think the BwgBrowserAgent could register them
Ok sounds good, sorry for the hold up Tarek, I think if you revert the CL to your first patchset, we should be good to go
Rohit RaoI'm not sure how I feel about Gemini-specific logic in the key commands provider. It might be better for the BwgBrowserAgent to register its own observers for keyboard notifications
Maybe @rohi...@chromium.org could chime in here, since I do see some feature code in this file
Adam ArcaroSeems better to register separate observers, unless BWG is specifically hooking into the existing code to add gemini-specific keyboard shortcuts. I don't see that here, it looks like this code could live anywhere?)
Joemer RamosThey're new observers, and they do feel Gemini-specific so I think the BwgBrowserAgent could register them
Ok sounds good, sorry for the hold up Tarek, I think if you revert the CL to your first patchset, we should be good to go
No worries, thank you for making sure we use the right approach!
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |