Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Unified Diff: webkit/plugins/ppapi/ppb_url_util_impl.cc

Issue 6594107: Add PPB_URLUtil_Dev::GetDocumentURL (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: "add TestGetDocumentURL Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« ppapi/c/dev/ppb_url_util_dev.h ('K') | « webkit/plugins/ppapi/ppb_url_util_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/plugins/ppapi/ppb_url_util_impl.cc
diff --git a/webkit/plugins/ppapi/ppb_url_util_impl.cc b/webkit/plugins/ppapi/ppb_url_util_impl.cc
index dee221878986ea4abb58e057bd26cd52c59ac669..c4947c9352c911bd007dda2f120e3a58f09db5a4 100644
--- a/webkit/plugins/ppapi/ppb_url_util_impl.cc
+++ b/webkit/plugins/ppapi/ppb_url_util_impl.cc
@@ -25,7 +25,7 @@ namespace ppapi {
namespace {
void ConvertComponent(const url_parse::Component& input,
- PP_UrlComponent_Dev* output) {
+ PP_URLComponent_Dev* output) {
output->begin = input.begin;
output->len = input.len;
}
@@ -33,7 +33,7 @@ void ConvertComponent(const url_parse::Component& input,
// Output can be NULL to specify "do nothing." This rule is followed by all the
// url util functions, so we implement it once here.
void ConvertComponents(const url_parse::Parsed& input,
- PP_UrlComponents_Dev* output) {
+ PP_URLComponents_Dev* output) {
if (!output)
return;
@@ -49,8 +49,8 @@ void ConvertComponents(const url_parse::Parsed& input,
// Used for returning the given GURL from a PPAPI function, with an optional
// out param indicating the components.
-PP_Var GenerateUrlReturn(PluginModule* module, const GURL& url,
- PP_UrlComponents_Dev* components) {
+PP_Var GenerateURLReturn(PluginModule* module, const GURL& url,
+ PP_URLComponents_Dev* components) {
if (!url.is_valid())
return PP_MakeNull();
ConvertComponents(url.parsed_for_possibly_invalid_spec(), components);
@@ -76,17 +76,17 @@ bool SecurityOriginForInstance(PP_Instance instance_id,
return true;
}
-PP_Var Canonicalize(PP_Var url, PP_UrlComponents_Dev* components) {
+PP_Var Canonicalize(PP_Var url, PP_URLComponents_Dev* components) {
scoped_refptr<StringVar> url_string(StringVar::FromPPVar(url));
if (!url_string)
return PP_MakeNull();
- return GenerateUrlReturn(url_string->module(),
+ return GenerateURLReturn(url_string->module(),
GURL(url_string->value()), components);
}
-PP_Var ResolveRelativeToUrl(PP_Var base_url,
+PP_Var ResolveRelativeToURL(PP_Var base_url,
PP_Var relative,
- PP_UrlComponents_Dev* components) {
+ PP_URLComponents_Dev* components) {
scoped_refptr<StringVar> base_url_string(StringVar::FromPPVar(base_url));
scoped_refptr<StringVar> relative_string(StringVar::FromPPVar(relative));
if (!base_url_string || !relative_string)
@@ -95,14 +95,14 @@ PP_Var ResolveRelativeToUrl(PP_Var base_url,
GURL base_gurl(base_url_string->value());
if (!base_gurl.is_valid())
return PP_MakeNull();
- return GenerateUrlReturn(base_url_string->module(),
+ return GenerateURLReturn(base_url_string->module(),
base_gurl.Resolve(relative_string->value()),
components);
}
PP_Var ResolveRelativeToDocument(PP_Instance instance_id,
PP_Var relative,
- PP_UrlComponents_Dev* components) {
+ PP_URLComponents_Dev* components) {
PluginInstance* instance = ResourceTracker::Get()->GetInstance(instance_id);
if (!instance)
return PP_MakeNull();
@@ -113,7 +113,7 @@ PP_Var ResolveRelativeToDocument(PP_Instance instance_id,
WebKit::WebElement plugin_element = instance->container()->element();
GURL document_url = plugin_element.document().baseURL();
- return GenerateUrlReturn(instance->module(),
+ return GenerateURLReturn(instance->module(),
document_url.Resolve(relative_string->value()),
components);
}
@@ -160,19 +160,33 @@ PP_Bool DocumentCanAccessDocument(PP_Instance active, PP_Instance target) {
return BoolToPPBool(active_origin.canAccess(target_origin));
}
-} // namespace
+PP_Var GetDocumentURL(PP_Instance instance_id,
+ PP_URLComponents_Dev* components) {
+ PluginInstance* instance = ResourceTracker::Get()->GetInstance(instance_id);
+ if (!instance)
+ return PP_MakeNull();
+
+ WebKit::WebFrame* frame = instance->container()->element().document().frame();
+ if (!frame)
+ return PP_MakeNull();
+
+ return GenerateURLReturn(instance->module(), frame->url(), components);
viettrungluu 2011/03/02 21:00:54 This looks okay to me, though I'm not the expert..
+}
-const PPB_UrlUtil_Dev ppb_url_util = {
+const PPB_URLUtil_Dev ppb_url_util = {
&Canonicalize,
- &ResolveRelativeToUrl,
+ &ResolveRelativeToURL,
&ResolveRelativeToDocument,
&IsSameSecurityOrigin,
&DocumentCanRequest,
- &DocumentCanAccessDocument
+ &DocumentCanAccessDocument,
+ &GetDocumentURL
};
+} // namespace
+
// static
-const PPB_UrlUtil_Dev* PPB_UrlUtil_Impl::GetInterface() {
+const PPB_URLUtil_Dev* PPB_URLUtil_Impl::GetInterface() {
return &ppb_url_util;
}
« ppapi/c/dev/ppb_url_util_dev.h ('K') | « webkit/plugins/ppapi/ppb_url_util_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698