Class: Puppeteer::Bidi::Core::DedicatedWorkerRealm
- Inherits:
-
Realm
- Object
- EventEmitter
- Realm
- Puppeteer::Bidi::Core::DedicatedWorkerRealm
- Defined in:
- lib/puppeteer/bidi/core/realm.rb,
sig/puppeteer/bidi/core/realm.rbs
Overview
DedicatedWorkerRealm represents a JavaScript realm in a dedicated worker
Instance Attribute Summary collapse
-
#owners ⇒ Object
readonly
Returns the value of attribute owners.
Attributes inherited from Realm
Class Method Summary collapse
-
.from(owner, id, origin) ⇒ DedicatedWorkerRealm
Create a dedicated worker realm.
Instance Method Summary collapse
- #dispose_realm(reason) ⇒ Object
-
#initialize(owner, id, origin) ⇒ DedicatedWorkerRealm
constructor
A new instance of DedicatedWorkerRealm.
- #initialize_realm ⇒ Object
- #session ⇒ Object
Methods inherited from Realm
#call_function, #disown, #dispose, #evaluate, #perform_dispose, #resolve_execution_context_id, #target
Methods included from Puppeteer::Bidi::Core::Disposable::DisposableMixin
#dispose, #disposed?, #perform_dispose
Methods inherited from EventEmitter
#dispose, #disposed?, #emit, #off, #on, #once, #remove_all_listeners
Constructor Details
#initialize(owner, id, origin) ⇒ DedicatedWorkerRealm
Returns a new instance of DedicatedWorkerRealm.
231 232 233 234 235 |
# File 'lib/puppeteer/bidi/core/realm.rb', line 231 def initialize(owner, id, origin) super(id, origin) @owners = Set.new([owner]) @workers = {} end |
Instance Attribute Details
#owners ⇒ Object (readonly)
Returns the value of attribute owners.
229 230 231 |
# File 'lib/puppeteer/bidi/core/realm.rb', line 229 def owners @owners end |
Class Method Details
.from(owner, id, origin) ⇒ DedicatedWorkerRealm
Create a dedicated worker realm
223 224 225 226 227 |
# File 'lib/puppeteer/bidi/core/realm.rb', line 223 def self.from(owner, id, origin) realm = new(owner, id, origin) realm.send(:initialize_realm) realm end |
Instance Method Details
#dispose_realm(reason) ⇒ Object
269 270 271 272 |
# File 'lib/puppeteer/bidi/core/realm.rb', line 269 def dispose_realm(reason) @reason = reason dispose end |
#initialize_realm ⇒ Object
246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 |
# File 'lib/puppeteer/bidi/core/realm.rb', line 246 def initialize_realm # Listen for realm destruction session.on('script.realmDestroyed') do |info| next unless info['realm'] == @id dispose_realm('Realm already destroyed.') end # Listen for nested dedicated worker creation session.on('script.realmCreated') do |info| next unless info['type'] == 'dedicated-worker' next unless info['owners']&.include?(@id) worker = DedicatedWorkerRealm.from(self, info['realm'], info['origin']) @workers[worker.id] = worker worker.once(:destroyed) do @workers.delete(worker.id) end emit(:worker, worker) end end |
#session ⇒ Object
239 240 241 242 |
# File 'lib/puppeteer/bidi/core/realm.rb', line 239 def session # Get session from any owner @owners.first.session end |