OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 frame_client_binding_.Bind(std::move(request)); | 221 frame_client_binding_.Bind(std::move(request)); |
222 } | 222 } |
223 | 223 |
224 scoped_ptr<mojo::AppRefCount> app_ref_; | 224 scoped_ptr<mojo::AppRefCount> app_ref_; |
225 FPDF_DOCUMENT doc_; | 225 FPDF_DOCUMENT doc_; |
226 int current_page_; | 226 int current_page_; |
227 int page_count_; | 227 int page_count_; |
228 | 228 |
229 scoped_ptr<bitmap_uploader::BitmapUploader> bitmap_uploader_; | 229 scoped_ptr<bitmap_uploader::BitmapUploader> bitmap_uploader_; |
230 | 230 |
231 mojo::Shell* shell_; | 231 mojo::shell::mojom::Shell* shell_; |
232 mus::Window* root_; | 232 mus::Window* root_; |
233 | 233 |
234 web_view::mojom::FramePtr frame_; | 234 web_view::mojom::FramePtr frame_; |
235 mojo::Binding<web_view::mojom::FrameClient> frame_client_binding_; | 235 mojo::Binding<web_view::mojom::FrameClient> frame_client_binding_; |
236 DeleteCallback delete_callback_; | 236 DeleteCallback delete_callback_; |
237 | 237 |
238 DISALLOW_COPY_AND_ASSIGN(PDFView); | 238 DISALLOW_COPY_AND_ASSIGN(PDFView); |
239 }; | 239 }; |
240 | 240 |
241 // Responsible for managing all the views for displaying a PDF document. | 241 // Responsible for managing all the views for displaying a PDF document. |
242 class PDFViewerApplicationDelegate | 242 class PDFViewerApplicationDelegate |
243 : public mojo::ApplicationDelegate, | 243 : public mojo::ApplicationDelegate, |
244 public mojo::InterfaceFactory<mus::mojom::WindowTreeClient> { | 244 public mojo::InterfaceFactory<mus::mojom::WindowTreeClient> { |
245 public: | 245 public: |
246 PDFViewerApplicationDelegate( | 246 PDFViewerApplicationDelegate( |
247 mojo::InterfaceRequest<mojo::Application> request, | 247 mojo::ApplicationRequest request, |
248 mojo::URLResponsePtr response, | 248 mojo::URLResponsePtr response, |
249 const mojo::Callback<void()>& destruct_callback) | 249 const mojo::Callback<void()>& destruct_callback) |
250 : app_(this, | 250 : app_(this, |
251 std::move(request), | 251 std::move(request), |
252 base::Bind(&PDFViewerApplicationDelegate::OnTerminate, | 252 base::Bind(&PDFViewerApplicationDelegate::OnTerminate, |
253 base::Unretained(this))), | 253 base::Unretained(this))), |
254 doc_(nullptr), | 254 doc_(nullptr), |
255 is_destroying_(false), | 255 is_destroying_(false), |
256 destruct_callback_(destruct_callback) { | 256 destruct_callback_(destruct_callback) { |
257 FetchPDF(std::move(response)); | 257 FetchPDF(std::move(response)); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 mojo::ApplicationImpl app_; | 311 mojo::ApplicationImpl app_; |
312 std::string data_; | 312 std::string data_; |
313 std::vector<PDFView*> pdf_views_; | 313 std::vector<PDFView*> pdf_views_; |
314 FPDF_DOCUMENT doc_; | 314 FPDF_DOCUMENT doc_; |
315 bool is_destroying_; | 315 bool is_destroying_; |
316 mojo::Callback<void()> destruct_callback_; | 316 mojo::Callback<void()> destruct_callback_; |
317 | 317 |
318 DISALLOW_COPY_AND_ASSIGN(PDFViewerApplicationDelegate); | 318 DISALLOW_COPY_AND_ASSIGN(PDFViewerApplicationDelegate); |
319 }; | 319 }; |
320 | 320 |
321 class ContentHandlerImpl : public mojo::ContentHandler { | 321 class ContentHandlerImpl : public mojo::shell::mojom::ContentHandler { |
322 public: | 322 public: |
323 ContentHandlerImpl(mojo::InterfaceRequest<ContentHandler> request) | 323 ContentHandlerImpl( |
| 324 mojo::InterfaceRequest<mojo::shell::mojom::ContentHandler> request) |
324 : binding_(this, std::move(request)) {} | 325 : binding_(this, std::move(request)) {} |
325 ~ContentHandlerImpl() override {} | 326 ~ContentHandlerImpl() override {} |
326 | 327 |
327 private: | 328 private: |
328 // ContentHandler: | 329 // mojo::shell::mojom::ContentHandler: |
329 void StartApplication( | 330 void StartApplication( |
330 mojo::InterfaceRequest<mojo::Application> request, | 331 mojo::ApplicationRequest request, |
331 mojo::URLResponsePtr response, | 332 mojo::URLResponsePtr response, |
332 const mojo::Callback<void()>& destruct_callback) override { | 333 const mojo::Callback<void()>& destruct_callback) override { |
333 new PDFViewerApplicationDelegate(std::move(request), std::move(response), | 334 new PDFViewerApplicationDelegate(std::move(request), std::move(response), |
334 destruct_callback); | 335 destruct_callback); |
335 } | 336 } |
336 | 337 |
337 mojo::StrongBinding<mojo::ContentHandler> binding_; | 338 mojo::StrongBinding<mojo::shell::mojom::ContentHandler> binding_; |
338 | 339 |
339 DISALLOW_COPY_AND_ASSIGN(ContentHandlerImpl); | 340 DISALLOW_COPY_AND_ASSIGN(ContentHandlerImpl); |
340 }; | 341 }; |
341 | 342 |
342 class PDFViewer : public mojo::ApplicationDelegate, | 343 class PDFViewer |
343 public mojo::InterfaceFactory<mojo::ContentHandler> { | 344 : public mojo::ApplicationDelegate, |
| 345 public mojo::InterfaceFactory<mojo::shell::mojom::ContentHandler> { |
344 public: | 346 public: |
345 PDFViewer() { | 347 PDFViewer() { |
346 v8::V8::InitializeICU(); | 348 v8::V8::InitializeICU(); |
347 FPDF_InitLibrary(); | 349 FPDF_InitLibrary(); |
348 } | 350 } |
349 | 351 |
350 ~PDFViewer() override { FPDF_DestroyLibrary(); } | 352 ~PDFViewer() override { FPDF_DestroyLibrary(); } |
351 | 353 |
352 private: | 354 private: |
353 // ApplicationDelegate: | 355 // ApplicationDelegate: |
354 void Initialize(mojo::ApplicationImpl* app) override { | 356 void Initialize(mojo::ApplicationImpl* app) override { |
355 tracing_.Initialize(app); | 357 tracing_.Initialize(app); |
356 } | 358 } |
357 | 359 |
358 bool AcceptConnection( | 360 bool AcceptConnection( |
359 mojo::ApplicationConnection* connection) override { | 361 mojo::ApplicationConnection* connection) override { |
360 connection->AddService(this); | 362 connection->AddService(this); |
361 return true; | 363 return true; |
362 } | 364 } |
363 | 365 |
364 // InterfaceFactory<ContentHandler>: | 366 // InterfaceFactory<ContentHandler>: |
365 void Create(mojo::ApplicationConnection* connection, | 367 void Create(mojo::ApplicationConnection* connection, |
366 mojo::InterfaceRequest<mojo::ContentHandler> request) override { | 368 mojo::InterfaceRequest<mojo::shell::mojom::ContentHandler> |
| 369 request) override { |
367 new ContentHandlerImpl(std::move(request)); | 370 new ContentHandlerImpl(std::move(request)); |
368 } | 371 } |
369 | 372 |
370 mojo::TracingImpl tracing_; | 373 mojo::TracingImpl tracing_; |
371 | 374 |
372 DISALLOW_COPY_AND_ASSIGN(PDFViewer); | 375 DISALLOW_COPY_AND_ASSIGN(PDFViewer); |
373 }; | 376 }; |
374 } // namespace | 377 } // namespace |
375 } // namespace pdf_viewer | 378 } // namespace pdf_viewer |
376 | 379 |
377 MojoResult MojoMain(MojoHandle application_request) { | 380 MojoResult MojoMain(MojoHandle application_request) { |
378 mojo::ApplicationRunner runner(new pdf_viewer::PDFViewer()); | 381 mojo::ApplicationRunner runner(new pdf_viewer::PDFViewer()); |
379 return runner.Run(application_request); | 382 return runner.Run(application_request); |
380 } | 383 } |
OLD | NEW |