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

Side by Side Diff: chrome/renderer/chrome_render_view_observer.cc

Issue 7831028: Compute pageScaleFactor on page so that fixed layout page fits width of window. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Removed unnecsssary changes in build/common.gypi Created 8 years, 11 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
« no previous file with comments | « build/common.gypi ('k') | content/browser/renderer_host/render_process_host_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer/chrome_render_view_observer.h" 5 #include "chrome/renderer/chrome_render_view_observer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
11 #include "base/message_loop.h" 11 #include "base/message_loop.h"
12 #include "base/metrics/histogram.h" 12 #include "base/metrics/histogram.h"
13 #include "base/string_util.h" 13 #include "base/string_util.h"
14 #include "chrome/common/chrome_constants.h" 14 #include "chrome/common/chrome_constants.h"
15 #include "chrome/common/chrome_switches.h" 15 #include "chrome/common/chrome_switches.h"
16 #include "chrome/common/icon_messages.h" 16 #include "chrome/common/icon_messages.h"
17 #include "chrome/common/render_messages.h" 17 #include "chrome/common/render_messages.h"
18 #include "chrome/common/thumbnail_score.h" 18 #include "chrome/common/thumbnail_score.h"
19 #include "chrome/common/url_constants.h" 19 #include "chrome/common/url_constants.h"
20 #include "chrome/renderer/about_handler.h" 20 #include "chrome/renderer/about_handler.h"
21 #include "chrome/renderer/automation/dom_automation_controller.h" 21 #include "chrome/renderer/automation/dom_automation_controller.h"
22 #include "chrome/renderer/chrome_render_process_observer.h" 22 #include "chrome/renderer/chrome_render_process_observer.h"
23 #include "chrome/renderer/content_settings_observer.h" 23 #include "chrome/renderer/content_settings_observer.h"
24 #include "chrome/renderer/extensions/extension_dispatcher.h" 24 #include "chrome/renderer/extensions/extension_dispatcher.h"
25 #include "chrome/renderer/extensions/extension_helper.h"
25 #include "chrome/renderer/external_host_bindings.h" 26 #include "chrome/renderer/external_host_bindings.h"
26 #include "chrome/renderer/frame_sniffer.h" 27 #include "chrome/renderer/frame_sniffer.h"
27 #include "chrome/renderer/prerender/prerender_helper.h" 28 #include "chrome/renderer/prerender/prerender_helper.h"
28 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h" 29 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h"
29 #include "chrome/renderer/translate_helper.h" 30 #include "chrome/renderer/translate_helper.h"
30 #include "chrome/renderer/webview_color_overlay.h" 31 #include "chrome/renderer/webview_color_overlay.h"
31 #include "content/public/common/bindings_policy.h" 32 #include "content/public/common/bindings_policy.h"
33 #include "content/public/common/view_type.h"
32 #include "content/public/renderer/render_view.h" 34 #include "content/public/renderer/render_view.h"
33 #include "content/public/renderer/content_renderer_client.h" 35 #include "content/public/renderer/content_renderer_client.h"
34 #include "net/base/data_url.h" 36 #include "net/base/data_url.h"
35 #include "skia/ext/image_operations.h" 37 #include "skia/ext/image_operations.h"
36 #include "skia/ext/platform_canvas.h" 38 #include "skia/ext/platform_canvas.h"
37 #include "third_party/WebKit/Source/WebKit/chromium/public/WebAccessibilityObjec t.h" 39 #include "third_party/WebKit/Source/WebKit/chromium/public/WebAccessibilityObjec t.h"
38 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCString.h " 40 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCString.h "
39 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h" 41 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h"
40 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" 42 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
41 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" 43 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 // #define TIME_TEXT_RETRIEVAL 88 // #define TIME_TEXT_RETRIEVAL
87 89
88 // maximum number of characters in the document to index, any text beyond this 90 // maximum number of characters in the document to index, any text beyond this
89 // point will be clipped 91 // point will be clipped
90 static const size_t kMaxIndexChars = 65535; 92 static const size_t kMaxIndexChars = 65535;
91 93
92 // Size of the thumbnails that we'll generate 94 // Size of the thumbnails that we'll generate
93 static const int kThumbnailWidth = 212; 95 static const int kThumbnailWidth = 212;
94 static const int kThumbnailHeight = 132; 96 static const int kThumbnailHeight = 132;
95 97
98 // The default layout width for pages when fixed layout is enabled.
99 static const int kDefaultLayoutWidth = 980;
100 static const int kDefaultLayoutHeight = 640;
101
96 // Constants for UMA statistic collection. 102 // Constants for UMA statistic collection.
97 static const char kWWWDotGoogleDotCom[] = "www.google.com"; 103 static const char kWWWDotGoogleDotCom[] = "www.google.com";
98 static const char kMailDotGoogleDotCom[] = "mail.google.com"; 104 static const char kMailDotGoogleDotCom[] = "mail.google.com";
99 static const char kPlusDotGoogleDotCom[] = "plus.google.com"; 105 static const char kPlusDotGoogleDotCom[] = "plus.google.com";
100 static const char kDocsDotGoogleDotCom[] = "docs.google.com"; 106 static const char kDocsDotGoogleDotCom[] = "docs.google.com";
101 static const char kSitesDotGoogleDotCom[] = "sites.google.com"; 107 static const char kSitesDotGoogleDotCom[] = "sites.google.com";
102 static const char kPicasawebDotGoogleDotCom[] = "picasaweb.google.com"; 108 static const char kPicasawebDotGoogleDotCom[] = "picasaweb.google.com";
103 static const char kCodeDotGoogleDotCom[] = "code.google.com"; 109 static const char kCodeDotGoogleDotCom[] = "code.google.com";
104 static const char kGroupsDotGoogleDotCom[] = "groups.google.com"; 110 static const char kGroupsDotGoogleDotCom[] = "groups.google.com";
105 static const char kMapsDotGoogleDotCom[] = "maps.google.com"; 111 static const char kMapsDotGoogleDotCom[] = "maps.google.com";
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 void ChromeRenderViewObserver::OnAddStrictSecurityHost( 371 void ChromeRenderViewObserver::OnAddStrictSecurityHost(
366 const std::string& host) { 372 const std::string& host) {
367 strict_security_hosts_.insert(host); 373 strict_security_hosts_.insert(host);
368 } 374 }
369 375
370 void ChromeRenderViewObserver::OnSetAsInterstitial() { 376 void ChromeRenderViewObserver::OnSetAsInterstitial() {
371 content_settings_->SetAsInterstitial(); 377 content_settings_->SetAsInterstitial();
372 } 378 }
373 379
374 void ChromeRenderViewObserver::Navigate(const GURL& url) { 380 void ChromeRenderViewObserver::Navigate(const GURL& url) {
381 ExtensionHelper* extension_helper = ExtensionHelper::Get(render_view());
Aaron Boodman 2012/01/20 18:49:23 What are you trying to do here? It looks to me lik
382 bool is_tab_contents = extension_helper &&
383 extension_helper->view_type() == content::VIEW_TYPE_TAB_CONTENTS;
darin (slow to review) 2012/01/20 19:10:20 it seems a little hacky to be using something from
Fady Samuel 2012/01/20 21:05:04 I don't know what the answer to that question is..
jam 2012/01/20 21:08:05 code in the renderer doesn't generally know about
384 const CommandLine* cmd_line = CommandLine::ForCurrentProcess();
385 // Only use fixed layout on tab contents.
386 if (is_tab_contents && cmd_line->HasSwitch(switches::kEnableFixedLayout)) {
387 WebSize viewSize = render_view()->GetWebView()->size();
darin (slow to review) 2012/01/20 19:10:20 nit: view_size
Fady Samuel 2012/01/20 21:05:04 Done.
388 int layoutHeight =
darin (slow to review) 2012/01/20 19:10:20 nit: layout_height
Fady Samuel 2012/01/20 21:05:04 Done.
389 viewSize.height ?
390 viewSize.height * kDefaultLayoutWidth / viewSize.width :
391 kDefaultLayoutHeight;
392 WebSize layout_size(kDefaultLayoutWidth, layoutHeight);
393 render_view()->GetWebView()->enableFixedLayoutMode(true);
394 render_view()->GetWebView()->setFixedLayoutSize(layout_size);
395 render_view()->GetWebView()->
396 setShouldLayoutFixedElementsRelativeToFrame(true);
darin (slow to review) 2012/01/20 19:10:20 isn't this done through WebSettings now?
Fady Samuel 2012/01/20 21:05:04 Patch hasn't landed yet. Will fix now. But once i
397 } else {
398 render_view()->GetWebView()->enableFixedLayoutMode(false);
399 render_view()->GetWebView()->
400 setShouldLayoutFixedElementsRelativeToFrame(false);
401 }
375 // Execute cache clear operations that were postponed until a navigation 402 // Execute cache clear operations that were postponed until a navigation
376 // event (including tab reload). 403 // event (including tab reload).
377 if (chrome_render_process_observer_) 404 if (chrome_render_process_observer_)
378 chrome_render_process_observer_->ExecutePendingClearCache(); 405 chrome_render_process_observer_->ExecutePendingClearCache();
379 AboutHandler::MaybeHandle(url); 406 AboutHandler::MaybeHandle(url);
380 } 407 }
381 408
382 void ChromeRenderViewObserver::OnSetClientSidePhishingDetection( 409 void ChromeRenderViewObserver::OnSetClientSidePhishingDetection(
383 bool enable_phishing_detection) { 410 bool enable_phishing_detection) {
384 #if defined(ENABLE_SAFE_BROWSING) && !defined(OS_CHROMEOS) 411 #if defined(ENABLE_SAFE_BROWSING) && !defined(OS_CHROMEOS)
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 reinterpret_cast<const unsigned char*>(&data[0]); 1102 reinterpret_cast<const unsigned char*>(&data[0]);
1076 1103
1077 return decoder.Decode(src_data, data.size()); 1104 return decoder.Decode(src_data, data.size());
1078 } 1105 }
1079 return SkBitmap(); 1106 return SkBitmap();
1080 } 1107 }
1081 1108
1082 bool ChromeRenderViewObserver::IsStrictSecurityHost(const std::string& host) { 1109 bool ChromeRenderViewObserver::IsStrictSecurityHost(const std::string& host) {
1083 return (strict_security_hosts_.find(host) != strict_security_hosts_.end()); 1110 return (strict_security_hosts_.find(host) != strict_security_hosts_.end());
1084 } 1111 }
OLDNEW
« no previous file with comments | « build/common.gypi ('k') | content/browser/renderer_host/render_process_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698