Target constructor

Target(
  1. Session? session,
  2. TargetManager targetManager,
  3. TargetInfo info,
  4. Future<Session> _sessionFactory({
    1. required bool isAutoAttachEmulated,
    }), {
  5. required BrowserContext browserContext,
})

Implementation

Target(
    this.session, this.targetManager, TargetInfo info, this._sessionFactory,
    {required this.browserContext})
    : _info = info,
      targetID = info.targetId {
  _initialized = _initializeCompleter.future.then((success) async {
    if (!success) return false;
    var opener = this.opener;
    if (opener == null || opener._pageFuture == null || type != 'page') {
      return true;
    }
    var openerPage = await opener._pageFuture!;
    if (!openerPage.hasPopupListener) {
      return true;
    }
    var popupPage = await pageOrNull;
    if (popupPage != null) {
      openerPage.emitPopup(popupPage);
    }
    return true;
  });
  _isInitialized = !_isPageTarget(info) || info.url != '';
  if (_isInitialized) {
    _initializeCompleter.complete(true);
  }
}