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

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

Issue 2883033003: Propagate inert state to OOPIFs when a modal dialog is active (Closed)
Patch Set: Set Frame's inert bit on style calculation 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 // 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 #ifndef RemoteFrame_h 5 #ifndef RemoteFrame_h
6 #define RemoteFrame_h 6 #define RemoteFrame_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/dom/RemoteSecurityContext.h" 9 #include "core/dom/RemoteSecurityContext.h"
10 #include "core/frame/Frame.h" 10 #include "core/frame/Frame.h"
(...skipping 20 matching lines...) Expand all
31 bool replace_current_item, 31 bool replace_current_item,
32 UserGestureStatus) override; 32 UserGestureStatus) override;
33 void Navigate(const FrameLoadRequest& passed_request) override; 33 void Navigate(const FrameLoadRequest& passed_request) override;
34 void Reload(FrameLoadType, ClientRedirectPolicy) override; 34 void Reload(FrameLoadType, ClientRedirectPolicy) override;
35 void Detach(FrameDetachType) override; 35 void Detach(FrameDetachType) override;
36 RemoteSecurityContext* GetSecurityContext() const override; 36 RemoteSecurityContext* GetSecurityContext() const override;
37 void PrintNavigationErrorMessage(const Frame&, const char* reason) override {} 37 void PrintNavigationErrorMessage(const Frame&, const char* reason) override {}
38 void PrintNavigationWarning(const String&) override {} 38 void PrintNavigationWarning(const String&) override {}
39 bool PrepareForCommit() override; 39 bool PrepareForCommit() override;
40 bool ShouldClose() override; 40 bool ShouldClose() override;
41 void SetIsInert(bool) override;
42 bool IsInert() const override { return last_inert_state_; }
41 43
42 void SetWebLayer(WebLayer*); 44 void SetWebLayer(WebLayer*);
43 WebLayer* GetWebLayer() const { return web_layer_; } 45 WebLayer* GetWebLayer() const { return web_layer_; }
44 46
45 void AdvanceFocus(WebFocusType, LocalFrame* source); 47 void AdvanceFocus(WebFocusType, LocalFrame* source);
46 48
47 void SetView(RemoteFrameView*); 49 void SetView(RemoteFrameView*);
48 void CreateView(); 50 void CreateView();
49 51
50 RemoteFrameView* View() const override; 52 RemoteFrameView* View() const override;
51 53
52 RemoteFrameClient* Client() const; 54 RemoteFrameClient* Client() const;
53 55
54 private: 56 private:
55 RemoteFrame(RemoteFrameClient*, Page&, FrameOwner*); 57 RemoteFrame(RemoteFrameClient*, Page&, FrameOwner*);
56 58
57 // Intentionally private to prevent redundant checks when the type is 59 // Intentionally private to prevent redundant checks when the type is
58 // already RemoteFrame. 60 // already RemoteFrame.
59 bool IsLocalFrame() const override { return false; } 61 bool IsLocalFrame() const override { return false; }
60 bool IsRemoteFrame() const override { return true; } 62 bool IsRemoteFrame() const override { return true; }
61 63
62 void DetachChildren(); 64 void DetachChildren();
63 65
64 Member<RemoteFrameView> view_; 66 Member<RemoteFrameView> view_;
65 Member<RemoteSecurityContext> security_context_; 67 Member<RemoteSecurityContext> security_context_;
66 WebLayer* web_layer_ = nullptr; 68 WebLayer* web_layer_ = nullptr;
69 bool last_inert_state_;
67 }; 70 };
68 71
69 inline RemoteFrameView* RemoteFrame::View() const { 72 inline RemoteFrameView* RemoteFrame::View() const {
70 return view_.Get(); 73 return view_.Get();
71 } 74 }
72 75
73 DEFINE_TYPE_CASTS(RemoteFrame, 76 DEFINE_TYPE_CASTS(RemoteFrame,
74 Frame, 77 Frame,
75 remoteFrame, 78 remoteFrame,
76 remoteFrame->IsRemoteFrame(), 79 remoteFrame->IsRemoteFrame(),
77 remoteFrame.IsRemoteFrame()); 80 remoteFrame.IsRemoteFrame());
78 81
79 } // namespace blink 82 } // namespace blink
80 83
81 #endif // RemoteFrame_h 84 #endif // RemoteFrame_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698