Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Unified Diff: content/shell/webkit_test_runner.cc

Issue 11829002: [content shell] add support for dumping frame load callbacks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/shell/webkit_test_runner.h ('k') | content/shell/webkit_test_runner.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/webkit_test_runner.cc
diff --git a/content/shell/webkit_test_runner.cc b/content/shell/webkit_test_runner.cc
index 6290ca51f545a96107ce7651643fbecb2006df70..cfd9ea14f0974d0935fdc7f618140004d13c01ca 100644
--- a/content/shell/webkit_test_runner.cc
+++ b/content/shell/webkit_test_runner.cc
@@ -155,7 +155,13 @@ void CopyCanvasToBitmap(SkCanvas* canvas, SkBitmap* snapshot) {
WebKitTestRunner::WebKitTestRunner(RenderView* render_view)
: RenderViewObserver(render_view),
- dump_editing_callbacks_(false) {
+ dump_editing_callbacks_(false),
+ dump_frame_load_callbacks_(false),
+ dump_user_gesture_in_frame_load_callbacks_(false),
+ stop_provisional_frame_loads_(false),
+ dump_title_changes_(false),
+ test_is_running_(true),
+ wait_until_done_(false) {
}
WebKitTestRunner::~WebKitTestRunner() {
@@ -297,6 +303,22 @@ bool WebKitTestRunner::shouldDumpEditingCallbacks() const {
return dump_editing_callbacks_;
}
+bool WebKitTestRunner::shouldDumpFrameLoadCallbacks() const {
+ return test_is_running_ && dump_frame_load_callbacks_;
+}
+
+bool WebKitTestRunner::shouldDumpUserGestureInFrameLoadCallbacks() const {
+ return test_is_running_ && dump_user_gesture_in_frame_load_callbacks_;
+}
+
+bool WebKitTestRunner::stopProvisionalFrameLoads() const {
+ return stop_provisional_frame_loads_;
+}
+
+bool WebKitTestRunner::shouldDumpTitleChanges() const {
+ return dump_title_changes_;
+}
+
// RenderViewObserver --------------------------------------------------------
void WebKitTestRunner::DidClearWindowObject(WebFrame* frame) {
@@ -304,8 +326,11 @@ void WebKitTestRunner::DidClearWindowObject(WebFrame* frame) {
}
void WebKitTestRunner::DidFinishLoad(WebFrame* frame) {
- if (!frame->parent())
+ if (!frame->parent()) {
+ if (!wait_until_done_)
+ test_is_running_ = false;
Send(new ShellViewHostMsg_DidFinishLoad(routing_id()));
+ }
}
void WebKitTestRunner::DidRequestShowContextMenu(
@@ -343,6 +368,7 @@ void WebKitTestRunner::SetXSSAuditorEnabled(bool enabled) {
}
void WebKitTestRunner::NotifyDone() {
+ test_is_running_ = false;
Send(new ShellViewHostMsg_NotifyDone(routing_id()));
}
@@ -365,6 +391,7 @@ void WebKitTestRunner::SetShouldStayOnPageAfterHandlingBeforeUnload(
}
void WebKitTestRunner::WaitUntilDone() {
+ wait_until_done_ = true;
Send(new ShellViewHostMsg_WaitUntilDone(routing_id()));
}
@@ -451,6 +478,22 @@ void WebKitTestRunner::DumpEditingCallbacks() {
dump_editing_callbacks_ = true;
}
+void WebKitTestRunner::DumpFrameLoadCallbacks() {
+ dump_frame_load_callbacks_ = true;
+}
+
+void WebKitTestRunner::DumpUserGestureInFrameLoadCallbacks() {
+ dump_user_gesture_in_frame_load_callbacks_ = true;
+}
+
+void WebKitTestRunner::StopProvisionalFrameLoads() {
+ stop_provisional_frame_loads_ = true;
+}
+
+void WebKitTestRunner::DumpTitleChanges() {
+ dump_title_changes_ = true;
+}
+
void WebKitTestRunner::NotImplemented(const std::string& object,
const std::string& method) {
Send(new ShellViewHostMsg_NotImplemented(routing_id(), object, method));
@@ -462,6 +505,12 @@ void WebKitTestRunner::Reset() {
ExportLayoutTestSpecificPreferences(prefs_, &prefs);
render_view()->SetWebkitPreferences(prefs);
dump_editing_callbacks_ = false;
+ dump_frame_load_callbacks_ = false;
+ dump_user_gesture_in_frame_load_callbacks_ = false;
+ stop_provisional_frame_loads_ = false;
+ dump_title_changes_ = false;
+ test_is_running_ = true;
+ wait_until_done_ = false;
}
// Private methods -----------------------------------------------------------
« no previous file with comments | « content/shell/webkit_test_runner.h ('k') | content/shell/webkit_test_runner.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698