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

Side by Side Diff: content/browser/presentation/presentation_service_impl.cc

Issue 1527183003: Change mojo enums to be scoped enums in the generated C++ bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-binding-equals
Patch Set: rebase Created 4 years, 11 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
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 "content/browser/presentation/presentation_service_impl.h" 5 #include "content/browser/presentation/presentation_service_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <algorithm> 9 #include <algorithm>
10 #include <string> 10 #include <string>
(...skipping 29 matching lines...) Expand all
40 // |pass_ownership|: If true, function may reuse strings or buffers from 40 // |pass_ownership|: If true, function may reuse strings or buffers from
41 // |input| without copying. |input| can be freely modified. 41 // |input| without copying. |input| can be freely modified.
42 presentation::SessionMessagePtr ToMojoSessionMessage( 42 presentation::SessionMessagePtr ToMojoSessionMessage(
43 content::PresentationSessionMessage* input, 43 content::PresentationSessionMessage* input,
44 bool pass_ownership) { 44 bool pass_ownership) {
45 DCHECK(input); 45 DCHECK(input);
46 presentation::SessionMessagePtr output(presentation::SessionMessage::New()); 46 presentation::SessionMessagePtr output(presentation::SessionMessage::New());
47 if (input->is_binary()) { 47 if (input->is_binary()) {
48 // binary data 48 // binary data
49 DCHECK(input->data); 49 DCHECK(input->data);
50 output->type = presentation::PresentationMessageType:: 50 output->type = presentation::PresentationMessageType::ARRAY_BUFFER;
51 PRESENTATION_MESSAGE_TYPE_ARRAY_BUFFER;
52 if (pass_ownership) { 51 if (pass_ownership) {
53 output->data.Swap(input->data.get()); 52 output->data.Swap(input->data.get());
54 } else { 53 } else {
55 output->data = mojo::Array<uint8_t>::From(*input->data); 54 output->data = mojo::Array<uint8_t>::From(*input->data);
56 } 55 }
57 } else { 56 } else {
58 // string message 57 // string message
59 output->type = 58 output->type = presentation::PresentationMessageType::TEXT;
60 presentation::PresentationMessageType::PRESENTATION_MESSAGE_TYPE_TEXT;
61 if (pass_ownership) { 59 if (pass_ownership) {
62 output->message.Swap(&input->message); 60 output->message.Swap(&input->message);
63 } else { 61 } else {
64 output->message = input->message; 62 output->message = input->message;
65 } 63 }
66 } 64 }
67 return output; 65 return output;
68 } 66 }
69 67
70 scoped_ptr<PresentationSessionMessage> GetPresentationSessionMessage( 68 scoped_ptr<PresentationSessionMessage> GetPresentationSessionMessage(
71 presentation::SessionMessagePtr input) { 69 presentation::SessionMessagePtr input) {
72 DCHECK(!input.is_null()); 70 DCHECK(!input.is_null());
73 scoped_ptr<content::PresentationSessionMessage> output; 71 scoped_ptr<content::PresentationSessionMessage> output;
74 switch (input->type) { 72 switch (input->type) {
75 case presentation::PRESENTATION_MESSAGE_TYPE_TEXT: { 73 case presentation::PresentationMessageType::TEXT: {
76 DCHECK(!input->message.is_null()); 74 DCHECK(!input->message.is_null());
77 DCHECK(input->data.is_null()); 75 DCHECK(input->data.is_null());
78 // Return null PresentationSessionMessage if size exceeds. 76 // Return null PresentationSessionMessage if size exceeds.
79 if (input->message.size() > content::kMaxPresentationSessionMessageSize) 77 if (input->message.size() > content::kMaxPresentationSessionMessageSize)
80 return output; 78 return output;
81 79
82 output.reset( 80 output.reset(
83 new PresentationSessionMessage(PresentationMessageType::TEXT)); 81 new PresentationSessionMessage(PresentationMessageType::TEXT));
84 input->message.Swap(&output->message); 82 input->message.Swap(&output->message);
85 return output; 83 return output;
86 } 84 }
87 case presentation::PRESENTATION_MESSAGE_TYPE_ARRAY_BUFFER: { 85 case presentation::PresentationMessageType::ARRAY_BUFFER: {
88 DCHECK(!input->data.is_null()); 86 DCHECK(!input->data.is_null());
89 DCHECK(input->message.is_null()); 87 DCHECK(input->message.is_null());
90 if (input->data.size() > content::kMaxPresentationSessionMessageSize) 88 if (input->data.size() > content::kMaxPresentationSessionMessageSize)
91 return output; 89 return output;
92 90
93 output.reset(new PresentationSessionMessage( 91 output.reset(new PresentationSessionMessage(
94 PresentationMessageType::ARRAY_BUFFER)); 92 PresentationMessageType::ARRAY_BUFFER));
95 output->data.reset(new std::vector<uint8_t>); 93 output->data.reset(new std::vector<uint8_t>);
96 input->data.Swap(output->data.get()); 94 input->data.Swap(output->data.get());
97 return output; 95 return output;
98 } 96 }
99 case presentation::PRESENTATION_MESSAGE_TYPE_BLOB: { 97 case presentation::PresentationMessageType::BLOB: {
100 DCHECK(!input->data.is_null()); 98 DCHECK(!input->data.is_null());
101 DCHECK(input->message.is_null()); 99 DCHECK(input->message.is_null());
102 if (input->data.size() > content::kMaxPresentationSessionMessageSize) 100 if (input->data.size() > content::kMaxPresentationSessionMessageSize)
103 return output; 101 return output;
104 102
105 output.reset( 103 output.reset(
106 new PresentationSessionMessage(PresentationMessageType::BLOB)); 104 new PresentationSessionMessage(PresentationMessageType::BLOB));
107 output->data.reset(new std::vector<uint8_t>); 105 output->data.reset(new std::vector<uint8_t>);
108 input->data.Swap(output->data.get()); 106 input->data.Swap(output->data.get());
109 return output; 107 return output;
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 596
599 void PresentationServiceImpl::NewSessionMojoCallbackWrapper::Run( 597 void PresentationServiceImpl::NewSessionMojoCallbackWrapper::Run(
600 presentation::PresentationSessionInfoPtr session, 598 presentation::PresentationSessionInfoPtr session,
601 presentation::PresentationErrorPtr error) { 599 presentation::PresentationErrorPtr error) {
602 DCHECK(!callback_.is_null()); 600 DCHECK(!callback_.is_null());
603 callback_.Run(std::move(session), std::move(error)); 601 callback_.Run(std::move(session), std::move(error));
604 callback_.reset(); 602 callback_.reset();
605 } 603 }
606 604
607 } // namespace content 605 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698