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

Unified Diff: content/shell/shell_render_process_observer.cc

Issue 11416177: [content shell] change how the main render view is picked for layout tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch for landing Created 8 years, 1 month 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/shell_render_process_observer.h ('k') | content/shell/webkit_test_runner.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/shell_render_process_observer.cc
diff --git a/content/shell/shell_render_process_observer.cc b/content/shell/shell_render_process_observer.cc
index 250c91165d73cf6b428154c3cb7480b00547bc68..7c25ecf279c0bcde804ceca617642837875d61c1 100644
--- a/content/shell/shell_render_process_observer.cc
+++ b/content/shell/shell_render_process_observer.cc
@@ -13,6 +13,7 @@
#include "webkit/glue/webkit_glue.h"
#include "webkit/support/gc_extension.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebTestingSupport.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
#include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestInterfaces.h"
using WebKit::WebFrame;
@@ -32,7 +33,8 @@ ShellRenderProcessObserver* ShellRenderProcessObserver::GetInstance() {
}
ShellRenderProcessObserver::ShellRenderProcessObserver()
- : test_delegate_(NULL) {
+ : main_render_view_(NULL),
+ test_delegate_(NULL) {
CHECK(!g_instance);
g_instance = this;
RenderThread::Get()->AddObserver(this);
@@ -46,17 +48,10 @@ ShellRenderProcessObserver::~ShellRenderProcessObserver() {
void ShellRenderProcessObserver::SetMainWindow(
RenderView* view,
WebTestDelegate* delegate) {
- if (view == NULL) {
- if (delegate == test_delegate_) {
- test_interfaces_->setDelegate(NULL);
- test_interfaces_->setWebView(NULL);
- test_delegate_ = NULL;
- }
- } else {
- test_interfaces_->setDelegate(delegate);
- test_interfaces_->setWebView(view->GetWebView());
- test_delegate_ = delegate;
- }
+ test_interfaces_->setDelegate(delegate);
+ test_interfaces_->setWebView(view->GetWebView());
+ main_render_view_ = view;
+ test_delegate_ = delegate;
}
void ShellRenderProcessObserver::BindTestRunnersToWindow(WebFrame* frame) {
@@ -92,7 +87,10 @@ bool ShellRenderProcessObserver::OnControlMessageReceived(
void ShellRenderProcessObserver::OnResetAll() {
test_interfaces_->resetAll();
- // We don't reset the WebTestingSupport objects, as we don't reuse WebViews.
+ if (main_render_view_) {
+ WebTestingSupport::resetInternalsObject(
+ main_render_view_->GetWebView()->mainFrame());
+ }
}
} // namespace content
« no previous file with comments | « content/shell/shell_render_process_observer.h ('k') | content/shell/webkit_test_runner.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698