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

Side by Side Diff: third_party/WebKit/Source/core/frame/LocalFrame.h

Issue 2910023002: Ensure RemoteViewportIntersection rect persists across frame navigations (Closed)
Patch Set: dcheng comments addressed Created 3 years, 6 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 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999-2001 Lars Knoll <knoll@kde.org> 3 * 1999-2001 Lars Knoll <knoll@kde.org>
4 * 1999-2001 Antti Koivisto <koivisto@kde.org> 4 * 1999-2001 Antti Koivisto <koivisto@kde.org>
5 * 2000-2001 Simon Hausmann <hausmann@kde.org> 5 * 2000-2001 Simon Hausmann <hausmann@kde.org>
6 * 2000-2001 Dirk Mueller <mueller@kde.org> 6 * 2000-2001 Dirk Mueller <mueller@kde.org>
7 * 2000 Stefan Schimanski <1Stein@gmx.de> 7 * 2000 Stefan Schimanski <1Stein@gmx.de>
8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
9 * reserved. 9 * reserved.
10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 static void RegisterInitializationCallback(FrameInitCallback); 248 static void RegisterInitializationCallback(FrameInitCallback);
249 249
250 // If the frame hosts a PluginDocument, this method returns the 250 // If the frame hosts a PluginDocument, this method returns the
251 // WebPluginContainerBase that hosts the plugin. If the provided node is a 251 // WebPluginContainerBase that hosts the plugin. If the provided node is a
252 // plugin, then it returns its WebPluginContainerBase. Otherwise, uses the 252 // plugin, then it returns its WebPluginContainerBase. Otherwise, uses the
253 // currently focused element (if any). 253 // currently focused element (if any).
254 // TODO(slangley): Refactor this method to extract the logic of looking up 254 // TODO(slangley): Refactor this method to extract the logic of looking up
255 // focused element or passed node into explicit methods. 255 // focused element or passed node into explicit methods.
256 WebPluginContainerBase* GetWebPluginContainerBase(Node* = nullptr) const; 256 WebPluginContainerBase* GetWebPluginContainerBase(Node* = nullptr) const;
257 257
258 // Called on a view for a LocalFrame with a RemoteFrame parent. This makes
259 // viewport intersection available that accounts for remote ancestor frames
260 // and their respective scroll positions, clips, etc.
261 void SetViewportIntersectionFromParent(const IntRect&);
262 IntRect RemoteViewportIntersection() { return remote_viewport_intersection_; }
263
258 private: 264 private:
259 friend class FrameNavigationDisabler; 265 friend class FrameNavigationDisabler;
260 266
261 LocalFrame(LocalFrameClient*, 267 LocalFrame(LocalFrameClient*,
262 Page&, 268 Page&,
263 FrameOwner*, 269 FrameOwner*,
264 InterfaceProvider*, 270 InterfaceProvider*,
265 InterfaceRegistry*); 271 InterfaceRegistry*);
266 272
267 // Intentionally private to prevent redundant checks when the type is 273 // Intentionally private to prevent redundant checks when the type is
(...skipping 30 matching lines...) Expand all
298 float page_zoom_factor_; 304 float page_zoom_factor_;
299 float text_zoom_factor_; 305 float text_zoom_factor_;
300 306
301 bool in_view_source_mode_; 307 bool in_view_source_mode_;
302 308
303 Member<CoreProbeSink> probe_sink_; 309 Member<CoreProbeSink> probe_sink_;
304 Member<PerformanceMonitor> performance_monitor_; 310 Member<PerformanceMonitor> performance_monitor_;
305 311
306 InterfaceProvider* const interface_provider_; 312 InterfaceProvider* const interface_provider_;
307 InterfaceRegistry* const interface_registry_; 313 InterfaceRegistry* const interface_registry_;
314
315 IntRect remote_viewport_intersection_;
308 }; 316 };
309 317
310 inline FrameLoader& LocalFrame::Loader() const { 318 inline FrameLoader& LocalFrame::Loader() const {
311 return loader_; 319 return loader_;
312 } 320 }
313 321
314 inline NavigationScheduler& LocalFrame::GetNavigationScheduler() const { 322 inline NavigationScheduler& LocalFrame::GetNavigationScheduler() const {
315 DCHECK(navigation_scheduler_); 323 DCHECK(navigation_scheduler_);
316 return *navigation_scheduler_.Get(); 324 return *navigation_scheduler_.Get();
317 } 325 }
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 explicit ScopedFrameBlamer(LocalFrame*); 407 explicit ScopedFrameBlamer(LocalFrame*);
400 ~ScopedFrameBlamer(); 408 ~ScopedFrameBlamer();
401 409
402 private: 410 private:
403 Member<LocalFrame> frame_; 411 Member<LocalFrame> frame_;
404 }; 412 };
405 413
406 } // namespace blink 414 } // namespace blink
407 415
408 #endif // LocalFrame_h 416 #endif // LocalFrame_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698