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 "content/browser/site_per_process_browsertest.h" | 5 #include "content/browser/site_per_process_browsertest.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 }; | 456 }; |
457 | 457 |
458 // Helper function to focus a frame by sending it a mouse click and then | 458 // Helper function to focus a frame by sending it a mouse click and then |
459 // waiting for it to become focused. | 459 // waiting for it to become focused. |
460 void FocusFrame(FrameTreeNode* frame) { | 460 void FocusFrame(FrameTreeNode* frame) { |
461 FrameFocusedObserver focus_observer(frame); | 461 FrameFocusedObserver focus_observer(frame); |
462 SimulateMouseClick(frame->current_frame_host()->GetRenderWidgetHost(), 1, 1); | 462 SimulateMouseClick(frame->current_frame_host()->GetRenderWidgetHost(), 1, 1); |
463 focus_observer.Wait(); | 463 focus_observer.Wait(); |
464 } | 464 } |
465 | 465 |
466 // A WebContentsDelegate that catches messages sent to the console. | |
467 class ConsoleObserverDelegate : public WebContentsDelegate { | |
468 public: | |
469 ConsoleObserverDelegate(WebContents* web_contents, const std::string& filter) | |
470 : web_contents_(web_contents), | |
471 filter_(filter), | |
472 message_(""), | |
473 message_loop_runner_(new MessageLoopRunner) {} | |
474 | |
475 ~ConsoleObserverDelegate() override {} | |
476 | |
477 bool AddMessageToConsole(WebContents* source, | |
478 int32_t level, | |
479 const base::string16& message, | |
480 int32_t line_no, | |
481 const base::string16& source_id) override; | |
482 | |
483 std::string message() { return message_; } | |
484 | |
485 void Wait(); | |
486 | |
487 private: | |
488 WebContents* web_contents_; | |
489 std::string filter_; | |
490 std::string message_; | |
491 | |
492 // The MessageLoopRunner used to spin the message loop. | |
493 scoped_refptr<MessageLoopRunner> message_loop_runner_; | |
494 | |
495 DISALLOW_COPY_AND_ASSIGN(ConsoleObserverDelegate); | |
496 }; | |
497 | |
498 void ConsoleObserverDelegate::Wait() { | |
499 message_loop_runner_->Run(); | |
500 } | |
501 | |
502 bool ConsoleObserverDelegate::AddMessageToConsole( | |
503 WebContents* source, | |
504 int32_t level, | |
505 const base::string16& message, | |
506 int32_t line_no, | |
507 const base::string16& source_id) { | |
508 DCHECK(source == web_contents_); | |
509 | |
510 std::string ascii_message = base::UTF16ToASCII(message); | |
511 if (base::MatchPattern(ascii_message, filter_)) { | |
512 message_ = ascii_message; | |
513 message_loop_runner_->Quit(); | |
514 } | |
515 return false; | |
516 } | |
517 | |
518 // A BrowserMessageFilter that drops SwapOut ACK messages. | 466 // A BrowserMessageFilter that drops SwapOut ACK messages. |
519 class SwapoutACKMessageFilter : public BrowserMessageFilter { | 467 class SwapoutACKMessageFilter : public BrowserMessageFilter { |
520 public: | 468 public: |
521 SwapoutACKMessageFilter() : BrowserMessageFilter(FrameMsgStart) {} | 469 SwapoutACKMessageFilter() : BrowserMessageFilter(FrameMsgStart) {} |
522 | 470 |
523 protected: | 471 protected: |
524 ~SwapoutACKMessageFilter() override {} | 472 ~SwapoutACKMessageFilter() override {} |
525 | 473 |
526 private: | 474 private: |
527 // BrowserMessageFilter: | 475 // BrowserMessageFilter: |
(...skipping 6695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7223 EXPECT_TRUE(is_fullscreen_allowed(root->child_at(0))); | 7171 EXPECT_TRUE(is_fullscreen_allowed(root->child_at(0))); |
7224 EXPECT_TRUE(is_fullscreen_allowed(root->child_at(0)->child_at(0))); | 7172 EXPECT_TRUE(is_fullscreen_allowed(root->child_at(0)->child_at(0))); |
7225 | 7173 |
7226 // Cross-site navigation should preserve the fullscreen flags. | 7174 // Cross-site navigation should preserve the fullscreen flags. |
7227 NavigateFrameToURL(root->child_at(0)->child_at(0), | 7175 NavigateFrameToURL(root->child_at(0)->child_at(0), |
7228 embedded_test_server()->GetURL("d.com", "/title1.html")); | 7176 embedded_test_server()->GetURL("d.com", "/title1.html")); |
7229 EXPECT_TRUE(is_fullscreen_allowed(root->child_at(0)->child_at(0))); | 7177 EXPECT_TRUE(is_fullscreen_allowed(root->child_at(0)->child_at(0))); |
7230 } | 7178 } |
7231 | 7179 |
7232 } // namespace content | 7180 } // namespace content |
OLD | NEW |