Implement the speech input bubble on linux/gtk.

This is a popup which gets displayed below an <input> element when the user starts speech recognition on it. It displays a recognition status icon, an instruction label ('Speak now') at the top and a Cancel button at the bottom. The speech input module gets callbacks on user actions such as clicking Cancel or clicking any other window, and on both cases recognition stops and the bubble closes.

As part of this CL I had to move a constant from the windows code to the class so it can be used in gtk and mac.

TEST=manual, the code to invoke the bubble depends on another pending CL.
BUG=53598

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=58095

Review URL: http://codereview.chromium.org/3231009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58221 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 8a79a46..9be762c 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -2471,8 +2471,9 @@
         'browser/speech/endpointer/energy_endpointer_params.h',
         'browser/speech/speech_input_bubble.h',
         'browser/speech/speech_input_bubble.cc',
-        'browser/speech/speech_input_bubble_win.cc',
+        'browser/speech/speech_input_bubble_gtk.cc',
         'browser/speech/speech_input_bubble_mac.mm',
+        'browser/speech/speech_input_bubble_views.cc',
         'browser/speech/speech_input_bubble_controller.cc',
         'browser/speech/speech_input_bubble_controller.h',
         'browser/speech/speech_input_dispatcher_host.cc',
@@ -3445,6 +3446,7 @@
                 ['exclude', '^browser/extensions/extension_rlz_module'],
                 ['include', 'browser/printing/print_dialog_cloud.cc'],
                 ['include', 'browser/printing/print_dialog_cloud.h'],
+                ['include', '^browser/speech/speech_input_bubble_views.cc'],
                 ['include', '^browser/views/about_chrome_view.cc'],
                 ['include', '^browser/views/about_chrome_view.h'],
                 ['include', '^browser/views/accelerator_table_gtk.cc'],
@@ -3740,6 +3742,7 @@
                 ['exclude', '^browser/extensions/extension_host_mac.h'],
                 ['exclude', '^browser/extensions/extension_host_mac.mm'],
                 ['exclude', '^browser/extensions/external_registry_extension_provider_win.cc'],
+                ['exclude', '^browser/speech/speech_input_bubble_gtk.cc'],
                 ['exclude', '^browser/tab_contents/tab_contents_view_gtk.cc'],
                 ['exclude', '^browser/tab_contents/tab_contents_view_gtk.h'],
                 ['exclude', '^browser/tab_contents/render_view_context_menu_gtk.cc'],