Changeset 207484 in webkit
- Timestamp:
- Oct 18, 2016 1:31:07 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 1 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r207478 r207484 1 2016-10-18 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r207443. 4 https://bugs.webkit.org/show_bug.cgi?id=163616 5 6 "Caused 5% PLT regression" (Requested by krollin on #webkit). 7 8 Reverted changeset: 9 10 "Crash in ASCIICaseInsensitiveHash::hash() when a response has 11 a null MIME type" 12 https://bugs.webkit.org/show_bug.cgi?id=163476 13 http://trac.webkit.org/changeset/207443 14 1 15 2016-10-18 Megan Gardner <megan_gardner@apple.com> 2 16 -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r207443 r207484 1295 1295 void WebFrameLoaderClient::transitionToCommittedFromCachedFrame(CachedFrame*) 1296 1296 { 1297 auto& coreFrame = *m_frame->coreFrame(); 1298 const ResourceResponse& response = coreFrame.loader().documentLoader()->response(); 1299 m_frameHasCustomContentProvider = m_frame->isMainFrame() && m_frame->page()->shouldUseCustomContentProviderForResponse(response, coreFrame); 1297 const ResourceResponse& response = m_frame->coreFrame()->loader().documentLoader()->response(); 1298 m_frameHasCustomContentProvider = m_frame->isMainFrame() && m_frame->page()->shouldUseCustomContentProviderForResponse(response); 1300 1299 m_frameCameFromPageCache = true; 1301 1300 } … … 1312 1311 bool shouldHideScrollbars = shouldDisableScrolling; 1313 1312 IntRect fixedVisibleContentRect; 1314 auto& coreFrame = *m_frame->coreFrame();1315 1313 1316 1314 #if USE(COORDINATED_GRAPHICS) 1317 if ( FrameView* frameView = coreFrame.view())1318 fixedVisibleContentRect = frameView->fixedVisibleContentRect();1315 if (m_frame->coreFrame()->view()) 1316 fixedVisibleContentRect = m_frame->coreFrame()->view()->fixedVisibleContentRect(); 1319 1317 if (shouldUseFixedLayout) 1320 1318 shouldHideScrollbars = true; 1321 1319 #endif 1322 1320 1323 const ResourceResponse& response = coreFrame.loader().documentLoader()->response();1324 m_frameHasCustomContentProvider = isMainFrame && webPage->shouldUseCustomContentProviderForResponse(response , coreFrame);1321 const ResourceResponse& response = m_frame->coreFrame()->loader().documentLoader()->response(); 1322 m_frameHasCustomContentProvider = isMainFrame && webPage->shouldUseCustomContentProviderForResponse(response); 1325 1323 m_frameCameFromPageCache = false; 1326 1324 1327 1325 ScrollbarMode defaultScrollbarMode = shouldHideScrollbars ? ScrollbarAlwaysOff : ScrollbarAuto; 1328 1326 1329 coreFrame.createView(webPage->size(), backgroundColor, isTransparent,1327 m_frame->coreFrame()->createView(webPage->size(), backgroundColor, isTransparent, 1330 1328 webPage->fixedLayoutSize(), fixedVisibleContentRect, shouldUseFixedLayout, 1331 1329 defaultScrollbarMode, /* lock */ shouldHideScrollbars, defaultScrollbarMode, /* lock */ shouldHideScrollbars); 1332 1330 1333 FrameView* frameView = coreFrame.view();1334 1331 if (int minimumLayoutWidth = webPage->minimumLayoutSize().width()) { 1335 1332 int minimumLayoutHeight = std::max(webPage->minimumLayoutSize().height(), 1); 1336 1333 int maximumSize = std::numeric_limits<int>::max(); 1337 frameView->enableAutoSizeMode(true, IntSize(minimumLayoutWidth, minimumLayoutHeight), IntSize(maximumSize, maximumSize));1334 m_frame->coreFrame()->view()->enableAutoSizeMode(true, IntSize(minimumLayoutWidth, minimumLayoutHeight), IntSize(maximumSize, maximumSize)); 1338 1335 1339 1336 if (webPage->autoSizingShouldExpandToViewHeight()) 1340 frameView->setAutoSizeFixedMinimumHeight(webPage->size().height());1341 } 1342 1343 frameView->setProhibitsScrolling(shouldDisableScrolling);1344 frameView->setVisualUpdatesAllowedByClient(!webPage->shouldExtendIncrementalRenderingSuppression());1337 m_frame->coreFrame()->view()->setAutoSizeFixedMinimumHeight(webPage->size().height()); 1338 } 1339 1340 m_frame->coreFrame()->view()->setProhibitsScrolling(shouldDisableScrolling); 1341 m_frame->coreFrame()->view()->setVisualUpdatesAllowedByClient(!webPage->shouldExtendIncrementalRenderingSuppression()); 1345 1342 #if PLATFORM(COCOA) 1346 frameView->setViewExposedRect(webPage->drawingArea()->viewExposedRect());1343 m_frame->coreFrame()->view()->setViewExposedRect(webPage->drawingArea()->viewExposedRect()); 1347 1344 #endif 1348 1345 #if PLATFORM(IOS) 1349 frameView->setDelegatesScrolling(true);1346 m_frame->coreFrame()->view()->setDelegatesScrolling(true); 1350 1347 #endif 1351 1348 1352 1349 if (webPage->scrollPinningBehavior() != DoNotPin) 1353 frameView->setScrollPinningBehavior(webPage->scrollPinningBehavior());1350 m_frame->coreFrame()->view()->setScrollPinningBehavior(webPage->scrollPinningBehavior()); 1354 1351 1355 1352 #if USE(COORDINATED_GRAPHICS) 1356 1353 if (shouldUseFixedLayout) { 1357 frameView->setDelegatesScrolling(shouldUseFixedLayout);1358 frameView->setPaintsEntireContents(shouldUseFixedLayout);1354 m_frame->coreFrame()->view()->setDelegatesScrolling(shouldUseFixedLayout); 1355 m_frame->coreFrame()->view()->setPaintsEntireContents(shouldUseFixedLayout); 1359 1356 return; 1360 1357 } -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r207463 r207484 4578 4578 } 4579 4579 4580 bool WebPage::canPluginHandleResponse(const ResourceResponse& response , const Frame& mainFrame)4580 bool WebPage::canPluginHandleResponse(const ResourceResponse& response) 4581 4581 { 4582 4582 #if ENABLE(NETSCAPE_PLUGIN_API) 4583 ASSERT(mainFrame.isMainFrame());4584 4583 uint32_t pluginLoadPolicy; 4585 bool allowOnlyApplicationPlugins = !m ainFrame.loader().subframeLoader().allowPlugins();4584 bool allowOnlyApplicationPlugins = !m_mainFrame->coreFrame()->loader().subframeLoader().allowPlugins(); 4586 4585 4587 4586 uint64_t pluginProcessToken; … … 4595 4594 #else 4596 4595 UNUSED_PARAM(response); 4597 UNUSED_PARAM(mainFrame);4598 4596 return false; 4599 4597 #endif 4600 4598 } 4601 4599 4602 bool WebPage::shouldUseCustomContentProviderForResponse(const ResourceResponse& response , const Frame& mainFrame)4600 bool WebPage::shouldUseCustomContentProviderForResponse(const ResourceResponse& response) 4603 4601 { 4604 4602 // If a plug-in exists that claims to support this response, it should take precedence over the custom content provider. 4605 if (canPluginHandleResponse(response, mainFrame)) 4606 return false; 4607 4608 auto& mimeType = response.mimeType(); 4609 return mimeType.isNull() ? false : m_mimeTypesWithCustomContentProviders.contains(mimeType); 4603 return m_mimeTypesWithCustomContentProviders.contains(response.mimeType()) && !canPluginHandleResponse(response); 4610 4604 } 4611 4605 … … 5032 5026 return true; 5033 5027 5034 if ( !MIMEType.isNull() &&m_mimeTypesWithCustomContentProviders.contains(MIMEType))5028 if (m_mimeTypesWithCustomContentProviders.contains(MIMEType)) 5035 5029 return true; 5036 5030 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
r207463 r207484 845 845 #endif 846 846 847 bool shouldUseCustomContentProviderForResponse(const WebCore::ResourceResponse&, const WebCore::Frame& mainFrame); 847 bool shouldUseCustomContentProviderForResponse(const WebCore::ResourceResponse&); 848 bool canPluginHandleResponse(const WebCore::ResourceResponse& response); 848 849 849 850 bool asynchronousPluginInitializationEnabled() const { return m_asynchronousPluginInitializationEnabled; } … … 1227 1228 void setUserInterfaceLayoutDirection(uint32_t); 1228 1229 1229 bool canPluginHandleResponse(const WebCore::ResourceResponse&, const WebCore::Frame& mainFrame);1230 1231 1230 uint64_t m_pageID; 1232 1231 -
trunk/Tools/ChangeLog
r207463 r207484 1 2016-10-18 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r207443. 4 https://bugs.webkit.org/show_bug.cgi?id=163616 5 6 "Caused 5% PLT regression" (Requested by krollin on #webkit). 7 8 Reverted changeset: 9 10 "Crash in ASCIICaseInsensitiveHash::hash() when a response has 11 a null MIME type" 12 https://bugs.webkit.org/show_bug.cgi?id=163476 13 http://trac.webkit.org/changeset/207443 14 1 15 2016-10-18 Eric Carlson <eric.carlson@apple.com> 2 16 -
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
r207443 r207484 426 426 9C64DC321D76198A004B598E /* YouTubePluginReplacement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C64DC311D76198A004B598E /* YouTubePluginReplacement.cpp */; }; 427 427 A1146A8D1D2D7115000FE710 /* ContentFiltering.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1146A8A1D2D704F000FE710 /* ContentFiltering.mm */; }; 428 A125478F1DB18B9400358564 /* LoadDataWithNilMIMEType.mm in Sources */ = {isa = PBXBuildFile; fileRef = A125478D1DB18B9400358564 /* LoadDataWithNilMIMEType.mm */; };429 428 A13EBBAA1B87428D00097110 /* WebProcessPlugIn.mm in Sources */ = {isa = PBXBuildFile; fileRef = A13EBBA91B87428D00097110 /* WebProcessPlugIn.mm */; }; 430 429 A13EBBAB1B87434600097110 /* PlatformUtilitiesCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F139E721A423A2B00F590F5 /* PlatformUtilitiesCocoa.mm */; }; … … 1056 1055 9C64DC311D76198A004B598E /* YouTubePluginReplacement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = YouTubePluginReplacement.cpp; sourceTree = "<group>"; }; 1057 1056 A1146A8A1D2D704F000FE710 /* ContentFiltering.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ContentFiltering.mm; sourceTree = "<group>"; }; 1058 A125478D1DB18B9400358564 /* LoadDataWithNilMIMEType.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LoadDataWithNilMIMEType.mm; sourceTree = "<group>"; };1059 1057 A13EBB491B87339E00097110 /* TestWebKitAPI.wkbundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TestWebKitAPI.wkbundle; sourceTree = BUILT_PRODUCTS_DIR; }; 1060 1058 A13EBB521B87346600097110 /* WebProcessPlugIn.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = WebProcessPlugIn.xcconfig; sourceTree = "<group>"; }; … … 1430 1428 0F3B94A51A77266C00DE3272 /* WKWebViewEvaluateJavaScript.mm */, 1431 1429 9984FACA1CFFAEEE008D198C /* WKWebViewTextInput.mm */, 1432 A125478D1DB18B9400358564 /* LoadDataWithNilMIMEType.mm */,1433 1430 ); 1434 1431 name = "WebKit2 Cocoa"; … … 2399 2396 7CCE7EC01A411A7E00447C4C /* FragmentNavigation.mm in Sources */, 2400 2397 7CCE7EF61A411AE600447C4C /* FrameMIMETypeHTML.cpp in Sources */, 2401 A125478F1DB18B9400358564 /* LoadDataWithNilMIMEType.mm in Sources */,2402 2398 7CCE7EF71A411AE600447C4C /* FrameMIMETypePNG.cpp in Sources */, 2403 2399 7C83E0BD1D0A650C00FEBCF3 /* FullscreenTopContentInset.mm in Sources */,
Note: See TracChangeset
for help on using the changeset viewer.