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

Side by Side Diff: content/browser/loader/downloaded_temp_file_impl.cc

Issue 2561743003: Use associated interface on DownloadedTempFile (Closed)
Patch Set: . Created 4 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "content/browser/loader/downloaded_temp_file_impl.h" 5 #include "content/browser/loader/downloaded_temp_file_impl.h"
6 6
7 #include "content/browser/loader/resource_dispatcher_host_impl.h" 7 #include "content/browser/loader/resource_dispatcher_host_impl.h"
8 #include "mojo/public/cpp/bindings/associated_group.h"
9 #include "mojo/public/cpp/bindings/strong_associated_binding.h"
8 #include "mojo/public/cpp/bindings/strong_binding.h" 10 #include "mojo/public/cpp/bindings/strong_binding.h"
9 11
10 namespace content { 12 namespace content {
11 13
12 // static 14 // static
13 mojo::InterfacePtr<mojom::DownloadedTempFile> DownloadedTempFileImpl::Create( 15 mojom::DownloadedTempFileAssociatedPtrInfo DownloadedTempFileImpl::Create(
16 mojo::AssociatedGroup* associated_group,
17 int child_id,
18 int request_id) {
19 mojo::AssociatedInterfacePtrInfo<mojom::DownloadedTempFile> ptr_info;
20 mojo::AssociatedInterfaceRequest<mojom::DownloadedTempFile> request;
mmenke 2016/12/13 20:24:06 Are there any docs on what an associated interface
dcheng 2016/12/13 22:37:44 I guess we should clarify the docs. Basically, wi
21 associated_group->CreateAssociatedInterface(
22 mojo::AssociatedGroup::WILL_PASS_PTR, &ptr_info, &request);
23 mojo::MakeStrongAssociatedBinding(
24 base::MakeUnique<DownloadedTempFileImpl>(child_id, request_id),
25 std::move(request));
26 return ptr_info;
27 }
28
29 // static
30 mojom::DownloadedTempFilePtr DownloadedTempFileImpl::CreateForTesting(
14 int child_id, 31 int child_id,
15 int request_id) { 32 int request_id) {
16 mojo::InterfacePtr<mojom::DownloadedTempFile> ptr; 33 mojo::InterfacePtr<mojom::DownloadedTempFile> ptr;
17 auto binding = mojo::MakeStrongBinding( 34 mojo::MakeStrongBinding(
18 base::MakeUnique<DownloadedTempFileImpl>(child_id, request_id), 35 base::MakeUnique<DownloadedTempFileImpl>(child_id, request_id),
19 mojo::GetProxy(&ptr)); 36 mojo::GetProxy(&ptr));
20 return ptr; 37 return ptr;
21 } 38 }
22 39
23 DownloadedTempFileImpl::~DownloadedTempFileImpl() { 40 DownloadedTempFileImpl::~DownloadedTempFileImpl() {
24 ResourceDispatcherHostImpl::Get()->UnregisterDownloadedTempFile(child_id_, 41 ResourceDispatcherHostImpl::Get()->UnregisterDownloadedTempFile(child_id_,
25 request_id_); 42 request_id_);
26 } 43 }
27 DownloadedTempFileImpl::DownloadedTempFileImpl(int child_id, int request_id) 44 DownloadedTempFileImpl::DownloadedTempFileImpl(int child_id, int request_id)
28 : child_id_(child_id), request_id_(request_id) {} 45 : child_id_(child_id), request_id_(request_id) {}
29 46
30 } // namespace content 47 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698