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 "chrome/browser/guest_view/web_view/web_view_guest.h" | 5 #include "chrome/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 "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
(...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
937 removal_mask, | 937 removal_mask, |
938 content::StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL, | 938 content::StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL, |
939 GURL(), | 939 GURL(), |
940 content::StoragePartition::OriginMatcherFunction(), | 940 content::StoragePartition::OriginMatcherFunction(), |
941 remove_since, | 941 remove_since, |
942 base::Time::Now(), | 942 base::Time::Now(), |
943 callback); | 943 callback); |
944 return true; | 944 return true; |
945 } | 945 } |
946 | 946 |
947 // static | |
948 void WebViewGuest::FileSystemAccessedAsync(int render_process_id, | |
949 int render_frame_id, | |
950 int request_id, | |
951 const GURL& url, | |
952 bool blocked_by_policy) { | |
953 WebViewGuest* guest = | |
954 WebViewGuest::FromFrameID(render_process_id, render_frame_id); | |
955 DCHECK(guest); | |
956 guest->RequestFileSystemPermission( | |
957 url, | |
958 !blocked_by_policy, | |
959 base::Bind(&WebViewGuest::FileSystemAccessedAsyncResponse, | |
960 render_process_id, | |
961 render_frame_id, | |
962 request_id, | |
963 url)); | |
964 } | |
965 | |
966 // static | |
967 void WebViewGuest::FileSystemAccessedAsyncResponse(int render_process_id, | |
968 int render_frame_id, | |
969 int request_id, | |
970 const GURL& url, | |
971 bool allowed) { | |
972 TabSpecificContentSettings::FileSystemAccessed( | |
973 render_process_id, render_frame_id, url, !allowed); | |
974 content::RenderFrameHost* render_frame_host = | |
975 content::RenderFrameHost::FromID(render_process_id, render_frame_id); | |
976 if (!render_frame_host) | |
977 return; | |
978 render_frame_host->Send( | |
979 new ChromeViewMsg_RequestFileSystemAccessAsyncResponse( | |
980 render_frame_id, request_id, allowed)); | |
981 } | |
982 | |
983 // static | |
984 void WebViewGuest::FileSystemAccessedSync(int render_process_id, | |
985 int render_frame_id, | |
986 const GURL& url, | |
987 bool blocked_by_policy, | |
988 IPC::Message* reply_msg) { | |
989 WebViewGuest* guest = | |
990 WebViewGuest::FromFrameID(render_process_id, render_frame_id); | |
991 DCHECK(guest); | |
992 guest->RequestFileSystemPermission( | |
993 url, | |
994 !blocked_by_policy, | |
995 base::Bind(&WebViewGuest::FileSystemAccessedSyncResponse, | |
996 render_process_id, | |
997 render_frame_id, | |
998 url, | |
999 reply_msg)); | |
1000 } | |
1001 | |
1002 // static | |
1003 void WebViewGuest::FileSystemAccessedSyncResponse(int render_process_id, | |
1004 int render_frame_id, | |
1005 const GURL& url, | |
1006 IPC::Message* reply_msg, | |
1007 bool allowed) { | |
1008 TabSpecificContentSettings::FileSystemAccessed( | |
1009 render_process_id, render_frame_id, url, !allowed); | |
1010 ChromeViewHostMsg_RequestFileSystemAccessSync::WriteReplyParams(reply_msg, | |
1011 allowed); | |
1012 content::RenderFrameHost* render_frame_host = | |
1013 content::RenderFrameHost::FromID(render_process_id, render_frame_id); | |
1014 if (!render_frame_id) | |
1015 return; | |
1016 render_frame_host->Send(reply_msg); | |
1017 } | |
1018 | |
1019 WebViewGuest::~WebViewGuest() { | 947 WebViewGuest::~WebViewGuest() { |
1020 } | 948 } |
1021 | 949 |
1022 void WebViewGuest::DidCommitProvisionalLoadForFrame( | 950 void WebViewGuest::DidCommitProvisionalLoadForFrame( |
1023 content::RenderFrameHost* render_frame_host, | 951 content::RenderFrameHost* render_frame_host, |
1024 const GURL& url, | 952 const GURL& url, |
1025 content::PageTransition transition_type) { | 953 content::PageTransition transition_type) { |
1026 find_helper_.CancelAllFindSessions(); | 954 find_helper_.CancelAllFindSessions(); |
1027 | 955 |
1028 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); | 956 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); |
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1657 bool allow, | 1585 bool allow, |
1658 const std::string& user_input) { | 1586 const std::string& user_input) { |
1659 WebViewGuest* guest = | 1587 WebViewGuest* guest = |
1660 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id); | 1588 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id); |
1661 if (!guest) | 1589 if (!guest) |
1662 return; | 1590 return; |
1663 | 1591 |
1664 if (!allow) | 1592 if (!allow) |
1665 guest->Destroy(); | 1593 guest->Destroy(); |
1666 } | 1594 } |
OLD | NEW |