255 - (void)_commonInitializationWithContextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage
256 {
257 InitializeWebKit2();
258
259 _pageClient = std::make_unique<PageClientImpl>(self);
260
261 WebPageConfiguration webPageConfiguration;
262 webPageConfiguration.pageGroup = toImpl(pageGroupRef);
263 webPageConfiguration.relatedPage = toImpl(relatedPage);
264
265 _page = toImpl(contextRef)->createWebPage(*_pageClient, std::move(webPageConfiguration));
266 _page->initializeWebPage();
267 _page->setIntrinsicDeviceScaleFactor([UIScreen mainScreen].scale);
268 _page->setUseFixedLayout(true);
269 _page->setDelegatesScrolling(true);
270
271 WebContext::statistics().wkViewCount++;
272
273 _rootContentView = adoptNS([[UIView alloc] init]);
274 [[_rootContentView layer] setMasksToBounds:NO];
275 [_rootContentView setUserInteractionEnabled:NO];
276
277 [self addSubview:_rootContentView.get()];
278
279 _interactionView = adoptNS([[WKInteractionView alloc] init]);
280 [_interactionView setPage:_page];
281 [self addSubview:_interactionView.get()];
282
283 self.layer.hitTestsAsOpaque = YES;
284 }
285