OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/speech/speech_recognition_bubble.h" | 5 #include "chrome/browser/speech/speech_recognition_bubble.h" |
6 | 6 |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
| 10 #include "chrome/browser/ui/browser_finder.h" |
10 #include "chrome/browser/ui/gtk/browser_toolbar_gtk.h" | 11 #include "chrome/browser/ui/gtk/browser_toolbar_gtk.h" |
11 #include "chrome/browser/ui/gtk/browser_window_gtk.h" | 12 #include "chrome/browser/ui/gtk/browser_window_gtk.h" |
12 #include "chrome/browser/ui/gtk/bubble/bubble_gtk.h" | 13 #include "chrome/browser/ui/gtk/bubble/bubble_gtk.h" |
13 #include "chrome/browser/ui/gtk/gtk_chrome_link_button.h" | 14 #include "chrome/browser/ui/gtk/gtk_chrome_link_button.h" |
14 #include "chrome/browser/ui/gtk/gtk_theme_service.h" | 15 #include "chrome/browser/ui/gtk/gtk_theme_service.h" |
15 #include "chrome/browser/ui/gtk/gtk_util.h" | 16 #include "chrome/browser/ui/gtk/gtk_util.h" |
16 #include "chrome/browser/ui/gtk/location_bar_view_gtk.h" | 17 #include "chrome/browser/ui/gtk/location_bar_view_gtk.h" |
17 #include "content/public/browser/resource_context.h" | 18 #include "content/public/browser/resource_context.h" |
18 #include "content/public/browser/speech_recognition_manager.h" | 19 #include "content/public/browser/speech_recognition_manager.h" |
19 #include "content/public/browser/web_contents.h" | 20 #include "content/public/browser/web_contents.h" |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 gfx::Rect container_rect; | 180 gfx::Rect container_rect; |
180 GetWebContents()->GetContainerBounds(&container_rect); | 181 GetWebContents()->GetContainerBounds(&container_rect); |
181 gfx::Rect target_rect(element_rect_.right() - kBubbleTargetOffsetX, | 182 gfx::Rect target_rect(element_rect_.right() - kBubbleTargetOffsetX, |
182 element_rect_.bottom(), 1, 1); | 183 element_rect_.bottom(), 1, 1); |
183 | 184 |
184 if (target_rect.x() < 0 || target_rect.y() < 0 || | 185 if (target_rect.x() < 0 || target_rect.y() < 0 || |
185 target_rect.x() > container_rect.width() || | 186 target_rect.x() > container_rect.width() || |
186 target_rect.y() > container_rect.height()) { | 187 target_rect.y() > container_rect.height()) { |
187 // Target is not in screen view, so point to wrench. | 188 // Target is not in screen view, so point to wrench. |
188 Browser* browser = | 189 Browser* browser = |
189 Browser::GetOrCreateTabbedBrowser(profile); | 190 browser::FindOrCreateTabbedBrowser(profile); |
190 BrowserWindowGtk* browser_window = | 191 BrowserWindowGtk* browser_window = |
191 BrowserWindowGtk::GetBrowserWindowForNativeWindow( | 192 BrowserWindowGtk::GetBrowserWindowForNativeWindow( |
192 browser->window()->GetNativeHandle()); | 193 browser->window()->GetNativeHandle()); |
193 reference_widget = browser_window->GetToolbar()->GetLocationBarView() | 194 reference_widget = browser_window->GetToolbar()->GetLocationBarView() |
194 ->location_icon_widget(); | 195 ->location_icon_widget(); |
195 target_rect = gtk_util::WidgetBounds(reference_widget); | 196 target_rect = gtk_util::WidgetBounds(reference_widget); |
196 } | 197 } |
197 bubble_ = BubbleGtk::Show(reference_widget, | 198 bubble_ = BubbleGtk::Show(reference_widget, |
198 &target_rect, | 199 &target_rect, |
199 content, | 200 content, |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 } | 292 } |
292 | 293 |
293 } // namespace | 294 } // namespace |
294 | 295 |
295 SpeechRecognitionBubble* SpeechRecognitionBubble::CreateNativeBubble( | 296 SpeechRecognitionBubble* SpeechRecognitionBubble::CreateNativeBubble( |
296 WebContents* web_contents, | 297 WebContents* web_contents, |
297 Delegate* delegate, | 298 Delegate* delegate, |
298 const gfx::Rect& element_rect) { | 299 const gfx::Rect& element_rect) { |
299 return new SpeechRecognitionBubbleGtk(web_contents, delegate, element_rect); | 300 return new SpeechRecognitionBubbleGtk(web_contents, delegate, element_rect); |
300 } | 301 } |
OLD | NEW |