OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "extensions/browser/guest_view/web_view/web_view_guest.h" | 5 #include "extensions/browser/guest_view/web_view/web_view_guest.h" |
6 | 6 |
7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "content/public/browser/browser_context.h" | 10 #include "content/public/browser/browser_context.h" |
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
654 WebViewGuest::~WebViewGuest() { | 654 WebViewGuest::~WebViewGuest() { |
655 } | 655 } |
656 | 656 |
657 void WebViewGuest::DidCommitProvisionalLoadForFrame( | 657 void WebViewGuest::DidCommitProvisionalLoadForFrame( |
658 content::RenderFrameHost* render_frame_host, | 658 content::RenderFrameHost* render_frame_host, |
659 const GURL& url, | 659 const GURL& url, |
660 ui::PageTransition transition_type) { | 660 ui::PageTransition transition_type) { |
661 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); | 661 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); |
662 args->SetString(guestview::kUrl, url.spec()); | 662 args->SetString(guestview::kUrl, url.spec()); |
663 args->SetBoolean(guestview::kIsTopLevel, !render_frame_host->GetParent()); | 663 args->SetBoolean(guestview::kIsTopLevel, !render_frame_host->GetParent()); |
| 664 args->SetString(webview::kInternalBaseURLForDataURL, |
| 665 web_contents() |
| 666 ->GetController() |
| 667 .GetLastCommittedEntry() |
| 668 ->GetBaseURLForDataURL() |
| 669 .spec()); |
664 args->SetInteger(webview::kInternalCurrentEntryIndex, | 670 args->SetInteger(webview::kInternalCurrentEntryIndex, |
665 web_contents()->GetController().GetCurrentEntryIndex()); | 671 web_contents()->GetController().GetCurrentEntryIndex()); |
666 args->SetInteger(webview::kInternalEntryCount, | 672 args->SetInteger(webview::kInternalEntryCount, |
667 web_contents()->GetController().GetEntryCount()); | 673 web_contents()->GetController().GetEntryCount()); |
668 args->SetInteger(webview::kInternalProcessId, | 674 args->SetInteger(webview::kInternalProcessId, |
669 web_contents()->GetRenderProcessHost()->GetID()); | 675 web_contents()->GetRenderProcessHost()->GetID()); |
670 DispatchEventToEmbedder( | 676 DispatchEventToEmbedder( |
671 new GuestViewBase::Event(webview::kEventLoadCommit, args.Pass())); | 677 new GuestViewBase::Event(webview::kEventLoadCommit, args.Pass())); |
672 | 678 |
673 find_helper_.CancelAllFindSessions(); | 679 find_helper_.CancelAllFindSessions(); |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1140 WebViewGuest* guest = | 1146 WebViewGuest* guest = |
1141 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id); | 1147 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id); |
1142 if (!guest) | 1148 if (!guest) |
1143 return; | 1149 return; |
1144 | 1150 |
1145 if (!allow) | 1151 if (!allow) |
1146 guest->Destroy(); | 1152 guest->Destroy(); |
1147 } | 1153 } |
1148 | 1154 |
1149 } // namespace extensions | 1155 } // namespace extensions |
OLD | NEW |