| // 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 COMPONENTS_HTML_VIEWER_HTML_FRAME_DELEGATE_H_ |
| #define COMPONENTS_HTML_VIEWER_HTML_FRAME_DELEGATE_H_ |
| |
| namespace mojo { |
| class ApplicationImpl; |
| } |
| |
| namespace html_viewer { |
| |
| class HTMLFactory; |
| class HTMLFrame; |
| |
| class HTMLFrameDelegate { |
| public: |
| // Returns the ApplicationImpl for the frame. |
| virtual mojo::ApplicationImpl* GetApp() = 0; |
| |
| // Returns the factory for creating various classes. |
| virtual HTMLFactory* GetHTMLFactory() = 0; |
| |
| // Invoked when the Frame the delegate is attached to finishes loading. This |
| // is not invoked for any child frames, only the frame returned from |
| // HTMLFrameTreeManager::CreateFrameAndAttachToTree(). |
| virtual void OnFrameDidFinishLoad() = 0; |
| |
| // Invoked when the HTMLFrame the delegate is associated with is swapped |
| // to a remote frame. |
| virtual void OnFrameSwappedToRemote() = 0; |
| |
| // Invoked when this delegate is to take over from |old_delegate| (which may |
| // be null). This is invoked when a new connection is established and we |
| // are already rendering to the supplied frame. |
| virtual void OnSwap(HTMLFrame* frame, HTMLFrameDelegate* old_delegate) = 0; |
| |
| // Invoked when the HTMLFrame is destroyed. |
| virtual void OnFrameDestroyed() = 0; |
| |
| protected: |
| virtual ~HTMLFrameDelegate() {} |
| }; |
| |
| } // namespace html_viewer |
| |
| #endif // COMPONENTS_HTML_VIEWER_HTML_FRAME_DELEGATE_H_ |