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

Side by Side Diff: chrome/browser/guest_view/web_view/web_view_guest.cc

Issue 372103006: Stamp out CreateStringValue in chrome/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 // Chromium's repost warning. We might want to implement a separate API 747 // Chromium's repost warning. We might want to implement a separate API
748 // for registering a callback if a repost is about to happen. 748 // for registering a callback if a repost is about to happen.
749 guest_web_contents()->GetController().Reload(false); 749 guest_web_contents()->GetController().Reload(false);
750 } 750 }
751 751
752 void WebViewGuest::RequestFileSystemPermission( 752 void WebViewGuest::RequestFileSystemPermission(
753 const GURL& url, 753 const GURL& url,
754 bool allowed_by_default, 754 bool allowed_by_default,
755 const base::Callback<void(bool)>& callback) { 755 const base::Callback<void(bool)>& callback) {
756 base::DictionaryValue request_info; 756 base::DictionaryValue request_info;
757 request_info.Set(guestview::kUrl, base::Value::CreateStringValue(url.spec())); 757 request_info.Set(guestview::kUrl, new base::StringValue(url.spec()));
758 RequestPermission( 758 RequestPermission(
759 WEB_VIEW_PERMISSION_TYPE_FILESYSTEM, 759 WEB_VIEW_PERMISSION_TYPE_FILESYSTEM,
760 request_info, 760 request_info,
761 base::Bind(&WebViewGuest::OnWebViewFileSystemPermissionResponse, 761 base::Bind(&WebViewGuest::OnWebViewFileSystemPermissionResponse,
762 base::Unretained(this), 762 base::Unretained(this),
763 callback), 763 callback),
764 allowed_by_default); 764 allowed_by_default);
765 } 765 }
766 766
767 void WebViewGuest::OnWebViewFileSystemPermissionResponse( 767 void WebViewGuest::OnWebViewFileSystemPermissionResponse(
768 const base::Callback<void(bool)>& callback, 768 const base::Callback<void(bool)>& callback,
769 bool allow, 769 bool allow,
770 const std::string& user_input) { 770 const std::string& user_input) {
771 callback.Run(allow && attached()); 771 callback.Run(allow && attached());
772 } 772 }
773 773
774 void WebViewGuest::RequestGeolocationPermission( 774 void WebViewGuest::RequestGeolocationPermission(
775 int bridge_id, 775 int bridge_id,
776 const GURL& requesting_frame, 776 const GURL& requesting_frame,
777 bool user_gesture, 777 bool user_gesture,
778 const base::Callback<void(bool)>& callback) { 778 const base::Callback<void(bool)>& callback) {
779 base::DictionaryValue request_info; 779 base::DictionaryValue request_info;
780 request_info.Set(guestview::kUrl, 780 request_info.Set(guestview::kUrl,
781 base::Value::CreateStringValue(requesting_frame.spec())); 781 new base::StringValue(requesting_frame.spec()));
782 request_info.Set(guestview::kUserGesture, 782 request_info.Set(guestview::kUserGesture,
783 base::Value::CreateBooleanValue(user_gesture)); 783 base::Value::CreateBooleanValue(user_gesture));
784 784
785 // It is safe to hold an unretained pointer to WebViewGuest because this 785 // It is safe to hold an unretained pointer to WebViewGuest because this
786 // callback is called from WebViewGuest::SetPermission. 786 // callback is called from WebViewGuest::SetPermission.
787 const PermissionResponseCallback permission_callback = 787 const PermissionResponseCallback permission_callback =
788 base::Bind(&WebViewGuest::OnWebViewGeolocationPermissionResponse, 788 base::Bind(&WebViewGuest::OnWebViewGeolocationPermissionResponse,
789 base::Unretained(this), 789 base::Unretained(this),
790 bridge_id, 790 bridge_id,
791 user_gesture, 791 user_gesture,
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
1203 args->SetInteger(webview::kNewWidth, new_size.width()); 1203 args->SetInteger(webview::kNewWidth, new_size.width());
1204 DispatchEvent( 1204 DispatchEvent(
1205 new GuestViewBase::Event(webview::kEventSizeChanged, args.Pass())); 1205 new GuestViewBase::Event(webview::kEventSizeChanged, args.Pass()));
1206 } 1206 }
1207 1207
1208 void WebViewGuest::RequestMediaAccessPermission( 1208 void WebViewGuest::RequestMediaAccessPermission(
1209 content::WebContents* source, 1209 content::WebContents* source,
1210 const content::MediaStreamRequest& request, 1210 const content::MediaStreamRequest& request,
1211 const content::MediaResponseCallback& callback) { 1211 const content::MediaResponseCallback& callback) {
1212 base::DictionaryValue request_info; 1212 base::DictionaryValue request_info;
1213 request_info.Set( 1213 request_info.Set(guestview::kUrl,
1214 guestview::kUrl, 1214 new base::StringValue(request.security_origin.spec()));
1215 base::Value::CreateStringValue(request.security_origin.spec()));
1216 RequestPermission(WEB_VIEW_PERMISSION_TYPE_MEDIA, 1215 RequestPermission(WEB_VIEW_PERMISSION_TYPE_MEDIA,
1217 request_info, 1216 request_info,
1218 base::Bind(&WebViewGuest::OnWebViewMediaPermissionResponse, 1217 base::Bind(&WebViewGuest::OnWebViewMediaPermissionResponse,
1219 base::Unretained(this), 1218 base::Unretained(this),
1220 request, 1219 request,
1221 callback), 1220 callback),
1222 false /* allowed_by_default */); 1221 false /* allowed_by_default */);
1223 } 1222 }
1224 1223
1225 void WebViewGuest::CanDownload( 1224 void WebViewGuest::CanDownload(
1226 content::RenderViewHost* render_view_host, 1225 content::RenderViewHost* render_view_host,
1227 const GURL& url, 1226 const GURL& url,
1228 const std::string& request_method, 1227 const std::string& request_method,
1229 const base::Callback<void(bool)>& callback) { 1228 const base::Callback<void(bool)>& callback) {
1230 base::DictionaryValue request_info; 1229 base::DictionaryValue request_info;
1231 request_info.Set( 1230 request_info.Set(guestview::kUrl, new base::StringValue(url.spec()));
1232 guestview::kUrl,
1233 base::Value::CreateStringValue(url.spec()));
1234 RequestPermission( 1231 RequestPermission(
1235 WEB_VIEW_PERMISSION_TYPE_DOWNLOAD, 1232 WEB_VIEW_PERMISSION_TYPE_DOWNLOAD,
1236 request_info, 1233 request_info,
1237 base::Bind(&WebViewGuest::OnWebViewDownloadPermissionResponse, 1234 base::Bind(&WebViewGuest::OnWebViewDownloadPermissionResponse,
1238 base::Unretained(this), 1235 base::Unretained(this),
1239 callback), 1236 callback),
1240 false /* allowed_by_default */); 1237 false /* allowed_by_default */);
1241 } 1238 }
1242 1239
1243 void WebViewGuest::RequestPointerLockPermission( 1240 void WebViewGuest::RequestPointerLockPermission(
1244 bool user_gesture, 1241 bool user_gesture,
1245 bool last_unlocked_by_target, 1242 bool last_unlocked_by_target,
1246 const base::Callback<void(bool)>& callback) { 1243 const base::Callback<void(bool)>& callback) {
1247 base::DictionaryValue request_info; 1244 base::DictionaryValue request_info;
1248 request_info.Set(guestview::kUserGesture, 1245 request_info.Set(guestview::kUserGesture,
1249 base::Value::CreateBooleanValue(user_gesture)); 1246 base::Value::CreateBooleanValue(user_gesture));
1250 request_info.Set(webview::kLastUnlockedBySelf, 1247 request_info.Set(webview::kLastUnlockedBySelf,
1251 base::Value::CreateBooleanValue(last_unlocked_by_target)); 1248 base::Value::CreateBooleanValue(last_unlocked_by_target));
1252 request_info.Set(guestview::kUrl, 1249 request_info.Set(guestview::kUrl,
1253 base::Value::CreateStringValue( 1250 new base::StringValue(
1254 guest_web_contents()->GetLastCommittedURL().spec())); 1251 guest_web_contents()->GetLastCommittedURL().spec()));
1255 1252
1256 RequestPermission( 1253 RequestPermission(
1257 WEB_VIEW_PERMISSION_TYPE_POINTER_LOCK, 1254 WEB_VIEW_PERMISSION_TYPE_POINTER_LOCK,
1258 request_info, 1255 request_info,
1259 base::Bind(&WebViewGuest::OnWebViewPointerLockPermissionResponse, 1256 base::Bind(&WebViewGuest::OnWebViewPointerLockPermissionResponse,
1260 base::Unretained(this), 1257 base::Unretained(this),
1261 callback), 1258 callback),
1262 false /* allowed_by_default */); 1259 false /* allowed_by_default */);
1263 } 1260 }
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
1599 // Retrieve the opener partition info if we have it. 1596 // Retrieve the opener partition info if we have it.
1600 const GURL& site_url = new_contents->GetSiteInstance()->GetSiteURL(); 1597 const GURL& site_url = new_contents->GetSiteInstance()->GetSiteURL();
1601 std::string storage_partition_id = GetStoragePartitionIdFromSiteURL(site_url); 1598 std::string storage_partition_id = GetStoragePartitionIdFromSiteURL(site_url);
1602 1599
1603 base::DictionaryValue request_info; 1600 base::DictionaryValue request_info;
1604 request_info.Set(webview::kInitialHeight, 1601 request_info.Set(webview::kInitialHeight,
1605 base::Value::CreateIntegerValue(initial_bounds.height())); 1602 base::Value::CreateIntegerValue(initial_bounds.height()));
1606 request_info.Set(webview::kInitialWidth, 1603 request_info.Set(webview::kInitialWidth,
1607 base::Value::CreateIntegerValue(initial_bounds.width())); 1604 base::Value::CreateIntegerValue(initial_bounds.width()));
1608 request_info.Set(webview::kTargetURL, 1605 request_info.Set(webview::kTargetURL,
1609 base::Value::CreateStringValue(new_window_info.url.spec())); 1606 new base::StringValue(new_window_info.url.spec()));
1610 request_info.Set(webview::kName, 1607 request_info.Set(webview::kName, new base::StringValue(new_window_info.name));
1611 base::Value::CreateStringValue(new_window_info.name));
1612 request_info.Set(webview::kWindowID, 1608 request_info.Set(webview::kWindowID,
1613 base::Value::CreateIntegerValue( 1609 base::Value::CreateIntegerValue(
1614 guest->GetGuestInstanceID())); 1610 guest->GetGuestInstanceID()));
1615 // We pass in partition info so that window-s created through newwindow 1611 // We pass in partition info so that window-s created through newwindow
1616 // API can use it to set their partition attribute. 1612 // API can use it to set their partition attribute.
1617 request_info.Set(webview::kStoragePartitionId, 1613 request_info.Set(webview::kStoragePartitionId,
1618 base::Value::CreateStringValue(storage_partition_id)); 1614 new base::StringValue(storage_partition_id));
1619 request_info.Set(webview::kWindowOpenDisposition, 1615 request_info.Set(
1620 base::Value::CreateStringValue( 1616 webview::kWindowOpenDisposition,
1621 WindowOpenDispositionToString(disposition))); 1617 new base::StringValue(WindowOpenDispositionToString(disposition)));
1622 1618
1623 RequestPermission(WEB_VIEW_PERMISSION_TYPE_NEW_WINDOW, 1619 RequestPermission(WEB_VIEW_PERMISSION_TYPE_NEW_WINDOW,
1624 request_info, 1620 request_info,
1625 base::Bind(&WebViewGuest::OnWebViewNewWindowResponse, 1621 base::Bind(&WebViewGuest::OnWebViewNewWindowResponse,
1626 base::Unretained(this), 1622 base::Unretained(this),
1627 guest->GetGuestInstanceID()), 1623 guest->GetGuestInstanceID()),
1628 false /* allowed_by_default */); 1624 false /* allowed_by_default */);
1629 } 1625 }
1630 1626
1631 void WebViewGuest::DestroyUnattachedWindows() { 1627 void WebViewGuest::DestroyUnattachedWindows() {
(...skipping 28 matching lines...) Expand all
1660 bool allow, 1656 bool allow,
1661 const std::string& user_input) { 1657 const std::string& user_input) {
1662 WebViewGuest* guest = 1658 WebViewGuest* guest =
1663 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id); 1659 WebViewGuest::From(embedder_render_process_id(), new_window_instance_id);
1664 if (!guest) 1660 if (!guest)
1665 return; 1661 return;
1666 1662
1667 if (!allow) 1663 if (!allow)
1668 guest->Destroy(); 1664 guest->Destroy();
1669 } 1665 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698