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

Side by Side Diff: ppapi/proxy/ppb_instance_proxy.cc

Issue 811923002: Changes to support CDM_7 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cdm_7 changes Created 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ppapi/proxy/ppb_instance_proxy.h" 5 #include "ppapi/proxy/ppb_instance_proxy.h"
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "media/base/limits.h" 9 #include "media/base/limits.h"
10 #include "ppapi/c/pp_errors.h" 10 #include "ppapi/c/pp_errors.h"
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DocumentCanAccessDocument, 175 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DocumentCanAccessDocument,
176 OnHostMsgDocumentCanAccessDocument) 176 OnHostMsgDocumentCanAccessDocument)
177 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetPluginInstanceURL, 177 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetPluginInstanceURL,
178 OnHostMsgGetPluginInstanceURL) 178 OnHostMsgGetPluginInstanceURL)
179 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetPluginReferrerURL, 179 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_GetPluginReferrerURL,
180 OnHostMsgGetPluginReferrerURL) 180 OnHostMsgGetPluginReferrerURL)
181 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_PromiseResolved, 181 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_PromiseResolved,
182 OnHostMsgPromiseResolved) 182 OnHostMsgPromiseResolved)
183 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_PromiseResolvedWithSession, 183 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_PromiseResolvedWithSession,
184 OnHostMsgPromiseResolvedWithSession) 184 OnHostMsgPromiseResolvedWithSession)
185 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_PromiseResolvedWithKeyIds,
186 OnHostMsgPromiseResolvedWithKeyIds)
187 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_PromiseRejected, 185 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_PromiseRejected,
188 OnHostMsgPromiseRejected) 186 OnHostMsgPromiseRejected)
189 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionMessage, 187 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionMessage,
190 OnHostMsgSessionMessage) 188 OnHostMsgSessionMessage)
191 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionKeysChange, 189 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionKeysChange,
192 OnHostMsgSessionKeysChange) 190 OnHostMsgSessionKeysChange)
193 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionExpirationChange, 191 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionExpirationChange,
194 OnHostMsgSessionExpirationChange) 192 OnHostMsgSessionExpirationChange)
195 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionReady,
196 OnHostMsgSessionReady)
197 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionClosed, 193 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionClosed,
198 OnHostMsgSessionClosed) 194 OnHostMsgSessionClosed)
199 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionError, 195 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_SessionError,
200 OnHostMsgSessionError) 196 OnHostMsgSessionError)
201 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DeliverBlock, 197 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DeliverBlock,
202 OnHostMsgDeliverBlock) 198 OnHostMsgDeliverBlock)
203 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DecoderInitializeDone, 199 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DecoderInitializeDone,
204 OnHostMsgDecoderInitializeDone) 200 OnHostMsgDecoderInitializeDone)
205 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DecoderDeinitializeDone, 201 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBInstance_DecoderDeinitializeDone,
206 OnHostMsgDecoderDeinitializeDone) 202 OnHostMsgDecoderDeinitializeDone)
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 void PPB_Instance_Proxy::PromiseResolvedWithSession(PP_Instance instance, 575 void PPB_Instance_Proxy::PromiseResolvedWithSession(PP_Instance instance,
580 uint32 promise_id, 576 uint32 promise_id,
581 PP_Var web_session_id_var) { 577 PP_Var web_session_id_var) {
582 dispatcher()->Send(new PpapiHostMsg_PPBInstance_PromiseResolvedWithSession( 578 dispatcher()->Send(new PpapiHostMsg_PPBInstance_PromiseResolvedWithSession(
583 API_ID_PPB_INSTANCE, 579 API_ID_PPB_INSTANCE,
584 instance, 580 instance,
585 promise_id, 581 promise_id,
586 SerializedVarSendInput(dispatcher(), web_session_id_var))); 582 SerializedVarSendInput(dispatcher(), web_session_id_var)));
587 } 583 }
588 584
589 void PPB_Instance_Proxy::PromiseResolvedWithKeyIds(PP_Instance instance,
590 uint32 promise_id,
591 PP_Var key_ids_var) {
592 ArrayVar* key_ids_array = ArrayVar::FromPPVar(key_ids_var);
593 if (!key_ids_array ||
594 key_ids_array->GetLength() > media::limits::kMaxKeyIds) {
595 NOTREACHED();
596 return;
597 }
598
599 std::vector<std::vector<uint8_t> > key_ids;
600 for (size_t i = 0; i < key_ids_array->GetLength(); ++i) {
601 ArrayBufferVar* key_id = ArrayBufferVar::FromPPVar(key_ids_array->Get(i));
602 if (!key_id || key_id->ByteLength() < media::limits::kMinKeyIdLength ||
603 key_id->ByteLength() > media::limits::kMaxKeyIdLength) {
604 NOTREACHED();
605 continue;
606 }
607
608 const uint8_t* key_id_ptr = static_cast<const uint8_t*>(key_id->Map());
609 const uint32_t key_id_size = key_id->ByteLength();
610 std::vector<uint8_t> key_id_vector(key_id_ptr, key_id_ptr + key_id_size);
611 key_ids.push_back(key_id_vector);
612 }
613
614 dispatcher()->Send(new PpapiHostMsg_PPBInstance_PromiseResolvedWithKeyIds(
615 API_ID_PPB_INSTANCE, instance, promise_id, key_ids));
616 }
617
618 void PPB_Instance_Proxy::PromiseRejected(PP_Instance instance, 585 void PPB_Instance_Proxy::PromiseRejected(PP_Instance instance,
619 uint32 promise_id, 586 uint32 promise_id,
620 PP_CdmExceptionCode exception_code, 587 PP_CdmExceptionCode exception_code,
621 uint32 system_code, 588 uint32 system_code,
622 PP_Var error_description_var) { 589 PP_Var error_description_var) {
623 dispatcher()->Send(new PpapiHostMsg_PPBInstance_PromiseRejected( 590 dispatcher()->Send(new PpapiHostMsg_PPBInstance_PromiseRejected(
624 API_ID_PPB_INSTANCE, 591 API_ID_PPB_INSTANCE,
625 instance, 592 instance,
626 promise_id, 593 promise_id,
627 exception_code, 594 exception_code,
628 system_code, 595 system_code,
629 SerializedVarSendInput(dispatcher(), error_description_var))); 596 SerializedVarSendInput(dispatcher(), error_description_var)));
630 } 597 }
631 598
632 void PPB_Instance_Proxy::SessionMessage(PP_Instance instance, 599 void PPB_Instance_Proxy::SessionMessage(PP_Instance instance,
633 PP_Var web_session_id_var, 600 PP_Var web_session_id_var,
634 PP_Var message_var, 601 PP_MessageType message_type,
635 PP_Var destination_url_var) { 602 PP_Var message_var) {
636 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionMessage( 603 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionMessage(
637 API_ID_PPB_INSTANCE, 604 API_ID_PPB_INSTANCE, instance,
638 instance, 605 SerializedVarSendInput(dispatcher(), web_session_id_var), message_type,
639 SerializedVarSendInput(dispatcher(), web_session_id_var), 606 SerializedVarSendInput(dispatcher(), message_var)));
640 SerializedVarSendInput(dispatcher(), message_var),
641 SerializedVarSendInput(dispatcher(), destination_url_var)));
642 } 607 }
643 608
644 void PPB_Instance_Proxy::SessionKeysChange(PP_Instance instance, 609 void PPB_Instance_Proxy::SessionKeysChange(PP_Instance instance,
645 PP_Var web_session_id_var, 610 PP_Var web_session_id_var,
646 PP_Bool has_additional_usable_key) { 611 PP_Bool has_additional_usable_key,
612 PP_Var key_information_var) {
647 StringVar* session_id = StringVar::FromPPVar(web_session_id_var); 613 StringVar* session_id = StringVar::FromPPVar(web_session_id_var);
648 if (!session_id || 614 if (!session_id ||
649 session_id->value().length() > media::limits::kMaxWebSessionIdLength) { 615 session_id->value().length() > media::limits::kMaxWebSessionIdLength) {
650 NOTREACHED(); 616 NOTREACHED();
651 return; 617 return;
652 } 618 }
653 619
620 ArrayVar* key_information_array = ArrayVar::FromPPVar(key_information_var);
621 if (!key_information_array ||
622 key_information_array->GetLength() > media::limits::kMaxKeyIds) {
623 NOTREACHED();
624 return;
625 }
626
627 std::vector<std::string> serialized_key_info;
628 for (size_t i = 0; i < key_information_array->GetLength(); ++i) {
629 ArrayBufferVar* key_info =
630 ArrayBufferVar::FromPPVar(key_information_array->Get(i));
631 if (!key_info || key_info->ByteLength() != sizeof(PP_KeyInformation)) {
632 NOTREACHED();
633 continue;
634 }
635
636 PP_KeyInformation new_key;
637 memcpy(&new_key, key_info->Map(), sizeof(PP_KeyInformation));
638 if (new_key.key_id_size < media::limits::kMinKeyIdLength ||
639 new_key.key_id_size > media::limits::kMaxKeyIdLength) {
640 NOTREACHED();
641 continue;
642 }
643
644 std::string serialized_info;
645 if (!SerializeBlockInfo(new_key, &serialized_info)) {
646 NOTREACHED();
647 return;
648 }
649
650 serialized_key_info.push_back(serialized_info);
651 }
652
654 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionKeysChange( 653 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionKeysChange(
655 API_ID_PPB_INSTANCE, 654 API_ID_PPB_INSTANCE, instance, session_id->value(),
656 instance, 655 has_additional_usable_key, serialized_key_info));
657 session_id->value(),
658 has_additional_usable_key));
659 } 656 }
660 657
661 void PPB_Instance_Proxy::SessionExpirationChange(PP_Instance instance, 658 void PPB_Instance_Proxy::SessionExpirationChange(PP_Instance instance,
662 PP_Var web_session_id_var, 659 PP_Var web_session_id_var,
663 PP_Time new_expiry_time) { 660 PP_Time new_expiry_time) {
664 StringVar* session_id = StringVar::FromPPVar(web_session_id_var); 661 StringVar* session_id = StringVar::FromPPVar(web_session_id_var);
665 if (!session_id || 662 if (!session_id ||
666 session_id->value().length() > media::limits::kMaxWebSessionIdLength) { 663 session_id->value().length() > media::limits::kMaxWebSessionIdLength) {
667 NOTREACHED(); 664 NOTREACHED();
668 return; 665 return;
669 } 666 }
670 667
671 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionExpirationChange( 668 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionExpirationChange(
672 API_ID_PPB_INSTANCE, instance, session_id->value(), new_expiry_time)); 669 API_ID_PPB_INSTANCE, instance, session_id->value(), new_expiry_time));
673 } 670 }
674 671
675 void PPB_Instance_Proxy::SessionReady(PP_Instance instance,
676 PP_Var web_session_id_var) {
677 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionReady(
678 API_ID_PPB_INSTANCE,
679 instance,
680 SerializedVarSendInput(dispatcher(), web_session_id_var)));
681 }
682
683 void PPB_Instance_Proxy::SessionClosed(PP_Instance instance, 672 void PPB_Instance_Proxy::SessionClosed(PP_Instance instance,
684 PP_Var web_session_id_var) { 673 PP_Var web_session_id_var) {
685 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionClosed( 674 dispatcher()->Send(new PpapiHostMsg_PPBInstance_SessionClosed(
686 API_ID_PPB_INSTANCE, 675 API_ID_PPB_INSTANCE,
687 instance, 676 instance,
688 SerializedVarSendInput(dispatcher(), web_session_id_var))); 677 SerializedVarSendInput(dispatcher(), web_session_id_var)));
689 } 678 }
690 679
691 void PPB_Instance_Proxy::SessionError(PP_Instance instance, 680 void PPB_Instance_Proxy::SessionError(PP_Instance instance,
692 PP_Var web_session_id_var, 681 PP_Var web_session_id_var,
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 SerializedVarReceiveInput web_session_id) { 1268 SerializedVarReceiveInput web_session_id) {
1280 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE)) 1269 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE))
1281 return; 1270 return;
1282 EnterInstanceNoLock enter(instance); 1271 EnterInstanceNoLock enter(instance);
1283 if (enter.succeeded()) { 1272 if (enter.succeeded()) {
1284 enter.functions()->PromiseResolvedWithSession( 1273 enter.functions()->PromiseResolvedWithSession(
1285 instance, promise_id, web_session_id.Get(dispatcher())); 1274 instance, promise_id, web_session_id.Get(dispatcher()));
1286 } 1275 }
1287 } 1276 }
1288 1277
1289 void PPB_Instance_Proxy::OnHostMsgPromiseResolvedWithKeyIds(
1290 PP_Instance instance,
1291 uint32_t promise_id,
1292 const std::vector<std::vector<uint8_t> >& key_ids) {
1293 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE))
1294 return;
1295 if (key_ids.size() > media::limits::kMaxKeyIds) {
1296 NOTREACHED();
1297 return;
1298 }
1299
1300 scoped_refptr<ArrayVar> key_ids_array = new ArrayVar();
1301 key_ids_array->SetLength(key_ids.size());
1302 for (size_t i = 0; i < key_ids.size(); ++i) {
1303 const std::vector<uint8_t>& entry = key_ids[i];
1304 if (entry.size() < media::limits::kMinKeyIdLength ||
1305 entry.size() > media::limits::kMaxKeyIdLength) {
1306 NOTREACHED();
1307 continue;
1308 }
1309 key_ids_array->Set(
1310 i,
1311 PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar(entry.size(),
1312 &entry[0]));
1313 }
1314
1315 EnterInstanceNoLock enter(instance);
1316 if (enter.succeeded()) {
1317 ScopedPPVar key_ids_var(ScopedPPVar::PassRef(), key_ids_array->GetPPVar());
1318 enter.functions()->PromiseResolvedWithKeyIds(
1319 instance, promise_id, key_ids_var.get());
1320 }
1321 }
1322
1323 void PPB_Instance_Proxy::OnHostMsgPromiseRejected( 1278 void PPB_Instance_Proxy::OnHostMsgPromiseRejected(
1324 PP_Instance instance, 1279 PP_Instance instance,
1325 uint32_t promise_id, 1280 uint32_t promise_id,
1326 PP_CdmExceptionCode exception_code, 1281 PP_CdmExceptionCode exception_code,
1327 uint32_t system_code, 1282 uint32_t system_code,
1328 SerializedVarReceiveInput error_description) { 1283 SerializedVarReceiveInput error_description) {
1329 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE)) 1284 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE))
1330 return; 1285 return;
1331 EnterInstanceNoLock enter(instance); 1286 EnterInstanceNoLock enter(instance);
1332 if (enter.succeeded()) { 1287 if (enter.succeeded()) {
1333 enter.functions()->PromiseRejected(instance, 1288 enter.functions()->PromiseRejected(instance,
1334 promise_id, 1289 promise_id,
1335 exception_code, 1290 exception_code,
1336 system_code, 1291 system_code,
1337 error_description.Get(dispatcher())); 1292 error_description.Get(dispatcher()));
1338 } 1293 }
1339 } 1294 }
1340 1295
1341 void PPB_Instance_Proxy::OnHostMsgSessionMessage( 1296 void PPB_Instance_Proxy::OnHostMsgSessionMessage(
1342 PP_Instance instance, 1297 PP_Instance instance,
1343 SerializedVarReceiveInput web_session_id, 1298 SerializedVarReceiveInput web_session_id,
1344 SerializedVarReceiveInput message, 1299 PP_MessageType message_type,
1345 SerializedVarReceiveInput destination_url) { 1300 SerializedVarReceiveInput message) {
1346 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE)) 1301 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE))
1347 return; 1302 return;
1348 EnterInstanceNoLock enter(instance); 1303 EnterInstanceNoLock enter(instance);
1349 if (enter.succeeded()) { 1304 if (enter.succeeded()) {
1350 enter.functions()->SessionMessage(instance, 1305 enter.functions()->SessionMessage(instance,
1351 web_session_id.Get(dispatcher()), 1306 web_session_id.Get(dispatcher()),
1352 message.Get(dispatcher()), 1307 message_type, message.Get(dispatcher()));
1353 destination_url.Get(dispatcher()));
1354 } 1308 }
1355 } 1309 }
1356 1310
1357 void PPB_Instance_Proxy::OnHostMsgSessionKeysChange( 1311 void PPB_Instance_Proxy::OnHostMsgSessionKeysChange(
1358 PP_Instance instance, 1312 PP_Instance instance,
1359 const std::string& web_session_id, 1313 const std::string& web_session_id,
1360 PP_Bool has_additional_usable_key) { 1314 PP_Bool has_additional_usable_key,
1315 const std::vector<std::string>& serialized_key_ids) {
1361 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE)) 1316 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE))
1362 return; 1317 return;
1318
1319 if (serialized_key_ids.size() > media::limits::kMaxKeyIds) {
1320 NOTREACHED();
1321 return;
1322 }
1323
1324 scoped_refptr<ArrayVar> key_ids_array = new ArrayVar();
1325 key_ids_array->SetLength(serialized_key_ids.size());
1326 for (size_t i = 0; i < serialized_key_ids.size(); ++i) {
1327 PP_KeyInformation info;
1328
1329 if (!DeserializeBlockInfo(serialized_key_ids[i], &info)) {
1330 NOTREACHED();
1331 continue;
1332 }
1333
1334 key_ids_array->Set(
1335 i, PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar(
1336 sizeof(PP_KeyInformation), &info));
dcheng 2014/12/18 22:35:03 Ditto: sizeof(info) instead of sizeof(PP_KeyInform
jrummell 2014/12/18 23:47:59 Done.
1337 }
1338
1363 EnterInstanceNoLock enter(instance); 1339 EnterInstanceNoLock enter(instance);
1364 if (enter.succeeded()) { 1340 if (enter.succeeded()) {
1365 ScopedPPVar web_session_id_var(ScopedPPVar::PassRef(), 1341 ScopedPPVar web_session_id_var(ScopedPPVar::PassRef(),
1366 StringVar::StringToPPVar(web_session_id)); 1342 StringVar::StringToPPVar(web_session_id));
1367 enter.functions()->SessionKeysChange( 1343 ScopedPPVar key_ids_var(ScopedPPVar::PassRef(), key_ids_array->GetPPVar());
1368 instance, web_session_id_var.get(), has_additional_usable_key); 1344 enter.functions()->SessionKeysChange(instance, web_session_id_var.get(),
1345 has_additional_usable_key,
1346 key_ids_var.get());
1369 } 1347 }
1370 } 1348 }
1371 1349
1372 void PPB_Instance_Proxy::OnHostMsgSessionExpirationChange( 1350 void PPB_Instance_Proxy::OnHostMsgSessionExpirationChange(
1373 PP_Instance instance, 1351 PP_Instance instance,
1374 const std::string& web_session_id, 1352 const std::string& web_session_id,
1375 PP_Time new_expiry_time) { 1353 PP_Time new_expiry_time) {
1376 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE)) 1354 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE))
1377 return; 1355 return;
1378 EnterInstanceNoLock enter(instance); 1356 EnterInstanceNoLock enter(instance);
1379 if (enter.succeeded()) { 1357 if (enter.succeeded()) {
1380 ScopedPPVar web_session_id_var(ScopedPPVar::PassRef(), 1358 ScopedPPVar web_session_id_var(ScopedPPVar::PassRef(),
1381 StringVar::StringToPPVar(web_session_id)); 1359 StringVar::StringToPPVar(web_session_id));
1382 enter.functions()->SessionExpirationChange( 1360 enter.functions()->SessionExpirationChange(
1383 instance, web_session_id_var.get(), new_expiry_time); 1361 instance, web_session_id_var.get(), new_expiry_time);
1384 } 1362 }
1385 } 1363 }
1386 1364
1387 void PPB_Instance_Proxy::OnHostMsgSessionReady(
1388 PP_Instance instance,
1389 SerializedVarReceiveInput web_session_id) {
1390 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE))
1391 return;
1392 EnterInstanceNoLock enter(instance);
1393 if (enter.succeeded()) {
1394 enter.functions()->SessionReady(instance, web_session_id.Get(dispatcher()));
1395 }
1396 }
1397
1398 void PPB_Instance_Proxy::OnHostMsgSessionClosed( 1365 void PPB_Instance_Proxy::OnHostMsgSessionClosed(
1399 PP_Instance instance, 1366 PP_Instance instance,
1400 SerializedVarReceiveInput web_session_id) { 1367 SerializedVarReceiveInput web_session_id) {
1401 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE)) 1368 if (!dispatcher()->permissions().HasPermission(PERMISSION_PRIVATE))
1402 return; 1369 return;
1403 EnterInstanceNoLock enter(instance); 1370 EnterInstanceNoLock enter(instance);
1404 if (enter.succeeded()) { 1371 if (enter.succeeded()) {
1405 enter.functions()->SessionClosed(instance, 1372 enter.functions()->SessionClosed(instance,
1406 web_session_id.Get(dispatcher())); 1373 web_session_id.Get(dispatcher()));
1407 } 1374 }
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
1588 PP_Instance instance) { 1555 PP_Instance instance) {
1589 InstanceData* data = static_cast<PluginDispatcher*>(dispatcher())-> 1556 InstanceData* data = static_cast<PluginDispatcher*>(dispatcher())->
1590 GetInstanceData(instance); 1557 GetInstanceData(instance);
1591 if (!data) 1558 if (!data)
1592 return; // Instance was probably deleted. 1559 return; // Instance was probably deleted.
1593 data->should_do_request_surrounding_text = false; 1560 data->should_do_request_surrounding_text = false;
1594 } 1561 }
1595 1562
1596 } // namespace proxy 1563 } // namespace proxy
1597 } // namespace ppapi 1564 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698