OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 MANDOLINE_TAB_FRAME_TREE_H_ | 5 #ifndef MANDOLINE_TAB_FRAME_TREE_H_ |
6 #define MANDOLINE_TAB_FRAME_TREE_H_ | 6 #define MANDOLINE_TAB_FRAME_TREE_H_ |
7 | 7 |
8 #include "mandoline/tab/frame.h" | 8 #include "mandoline/tab/frame.h" |
9 | 9 |
10 namespace mandoline { | 10 namespace mandoline { |
11 | 11 |
12 class FrameTreeClient; | 12 class FrameTreeClient; |
13 class FrameTreeDelegate; | 13 class FrameTreeDelegate; |
14 class FrameUserData; | 14 class FrameUserData; |
15 | 15 |
16 // FrameTree manages the set of Frames that comprise a single url. FrameTree | 16 // FrameTree manages the set of Frames that comprise a single url. FrameTree |
17 // owns the root Frame and each Frames owns its children. Frames are | 17 // owns the root Frame and each Frame owns its children. Frames are |
18 // automatically deleted and removed from the tree if the corresponding view is | 18 // automatically deleted and removed from the tree if the corresponding view is |
19 // deleted. This happens if the creator of the view deletes it (say an iframe is | 19 // deleted. This happens if the creator of the view deletes it (say an iframe is |
20 // destroyed). | 20 // destroyed). |
21 class FrameTree { | 21 class FrameTree { |
22 public: | 22 public: |
23 // |view| is the view to do the initial embedding in. It is assumed |view| | 23 // |view| is the view to do the initial embedding in. It is assumed |view| |
24 // outlives FrameTree. | 24 // outlives FrameTree. |
25 FrameTree(mojo::View* view, | 25 FrameTree(mojo::View* view, |
26 FrameTreeDelegate* delegate, | 26 FrameTreeDelegate* delegate, |
27 FrameTreeClient* root_client, | 27 FrameTreeClient* root_client, |
(...skipping 14 matching lines...) Expand all Loading... |
42 Frame* CreateOrReplaceFrame(Frame* frame, | 42 Frame* CreateOrReplaceFrame(Frame* frame, |
43 mojo::View* view, | 43 mojo::View* view, |
44 FrameTreeClient* frame_tree_client, | 44 FrameTreeClient* frame_tree_client, |
45 scoped_ptr<FrameUserData> user_data); | 45 scoped_ptr<FrameUserData> user_data); |
46 | 46 |
47 private: | 47 private: |
48 friend class Frame; | 48 friend class Frame; |
49 | 49 |
50 void LoadingStateChanged(); | 50 void LoadingStateChanged(); |
51 void ProgressChanged(); | 51 void ProgressChanged(); |
| 52 void FrameNameChanged(Frame* frame); |
52 | 53 |
53 mojo::View* view_; | 54 mojo::View* view_; |
54 | 55 |
55 FrameTreeDelegate* delegate_; | 56 FrameTreeDelegate* delegate_; |
56 | 57 |
57 Frame root_; | 58 Frame root_; |
58 | 59 |
59 double progress_; | 60 double progress_; |
60 | 61 |
61 DISALLOW_COPY_AND_ASSIGN(FrameTree); | 62 DISALLOW_COPY_AND_ASSIGN(FrameTree); |
62 }; | 63 }; |
63 | 64 |
64 } // namespace mandoline | 65 } // namespace mandoline |
65 | 66 |
66 #endif // MANDOLINE_TAB_FRAME_TREE_H_ | 67 #endif // MANDOLINE_TAB_FRAME_TREE_H_ |
OLD | NEW |