summaryrefslogtreecommitdiffstats
path: root/content/shell/webkit_test_runner.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/shell/webkit_test_runner.cc')
-rw-r--r--content/shell/webkit_test_runner.cc20
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() {