Create bucket for parse failures in VTVDA session failure UMA.
[chromium-blink-merge.git] / ppapi / thunk / ppb_url_util_thunk.cc
blobe4ba7b547ca643402d98db6e841d178fef0f6190
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"
11 namespace ppapi {
12 namespace thunk {
14 namespace {
16 PP_Var ResolveRelativeToDocument(PP_Instance instance,
17 PP_Var relative,
18 PP_URLComponents_Dev* components) {
19 EnterInstance enter(instance);
20 if (enter.failed())
21 return PP_MakeUndefined();
22 return enter.functions()->ResolveRelativeToDocument(instance, relative,
23 components);
26 PP_Bool DocumentCanRequest(PP_Instance instance, PP_Var url) {
27 EnterInstance enter(instance);
28 if (enter.failed())
29 return PP_FALSE;
30 return enter.functions()->DocumentCanRequest(instance, url);
33 PP_Bool DocumentCanAccessDocument(PP_Instance active, PP_Instance target) {
34 EnterInstance enter(active);
35 if (enter.failed())
36 return PP_FALSE;
37 return enter.functions()->DocumentCanAccessDocument(active, target);
40 PP_Var GetDocumentURL(PP_Instance instance,
41 PP_URLComponents_Dev* components) {
42 EnterInstance enter(instance);
43 if (enter.failed())
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);
51 if (enter.failed())
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);
59 if (enter.failed())
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,
69 &DocumentCanRequest,
70 &DocumentCanAccessDocument,
71 &GetDocumentURL,
72 &GetPluginInstanceURL
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,
80 &DocumentCanRequest,
81 &DocumentCanAccessDocument,
82 &GetDocumentURL,
83 &GetPluginInstanceURL,
84 &GetPluginReferrerURL
87 } // namespace
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;
97 } // namespace thunk
98 } // namespace ppapi