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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 22254005: UMA data collector for cross-site documents(XSD) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: UMA Bucket names are reorganized. Created 7 years, 4 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
Index: content/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index c90f88800f0f40bc6375f9588afe50958b8ee36e..fd5dbe8be84fe6901714ee51c1f3214104308938 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -46,6 +46,7 @@
#include "third_party/WebKit/public/web/WebStorageQuotaCallbacks.h"
#include "third_party/WebKit/public/web/WebUserGestureIndicator.h"
#include "third_party/WebKit/public/web/WebView.h"
+#include "webkit/child/site_isolation_policy.h"
#include "webkit/child/weburlresponse_extradata_impl.h"
using WebKit::WebDataSource;
@@ -71,6 +72,7 @@ using appcache::WebApplicationCacheHostImpl;
using base::Time;
using base::TimeDelta;
+using webkit_glue::SiteIsolationPolicy;
using webkit_glue::WebURLResponseExtraDataImpl;
namespace content {
@@ -377,6 +379,8 @@ void RenderFrameImpl::didFailProvisionalLoad(
// * MaybeLoadAlternateErrorPage
// * LoadNavigationErrorPage
render_view_->didFailProvisionalLoad(frame, error);
+
+ SiteIsolationPolicy::DidFinishResourceLoadForUrl(error.unreachableURL);
}
void RenderFrameImpl::didCommitProvisionalLoad(WebKit::WebFrame* frame,
@@ -446,6 +450,8 @@ void RenderFrameImpl::didFailLoad(WebKit::WebFrame* frame,
const WebKit::WebURLError& error) {
// TODO(nasko): Move implementation here. No state needed.
render_view_->didFailLoad(frame, error);
+
+ SiteIsolationPolicy::DidFinishResourceLoadForUrl(error.unreachableURL);
}
void RenderFrameImpl::didFinishLoad(WebKit::WebFrame* frame) {
@@ -603,12 +609,22 @@ void RenderFrameImpl::willSendRequest(
if (!render_view_->renderer_preferences_.enable_referrers)
request.clearHTTPHeaderField("Referer");
+
+ SiteIsolationPolicy::WillSendRequest(identifier, request.targetType());
}
void RenderFrameImpl::didReceiveResponse(
WebKit::WebFrame* frame,
unsigned identifier,
const WebKit::WebURLResponse& response) {
+
+ // Calling this will do bookkeeping of an object related to the
Charlie Reis 2013/08/09 00:39:03 will update bookkeeping related to the response fo
dsjang 2013/08/09 01:31:23 Done.
+ // response for late uses. We have to make it sure to call either
Charlie Reis 2013/08/09 00:39:03 make sure
dsjang 2013/08/09 01:31:23 Done.
+ // SiteIsolationPolicy::DidFinishResourceLoad(identifier) or
+ // SiteIsolationPolicy::DidFinishResourceLoadForURL(response.url())
+ // to free the object.
Charlie Reis 2013/08/09 00:39:03 free the bookkeeping data. I think this whole com
dsjang 2013/08/09 01:31:23 Done.
+ SiteIsolationPolicy::DidReceiveResponse(frame, identifier, response);
+
// Only do this for responses that correspond to a provisional data source
// of the top-most frame. If we have a provisional data source, then we
// can't have any sub-resources yet, so we know that this response must
@@ -658,6 +674,8 @@ void RenderFrameImpl::didFinishResourceLoad(WebKit::WebFrame* frame,
// Needed methods:
// * LoadNavigationErrorPage
render_view_->didFinishResourceLoad(frame, identifier);
+
+ SiteIsolationPolicy::DidFinishResourceLoad(identifier);
}
void RenderFrameImpl::didLoadResourceFromMemoryCache(

Powered by Google App Engine
This is Rietveld 408576698