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

Side by Side Diff: sky/viewer/document_view.cc

Issue 797063002: Make reftests work for sky. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sky/viewer/document_view.h" 5 #include "sky/viewer/document_view.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 } 66 }
67 } 67 }
68 68
69 } // namespace 69 } // namespace
70 70
71 static int s_next_debugger_id = 1; 71 static int s_next_debugger_id = 1;
72 72
73 DocumentView::DocumentView( 73 DocumentView::DocumentView(
74 mojo::ServiceProviderPtr provider, 74 mojo::ServiceProviderPtr provider,
75 mojo::URLResponsePtr response, 75 mojo::URLResponsePtr response,
76 mojo::Shell* shell) 76 mojo::Shell* shell,
77 bool is_testing)
77 : response_(response.Pass()), 78 : response_(response.Pass()),
78 shell_(shell), 79 shell_(shell),
79 web_view_(NULL), 80 web_view_(NULL),
80 root_(NULL), 81 root_(NULL),
81 view_manager_client_factory_(shell_, this), 82 view_manager_client_factory_(shell_, this),
82 inspector_service_factory_(this), 83 inspector_service_factory_(this),
84 weak_factory_(this),
83 debugger_id_(s_next_debugger_id++), 85 debugger_id_(s_next_debugger_id++),
84 weak_factory_(this) { 86 is_testing_(is_testing) {
85 exported_services_.AddService(&view_manager_client_factory_); 87 exported_services_.AddService(&view_manager_client_factory_);
86 mojo::WeakBindToPipe(&exported_services_, provider.PassMessagePipe()); 88 mojo::WeakBindToPipe(&exported_services_, provider.PassMessagePipe());
87 } 89 }
88 90
89 DocumentView::~DocumentView() { 91 DocumentView::~DocumentView() {
90 if (web_view_) 92 if (web_view_)
91 web_view_->close(); 93 web_view_->close();
92 if (root_) 94 if (root_)
93 root_->RemoveObserver(this); 95 root_->RemoveObserver(this);
94 } 96 }
(...skipping 29 matching lines...) Expand all
124 126
125 void DocumentView::Load(mojo::URLResponsePtr response) { 127 void DocumentView::Load(mojo::URLResponsePtr response) {
126 web_view_ = blink::WebView::create(this); 128 web_view_ = blink::WebView::create(this);
127 ConfigureSettings(web_view_->settings()); 129 ConfigureSettings(web_view_->settings());
128 web_view_->setMainFrame(blink::WebLocalFrame::create(this)); 130 web_view_->setMainFrame(blink::WebLocalFrame::create(this));
129 web_view_->mainFrame()->load(GURL(response->url), response->body.Pass()); 131 web_view_->mainFrame()->load(GURL(response->url), response->body.Pass());
130 } 132 }
131 133
132 void DocumentView::initializeLayerTreeView() { 134 void DocumentView::initializeLayerTreeView() {
133 layer_host_.reset(new LayerHost(this)); 135 layer_host_.reset(new LayerHost(this));
134 root_layer_ = make_scoped_refptr(new Layer(this)); 136 root_layer_ = make_scoped_refptr(new Layer(this, is_testing_));
135 layer_host_->SetRootLayer(root_layer_); 137 layer_host_->SetRootLayer(root_layer_);
136 } 138 }
137 139
140 std::string DocumentView::GetPixels() {
141 return layer_host_->GetPixels();
142 }
143
138 mojo::Shell* DocumentView::GetShell() { 144 mojo::Shell* DocumentView::GetShell() {
139 return shell_; 145 return shell_;
140 } 146 }
141 147
142 void DocumentView::BeginFrame(base::TimeTicks frame_time) { 148 void DocumentView::BeginFrame(base::TimeTicks frame_time) {
143 double frame_time_sec = (frame_time - base::TimeTicks()).InSecondsF(); 149 double frame_time_sec = (frame_time - base::TimeTicks()).InSecondsF();
144 double deadline_sec = frame_time_sec; 150 double deadline_sec = frame_time_sec;
145 double interval_sec = 1.0/60; 151 double interval_sec = 1.0/60;
146 blink::WebBeginFrameArgs web_begin_frame_args( 152 blink::WebBeginFrameArgs web_begin_frame_args(
147 frame_time_sec, deadline_sec, interval_sec); 153 frame_time_sec, deadline_sec, interval_sec);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 void DocumentView::StartDebuggerInspectorBackend() { 279 void DocumentView::StartDebuggerInspectorBackend() {
274 if (!inspector_backend_) { 280 if (!inspector_backend_) {
275 inspector_host_.reset(new InspectorHostImpl(web_view_, shell_)); 281 inspector_host_.reset(new InspectorHostImpl(web_view_, shell_));
276 inspector_backend_.reset( 282 inspector_backend_.reset(
277 new inspector::InspectorBackendMojo(inspector_host_.get())); 283 new inspector::InspectorBackendMojo(inspector_host_.get()));
278 } 284 }
279 inspector_backend_->Connect(); 285 inspector_backend_->Connect();
280 } 286 }
281 287
282 } // namespace sky 288 } // namespace sky
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698