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

Side by Side Diff: components/pdf_viewer/pdf_viewer.cc

Issue 1314953002: Rename ViewManagerService,ViewManagerClient -> ViewTree,ViewTreeClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 4 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 unified diff | Download patch
« no previous file with comments | « components/html_viewer/html_frame_apptest.cc ('k') | components/view_manager/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/callback.h" 6 #include "base/callback.h"
7 #include "base/containers/hash_tables.h" 7 #include "base/containers/hash_tables.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "components/view_manager/public/cpp/lib/view_manager_client_impl.h"
10 #include "components/view_manager/public/cpp/types.h" 9 #include "components/view_manager/public/cpp/types.h"
11 #include "components/view_manager/public/cpp/view.h" 10 #include "components/view_manager/public/cpp/view.h"
12 #include "components/view_manager/public/cpp/view_manager.h" 11 #include "components/view_manager/public/cpp/view_manager.h"
13 #include "components/view_manager/public/cpp/view_manager_delegate.h" 12 #include "components/view_manager/public/cpp/view_manager_delegate.h"
14 #include "components/view_manager/public/cpp/view_observer.h" 13 #include "components/view_manager/public/cpp/view_observer.h"
15 #include "components/view_manager/public/interfaces/gpu.mojom.h" 14 #include "components/view_manager/public/interfaces/gpu.mojom.h"
16 #include "components/view_manager/public/interfaces/surface_id.mojom.h" 15 #include "components/view_manager/public/interfaces/surface_id.mojom.h"
17 #include "components/view_manager/public/interfaces/surfaces.mojom.h" 16 #include "components/view_manager/public/interfaces/surfaces.mojom.h"
18 #include "gpu/GLES2/gl2chromium.h" 17 #include "gpu/GLES2/gl2chromium.h"
19 #include "gpu/GLES2/gl2extchromium.h" 18 #include "gpu/GLES2/gl2extchromium.h"
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 343
345 private: 344 private:
346 BitmapUploader bitmap_uploader_; 345 BitmapUploader bitmap_uploader_;
347 346
348 DISALLOW_COPY_AND_ASSIGN(EmbedderData); 347 DISALLOW_COPY_AND_ASSIGN(EmbedderData);
349 }; 348 };
350 349
351 class PDFView : public mojo::ApplicationDelegate, 350 class PDFView : public mojo::ApplicationDelegate,
352 public mojo::ViewManagerDelegate, 351 public mojo::ViewManagerDelegate,
353 public mojo::ViewObserver, 352 public mojo::ViewObserver,
354 public mojo::InterfaceFactory<mojo::ViewManagerClient> { 353 public mojo::InterfaceFactory<mojo::ViewTreeClient> {
355 public: 354 public:
356 PDFView(mojo::InterfaceRequest<mojo::Application> request, 355 PDFView(mojo::InterfaceRequest<mojo::Application> request,
357 mojo::URLResponsePtr response) 356 mojo::URLResponsePtr response)
358 : app_(this, request.Pass(), base::Bind(&PDFView::OnTerminate, 357 : app_(this, request.Pass(), base::Bind(&PDFView::OnTerminate,
359 base::Unretained(this))), 358 base::Unretained(this))),
360 current_page_(0), page_count_(0), doc_(nullptr) { 359 current_page_(0), page_count_(0), doc_(nullptr) {
361 FetchPDF(response.Pass()); 360 FetchPDF(response.Pass());
362 } 361 }
363 362
364 ~PDFView() override { 363 ~PDFView() override {
365 if (doc_) 364 if (doc_)
366 FPDF_CloseDocument(doc_); 365 FPDF_CloseDocument(doc_);
367 for (auto& roots : embedder_for_roots_) { 366 for (auto& roots : embedder_for_roots_) {
368 roots.first->RemoveObserver(this); 367 roots.first->RemoveObserver(this);
369 delete roots.second; 368 delete roots.second;
370 } 369 }
371 } 370 }
372 371
373 private: 372 private:
374 // Overridden from ApplicationDelegate: 373 // Overridden from ApplicationDelegate:
375 bool ConfigureIncomingConnection( 374 bool ConfigureIncomingConnection(
376 mojo::ApplicationConnection* connection) override { 375 mojo::ApplicationConnection* connection) override {
377 connection->AddService<mojo::ViewManagerClient>(this); 376 connection->AddService<mojo::ViewTreeClient>(this);
378 return true; 377 return true;
379 } 378 }
380 379
381 // Overridden from ViewManagerDelegate: 380 // Overridden from ViewManagerDelegate:
382 void OnEmbed(mojo::View* root) override { 381 void OnEmbed(mojo::View* root) override {
383 DCHECK(embedder_for_roots_.find(root) == embedder_for_roots_.end()); 382 DCHECK(embedder_for_roots_.find(root) == embedder_for_roots_.end());
384 root->AddObserver(this); 383 root->AddObserver(this);
385 EmbedderData* embedder_data = new EmbedderData(app_.shell(), root); 384 EmbedderData* embedder_data = new EmbedderData(app_.shell(), root);
386 embedder_for_roots_[root] = embedder_data; 385 embedder_for_roots_[root] = embedder_data;
387 DrawBitmap(embedder_data); 386 DrawBitmap(embedder_data);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 void OnViewDestroyed(mojo::View* view) override { 426 void OnViewDestroyed(mojo::View* view) override {
428 DCHECK(embedder_for_roots_.find(view) != embedder_for_roots_.end()); 427 DCHECK(embedder_for_roots_.find(view) != embedder_for_roots_.end());
429 const auto& it = embedder_for_roots_.find(view); 428 const auto& it = embedder_for_roots_.find(view);
430 DCHECK(it != embedder_for_roots_.end()); 429 DCHECK(it != embedder_for_roots_.end());
431 delete it->second; 430 delete it->second;
432 embedder_for_roots_.erase(it); 431 embedder_for_roots_.erase(it);
433 if (embedder_for_roots_.size() == 0) 432 if (embedder_for_roots_.size() == 0)
434 app_.Quit(); 433 app_.Quit();
435 } 434 }
436 435
437 // Overridden from mojo::InterfaceFactory<mojo::ViewManagerClient>: 436 // Overridden from mojo::InterfaceFactory<mojo::ViewTreeClient>:
438 void Create( 437 void Create(
439 mojo::ApplicationConnection* connection, 438 mojo::ApplicationConnection* connection,
440 mojo::InterfaceRequest<mojo::ViewManagerClient> request) override { 439 mojo::InterfaceRequest<mojo::ViewTreeClient> request) override {
441 mojo::ViewManager::Create(this, request.Pass()); 440 mojo::ViewManager::Create(this, request.Pass());
442 } 441 }
443 442
444 void DrawBitmap(EmbedderData* embedder_data) { 443 void DrawBitmap(EmbedderData* embedder_data) {
445 if (!doc_) 444 if (!doc_)
446 return; 445 return;
447 446
448 FPDF_PAGE page = FPDF_LoadPage(doc_, current_page_); 447 FPDF_PAGE page = FPDF_LoadPage(doc_, current_page_);
449 int width = static_cast<int>(FPDF_GetPageWidth(page)); 448 int width = static_cast<int>(FPDF_GetPageWidth(page));
450 int height = static_cast<int>(FPDF_GetPageHeight(page)); 449 int height = static_cast<int>(FPDF_GetPageHeight(page));
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 DISALLOW_COPY_AND_ASSIGN(PDFViewer); 538 DISALLOW_COPY_AND_ASSIGN(PDFViewer);
540 }; 539 };
541 540
542 } // namespace 541 } // namespace
543 } // namespace pdf_viewer 542 } // namespace pdf_viewer
544 543
545 MojoResult MojoMain(MojoHandle application_request) { 544 MojoResult MojoMain(MojoHandle application_request) {
546 mojo::ApplicationRunner runner(new pdf_viewer::PDFViewer()); 545 mojo::ApplicationRunner runner(new pdf_viewer::PDFViewer());
547 return runner.Run(application_request); 546 return runner.Run(application_request);
548 } 547 }
OLDNEW
« no previous file with comments | « components/html_viewer/html_frame_apptest.cc ('k') | components/view_manager/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698