1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// found in the LICENSE file.
4f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "android_webview/renderer/aw_render_frame_ext.h"
6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "content/public/renderer/document_state.h"
7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "content/public/renderer/render_frame.h"
8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "third_party/WebKit/public/web/WebDocument.h"
9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "third_party/WebKit/public/web/WebSecurityOrigin.h"
10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace android_webview {
12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)AwRenderFrameExt::AwRenderFrameExt(content::RenderFrame* render_frame)
14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    : content::RenderFrameObserver(render_frame) {
15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)AwRenderFrameExt::~AwRenderFrameExt() {
18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
20f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)void AwRenderFrameExt::DidCommitProvisionalLoad(bool is_new_navigation) {
21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  blink::WebFrame* frame = render_frame()->GetWebFrame();
22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  content::DocumentState* document_state =
23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)      content::DocumentState::FromDataSource(frame->dataSource());
24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  if (document_state->can_load_local_resources()) {
25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    blink::WebSecurityOrigin origin = frame->document().securityOrigin();
26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    origin.grantLoadLocalResources();
27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  }
28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
32f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
33