| 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/ui/gtk/web_intent_picker_gtk.h" | 5 #include "chrome/browser/ui/gtk/web_intent_picker_gtk.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/i18n/rtl.h" | 9 #include "base/i18n/rtl.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 void WebIntentPickerGtk::OnFaviconChanged(WebIntentPickerModel* model, | 144 void WebIntentPickerGtk::OnFaviconChanged(WebIntentPickerModel* model, |
| 145 size_t index) { | 145 size_t index) { |
| 146 UpdateInstalledServices(); | 146 UpdateInstalledServices(); |
| 147 } | 147 } |
| 148 | 148 |
| 149 void WebIntentPickerGtk::OnExtensionIconChanged(WebIntentPickerModel* model, | 149 void WebIntentPickerGtk::OnExtensionIconChanged(WebIntentPickerModel* model, |
| 150 const string16& extension_id) { | 150 const string16& extension_id) { |
| 151 UpdateSuggestedExtensions(); | 151 UpdateSuggestedExtensions(); |
| 152 } | 152 } |
| 153 | 153 |
| 154 void WebIntentPickerGtk::OnInlineDisposition(WebIntentPickerModel* model) { | 154 void WebIntentPickerGtk::OnInlineDisposition(WebIntentPickerModel* model, |
| 155 const WebIntentPickerModel::InstalledService& installed_service = | 155 const GURL& url) { |
| 156 model->GetInstalledServiceAt(model->inline_disposition_index()); | |
| 157 const GURL& url = installed_service.url; | |
| 158 | |
| 159 content::WebContents* web_contents = content::WebContents::Create( | 156 content::WebContents* web_contents = content::WebContents::Create( |
| 160 browser_->profile(), NULL, MSG_ROUTING_NONE, NULL, NULL); | 157 browser_->profile(), NULL, MSG_ROUTING_NONE, NULL, NULL); |
| 161 inline_disposition_tab_contents_.reset(new TabContentsWrapper(web_contents)); | 158 inline_disposition_tab_contents_.reset(new TabContentsWrapper(web_contents)); |
| 162 inline_disposition_delegate_.reset(new WebIntentInlineDispositionDelegate); | 159 inline_disposition_delegate_.reset(new WebIntentInlineDispositionDelegate); |
| 163 web_contents->SetDelegate(inline_disposition_delegate_.get()); | 160 web_contents->SetDelegate(inline_disposition_delegate_.get()); |
| 164 | 161 |
| 165 // Must call this immediately after WebContents creation to avoid race | 162 // Must call this immediately after WebContents creation to avoid race |
| 166 // with load. | 163 // with load. |
| 167 delegate_->OnInlineDispositionWebContentsCreated(web_contents); | 164 delegate_->OnInlineDispositionWebContentsCreated(web_contents); |
| 168 | 165 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 } | 276 } |
| 280 | 277 |
| 281 void WebIntentPickerGtk::OnServiceButtonClick(GtkWidget* button) { | 278 void WebIntentPickerGtk::OnServiceButtonClick(GtkWidget* button) { |
| 282 GList* button_list = gtk_container_get_children(GTK_CONTAINER(button_vbox_)); | 279 GList* button_list = gtk_container_get_children(GTK_CONTAINER(button_vbox_)); |
| 283 gint index = g_list_index(button_list, button); | 280 gint index = g_list_index(button_list, button); |
| 284 DCHECK(index != -1); | 281 DCHECK(index != -1); |
| 285 | 282 |
| 286 const WebIntentPickerModel::InstalledService& installed_service = | 283 const WebIntentPickerModel::InstalledService& installed_service = |
| 287 model_->GetInstalledServiceAt(index); | 284 model_->GetInstalledServiceAt(index); |
| 288 | 285 |
| 289 delegate_->OnServiceChosen(static_cast<size_t>(index), | 286 delegate_->OnServiceChosen(installed_service.url, |
| 290 installed_service.disposition); | 287 installed_service.disposition); |
| 291 } | 288 } |
| 292 | 289 |
| 293 void WebIntentPickerGtk::InitContents() { | 290 void WebIntentPickerGtk::InitContents() { |
| 294 ThemeServiceGtk* theme_service = GetThemeService(wrapper_); | 291 ThemeServiceGtk* theme_service = GetThemeService(wrapper_); |
| 295 | 292 |
| 296 // Main contents vbox. | 293 // Main contents vbox. |
| 297 contents_ = gtk_vbox_new(FALSE, ui::kContentAreaSpacing); | 294 contents_ = gtk_vbox_new(FALSE, ui::kContentAreaSpacing); |
| 298 gtk_container_set_border_width(GTK_CONTAINER(contents_), | 295 gtk_container_set_border_width(GTK_CONTAINER(contents_), |
| 299 ui::kContentAreaBorder); | 296 ui::kContentAreaBorder); |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 for (int i = 0; i < 5; ++i) { | 466 for (int i = 0; i < 5; ++i) { |
| 470 gtk_box_pack_start( | 467 gtk_box_pack_start( |
| 471 GTK_BOX(hbox), | 468 GTK_BOX(hbox), |
| 472 gtk_image_new_from_pixbuf(rb.GetRTLEnabledPixbufNamed( | 469 gtk_image_new_from_pixbuf(rb.GetRTLEnabledPixbufNamed( |
| 473 WebIntentPicker::GetNthStarImageIdFromCWSRating(rating, i))), | 470 WebIntentPicker::GetNthStarImageIdFromCWSRating(rating, i))), |
| 474 FALSE, FALSE, 0); | 471 FALSE, FALSE, 0); |
| 475 } | 472 } |
| 476 | 473 |
| 477 return hbox; | 474 return hbox; |
| 478 } | 475 } |
| OLD | NEW |