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
3 // found in the LICENSE file.
5 #include "ppapi/c/pp_errors.h"
6 #include "ppapi/shared_impl/ppb_url_util_shared.h"
7 #include "ppapi/thunk/enter.h"
8 #include "ppapi/thunk/ppb_instance_api.h"
9 #include "ppapi/thunk/thunk.h"
16 PP_Var
ResolveRelativeToDocument(PP_Instance instance
,
18 PP_URLComponents_Dev
* components
) {
19 EnterInstance
enter(instance
);
21 return PP_MakeUndefined();
22 return enter
.functions()->ResolveRelativeToDocument(instance
, relative
,
26 PP_Bool
DocumentCanRequest(PP_Instance instance
, PP_Var url
) {
27 EnterInstance
enter(instance
);
30 return enter
.functions()->DocumentCanRequest(instance
, url
);
33 PP_Bool
DocumentCanAccessDocument(PP_Instance active
, PP_Instance target
) {
34 EnterInstance
enter(active
);
37 return enter
.functions()->DocumentCanAccessDocument(active
, target
);
40 PP_Var
GetDocumentURL(PP_Instance instance
,
41 PP_URLComponents_Dev
* components
) {
42 EnterInstance
enter(instance
);
44 return PP_MakeUndefined();
45 return enter
.functions()->GetDocumentURL(instance
, components
);
48 PP_Var
GetPluginInstanceURL(PP_Instance instance
,
49 PP_URLComponents_Dev
* components
) {
50 EnterInstance
enter(instance
);
52 return PP_MakeUndefined();
53 return enter
.functions()->GetPluginInstanceURL(instance
, components
);
56 const PPB_URLUtil_Dev g_ppb_url_util
= {
57 &PPB_URLUtil_Shared::Canonicalize
,
58 &PPB_URLUtil_Shared::ResolveRelativeToURL
,
59 &ResolveRelativeToDocument
,
60 &PPB_URLUtil_Shared::IsSameSecurityOrigin
,
62 &DocumentCanAccessDocument
,
69 const PPB_URLUtil_Dev_0_6
* GetPPB_URLUtil_Dev_0_6_Thunk() {
70 return &g_ppb_url_util
;