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 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 }; | 455 }; |
456 | 456 |
457 // Helper function to focus a frame by sending it a mouse click and then | 457 // Helper function to focus a frame by sending it a mouse click and then |
458 // waiting for it to become focused. | 458 // waiting for it to become focused. |
459 void FocusFrame(FrameTreeNode* frame) { | 459 void FocusFrame(FrameTreeNode* frame) { |
460 FrameFocusedObserver focus_observer(frame); | 460 FrameFocusedObserver focus_observer(frame); |
461 SimulateMouseClick(frame->current_frame_host()->GetRenderWidgetHost(), 1, 1); | 461 SimulateMouseClick(frame->current_frame_host()->GetRenderWidgetHost(), 1, 1); |
462 focus_observer.Wait(); | 462 focus_observer.Wait(); |
463 } | 463 } |
464 | 464 |
465 // A WebContentsDelegate that catches messages sent to the console. | |
466 class ConsoleObserverDelegate : public WebContentsDelegate { | |
467 public: | |
468 ConsoleObserverDelegate(WebContents* web_contents, const std::string& filter) | |
469 : web_contents_(web_contents), | |
470 filter_(filter), | |
471 message_(""), | |
472 message_loop_runner_(new MessageLoopRunner) {} | |
473 | |
474 ~ConsoleObserverDelegate() override {} | |
475 | |
476 bool AddMessageToConsole(WebContents* source, | |
477 int32_t level, | |
478 const base::string16& message, | |
479 int32_t line_no, | |
480 const base::string16& source_id) override; | |
481 | |
482 std::string message() { return message_; } | |
483 | |
484 void Wait(); | |
485 | |
486 private: | |
487 WebContents* web_contents_; | |
488 std::string filter_; | |
489 std::string message_; | |
490 | |
491 // The MessageLoopRunner used to spin the message loop. | |
492 scoped_refptr<MessageLoopRunner> message_loop_runner_; | |
493 | |
494 DISALLOW_COPY_AND_ASSIGN(ConsoleObserverDelegate); | |
495 }; | |
496 | |
497 void ConsoleObserverDelegate::Wait() { | |
498 message_loop_runner_->Run(); | |
499 } | |
500 | |
501 bool ConsoleObserverDelegate::AddMessageToConsole( | |
502 WebContents* source, | |
503 int32_t level, | |
504 const base::string16& message, | |
505 int32_t line_no, | |
506 const base::string16& source_id) { | |
507 DCHECK(source == web_contents_); | |
508 | |
509 std::string ascii_message = base::UTF16ToASCII(message); | |
510 if (base::MatchPattern(ascii_message, filter_)) { | |
511 message_ = ascii_message; | |
512 message_loop_runner_->Quit(); | |
513 } | |
514 return false; | |
515 } | |
516 | |
517 // A BrowserMessageFilter that drops SwapOut ACK messages. | 465 // A BrowserMessageFilter that drops SwapOut ACK messages. |
518 class SwapoutACKMessageFilter : public BrowserMessageFilter { | 466 class SwapoutACKMessageFilter : public BrowserMessageFilter { |
519 public: | 467 public: |
520 SwapoutACKMessageFilter() : BrowserMessageFilter(FrameMsgStart) {} | 468 SwapoutACKMessageFilter() : BrowserMessageFilter(FrameMsgStart) {} |
521 | 469 |
522 protected: | 470 protected: |
523 ~SwapoutACKMessageFilter() override {} | 471 ~SwapoutACKMessageFilter() override {} |
524 | 472 |
525 private: | 473 private: |
526 // BrowserMessageFilter: | 474 // BrowserMessageFilter: |
(...skipping 6399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6926 | 6874 |
6927 EXPECT_EQ( | 6875 EXPECT_EQ( |
6928 " Site A ------------ proxies for B\n" | 6876 " Site A ------------ proxies for B\n" |
6929 " +--Site B ------- proxies for A\n" | 6877 " +--Site B ------- proxies for A\n" |
6930 "Where A = http://a.com/\n" | 6878 "Where A = http://a.com/\n" |
6931 " B = http://b.com/", | 6879 " B = http://b.com/", |
6932 DepictFrameTree(root)); | 6880 DepictFrameTree(root)); |
6933 } | 6881 } |
6934 | 6882 |
6935 } // namespace content | 6883 } // namespace content |
OLD | NEW |