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 <stdint.h> | 5 #include <stdint.h> |
6 #include <utility> | 6 #include <utility> |
7 | 7 |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 3407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3418 void RunBeforeUnloadDialog(WebContents* web_contents, | 3418 void RunBeforeUnloadDialog(WebContents* web_contents, |
3419 bool is_reload, | 3419 bool is_reload, |
3420 const DialogClosedCallback& callback) override {} | 3420 const DialogClosedCallback& callback) override {} |
3421 | 3421 |
3422 bool HandleJavaScriptDialog(WebContents* web_contents, | 3422 bool HandleJavaScriptDialog(WebContents* web_contents, |
3423 bool accept, | 3423 bool accept, |
3424 const base::string16* prompt_override) override { | 3424 const base::string16* prompt_override) override { |
3425 return true; | 3425 return true; |
3426 } | 3426 } |
3427 | 3427 |
3428 void CancelActiveAndPendingDialogs(WebContents* web_contents) override {} | 3428 void CancelDialogs(WebContents* web_contents, |
3429 | 3429 bool suppress_callbacks, |
3430 void ResetDialogState(WebContents* web_contents) override { ++reset_count_; } | 3430 bool reset_state) override { |
| 3431 if (reset_state) |
| 3432 ++reset_count_; |
| 3433 } |
3431 | 3434 |
3432 private: | 3435 private: |
3433 size_t reset_count_ = 0; | 3436 size_t reset_count_ = 0; |
3434 | 3437 |
3435 DISALLOW_COPY_AND_ASSIGN(TestJavaScriptDialogManager); | 3438 DISALLOW_COPY_AND_ASSIGN(TestJavaScriptDialogManager); |
3436 }; | 3439 }; |
3437 | 3440 |
3438 } // namespace | 3441 } // namespace |
3439 | 3442 |
3440 TEST_F(WebContentsImplTest, ResetJavaScriptDialogOnUserNavigate) { | 3443 TEST_F(WebContentsImplTest, ResetJavaScriptDialogOnUserNavigate) { |
3441 TestJavaScriptDialogManager dialog_manager; | 3444 TestJavaScriptDialogManager dialog_manager; |
3442 contents()->SetJavaScriptDialogManagerForTesting(&dialog_manager); | 3445 contents()->SetJavaScriptDialogManagerForTesting(&dialog_manager); |
3443 | 3446 |
3444 // A user-initiated navigation. | 3447 // A user-initiated navigation. |
3445 contents()->TestDidNavigate(main_test_rfh(), 1, 0, true, | 3448 contents()->TestDidNavigate(main_test_rfh(), 1, 0, true, |
3446 GURL("about:whatever"), | 3449 GURL("about:whatever"), |
3447 ui::PAGE_TRANSITION_TYPED); | 3450 ui::PAGE_TRANSITION_TYPED); |
3448 EXPECT_EQ(1u, dialog_manager.reset_count()); | 3451 EXPECT_EQ(1u, dialog_manager.reset_count()); |
3449 | 3452 |
3450 // An automatic navigation. | 3453 // An automatic navigation. |
3451 main_test_rfh()->SendNavigateWithModificationCallback( | 3454 main_test_rfh()->SendNavigateWithModificationCallback( |
3452 2, 0, true, GURL(url::kAboutBlankURL), base::Bind(SetAsNonUserGesture)); | 3455 2, 0, true, GURL(url::kAboutBlankURL), base::Bind(SetAsNonUserGesture)); |
3453 | 3456 |
3454 EXPECT_EQ(1u, dialog_manager.reset_count()); | 3457 EXPECT_EQ(1u, dialog_manager.reset_count()); |
3455 | 3458 |
3456 contents()->SetJavaScriptDialogManagerForTesting(nullptr); | 3459 contents()->SetJavaScriptDialogManagerForTesting(nullptr); |
3457 } | 3460 } |
3458 | 3461 |
3459 } // namespace content | 3462 } // namespace content |
OLD | NEW |