| OLD | NEW |
| (Empty) |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef BLIMP_CLIENT_PUBLIC_CONTENTS_BLIMP_CONTENTS_OBSERVER_H_ | |
| 6 #define BLIMP_CLIENT_PUBLIC_CONTENTS_BLIMP_CONTENTS_OBSERVER_H_ | |
| 7 | |
| 8 #include "base/macros.h" | |
| 9 #include "url/gurl.h" | |
| 10 | |
| 11 namespace blimp { | |
| 12 namespace client { | |
| 13 | |
| 14 class BlimpContents; | |
| 15 | |
| 16 // An observer API implemented by classes which are interested in various events | |
| 17 // related to BlimpContents. | |
| 18 class BlimpContentsObserver { | |
| 19 public: | |
| 20 virtual ~BlimpContentsObserver(); | |
| 21 | |
| 22 // Invoked when the navigation state of the BlimpContents has changed. | |
| 23 virtual void OnNavigationStateChanged() {} | |
| 24 | |
| 25 // Invoked when the BlimpContents starts or stops loading resources. | |
| 26 virtual void OnLoadingStateChanged(bool loading) {} | |
| 27 | |
| 28 // Invoked when the BlimpContents starts or stops loading a page. | |
| 29 virtual void OnPageLoadingStateChanged(bool loading) {} | |
| 30 | |
| 31 // Called by BlimpContentsDying(). | |
| 32 virtual void OnContentsDestroyed() {} | |
| 33 | |
| 34 // Invoke when the destructor of blimp contents is called. This will clear | |
| 35 // the contents_ to nullptr. | |
| 36 void BlimpContentsDying(); | |
| 37 | |
| 38 BlimpContents* blimp_contents() { return contents_; } | |
| 39 | |
| 40 protected: | |
| 41 explicit BlimpContentsObserver(BlimpContents* blimp_contents); | |
| 42 | |
| 43 private: | |
| 44 // The BlimpContents being tracked by this BlimpContentsObserver. | |
| 45 BlimpContents* contents_; | |
| 46 | |
| 47 DISALLOW_COPY_AND_ASSIGN(BlimpContentsObserver); | |
| 48 }; | |
| 49 | |
| 50 } // namespace client | |
| 51 } // namespace blimp | |
| 52 | |
| 53 #endif // BLIMP_CLIENT_PUBLIC_CONTENTS_BLIMP_CONTENTS_OBSERVER_H_ | |
| OLD | NEW |