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 PP_Var
GetPluginReferrerURL(PP_Instance instance
,
57 PP_URLComponents_Dev
* components
) {
58 EnterInstance
enter(instance
);
60 return PP_MakeUndefined();
61 return enter
.functions()->GetPluginReferrerURL(instance
, components
);
64 const PPB_URLUtil_Dev_0_6 g_ppb_url_util_0_6
= {
65 &PPB_URLUtil_Shared::Canonicalize
,
66 &PPB_URLUtil_Shared::ResolveRelativeToURL
,
67 &ResolveRelativeToDocument
,
68 &PPB_URLUtil_Shared::IsSameSecurityOrigin
,
70 &DocumentCanAccessDocument
,
75 const PPB_URLUtil_Dev_0_7 g_ppb_url_util_0_7
= {
76 &PPB_URLUtil_Shared::Canonicalize
,
77 &PPB_URLUtil_Shared::ResolveRelativeToURL
,
78 &ResolveRelativeToDocument
,
79 &PPB_URLUtil_Shared::IsSameSecurityOrigin
,
81 &DocumentCanAccessDocument
,
83 &GetPluginInstanceURL
,
89 const PPB_URLUtil_Dev_0_6
* GetPPB_URLUtil_Dev_0_6_Thunk() {
90 return &g_ppb_url_util_0_6
;
93 const PPB_URLUtil_Dev_0_7
* GetPPB_URLUtil_Dev_0_7_Thunk() {
94 return &g_ppb_url_util_0_7
;