@@ -16,6 +16,7 @@ cls.ResourceManagerService = function(view, network_logger)
1616 this . _documentList = [ ] ;
1717 this . _documentURLHash = { } ;
1818 this . _collapsedHash = { } ;
19+ this . _documentResources = { } ;
1920
2021 this . _handle_listDocuments = function ( status , msg )
2122 {
@@ -46,9 +47,13 @@ cls.ResourceManagerService = function(view, network_logger)
4647 window . services [ 'document-manager' ] . requestListDocuments ( this . _tag_requestListDocuments , [ ] ) ;
4748 } ;
4849
49- this . _getNetworkContext = function ( )
50+ this . _populateDocumentResources = function ( r )
5051 {
51- return this . _network_logger . get_window_contexts ( ) ;
52+ var documentID = r . document_id ;
53+ if ( ! this . _documentResources [ documentID ] )
54+ this . _documentResources [ documentID ] = [ ] ;
55+ if ( ! this . _documentResources [ documentID ] . contains ( r . id ) )
56+ this . _documentResources [ documentID ] . push ( r . id ) ;
5257 }
5358
5459 this . _update = function ( msg )
@@ -95,11 +100,18 @@ cls.ResourceManagerService = function(view, network_logger)
95100 // assign top resource to the right document
96101 // add group to each resource
97102 // sameOrigin flag to each resource
98- ctx . resourceList . forEach ( function ( r , i )
103+ ctx . resourceList
104+ . forEach ( function ( r )
99105 {
106+ this . _populateDocumentResources ( r ) ;
107+
108+ // check if this is the top resource of a document
100109 var documentID = ctx . documentResourceHash [ r . id ] ;
101- if ( documentID != null && documentID != r . document_id )
110+ if ( documentID != null && documentID != r . document_id )
111+ {
102112 r . document_id = documentID ;
113+ this . _populateDocumentResources ( r ) ;
114+ }
103115
104116 r . group = typeGroupMapping [ r . type ] || typeGroupMapping [ '*' ] ;
105117 r . sameOrigin = cls . ResourceUtil . sameOrigin ( this . _documentURLHash [ r . document_id ] , r ) ;
@@ -136,6 +148,7 @@ cls.ResourceManagerService = function(view, network_logger)
136148 this . _listDocuments ( ) ;
137149
138150 ctx . selectedResourceID = this . _selectedResourceID ;
151+ ctx . documentResources = this . _documentResources ;
139152 ctx . collapsed = this . _collapsedHash ;
140153 this . _context = ctx ;
141154 }
@@ -153,6 +166,7 @@ cls.ResourceManagerService = function(view, network_logger)
153166 {
154167 this . _documentList = [ ] ;
155168 this . _collapsedHash = { } ;
169+ this . _documentResources = { } ;
156170
157171 delete this . _context ;
158172 delete this . _selectedResourceID
0 commit comments