1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/repost_form_warning_controller.h" 6 7 #if defined(TOOLKIT_GTK) 8 #include <gtk/gtk.h> 9 #endif 10 11 #include "content/public/browser/navigation_controller.h" 12 #include "content/public/browser/web_contents.h" 13 #include "grit/generated_resources.h" 14 #include "ui/base/l10n/l10n_util.h" 15 16 RepostFormWarningController::RepostFormWarningController( 17 content::WebContents* web_contents) 18 : TabModalConfirmDialogDelegate(web_contents), 19 content::WebContentsObserver(web_contents) { 20 } 21 22 RepostFormWarningController::~RepostFormWarningController() { 23 } 24 25 string16 RepostFormWarningController::GetTitle() { 26 return l10n_util::GetStringUTF16(IDS_HTTP_POST_WARNING_TITLE); 27 } 28 29 string16 RepostFormWarningController::GetMessage() { 30 return l10n_util::GetStringUTF16(IDS_HTTP_POST_WARNING); 31 } 32 33 string16 RepostFormWarningController::GetAcceptButtonTitle() { 34 return l10n_util::GetStringUTF16(IDS_HTTP_POST_WARNING_RESEND); 35 } 36 37 #if defined(TOOLKIT_GTK) 38 const char* RepostFormWarningController::GetAcceptButtonIcon() { 39 return GTK_STOCK_REFRESH; 40 } 41 42 const char* RepostFormWarningController::GetCancelButtonIcon() { 43 return GTK_STOCK_CANCEL; 44 } 45 #endif // defined(TOOLKIT_GTK) 46 47 void RepostFormWarningController::OnAccepted() { 48 web_contents()->GetController().ContinuePendingReload(); 49 } 50 51 void RepostFormWarningController::OnCanceled() { 52 web_contents()->GetController().CancelPendingReload(); 53 } 54 55 void RepostFormWarningController::OnClosed() { 56 web_contents()->GetController().CancelPendingReload(); 57 } 58 59 void RepostFormWarningController::BeforeFormRepostWarningShow() { 60 // Close the dialog if we show an additional dialog, to avoid them 61 // stacking up. 62 Cancel(); 63 } 64