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 <gtk/gtk.h> | 5 #include <gtk/gtk.h> |
6 | 6 |
7 #include "base/i18n/rtl.h" | 7 #include "base/i18n/rtl.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/extensions/bundle_installer.h" | 10 #include "chrome/browser/extensions/bundle_installer.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 GtkWidget* icon_widget = gtk_image_new_from_pixbuf(icon_pixbuf); | 46 GtkWidget* icon_widget = gtk_image_new_from_pixbuf(icon_pixbuf); |
47 g_object_unref(icon_pixbuf); | 47 g_object_unref(icon_pixbuf); |
48 gtk_box_pack_start(GTK_BOX(container), icon_widget, FALSE, FALSE, 0); | 48 gtk_box_pack_start(GTK_BOX(container), icon_widget, FALSE, FALSE, 0); |
49 } | 49 } |
50 | 50 |
51 } // namespace | 51 } // namespace |
52 | 52 |
53 namespace browser { | 53 namespace browser { |
54 | 54 |
55 // Displays the dialog when constructed, deletes itself when dialog is | 55 // Displays the dialog when constructed, deletes itself when dialog is |
56 // dismissed. Success/failure is passed back through the ExtensionInstallUI:: | 56 // dismissed. Success/failure is passed back through the |
57 // Delegate instance. | 57 // ExtensionInstallPrompt::Delegate instance. |
58 class ExtensionInstallDialog { | 58 class ExtensionInstallDialog { |
59 public: | 59 public: |
60 ExtensionInstallDialog(GtkWindow* parent, | 60 ExtensionInstallDialog(GtkWindow* parent, |
61 ExtensionInstallUI::Delegate *delegate, | 61 ExtensionInstallPrompt::Delegate *delegate, |
62 const ExtensionInstallUI::Prompt& prompt); | 62 const ExtensionInstallPrompt::Prompt& prompt); |
63 private: | 63 private: |
64 ~ExtensionInstallDialog(); | 64 ~ExtensionInstallDialog(); |
65 | 65 |
66 CHROMEGTK_CALLBACK_1(ExtensionInstallDialog, void, OnResponse, int); | 66 CHROMEGTK_CALLBACK_1(ExtensionInstallDialog, void, OnResponse, int); |
67 CHROMEGTK_CALLBACK_0(ExtensionInstallDialog, void, OnStoreLinkClick); | 67 CHROMEGTK_CALLBACK_0(ExtensionInstallDialog, void, OnStoreLinkClick); |
68 | 68 |
69 ExtensionInstallUI::Delegate* delegate_; | 69 ExtensionInstallPrompt::Delegate* delegate_; |
70 std::string extension_id_; // Set for INLINE_INSTALL_PROMPT. | 70 std::string extension_id_; // Set for INLINE_INSTALL_PROMPT. |
71 GtkWidget* dialog_; | 71 GtkWidget* dialog_; |
72 }; | 72 }; |
73 | 73 |
74 ExtensionInstallDialog::ExtensionInstallDialog( | 74 ExtensionInstallDialog::ExtensionInstallDialog( |
75 GtkWindow* parent, | 75 GtkWindow* parent, |
76 ExtensionInstallUI::Delegate *delegate, | 76 ExtensionInstallPrompt::Delegate *delegate, |
77 const ExtensionInstallUI::Prompt& prompt) | 77 const ExtensionInstallPrompt::Prompt& prompt) |
78 : delegate_(delegate), | 78 : delegate_(delegate), |
79 dialog_(NULL) { | 79 dialog_(NULL) { |
80 bool show_permissions = prompt.GetPermissionCount() > 0; | 80 bool show_permissions = prompt.GetPermissionCount() > 0; |
81 bool is_inline_install = | 81 bool is_inline_install = |
82 prompt.type() == ExtensionInstallUI::INLINE_INSTALL_PROMPT; | 82 prompt.type() == ExtensionInstallPrompt::INLINE_INSTALL_PROMPT; |
83 bool is_bundle_install = | 83 bool is_bundle_install = |
84 prompt.type() == ExtensionInstallUI::BUNDLE_INSTALL_PROMPT; | 84 prompt.type() == ExtensionInstallPrompt::BUNDLE_INSTALL_PROMPT; |
85 | 85 |
86 if (is_inline_install) | 86 if (is_inline_install) |
87 extension_id_ = prompt.extension()->id(); | 87 extension_id_ = prompt.extension()->id(); |
88 | 88 |
89 // Build the dialog. | 89 // Build the dialog. |
90 dialog_ = gtk_dialog_new_with_buttons( | 90 dialog_ = gtk_dialog_new_with_buttons( |
91 UTF16ToUTF8(prompt.GetDialogTitle()).c_str(), | 91 UTF16ToUTF8(prompt.GetDialogTitle()).c_str(), |
92 parent, | 92 parent, |
93 GTK_DIALOG_MODAL, | 93 GTK_DIALOG_MODAL, |
94 NULL); | 94 NULL); |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 store_url, content::Referrer(), NEW_FOREGROUND_TAB, | 261 store_url, content::Referrer(), NEW_FOREGROUND_TAB, |
262 content::PAGE_TRANSITION_LINK, false)); | 262 content::PAGE_TRANSITION_LINK, false)); |
263 | 263 |
264 OnResponse(dialog_, GTK_RESPONSE_CLOSE); | 264 OnResponse(dialog_, GTK_RESPONSE_CLOSE); |
265 } | 265 } |
266 | 266 |
267 } // namespace browser | 267 } // namespace browser |
268 | 268 |
269 void ShowExtensionInstallDialogImpl( | 269 void ShowExtensionInstallDialogImpl( |
270 Profile* profile, | 270 Profile* profile, |
271 ExtensionInstallUI::Delegate* delegate, | 271 ExtensionInstallPrompt::Delegate* delegate, |
272 const ExtensionInstallUI::Prompt& prompt) { | 272 const ExtensionInstallPrompt::Prompt& prompt) { |
273 Browser* browser = browser::FindLastActiveWithProfile(profile); | 273 Browser* browser = browser::FindLastActiveWithProfile(profile); |
274 if (!browser) { | 274 if (!browser) { |
275 delegate->InstallUIAbort(false); | 275 delegate->InstallUIAbort(false); |
276 return; | 276 return; |
277 } | 277 } |
278 | 278 |
279 BrowserWindowGtk* browser_window = static_cast<BrowserWindowGtk*>( | 279 BrowserWindowGtk* browser_window = static_cast<BrowserWindowGtk*>( |
280 browser->window()); | 280 browser->window()); |
281 if (!browser_window) { | 281 if (!browser_window) { |
282 delegate->InstallUIAbort(false); | 282 delegate->InstallUIAbort(false); |
283 return; | 283 return; |
284 } | 284 } |
285 | 285 |
286 new browser::ExtensionInstallDialog(browser_window->window(), delegate, | 286 new browser::ExtensionInstallDialog(browser_window->window(), delegate, |
287 prompt); | 287 prompt); |
288 } | 288 } |
OLD | NEW |