1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- // Copyright (c) 2012 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "ppapi/c/pp_errors.h"
- #include "ppapi/shared_impl/ppb_url_util_shared.h"
- #include "ppapi/thunk/enter.h"
- #include "ppapi/thunk/ppb_instance_api.h"
- #include "ppapi/thunk/thunk.h"
- namespace ppapi {
- namespace thunk {
- namespace {
- PP_Var ResolveRelativeToDocument(PP_Instance instance,
- PP_Var relative,
- PP_URLComponents_Dev* components) {
- EnterInstance enter(instance);
- if (enter.failed())
- return PP_MakeUndefined();
- return enter.functions()->ResolveRelativeToDocument(instance, relative,
- components);
- }
- PP_Bool DocumentCanRequest(PP_Instance instance, PP_Var url) {
- EnterInstance enter(instance);
- if (enter.failed())
- return PP_FALSE;
- return enter.functions()->DocumentCanRequest(instance, url);
- }
- PP_Bool DocumentCanAccessDocument(PP_Instance active, PP_Instance target) {
- EnterInstance enter(active);
- if (enter.failed())
- return PP_FALSE;
- return enter.functions()->DocumentCanAccessDocument(active, target);
- }
- PP_Var GetDocumentURL(PP_Instance instance,
- PP_URLComponents_Dev* components) {
- EnterInstance enter(instance);
- if (enter.failed())
- return PP_MakeUndefined();
- return enter.functions()->GetDocumentURL(instance, components);
- }
- PP_Var GetPluginInstanceURL(PP_Instance instance,
- PP_URLComponents_Dev* components) {
- EnterInstance enter(instance);
- if (enter.failed())
- return PP_MakeUndefined();
- return enter.functions()->GetPluginInstanceURL(instance, components);
- }
- PP_Var GetPluginReferrerURL(PP_Instance instance,
- PP_URLComponents_Dev* components) {
- EnterInstance enter(instance);
- if (enter.failed())
- return PP_MakeUndefined();
- return enter.functions()->GetPluginReferrerURL(instance, components);
- }
- const PPB_URLUtil_Dev_0_6 g_ppb_url_util_0_6 = {
- &PPB_URLUtil_Shared::Canonicalize,
- &PPB_URLUtil_Shared::ResolveRelativeToURL,
- &ResolveRelativeToDocument,
- &PPB_URLUtil_Shared::IsSameSecurityOrigin,
- &DocumentCanRequest,
- &DocumentCanAccessDocument,
- &GetDocumentURL,
- &GetPluginInstanceURL
- };
- const PPB_URLUtil_Dev_0_7 g_ppb_url_util_0_7 = {
- &PPB_URLUtil_Shared::Canonicalize,
- &PPB_URLUtil_Shared::ResolveRelativeToURL,
- &ResolveRelativeToDocument,
- &PPB_URLUtil_Shared::IsSameSecurityOrigin,
- &DocumentCanRequest,
- &DocumentCanAccessDocument,
- &GetDocumentURL,
- &GetPluginInstanceURL,
- &GetPluginReferrerURL
- };
- } // namespace
- const PPB_URLUtil_Dev_0_6* GetPPB_URLUtil_Dev_0_6_Thunk() {
- return &g_ppb_url_util_0_6;
- }
- const PPB_URLUtil_Dev_0_7* GetPPB_URLUtil_Dev_0_7_Thunk() {
- return &g_ppb_url_util_0_7;
- }
- } // namespace thunk
- } // namespace ppapi
|