diff options
Diffstat (limited to 'content/shell/webkit_test_runner.cc')
-rw-r--r-- | content/shell/webkit_test_runner.cc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/content/shell/webkit_test_runner.cc b/content/shell/webkit_test_runner.cc index 1b053f0..c7db9c1 100644 --- a/content/shell/webkit_test_runner.cc +++ b/content/shell/webkit_test_runner.cc @@ -166,7 +166,8 @@ WebKitTestRunner::WebKitTestRunner(RenderView* render_view) RenderViewObserverTracker<WebKitTestRunner>(render_view), proxy_(NULL), focused_view_(NULL), - is_main_window_(false) { + is_main_window_(false), + focus_on_next_commit_(false) { } WebKitTestRunner::~WebKitTestRunner() { @@ -508,6 +509,23 @@ bool WebKitTestRunner::OnMessageReceived(const IPC::Message& message) { return handled; } +void WebKitTestRunner::Navigate(const GURL& url) { + focus_on_next_commit_ = true; +} + +void WebKitTestRunner::DidCommitProvisionalLoad(WebFrame* frame, + bool is_new_navigation) { + if (!focus_on_next_commit_) + return; + focus_on_next_commit_ = false; + render_view()->GetWebView()->setFocusedFrame(frame); +} + +void WebKitTestRunner::DidFailProvisionalLoad(WebFrame* frame, + const WebURLError& error) { + focus_on_next_commit_ = false; +} + // Public methods - ----------------------------------------------------------- void WebKitTestRunner::Reset() { |