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

Unified Diff: content/browser/renderer_host/render_widget_host_view_mac.mm

Issue 2164483006: [MacViews] Implemented text context menu (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix for tapted Created 4 years 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
Index: content/browser/renderer_host/render_widget_host_view_mac.mm
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index c7a78ff0f1e97c6911bb50254f6b6f8b6c0f6ddc..9da7a19c2d6462c47c4e9064f10d31bc91bbd545 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -73,6 +73,7 @@
#import "ui/base/cocoa/appkit_utils.h"
#include "ui/base/cocoa/cocoa_base_utils.h"
#import "ui/base/cocoa/fullscreen_window_manager.h"
+#include "ui/base/cocoa/text_services_context_menu.h"
#import "ui/base/cocoa/underlay_opengl_hosting_window.h"
#include "ui/base/layout.h"
#include "ui/compositor/compositor.h"
@@ -137,13 +138,6 @@ RenderWidgetHostView* GetRenderWidgetHostViewToUse(
} // namespace
-// These are not documented, so use only after checking -respondsToSelector:.
-@interface NSApplication (UndocumentedSpeechMethods)
-- (void)speakString:(NSString*)string;
-- (void)stopSpeaking:(id)sender;
-- (BOOL)isSpeaking;
-@end
-
// Private methods:
@interface RenderWidgetHostViewCocoa ()
@property(nonatomic, assign) NSRange selectedRange;
@@ -705,10 +699,6 @@ void RenderWidgetHostViewMac::UpdateDisplayVSyncParameters() {
browser_compositor_->UpdateVSyncParameters(vsync_timebase_, vsync_interval_);
}
-void RenderWidgetHostViewMac::SpeakText(const std::string& text) {
- [NSApp speakString:base::SysUTF8ToNSString(text)];
-}
-
RenderWidgetHostViewBase*
RenderWidgetHostViewMac::GetFocusedViewForTextSelection() {
// We obtain the TextSelection from focused RWH which is obtained from the
@@ -1095,11 +1085,6 @@ void RenderWidgetHostViewMac::SetTooltipText(
}
}
-bool RenderWidgetHostViewMac::SupportsSpeech() const {
- return [NSApp respondsToSelector:@selector(speakString:)] &&
- [NSApp respondsToSelector:@selector(stopSpeaking:)];
-}
-
void RenderWidgetHostViewMac::SpeakSelection() {
if (![NSApp respondsToSelector:@selector(speakString:)])
return;
@@ -1113,17 +1098,8 @@ void RenderWidgetHostViewMac::SpeakSelection() {
return;
}
- SpeakText(selected_text_);
-}
-
-bool RenderWidgetHostViewMac::IsSpeaking() const {
- return [NSApp respondsToSelector:@selector(isSpeaking)] &&
- [NSApp isSpeaking];
-}
-
-void RenderWidgetHostViewMac::StopSpeaking() {
- if ([NSApp respondsToSelector:@selector(stopSpeaking:)])
- [NSApp stopSpeaking:cocoa_view_];
+ // TODO(spqchan): Change |selected_text_|'s type to string16.
tapted 2016/12/16 07:01:19 I think changing |selected_text_| can be included
spqchan 2016/12/17 00:34:21 Done.
+ ui::TextServicesContextMenu::SpeakText(base::UTF8ToUTF16(selected_text_));
}
//
@@ -1677,7 +1653,7 @@ void RenderWidgetHostViewMac::SetTextInputActive(bool active) {
void RenderWidgetHostViewMac::OnGetRenderedTextCompleted(
const std::string& text) {
- SpeakText(text);
+ ui::TextServicesContextMenu::SpeakText(base::UTF8ToUTF16(text));
}
void RenderWidgetHostViewMac::PauseForPendingResizeOrRepaintsAndDraw() {
@@ -2744,10 +2720,10 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged(
nullptr;
if (action == @selector(stopSpeaking:))
- return is_render_view && renderWidgetHostView_->IsSpeaking();
+ return is_render_view && ui::TextServicesContextMenu::IsSpeaking();
if (action == @selector(startSpeaking:))
- return is_render_view && renderWidgetHostView_->SupportsSpeech();
+ return is_render_view;
// For now, these actions are always enabled for render view,
// this is sub-optimal.
@@ -3340,7 +3316,7 @@ extern NSString *NSTextInputReplacementRangeAttributeName;
}
- (void)stopSpeaking:(id)sender {
- GetRenderWidgetHostViewToUse(renderWidgetHostView_.get())->StopSpeaking();
+ ui::TextServicesContextMenu::StopSpeaking();
}
- (void)cancelComposition {

Powered by Google App Engine
This is Rietveld 408576698