Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Unified Diff: chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm

Issue 1971703004: add log to mac translate bubble implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm
diff --git a/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm b/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm
index 57b25d066fd8301325fa6991d5e2b715f3f3cd2c..f0e272de7776c9031ffdd7f27fd2e51e23a14490 100644
--- a/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm
+++ b/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm
@@ -9,6 +9,7 @@
#include "base/mac/foundation_util.h"
#include "base/mac/scoped_nsobject.h"
#include "base/macros.h"
+#include "base/metrics/histogram_macros.h"
#include "base/strings/sys_string_conversions.h"
#import "chrome/browser/ui/cocoa/browser_window_controller.h"
#import "chrome/browser/ui/cocoa/bubble_combobox.h"
@@ -17,6 +18,7 @@
#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
#include "chrome/browser/ui/translate/language_combobox_model.h"
#include "chrome/browser/ui/translate/translate_bubble_model_impl.h"
+#include "chrome/browser/ui/translate/translate_bubble_view_state_transition.h"
#include "chrome/grit/generated_resources.h"
#include "components/translate/core/browser/translate_ui_delegate.h"
#include "content/public/browser/browser_context.h"
@@ -91,11 +93,12 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding;
action:(SEL)action
toView:(NSView*)view;
- (NSButton*)addCheckbox:(NSString*)title
+ action:(SEL)action
toView:(NSView*)view;
- (NSPopUpButton*)addPopUpButton:(ui::ComboboxModel*)model
action:(SEL)action
toView:(NSView*)view;
-- (void)handleNopeButtonPressed;
+- (void)handleAlwaysTranslateCheckboxPressed;
- (void)handleDoneButtonPressed;
- (void)handleCancelButtonPressed;
- (void)handleShowOriginalButtonPressed;
@@ -105,6 +108,7 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding;
- (void)handleDenialPopUpButtonNeverTranslateSiteSelected;
- (void)handleSourceLanguagePopUpButtonSelectedItemChanged:(id)sender;
- (void)handleTargetLanguagePopUpButtonSelectedItemChanged:(id)sender;
+- (void)reportUiAction:(translate::TranslateBubbleUiEvent)action;
@end
@@ -422,7 +426,9 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding;
if (!isIncognitoWindow) {
NSString* title =
l10n_util::GetNSStringWithFixup(IDS_TRANSLATE_BUBBLE_ALWAYS);
+ action = @selector(handleAlwaysTranslateCheckboxPressed);
alwaysTranslateCheckbox_ = [self addCheckbox:title
+ action:action
toView:view];
}
@@ -563,6 +569,7 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding;
}
- (NSButton*)addCheckbox:(NSString*)title
+ action:(SEL)action
toView:(NSView*)view {
base::scoped_nsobject<NSButton> button(
[[NSButton alloc] initWithFrame:NSZeroRect]);
@@ -571,6 +578,8 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding;
[[button cell] setControlSize:NSSmallControlSize];
[button setButtonType:NSSwitchButton];
[button sizeToFit];
+ [button setTarget:self];
+ [button setAction:action];
[view addSubview:button.get()];
@@ -592,16 +601,19 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding;
}
- (void)handleTranslateButtonPressed {
+ [self reportUiAction:translate::TRANSLATE_BUTTON_CLICKED];
translateExecuted_ = YES;
model_->Translate();
}
-- (void)handleNopeButtonPressed {
- model_->DeclineTranslation();
- [self close];
+- (void)handleAlwaysTranslateCheckboxPressed {
+ [self reportUiAction:[alwaysTranslateCheckbox_ state] == NSOnState
+ ? translate::ALWAYS_TRANSLATE_CHECKED
groby-ooo-7-16 2016/05/11 20:32:45 Does that match views semantics? (I.e. are we reco
ftang 2016/05/14 04:50:24 yes, this record the user's action, not their fina
+ : translate::ALWAYS_TRANSLATE_UNCHECKED];
}
- (void)handleDoneButtonPressed {
+ [self reportUiAction:translate::DONE_BUTTON_CLICKED];
if (alwaysTranslateCheckbox_) {
model_->SetAlwaysTranslate(
[alwaysTranslateCheckbox_ state] == NSOnState);
@@ -617,46 +629,59 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding;
}
- (void)handleCancelButtonPressed {
+ [self reportUiAction:translate::CANCEL_BUTTON_CLICKED];
model_->GoBackFromAdvanced();
[self performLayout];
}
- (void)handleShowOriginalButtonPressed {
+ [self reportUiAction:translate::SHOW_ORIGINAL_BUTTON_CLICKED];
model_->RevertTranslation();
[self close];
}
- (void)handleAdvancedLinkButtonPressed {
+ [self reportUiAction:translate::ADVANCED_LINK_CLICKED];
[self switchView:TranslateBubbleModel::VIEW_STATE_ADVANCED];
}
- (void)handleDenialPopUpButtonNopeSelected {
+ [self reportUiAction:translate::NOPE_MENU_CLICKED];
model_->DeclineTranslation();
[self close];
}
- (void)handleDenialPopUpButtonNeverTranslateLanguageSelected {
+ [self reportUiAction:translate::NEVER_TRANSLATE_LANGUAGE_MENU_CLICKED];
model_->DeclineTranslation();
model_->SetNeverTranslateLanguage(true);
[self close];
}
- (void)handleDenialPopUpButtonNeverTranslateSiteSelected {
+ [self reportUiAction:translate::NEVER_TRANSLATE_SITE_MENU_CLICKED];
model_->DeclineTranslation();
model_->SetNeverTranslateSite(true);
[self close];
}
- (void)handleSourceLanguagePopUpButtonSelectedItemChanged:(id)sender {
+ [self reportUiAction:translate::SOURCE_LANGUAGE_MENU_CLICKED];
NSPopUpButton* button = base::mac::ObjCCastStrict<NSPopUpButton>(sender);
model_->UpdateOriginalLanguageIndex([button indexOfSelectedItem]);
[self updateAdvancedView];
}
- (void)handleTargetLanguagePopUpButtonSelectedItemChanged:(id)sender {
+ [self reportUiAction:translate::TARGET_LANGUAGE_MENU_CLICKED];
NSPopUpButton* button = base::mac::ObjCCastStrict<NSPopUpButton>(sender);
model_->UpdateTargetLanguageIndex([button indexOfSelectedItem]);
[self updateAdvancedView];
}
+- (void)reportUiAction:(translate::TranslateBubbleUiEvent)action {
groby-ooo-7-16 2016/05/11 20:32:45 Please make this shared between Views and OSX - no
ftang 2016/05/14 04:50:24 Done.
+ UMA_HISTOGRAM_ENUMERATION("Translate.BubbleUiEvent", action,
+ translate::TRANSLATE_BUBBLE_UI_EVENT_MAX);
+}
+
@end
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698