aw_render_frame_ext.cc revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
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"
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "third_party/WebKit/public/web/WebLocalFrame.h"
10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "third_party/WebKit/public/web/WebSecurityOrigin.h"
11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace android_webview {
13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)AwRenderFrameExt::AwRenderFrameExt(content::RenderFrame* render_frame)
15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    : content::RenderFrameObserver(render_frame) {
16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)AwRenderFrameExt::~AwRenderFrameExt() {
19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
20f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)void AwRenderFrameExt::DidCommitProvisionalLoad(bool is_new_navigation) {
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  blink::WebLocalFrame* frame = render_frame()->GetWebFrame();
23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  content::DocumentState* document_state =
24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)      content::DocumentState::FromDataSource(frame->dataSource());
25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  if (document_state->can_load_local_resources()) {
26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    blink::WebSecurityOrigin origin = frame->document().securityOrigin();
27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    origin.grantLoadLocalResources();
28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  }
29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
32f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
34