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

Side by Side Diff: content/renderer/render_view_impl.cc

Issue 1672073003: Shunt string-dumping functions from WebFrame to a side class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added/updated TODOs. Created 4 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 (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 "content/renderer/render_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 #include "third_party/WebKit/public/web/WebDOMMessageEvent.h" 134 #include "third_party/WebKit/public/web/WebDOMMessageEvent.h"
135 #include "third_party/WebKit/public/web/WebDataSource.h" 135 #include "third_party/WebKit/public/web/WebDataSource.h"
136 #include "third_party/WebKit/public/web/WebDateTimeChooserCompletion.h" 136 #include "third_party/WebKit/public/web/WebDateTimeChooserCompletion.h"
137 #include "third_party/WebKit/public/web/WebDateTimeChooserParams.h" 137 #include "third_party/WebKit/public/web/WebDateTimeChooserParams.h"
138 #include "third_party/WebKit/public/web/WebDocument.h" 138 #include "third_party/WebKit/public/web/WebDocument.h"
139 #include "third_party/WebKit/public/web/WebElement.h" 139 #include "third_party/WebKit/public/web/WebElement.h"
140 #include "third_party/WebKit/public/web/WebFileChooserParams.h" 140 #include "third_party/WebKit/public/web/WebFileChooserParams.h"
141 #include "third_party/WebKit/public/web/WebFormControlElement.h" 141 #include "third_party/WebKit/public/web/WebFormControlElement.h"
142 #include "third_party/WebKit/public/web/WebFormElement.h" 142 #include "third_party/WebKit/public/web/WebFormElement.h"
143 #include "third_party/WebKit/public/web/WebFrame.h" 143 #include "third_party/WebKit/public/web/WebFrame.h"
144 #include "third_party/WebKit/public/web/WebFrameContentDumper.h"
144 #include "third_party/WebKit/public/web/WebHistoryItem.h" 145 #include "third_party/WebKit/public/web/WebHistoryItem.h"
145 #include "third_party/WebKit/public/web/WebHitTestResult.h" 146 #include "third_party/WebKit/public/web/WebHitTestResult.h"
146 #include "third_party/WebKit/public/web/WebInputElement.h" 147 #include "third_party/WebKit/public/web/WebInputElement.h"
147 #include "third_party/WebKit/public/web/WebInputEvent.h" 148 #include "third_party/WebKit/public/web/WebInputEvent.h"
148 #include "third_party/WebKit/public/web/WebLocalFrame.h" 149 #include "third_party/WebKit/public/web/WebLocalFrame.h"
149 #include "third_party/WebKit/public/web/WebMediaPlayerAction.h" 150 #include "third_party/WebKit/public/web/WebMediaPlayerAction.h"
150 #include "third_party/WebKit/public/web/WebNavigationPolicy.h" 151 #include "third_party/WebKit/public/web/WebNavigationPolicy.h"
151 #include "third_party/WebKit/public/web/WebPageImportanceSignals.h" 152 #include "third_party/WebKit/public/web/WebPageImportanceSignals.h"
152 #include "third_party/WebKit/public/web/WebPlugin.h" 153 #include "third_party/WebKit/public/web/WebPlugin.h"
153 #include "third_party/WebKit/public/web/WebPluginAction.h" 154 #include "third_party/WebKit/public/web/WebPluginAction.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 using blink::WebDataSource; 214 using blink::WebDataSource;
214 using blink::WebDocument; 215 using blink::WebDocument;
215 using blink::WebDragData; 216 using blink::WebDragData;
216 using blink::WebDragOperation; 217 using blink::WebDragOperation;
217 using blink::WebDragOperationsMask; 218 using blink::WebDragOperationsMask;
218 using blink::WebElement; 219 using blink::WebElement;
219 using blink::WebFileChooserCompletion; 220 using blink::WebFileChooserCompletion;
220 using blink::WebFormControlElement; 221 using blink::WebFormControlElement;
221 using blink::WebFormElement; 222 using blink::WebFormElement;
222 using blink::WebFrame; 223 using blink::WebFrame;
224 using blink::WebFrameContentDumper;
223 using blink::WebGestureEvent; 225 using blink::WebGestureEvent;
224 using blink::WebHistoryItem; 226 using blink::WebHistoryItem;
225 using blink::WebHTTPBody; 227 using blink::WebHTTPBody;
226 using blink::WebIconURL; 228 using blink::WebIconURL;
227 using blink::WebImage; 229 using blink::WebImage;
228 using blink::WebInputElement; 230 using blink::WebInputElement;
229 using blink::WebInputEvent; 231 using blink::WebInputEvent;
230 using blink::WebLocalFrame; 232 using blink::WebLocalFrame;
231 using blink::WebMediaPlayerAction; 233 using blink::WebMediaPlayerAction;
232 using blink::WebMouseEvent; 234 using blink::WebMouseEvent;
(...skipping 997 matching lines...) Expand 10 before | Expand all | Expand 10 after
1230 #endif 1232 #endif
1231 1233
1232 #if defined(OS_MACOSX) 1234 #if defined(OS_MACOSX)
1233 void RenderViewImpl::PluginFocusChanged(bool focused, int plugin_id) { 1235 void RenderViewImpl::PluginFocusChanged(bool focused, int plugin_id) {
1234 Send(new ViewHostMsg_PluginFocusChanged(routing_id(), focused, plugin_id)); 1236 Send(new ViewHostMsg_PluginFocusChanged(routing_id(), focused, plugin_id));
1235 } 1237 }
1236 1238
1237 void RenderViewImpl::OnGetRenderedText() { 1239 void RenderViewImpl::OnGetRenderedText() {
1238 if (!webview()) 1240 if (!webview())
1239 return; 1241 return;
1242
1243 if (!webview()->mainFrame()->isWebLocalFrame())
1244 return;
1245
1240 // Get rendered text from WebLocalFrame. 1246 // Get rendered text from WebLocalFrame.
1241 // TODO: Currently IPC truncates any data that has a 1247 // TODO: Currently IPC truncates any data that has a
1242 // size > kMaximumMessageSize. May be split the text into smaller chunks and 1248 // size > kMaximumMessageSize. May be split the text into smaller chunks and
1243 // send back using multiple IPC. See http://crbug.com/393444. 1249 // send back using multiple IPC. See http://crbug.com/393444.
1244 static const size_t kMaximumMessageSize = 8 * 1024 * 1024; 1250 static const size_t kMaximumMessageSize = 8 * 1024 * 1024;
1245 std::string text = webview()->mainFrame()->contentAsText( 1251 // TODO(dglazkov): Using this API is wrong. It's not OOPIF-compatible and
1246 kMaximumMessageSize).utf8(); 1252 // sends text in the wrong order. See http://crbug.com/584798.
1253 // TODO(dglazkov): WebFrameContentDumper should only be used for
1254 // testing purposes. See http://crbug.com/585164.
1255 std::string text =
1256 WebFrameContentDumper::dumpFrameTreeAsText(
1257 webview()->mainFrame()->toWebLocalFrame(), kMaximumMessageSize)
1258 .utf8();
1247 1259
1248 Send(new ViewMsg_GetRenderedTextCompleted(routing_id(), text)); 1260 Send(new ViewMsg_GetRenderedTextCompleted(routing_id(), text));
1249 } 1261 }
1250 1262
1251 void RenderViewImpl::StartPluginIme() { 1263 void RenderViewImpl::StartPluginIme() {
1252 IPC::Message* msg = new ViewHostMsg_StartPluginIme(routing_id()); 1264 IPC::Message* msg = new ViewHostMsg_StartPluginIme(routing_id());
1253 // This message can be sent during event-handling, and needs to be delivered 1265 // This message can be sent during event-handling, and needs to be delivered
1254 // within that context. 1266 // within that context.
1255 msg->set_unblock(true); 1267 msg->set_unblock(true);
1256 Send(msg); 1268 Send(msg);
(...skipping 2263 matching lines...) Expand 10 before | Expand all | Expand 10 after
3520 if (IsUseZoomForDSFEnabled()) { 3532 if (IsUseZoomForDSFEnabled()) {
3521 webview()->setZoomFactorForDeviceScaleFactor(device_scale_factor_); 3533 webview()->setZoomFactorForDeviceScaleFactor(device_scale_factor_);
3522 } else { 3534 } else {
3523 webview()->setDeviceScaleFactor(device_scale_factor_); 3535 webview()->setDeviceScaleFactor(device_scale_factor_);
3524 } 3536 }
3525 webview()->settings()->setPreferCompositingToLCDTextEnabled( 3537 webview()->settings()->setPreferCompositingToLCDTextEnabled(
3526 PreferCompositingToLCDText(compositor_deps_, device_scale_factor_)); 3538 PreferCompositingToLCDText(compositor_deps_, device_scale_factor_));
3527 } 3539 }
3528 3540
3529 } // namespace content 3541 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_view_browsertest_mac.mm ('k') | third_party/WebKit/Source/web/WebFrameContentDumper.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698