Skip to content

Commit

Permalink
Allow access to ui discardable memory manager from pdf compositor
Browse files Browse the repository at this point in the history
When Mus is enabled, discardable memory manager server runs in ui
service. This CL adds support to access discardable memory manager server
in ui service from pdf compositor service.

BUG=834889

Change-Id: Ic667b04d3b9f588ace4accb9e6ecf2ad91a6819d
Reviewed-on: https://chromium-review.googlesource.com/1022810
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Wei Li <weili@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552745}
  • Loading branch information
weili0 authored and Commit Bot committed Apr 23, 2018
1 parent d2493d2 commit 0a427b0
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 3 deletions.
1 change: 1 addition & 0 deletions components/printing/service/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ static_library("service") {
"//content/public/common:service_names",
"//content/public/utility",
"//printing/common",
"//services/ui/public/interfaces",
"//skia",
"//third_party/blink/public:blink_headers",
]
Expand Down
2 changes: 2 additions & 0 deletions components/printing/service/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ include_rules = [
"+printing/common",
"+services/service_manager/public/cpp",
"+services/service_manager/public/mojom",
"+services/ui/public/interfaces/constants.mojom.h", # UI service name.
"+skia",
"+third_party/skia",
"+third_party/blink/public/platform", # Test web sandbox support.
"+ui/base/ui_base_features.h", # UI features.
]
3 changes: 2 additions & 1 deletion components/printing/service/pdf_compositor_manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
"requires": {
"*": [ "app" ],
"content_browser": [ "font_loader" ],
"service_manager": [ "service_manager:all_users" ]
"service_manager": [ "service_manager:all_users" ],
"ui": [ "discardable_memory" ]
}
}
}
Expand Down
15 changes: 13 additions & 2 deletions components/printing/service/pdf_compositor_service.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "services/service_manager/public/cpp/connector.h"
#include "services/service_manager/public/cpp/service_context.h"
#include "services/ui/public/interfaces/constants.mojom.h"
#include "ui/base/ui_base_features.h"

#if defined(OS_WIN)
#include "content/public/child/dwrite_font_proxy_init_win.h"
Expand Down Expand Up @@ -64,8 +66,17 @@ std::unique_ptr<service_manager::Service> PdfCompositorService::Create(
void PdfCompositorService::PrepareToStart() {
// Set up discardable memory manager.
discardable_memory::mojom::DiscardableSharedMemoryManagerPtr manager_ptr;
context()->connector()->BindInterface(content::mojom::kBrowserServiceName,
&manager_ptr);
if (features::IsMusEnabled()) {
#if defined(USE_AURA)
context()->connector()->BindInterface(ui::mojom::kServiceName,
&manager_ptr);
#else
NOTREACHED();
#endif
} else {
context()->connector()->BindInterface(content::mojom::kBrowserServiceName,
&manager_ptr);
}
discardable_shared_memory_manager_ = std::make_unique<
discardable_memory::ClientDiscardableSharedMemoryManager>(
std::move(manager_ptr), content::UtilityThread::Get()->GetIOTaskRunner());
Expand Down

0 comments on commit 0a427b0

Please sign in to comment.