| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "chrome_frame/np_browser_functions.h" | 5 #include "chrome_frame/np_browser_functions.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 | 8 |
| 9 namespace npapi { | 9 namespace npapi { |
| 10 | 10 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 NPN_ReleaseVariantValueProcPtr g_releasevariantvalue = NULL; | 68 NPN_ReleaseVariantValueProcPtr g_releasevariantvalue = NULL; |
| 69 NPN_SetExceptionProcPtr g_setexception = NULL; | 69 NPN_SetExceptionProcPtr g_setexception = NULL; |
| 70 NPN_PushPopupsEnabledStateProcPtr g_pushpopupsenabledstate = NULL; | 70 NPN_PushPopupsEnabledStateProcPtr g_pushpopupsenabledstate = NULL; |
| 71 NPN_PopPopupsEnabledStateProcPtr g_poppopupsenabledstate = NULL; | 71 NPN_PopPopupsEnabledStateProcPtr g_poppopupsenabledstate = NULL; |
| 72 NPN_EnumerateProcPtr g_enumerate = NULL; | 72 NPN_EnumerateProcPtr g_enumerate = NULL; |
| 73 NPN_PluginThreadAsyncCallProcPtr g_pluginthreadasynccall = NULL; | 73 NPN_PluginThreadAsyncCallProcPtr g_pluginthreadasynccall = NULL; |
| 74 NPN_ConstructProcPtr g_construct = NULL; | 74 NPN_ConstructProcPtr g_construct = NULL; |
| 75 NPN_GetValueForURLPtr g_getvalueforurl = NULL; | 75 NPN_GetValueForURLPtr g_getvalueforurl = NULL; |
| 76 NPN_SetValueForURLPtr g_setvalueforurl = NULL; | 76 NPN_SetValueForURLPtr g_setvalueforurl = NULL; |
| 77 NPN_GetAuthenticationInfoPtr g_getauthenticationinfo = NULL; | 77 NPN_GetAuthenticationInfoPtr g_getauthenticationinfo = NULL; |
| 78 NPN_URLRedirectResponsePtr g_urlredirectresponse = NULL; |
| 78 | 79 |
| 79 // Must be called prior to calling any of the browser functions below. | 80 // Must be called prior to calling any of the browser functions below. |
| 80 void InitializeBrowserFunctions(NPNetscapeFuncs* functions) { | 81 void InitializeBrowserFunctions(NPNetscapeFuncs* functions) { |
| 81 CHECK(functions); | 82 CHECK(functions); |
| 82 DCHECK(g_geturl == NULL || g_geturl == functions->geturl); | 83 DCHECK(g_geturl == NULL || g_geturl == functions->geturl); |
| 83 | 84 |
| 84 g_version.set_version(functions->version); | 85 g_version.set_version(functions->version); |
| 85 | 86 |
| 86 g_geturl = functions->geturl; | 87 g_geturl = functions->geturl; |
| 87 g_posturl = functions->posturl; | 88 g_posturl = functions->posturl; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 g_removeproperty = functions->removeproperty; | 122 g_removeproperty = functions->removeproperty; |
| 122 g_hasproperty = functions->hasproperty; | 123 g_hasproperty = functions->hasproperty; |
| 123 g_hasmethod = functions->hasmethod; | 124 g_hasmethod = functions->hasmethod; |
| 124 g_releasevariantvalue = functions->releasevariantvalue; | 125 g_releasevariantvalue = functions->releasevariantvalue; |
| 125 g_setexception = functions->setexception; | 126 g_setexception = functions->setexception; |
| 126 g_pushpopupsenabledstate = functions->pushpopupsenabledstate; | 127 g_pushpopupsenabledstate = functions->pushpopupsenabledstate; |
| 127 g_poppopupsenabledstate = functions->poppopupsenabledstate; | 128 g_poppopupsenabledstate = functions->poppopupsenabledstate; |
| 128 g_enumerate = functions->enumerate; | 129 g_enumerate = functions->enumerate; |
| 129 g_pluginthreadasynccall = functions->pluginthreadasynccall; | 130 g_pluginthreadasynccall = functions->pluginthreadasynccall; |
| 130 g_construct = functions->construct; | 131 g_construct = functions->construct; |
| 132 g_urlredirectresponse = functions->urlredirectresponse; |
| 131 | 133 |
| 132 if (g_version.v.minor >= NPVERS_HAS_URL_AND_AUTH_INFO) { | 134 if (g_version.v.minor >= NPVERS_HAS_URL_AND_AUTH_INFO) { |
| 133 g_getvalueforurl = functions->getvalueforurl; | 135 g_getvalueforurl = functions->getvalueforurl; |
| 134 g_setvalueforurl = functions->setvalueforurl; | 136 g_setvalueforurl = functions->setvalueforurl; |
| 135 g_getauthenticationinfo = functions->getauthenticationinfo; | 137 g_getauthenticationinfo = functions->getauthenticationinfo; |
| 136 } | 138 } |
| 137 } | 139 } |
| 138 | 140 |
| 139 void UninitializeBrowserFunctions() { | 141 void UninitializeBrowserFunctions() { |
| 140 g_version.set_version(0); | 142 g_version.set_version(0); |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 DCHECK(npapi::VersionMinor() >= NPVERS_HAS_URL_AND_AUTH_INFO); | 487 DCHECK(npapi::VersionMinor() >= NPVERS_HAS_URL_AND_AUTH_INFO); |
| 486 if (g_getauthenticationinfo) { | 488 if (g_getauthenticationinfo) { |
| 487 NOTREACHED(); | 489 NOTREACHED(); |
| 488 return NPERR_INCOMPATIBLE_VERSION_ERROR; | 490 return NPERR_INCOMPATIBLE_VERSION_ERROR; |
| 489 } | 491 } |
| 490 | 492 |
| 491 return g_getauthenticationinfo(instance, protocol, host, port, scheme, | 493 return g_getauthenticationinfo(instance, protocol, host, port, scheme, |
| 492 realm, username, ulen, password, plen); | 494 realm, username, ulen, password, plen); |
| 493 } | 495 } |
| 494 | 496 |
| 497 void URLRedirectResponse(NPP instance, void* notify_data, NPBool allow) { |
| 498 if (!g_urlredirectresponse) { |
| 499 NOTREACHED() << "Unexpected call to NPN_URLRedirectResponse"; |
| 500 return; |
| 501 } |
| 502 return g_urlredirectresponse(instance, notify_data, allow); |
| 503 } |
| 504 |
| 495 std::string StringFromIdentifier(NPIdentifier identifier) { | 505 std::string StringFromIdentifier(NPIdentifier identifier) { |
| 496 std::string ret; | 506 std::string ret; |
| 497 NPUTF8* utf8 = UTF8FromIdentifier(identifier); | 507 NPUTF8* utf8 = UTF8FromIdentifier(identifier); |
| 498 if (utf8) { | 508 if (utf8) { |
| 499 ret = utf8; | 509 ret = utf8; |
| 500 MemFree(utf8); | 510 MemFree(utf8); |
| 501 } | 511 } |
| 502 return ret; | 512 return ret; |
| 503 } | 513 } |
| 504 | 514 |
| 505 } // namespace npapi | 515 } // namespace npapi |
| 506 | 516 |
| 507 void AllocateStringVariant(const std::string& str, NPVariant* var) { | 517 void AllocateStringVariant(const std::string& str, NPVariant* var) { |
| 508 DCHECK(var); | 518 DCHECK(var); |
| 509 | 519 |
| 510 int len = str.length(); | 520 int len = str.length(); |
| 511 NPUTF8* buffer = reinterpret_cast<NPUTF8*>(npapi::MemAlloc(len + 1)); | 521 NPUTF8* buffer = reinterpret_cast<NPUTF8*>(npapi::MemAlloc(len + 1)); |
| 512 if (buffer) { | 522 if (buffer) { |
| 513 buffer[len] = '\0'; | 523 buffer[len] = '\0'; |
| 514 memcpy(buffer, str.c_str(), len); | 524 memcpy(buffer, str.c_str(), len); |
| 515 STRINGN_TO_NPVARIANT(buffer, len, *var); | 525 STRINGN_TO_NPVARIANT(buffer, len, *var); |
| 516 } else { | 526 } else { |
| 517 NULL_TO_NPVARIANT(*var); | 527 NULL_TO_NPVARIANT(*var); |
| 518 } | 528 } |
| 519 } | 529 } |
| 520 | |
| OLD | NEW |