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

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

Issue 2919903003: Ensure RemoteViewportIntersection rect persists across frame navigations (Closed)
Patch Set: 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 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 static void RegisterInitializationCallback(FrameInitCallback); 246 static void RegisterInitializationCallback(FrameInitCallback);
247 247
248 // If the frame hosts a PluginDocument, this method returns the 248 // If the frame hosts a PluginDocument, this method returns the
249 // WebPluginContainerBase that hosts the plugin. If the provided node is a 249 // WebPluginContainerBase that hosts the plugin. If the provided node is a
250 // plugin, then it returns its WebPluginContainerBase. Otherwise, uses the 250 // plugin, then it returns its WebPluginContainerBase. Otherwise, uses the
251 // currently focused element (if any). 251 // currently focused element (if any).
252 // TODO(slangley): Refactor this method to extract the logic of looking up 252 // TODO(slangley): Refactor this method to extract the logic of looking up
253 // focused element or passed node into explicit methods. 253 // focused element or passed node into explicit methods.
254 WebPluginContainerBase* GetWebPluginContainerBase(Node* = nullptr) const; 254 WebPluginContainerBase* GetWebPluginContainerBase(Node* = nullptr) const;
255 255
256 // Called on a view for a LocalFrame with a RemoteFrame parent. This makes
257 // viewport intersection available that accounts for remote ancestor frames
258 // and their respective scroll positions, clips, etc.
259 void SetViewportIntersectionFromParent(const IntRect&);
260 IntRect RemoteViewportIntersection() { return remote_viewport_intersection_; }
261
256 private: 262 private:
257 friend class FrameNavigationDisabler; 263 friend class FrameNavigationDisabler;
258 264
259 LocalFrame(LocalFrameClient*, 265 LocalFrame(LocalFrameClient*,
260 Page&, 266 Page&,
261 FrameOwner*, 267 FrameOwner*,
262 InterfaceProvider*, 268 InterfaceProvider*,
263 InterfaceRegistry*); 269 InterfaceRegistry*);
264 270
265 // Intentionally private to prevent redundant checks when the type is 271 // Intentionally private to prevent redundant checks when the type is
(...skipping 28 matching lines...) Expand all
294 float page_zoom_factor_; 300 float page_zoom_factor_;
295 float text_zoom_factor_; 301 float text_zoom_factor_;
296 302
297 bool in_view_source_mode_; 303 bool in_view_source_mode_;
298 304
299 Member<CoreProbeSink> probe_sink_; 305 Member<CoreProbeSink> probe_sink_;
300 Member<PerformanceMonitor> performance_monitor_; 306 Member<PerformanceMonitor> performance_monitor_;
301 307
302 InterfaceProvider* const interface_provider_; 308 InterfaceProvider* const interface_provider_;
303 InterfaceRegistry* const interface_registry_; 309 InterfaceRegistry* const interface_registry_;
310
311 IntRect remote_viewport_intersection_;
304 }; 312 };
305 313
306 inline FrameLoader& LocalFrame::Loader() const { 314 inline FrameLoader& LocalFrame::Loader() const {
307 return loader_; 315 return loader_;
308 } 316 }
309 317
310 inline NavigationScheduler& LocalFrame::GetNavigationScheduler() const { 318 inline NavigationScheduler& LocalFrame::GetNavigationScheduler() const {
311 DCHECK(navigation_scheduler_); 319 DCHECK(navigation_scheduler_);
312 return *navigation_scheduler_.Get(); 320 return *navigation_scheduler_.Get();
313 } 321 }
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 explicit ScopedFrameBlamer(LocalFrame*); 403 explicit ScopedFrameBlamer(LocalFrame*);
396 ~ScopedFrameBlamer(); 404 ~ScopedFrameBlamer();
397 405
398 private: 406 private:
399 Member<LocalFrame> frame_; 407 Member<LocalFrame> frame_;
400 }; 408 };
401 409
402 } // namespace blink 410 } // namespace blink
403 411
404 #endif // LocalFrame_h 412 #endif // LocalFrame_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.cpp ('k') | third_party/WebKit/Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698