22
22
import java .util .Map ;
23
23
import java .util .Optional ;
24
24
25
+ import com .vaadin .flow .dom .Element ;
25
26
import com .vaadin .flow .server .communication .StreamRequestHandler ;
26
27
27
28
/**
@@ -114,12 +115,15 @@ public StreamRegistration registerResource(
114
115
*
115
116
* @param elementRequestHandler
116
117
* element request handler to register
118
+ * @param owner
119
+ * owner element this request handler is scoped to
120
+ *
117
121
* @return registration handler
118
122
*/
119
123
public StreamRegistration registerResource (
120
- ElementRequestHandler elementRequestHandler ) {
124
+ ElementRequestHandler elementRequestHandler , Element owner ) {
121
125
AbstractStreamResource wrappedResource = new ElementStreamResource (
122
- elementRequestHandler );
126
+ elementRequestHandler , owner );
123
127
session .checkHasLock (
124
128
"Session needs to be locked when registering stream resources." );
125
129
StreamRegistration registration = new Registration (this ,
@@ -135,11 +139,13 @@ public StreamRegistration registerResource(
135
139
* For internal use only. May be renamed or removed in a future release.
136
140
*/
137
141
public static class ElementStreamResource extends AbstractStreamResource {
138
- ElementRequestHandler elementRequestHandler ;
142
+ private final ElementRequestHandler elementRequestHandler ;
143
+ private final Element owner ;
139
144
140
145
public ElementStreamResource (
141
- ElementRequestHandler elementRequestHandler ) {
146
+ ElementRequestHandler elementRequestHandler , Element owner ) {
142
147
this .elementRequestHandler = elementRequestHandler ;
148
+ this .owner = owner ;
143
149
}
144
150
145
151
public ElementRequestHandler getElementRequestHandler () {
@@ -151,6 +157,10 @@ public String getName() {
151
157
return elementRequestHandler .getUrlPostfix () == null ? ""
152
158
: elementRequestHandler .getUrlPostfix ();
153
159
}
160
+
161
+ public Element getOwner () {
162
+ return owner ;
163
+ }
154
164
}
155
165
156
166
/**
0 commit comments