#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_view.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/url_constants.h"
#include "content/shell/browser/shell.h"
WebKitTestController::WebKitTestController()
: main_window_(NULL),
- test_phase_(BETWEEN_TESTS) {
+ test_phase_(BETWEEN_TESTS),
+ is_leak_detection_enabled_(CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableLeakDetection)) {
CHECK(!instance_);
instance_ = this;
printer_.reset(new WebKitTestResultPrinter(&std::cout, &std::cerr));
current_pid_ = base::kNullProcessId;
main_window_->LoadURL(test_url);
} else {
-#if defined(TOOLKIT_GTK) || defined(OS_MACOSX)
+#if defined(OS_MACOSX)
// Shell::SizeTo is not implemented on all platforms.
main_window_->SizeTo(initial_size_);
#endif
PAGE_TRANSITION_TYPED | PAGE_TRANSITION_FROM_ADDRESS_BAR);
params.should_clear_history_list = true;
main_window_->web_contents()->GetController().LoadURLWithParams(params);
- main_window_->web_contents()->GetView()->Focus();
+ main_window_->web_contents()->Focus();
}
main_window_->web_contents()->GetRenderViewHost()->SetActive(true);
main_window_->web_contents()->GetRenderViewHost()->Focus();
ApplyLayoutTestDefaultPreferences(prefs);
if (is_compositing_test_) {
CommandLine& command_line = *CommandLine::ForCurrentProcess();
- if (!command_line.HasSwitch(switches::kEnableSoftwareCompositing))
+ if (!command_line.HasSwitch(switches::kDisableGpu))
prefs->accelerated_2d_canvas_enabled = true;
prefs->accelerated_compositing_for_video_enabled = true;
prefs->mock_scrollbars_enabled = true;
DiscardMainWindow();
}
-void WebKitTestController::WebContentsDestroyed(WebContents* web_contents) {
+void WebKitTestController::WebContentsDestroyed() {
DCHECK(CalledOnValidThread());
printer_->AddErrorMessage("FAIL: main window was destroyed");
DiscardMainWindow();
DiscardMainWindow();
}
-void WebKitTestController::TimeoutHandler() {
- DCHECK(CalledOnValidThread());
- printer_->AddErrorMessage(
- "FAIL: Timed out waiting for notifyDone to be called");
- DiscardMainWindow();
-}
-
void WebKitTestController::DiscardMainWindow() {
// If we're running a test, we need to close all windows and exit the message
// loop. Otherwise, we're already outside of the message loop, and we just
StoragePartition* storage_partition =
BrowserContext::GetStoragePartition(browser_context, NULL);
storage_partition->GetDOMStorageContext()->DeleteLocalStorage(
- content::GetDevToolsPathAsURL().GetOrigin());
+ content::GetDevToolsPathAsURL("", "").GetOrigin());
}
-void WebKitTestController::OnShowDevTools() {
- main_window_->ShowDevTools();
+void WebKitTestController::OnShowDevTools(const std::string& settings,
+ const std::string& frontend_url) {
+ main_window_->ShowDevToolsForTest(settings, frontend_url);
}
void WebKitTestController::OnCloseDevTools() {
}
void WebKitTestController::OnResetDone() {
- if (CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableLeakDetection)) {
+ if (is_leak_detection_enabled_) {
if (main_window_ && main_window_->web_contents()) {
RenderViewHost* render_view_host =
main_window_->web_contents()->GetRenderViewHost();
return;
}
- printer_->AddErrorMessage("#LEAK");
- printer_->AddErrorMessage(
- base::StringPrintf(" Number of live documents: %d",
- result.number_of_live_documents));
printer_->AddErrorMessage(
- base::StringPrintf(" Number of live nodes: %d",
- result.number_of_live_nodes));
+ base::StringPrintf("#LEAK - renderer pid %d (%s)", current_pid_,
+ result.detail.c_str()));
DiscardMainWindow();
}