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

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

Issue 916363003: Enable pinch-zoom on the new login page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase for enum conflict. Created 5 years, 10 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
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 "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 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 436
437 void WebViewGuest::HandleKeyboardEvent( 437 void WebViewGuest::HandleKeyboardEvent(
438 WebContents* source, 438 WebContents* source,
439 const content::NativeWebKeyboardEvent& event) { 439 const content::NativeWebKeyboardEvent& event) {
440 if (HandleKeyboardShortcuts(event)) 440 if (HandleKeyboardShortcuts(event))
441 return; 441 return;
442 442
443 GuestViewBase::HandleKeyboardEvent(source, event); 443 GuestViewBase::HandleKeyboardEvent(source, event);
444 } 444 }
445 445
446 bool WebViewGuest::PreHandleGestureEvent(content::WebContents* source,
447 const blink::WebGestureEvent& event) {
448 return !allow_scaling_ && GuestViewBase::PreHandleGestureEvent(source, event);
449 }
450
446 void WebViewGuest::LoadProgressChanged(content::WebContents* source, 451 void WebViewGuest::LoadProgressChanged(content::WebContents* source,
447 double progress) { 452 double progress) {
448 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue()); 453 scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
449 args->SetString(guestview::kUrl, web_contents()->GetURL().spec()); 454 args->SetString(guestview::kUrl, web_contents()->GetURL().spec());
450 args->SetDouble(webview::kProgress, progress); 455 args->SetDouble(webview::kProgress, progress);
451 DispatchEventToView( 456 DispatchEventToView(
452 new GuestViewBase::Event(webview::kEventLoadProgress, args.Pass())); 457 new GuestViewBase::Event(webview::kEventLoadProgress, args.Pass()));
453 } 458 }
454 459
455 void WebViewGuest::LoadAbort(bool is_top_level, 460 void WebViewGuest::LoadAbort(bool is_top_level,
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 } 636 }
632 637
633 WebViewGuest::WebViewGuest(content::WebContents* owner_web_contents) 638 WebViewGuest::WebViewGuest(content::WebContents* owner_web_contents)
634 : GuestView<WebViewGuest>(owner_web_contents), 639 : GuestView<WebViewGuest>(owner_web_contents),
635 rules_registry_id_(RulesRegistryService::kInvalidRulesRegistryID), 640 rules_registry_id_(RulesRegistryService::kInvalidRulesRegistryID),
636 find_helper_(this), 641 find_helper_(this),
637 is_overriding_user_agent_(false), 642 is_overriding_user_agent_(false),
638 guest_opaque_(true), 643 guest_opaque_(true),
639 javascript_dialog_helper_(this), 644 javascript_dialog_helper_(this),
640 current_zoom_factor_(1.0), 645 current_zoom_factor_(1.0),
646 allow_scaling_(false),
641 weak_ptr_factory_(this) { 647 weak_ptr_factory_(this) {
642 web_view_guest_delegate_.reset( 648 web_view_guest_delegate_.reset(
643 ExtensionsAPIClient::Get()->CreateWebViewGuestDelegate(this)); 649 ExtensionsAPIClient::Get()->CreateWebViewGuestDelegate(this));
644 } 650 }
645 651
646 WebViewGuest::~WebViewGuest() { 652 WebViewGuest::~WebViewGuest() {
647 } 653 }
648 654
649 void WebViewGuest::DidCommitProvisionalLoadForFrame( 655 void WebViewGuest::DidCommitProvisionalLoadForFrame(
650 content::RenderFrameHost* render_frame_host, 656 content::RenderFrameHost* render_frame_host,
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 std::string user_agent_override; 965 std::string user_agent_override;
960 params.GetString(webview::kParameterUserAgentOverride, &user_agent_override); 966 params.GetString(webview::kParameterUserAgentOverride, &user_agent_override);
961 SetUserAgentOverride(user_agent_override); 967 SetUserAgentOverride(user_agent_override);
962 968
963 bool allow_transparency = false; 969 bool allow_transparency = false;
964 params.GetBoolean(webview::kAttributeAllowTransparency, &allow_transparency); 970 params.GetBoolean(webview::kAttributeAllowTransparency, &allow_transparency);
965 // We need to set the background opaque flag after navigation to ensure that 971 // We need to set the background opaque flag after navigation to ensure that
966 // there is a RenderWidgetHostView available. 972 // there is a RenderWidgetHostView available.
967 SetAllowTransparency(allow_transparency); 973 SetAllowTransparency(allow_transparency);
968 974
975 bool allow_scaling = false;
976 params.GetBoolean(webview::kAttributeAllowScaling, &allow_scaling);
977 SetAllowScaling(allow_scaling);
978
969 bool is_pending_new_window = false; 979 bool is_pending_new_window = false;
970 if (GetOpener()) { 980 if (GetOpener()) {
971 // We need to do a navigation here if the target URL has changed between 981 // We need to do a navigation here if the target URL has changed between
972 // the time the WebContents was created and the time it was attached. 982 // the time the WebContents was created and the time it was attached.
973 // We also need to do an initial navigation if a RenderView was never 983 // We also need to do an initial navigation if a RenderView was never
974 // created for the new window in cases where there is no referrer. 984 // created for the new window in cases where there is no referrer.
975 auto it = GetOpener()->pending_new_windows_.find(this); 985 auto it = GetOpener()->pending_new_windows_.find(this);
976 if (it != GetOpener()->pending_new_windows_.end()) { 986 if (it != GetOpener()->pending_new_windows_.end()) {
977 const NewWindowInfo& new_window_info = it->second; 987 const NewWindowInfo& new_window_info = it->second;
978 if (new_window_info.changed || !web_contents()->HasOpener()) 988 if (new_window_info.changed || !web_contents()->HasOpener())
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
1037 web_contents() 1047 web_contents()
1038 ->GetRenderViewHost() 1048 ->GetRenderViewHost()
1039 ->GetView() 1049 ->GetView()
1040 ->SetBackgroundColorToDefault(); 1050 ->SetBackgroundColorToDefault();
1041 } else { 1051 } else {
1042 web_contents()->GetRenderViewHost()->GetView()->SetBackgroundColor( 1052 web_contents()->GetRenderViewHost()->GetView()->SetBackgroundColor(
1043 SK_ColorTRANSPARENT); 1053 SK_ColorTRANSPARENT);
1044 } 1054 }
1045 } 1055 }
1046 1056
1057 void WebViewGuest::SetAllowScaling(bool allow) {
1058 allow_scaling_ = allow;
1059 }
1060
1047 bool WebViewGuest::LoadDataWithBaseURL(const std::string& data_url, 1061 bool WebViewGuest::LoadDataWithBaseURL(const std::string& data_url,
1048 const std::string& base_url, 1062 const std::string& base_url,
1049 const std::string& virtual_url, 1063 const std::string& virtual_url,
1050 std::string* error) { 1064 std::string* error) {
1051 // Make GURLs from URLs. 1065 // Make GURLs from URLs.
1052 const GURL data_gurl = GURL(data_url); 1066 const GURL data_gurl = GURL(data_url);
1053 const GURL base_gurl = GURL(base_url); 1067 const GURL base_gurl = GURL(base_url);
1054 const GURL virtual_gurl = GURL(virtual_url); 1068 const GURL virtual_gurl = GURL(virtual_url);
1055 1069
1056 // Check that the provided URLs are valid. 1070 // Check that the provided URLs are valid.
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1218 WebViewGuest::From(owner_web_contents()->GetRenderProcessHost()->GetID(), 1232 WebViewGuest::From(owner_web_contents()->GetRenderProcessHost()->GetID(),
1219 new_window_instance_id); 1233 new_window_instance_id);
1220 if (!guest) 1234 if (!guest)
1221 return; 1235 return;
1222 1236
1223 if (!allow) 1237 if (!allow)
1224 guest->Destroy(); 1238 guest->Destroy();
1225 } 1239 }
1226 1240
1227 } // namespace extensions 1241 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/guest_view/web_view/web_view_guest.h ('k') | extensions/common/api/web_view_internal.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698