Changeset 239880 in webkit
- Timestamp:
- Jan 11, 2019, 3:30:07 PM (8 years ago)
- Location:
- trunk/Source
- Files:
-
- 7 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/platform/RuntimeApplicationChecks.h (modified) (1 diff)
-
WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm (modified) (1 diff)
-
WebKit/ChangeLog (modified) (1 diff)
-
WebKit/UIProcess/Cocoa/VersionChecks.h (modified) (2 diffs)
-
WebKit/UIProcess/WebProcessPool.cpp (modified) (3 diffs)
-
WebKit/UIProcess/ios/WKContentView.mm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r239877 r239880 1 2019-01-11 Tim Horton <timothy_horton@apple.com> 2 3 REGRESSION (PSON): Firefox app lacks Open in New Tab in menu 4 https://bugs.webkit.org/show_bug.cgi?id=193366 5 <rdar://problem/46097212> 6 7 Reviewed by Simon Fraser. 8 9 * platform/RuntimeApplicationChecks.h: 10 * platform/cocoa/RuntimeApplicationChecksCocoa.mm: 11 (WebCore::IOSApplication::isFirefox): 12 Add a Firefox Mobile bundle check. 13 1 14 2019-01-11 Antti Koivisto <antti@apple.com> 2 15 -
trunk/Source/WebCore/platform/RuntimeApplicationChecks.h
r237935 r239880 91 91 WEBCORE_EXPORT bool isNike(); 92 92 bool isMoviStarPlus(); 93 WEBCORE_EXPORT bool isFirefox(); 93 94 94 95 } // IOSApplication -
trunk/Source/WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm
r239427 r239880 277 277 return isMoviStarPlus; 278 278 } 279 279 280 bool IOSApplication::isFirefox() 281 { 282 static bool isFirefox = applicationBundleIsEqualTo("org.mozilla.ios.Firefox"_s); 283 return isFirefox; 284 } 285 280 286 #endif 281 287 -
trunk/Source/WebKit/ChangeLog
r239864 r239880 1 2019-01-11 Tim Horton <timothy_horton@apple.com> 2 3 REGRESSION (PSON): Firefox app lacks Open in New Tab in menu 4 https://bugs.webkit.org/show_bug.cgi?id=193366 5 <rdar://problem/46097212> 6 7 Reviewed by Simon Fraser. 8 9 A pair of unrelated changes broke Firefox's use of WKWebView internals 10 to override the long-press menu. Maintain binary compatibility by 11 introducing linked-on-or-after checks. 12 13 * UIProcess/Cocoa/VersionChecks.h: 14 * UIProcess/WebProcessPool.cpp: 15 (WebKit::WebProcessPool::createWebPage): 16 Disable PSON in Firefox when linked against an SDK where PSON wasn't enabled by default. 17 Because gestures are very stateful, we always swap them out when swapping 18 processes (changing that behavior is fairly risky). Also, we don't always 19 inform the client when we swap processes (only when the process actually crashes), 20 so they currently don't re-adjust the gesture recognizers when a PSON swap occurs. 21 22 * UIProcess/ios/WKContentView.mm: 23 (-[WKContentView _commonInitializationWithProcessPool:configuration:]): 24 Synchronously install gesture recognizers under -init when linked against 25 an SDK before the version that introduces lazy gesture recognizer installation. 26 r237331 is an optimization that made us lazily install gestures when the 27 view is parented, but Firefox (and potentially other clients) depend 28 on them being installed synchronously in order to find and override them. 29 1 30 2019-01-11 Wenson Hsieh <wenson_hsieh@apple.com> 2 31 -
trunk/Source/WebKit/UIProcess/Cocoa/VersionChecks.h
r237266 r239880 28 28 #import <wtf/spi/darwin/dyldSPI.h> 29 29 30 #if USE(APPLE_INTERNAL_SDK) 31 #import <WebKitAdditions/VersionChecksAdditions.h> 32 #else 33 #define DYLD_IOS_VERSION_FIRST_WITH_LAZY_GESTURE_RECOGNIZER_INSTALLATION 0 34 #define DYLD_IOS_VERSION_FIRST_WITH_PROCESS_SWAP_ON_CROSS_SITE_NAVIGATION 0 35 #endif 36 30 37 namespace WebKit { 31 38 … … 42 49 FirstWhereUIScrollViewDoesNotApplyKeyboardInsetsUnconditionally = DYLD_IOS_VERSION_12_0, 43 50 FirstWithMainThreadReleaseAssertionInWebPageProxy = DYLD_IOS_VERSION_12_0, 51 FirstWithLazyGestureRecognizerInstallation = DYLD_IOS_VERSION_FIRST_WITH_LAZY_GESTURE_RECOGNIZER_INSTALLATION, 52 FirstWithProcessSwapOnCrossSiteNavigation = DYLD_IOS_VERSION_FIRST_WITH_PROCESS_SWAP_ON_CROSS_SITE_NAVIGATION, 44 53 #elif PLATFORM(MAC) 45 54 FirstWithNetworkCache = DYLD_MACOSX_VERSION_10_11, -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r239816 r239880 88 88 #include <WebCore/ProcessWarming.h> 89 89 #include <WebCore/ResourceRequest.h> 90 #include <WebCore/RuntimeApplicationChecks.h> 90 91 #include <pal/SessionID.h> 91 92 #include <wtf/Language.h> … … 114 115 #include "WaylandCompositor.h" 115 116 #include <WebCore/PlatformDisplay.h> 117 #endif 118 119 #if PLATFORM(COCOA) 120 #include "VersionChecks.h" 116 121 #endif 117 122 … … 1146 1151 1147 1152 auto page = process->createWebPage(pageClient, WTFMove(pageConfiguration)); 1148 m_configuration->setProcessSwapsOnNavigationFromExperimentalFeatures(page->preferences().processSwapOnCrossSiteNavigationEnabled()); 1153 1154 bool enableProcessSwapOnCrossSiteNavigation = page->preferences().processSwapOnCrossSiteNavigationEnabled(); 1155 #if PLATFORM(IOS_FAMILY) 1156 if (WebCore::IOSApplication::isFirefox() && !linkedOnOrAfter(WebKit::SDKVersion::FirstWithProcessSwapOnCrossSiteNavigation)) 1157 enableProcessSwapOnCrossSiteNavigation = false; 1158 #endif 1159 1160 m_configuration->setProcessSwapsOnNavigationFromExperimentalFeatures(enableProcessSwapOnCrossSiteNavigation); 1149 1161 m_configuration->setShouldCaptureAudioInUIProcess(page->preferences().captureAudioInUIProcessEnabled()); 1150 1162 m_configuration->setShouldCaptureVideoInUIProcess(page->preferences().captureVideoInUIProcessEnabled()); -
trunk/Source/WebKit/UIProcess/ios/WKContentView.mm
r239454 r239880 40 40 #import "SmartMagnificationController.h" 41 41 #import "UIKitSPI.h" 42 #import "VersionChecks.h" 42 43 #import "WKBrowsingContextControllerInternal.h" 43 44 #import "WKBrowsingContextGroupPrivate.h" … … 220 221 [_fixedClippingView addSubview:_rootContentView.get()]; 221 222 223 if (!linkedOnOrAfter(WebKit::SDKVersion::FirstWithLazyGestureRecognizerInstallation)) 224 [self setupInteraction]; 222 225 [self setUserInteractionEnabled:YES]; 223 226
Note:
See TracChangeset
for help on using the changeset viewer.