Chromium Code Reviews| Index: Source/web/RemoteBridgeFrameOwner.h |
| diff --git a/Source/web/RemoteBridgeFrameOwner.h b/Source/web/RemoteBridgeFrameOwner.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..03c689979a3e0652e6423603dba426cb9451617c |
| --- /dev/null |
| +++ b/Source/web/RemoteBridgeFrameOwner.h |
| @@ -0,0 +1,55 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be found |
| +// in the LICENSE file. |
| + |
| +#ifndef RemoteBridgeFrameOwner_h |
| +#define RemoteBridgeFrameOwner_h |
| + |
| +#include "core/frame/FrameOwner.h" |
| +#include "web/WebLocalFrameImpl.h" |
| + |
| +namespace blink { |
| + |
| +// Helper class to bridge communication for a frame with a remote parent. |
| +// Currently, it serves two purposes: |
| +// 1. Allows the local frame's loader to retrieve sandbox flags associated with |
| +// its owner element in another process. |
| +// 2. Trigger a load event on its owner element once it finishes a load. |
| +class RemoteBridgeFrameOwner : public NoBaseWillBeGarbageCollectedFinalized<RemoteBridgeFrameOwner>, public FrameOwner { |
| + WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(RemoteBridgeFrameOwner); |
| + |
|
dcheng
2015/02/11 22:45:04
Nit: no newline.
alexmos
2015/02/11 22:49:47
Done. I guess git cl format did the wrong thing?
|
| +public: |
| + static PassOwnPtrWillBeRawPtr<RemoteBridgeFrameOwner> create(PassRefPtrWillBeRawPtr<WebLocalFrameImpl> frame, SandboxFlags flags) |
| + { |
| + return adoptPtrWillBeNoop(new RemoteBridgeFrameOwner(frame, flags)); |
| + } |
| + |
| + virtual bool isLocal() const override |
| + { |
| + return false; |
| + } |
| + |
| + virtual SandboxFlags sandboxFlags() const override |
| + { |
| + return m_sandboxFlags; |
| + } |
| + |
| + void setSandboxFlags(SandboxFlags flags) |
| + { |
| + m_sandboxFlags = flags; |
| + } |
| + |
| + virtual void dispatchLoad() override; |
| + |
| + virtual void trace(Visitor*) override; |
| + |
| +private: |
| + RemoteBridgeFrameOwner(PassRefPtrWillBeRawPtr<WebLocalFrameImpl>, SandboxFlags); |
| + |
| + RefPtrWillBeMember<WebLocalFrameImpl> m_frame; |
| + SandboxFlags m_sandboxFlags; |
| +}; |
| + |
| +} // namespace blink |
| + |
| +#endif // RemoteBridgeFrameOwner_h |