| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2011 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. | |
| 4 | |
| 5 #ifndef PPAPI_SHARED_IMPL_URL_UTIL_IMPL_H_ | |
| 6 #define PPAPI_SHARED_IMPL_URL_UTIL_IMPL_H_ | |
| 7 | |
| 8 #include <string> | |
| 9 | |
| 10 #include "base/basictypes.h" | |
| 11 #include "googleurl/src/url_parse.h" | |
| 12 #include "ppapi/c/dev/ppb_url_util_dev.h" | |
| 13 #include "ppapi/c/pp_module.h" | |
| 14 #include "ppapi/c/pp_var.h" | |
| 15 #include "ppapi/shared_impl/ppapi_shared_export.h" | |
| 16 | |
| 17 class GURL; | |
| 18 | |
| 19 namespace ppapi { | |
| 20 | |
| 21 // Contains the implementation of PPB_URLUtil that is shared between the proxy | |
| 22 // and the renderer. | |
| 23 class PPAPI_SHARED_EXPORT URLUtilImpl { | |
| 24 public: | |
| 25 // PPB_URLUtil shared functions. | |
| 26 static PP_Var Canonicalize(PP_Var url, | |
| 27 PP_URLComponents_Dev* components); | |
| 28 static PP_Var ResolveRelativeToURL(PP_Var base_url, | |
| 29 PP_Var relative, | |
| 30 PP_URLComponents_Dev* components); | |
| 31 static PP_Bool IsSameSecurityOrigin(PP_Var url_a, PP_Var url_b); | |
| 32 | |
| 33 // Used for returning the given GURL from a PPAPI function, with an optional | |
| 34 // out param indicating the components. | |
| 35 static PP_Var GenerateURLReturn(PP_Module pp_module, | |
| 36 const GURL& url, | |
| 37 PP_URLComponents_Dev* components); | |
| 38 | |
| 39 // Helper function that optionally take a components structure and fills it | |
| 40 // out with the parsed version of the given URL. If the components pointer is | |
| 41 // NULL, this function will do nothing. | |
| 42 // | |
| 43 // It's annoying to serialze the large PP_URLComponents structure across IPC | |
| 44 // and the data isn't often requested by plugins. This function is used on | |
| 45 // the plugin side to fill in the components for those cases where it's | |
| 46 // actually needed. | |
| 47 static PP_Var ConvertComponentsAndReturnURL(const PP_Var& url, | |
| 48 PP_URLComponents_Dev* components); | |
| 49 }; | |
| 50 | |
| 51 } // namespace ppapi | |
| 52 | |
| 53 #endif | |
| OLD | NEW |