[webkit-changes] [171512] trunk/Source/WebCore
Title: [171512] trunk/Source/WebCore Revision 171512 Author commit-qu...@webkit.org Date 2014-07-24 09:20:49 -0700 (Thu, 24 Jul 2014) Log Message Sort WebCore.exp.in after r171252 https://bugs.webkit.org/show_bug.cgi?id=135239 Patch by Tibor Meszaros tmeszaros.u-sze...@partner.samsung.com on 2014-07-24 Reviewed by Csaba Osztrogonác. * WebCore.exp.in: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.exp.in Diff Modified: trunk/Source/WebCore/ChangeLog (171511 => 171512) --- trunk/Source/WebCore/ChangeLog 2014-07-24 12:23:04 UTC (rev 171511) +++ trunk/Source/WebCore/ChangeLog 2014-07-24 16:20:49 UTC (rev 171512) @@ -1,3 +1,12 @@ +2014-07-24 Tibor Meszaros tmeszaros.u-sze...@partner.samsung.com + +Sort WebCore.exp.in after r171252 +https://bugs.webkit.org/show_bug.cgi?id=135239 + +Reviewed by Csaba Osztrogonác. + +* WebCore.exp.in: + 2014-07-24 Mihnea Ovidenie mih...@adobe.com [New Multicolumn] Assertion failure when an input element has multicolumn style Modified: trunk/Source/WebCore/WebCore.exp.in (171511 => 171512) --- trunk/Source/WebCore/WebCore.exp.in 2014-07-24 12:23:04 UTC (rev 171511) +++ trunk/Source/WebCore/WebCore.exp.in 2014-07-24 16:20:49 UTC (rev 171512) @@ -2962,6 +2962,17 @@ __ZN7WebCore14ResourceHandle25continueWillCacheResponseEP19NSCachedURLResponse #endif +#if USE(CONTENT_FILTERING) +__ZN7WebCore13ContentFilter6decodeEP17NSKeyedUnarchiverRS0_ +__ZN7WebCore13ContentFilterC1Ev +__ZN7WebCore13ContentFilterD1Ev +__ZNK7WebCore13ContentFilter6encodeEP15NSKeyedArchiver +#endif + +#if USE(CONTENT_FILTERING) PLATFORM(IOS) +__ZN7WebCore13ContentFilter43handleUnblockRequestAndDispatchIfSuccessfulERKNS_15ResourceRequestENSt3__18functionIFvvEEE +#endif + #if ENABLE(CONTEXT_MENUS) __ZN7WebCore11ContextMenu22setPlatformDescriptionEP14NSMutableArray __ZN7WebCore12EventHandler20sendContextMenuEventERKNS_18PlatformMouseEventE @@ -3465,13 +3476,3 @@ #if ENABLE(VIEW_MODE_CSS_MEDIA) __ZN7WebCore4Page11setViewModeENS0_8ViewModeE #endif - -#if USE(CONTENT_FILTERING) -#if PLATFORM(IOS) -__ZN7WebCore13ContentFilter43handleUnblockRequestAndDispatchIfSuccessfulERKNS_15ResourceRequestENSt3__18functionIFvvEEE -#endif -__ZN7WebCore13ContentFilter6decodeEP17NSKeyedUnarchiverRS0_ -__ZN7WebCore13ContentFilterC1Ev -__ZN7WebCore13ContentFilterD1Ev -__ZNK7WebCore13ContentFilter6encodeEP15NSKeyedArchiver -#endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171513] trunk/Source/WebCore
Title: [171513] trunk/Source/WebCore Revision 171513 Author commit-qu...@webkit.org Date 2014-07-24 12:23:51 -0700 (Thu, 24 Jul 2014) Log Message [Curl] Enable file logging. https://bugs.webkit.org/show_bug.cgi?id=135202 Patch by pe...@outlook.com pe...@outlook.com on 2014-07-24 Reviewed by Alex Christensen. The Curl api offers the possibility to write log messages to file. Enable this for debugging purposes. * platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::ResourceHandleManager): (WebCore::ResourceHandleManager::~ResourceHandleManager): (WebCore::ResourceHandleManager::initializeHandle): * platform/network/curl/ResourceHandleManager.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.h Diff Modified: trunk/Source/WebCore/ChangeLog (171512 => 171513) --- trunk/Source/WebCore/ChangeLog 2014-07-24 16:20:49 UTC (rev 171512) +++ trunk/Source/WebCore/ChangeLog 2014-07-24 19:23:51 UTC (rev 171513) @@ -1,3 +1,18 @@ +2014-07-24 pe...@outlook.com pe...@outlook.com + +[Curl] Enable file logging. +https://bugs.webkit.org/show_bug.cgi?id=135202 + +Reviewed by Alex Christensen. + +The Curl api offers the possibility to write log messages to file. Enable this for debugging purposes. + +* platform/network/curl/ResourceHandleManager.cpp: +(WebCore::ResourceHandleManager::ResourceHandleManager): +(WebCore::ResourceHandleManager::~ResourceHandleManager): +(WebCore::ResourceHandleManager::initializeHandle): +* platform/network/curl/ResourceHandleManager.h: + 2014-07-24 Tibor Meszaros tmeszaros.u-sze...@partner.samsung.com Sort WebCore.exp.in after r171252 Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp (171512 => 171513) --- trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp 2014-07-24 16:20:49 UTC (rev 171512) +++ trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp 2014-07-24 19:23:51 UTC (rev 171513) @@ -233,6 +233,9 @@ , m_cookieJarFileName(cookieJarPath()) , m_certificatePath (certificatePath()) , m_runningJobs(0) +#ifndef NDEBUG +, m_logFile(nullptr) +#endif { curl_global_init(CURL_GLOBAL_ALL); m_curlMultiHandle = curl_multi_init(); @@ -243,6 +246,12 @@ curl_share_setopt(m_curlShareHandle, CURLSHOPT_UNLOCKFUNC, curl_unlock_callback); initCookieSession(); + +#ifndef NDEBUG +char* logFile = getenv(CURL_LOG_FILE); +if (logFile) +m_logFile = fopen(logFile, a); +#endif } ResourceHandleManager::~ResourceHandleManager() @@ -252,6 +261,11 @@ if (m_cookieJarFileName) fastFree(m_cookieJarFileName); curl_global_cleanup(); + +#ifndef NDEBUG +if (m_logFile) +fclose(m_logFile); +#endif } CURLSH* ResourceHandleManager::getCurlShareHandle() const @@ -1021,6 +1035,8 @@ #ifndef NDEBUG if (getenv(DEBUG_CURL)) curl_easy_setopt(d-m_handle, CURLOPT_VERBOSE, 1); +if (m_logFile) +curl_easy_setopt(d-m_handle, CURLOPT_STDERR, m_logFile); #endif curl_easy_setopt(d-m_handle, CURLOPT_SSL_VERIFYPEER, 1L); curl_easy_setopt(d-m_handle, CURLOPT_SSL_VERIFYHOST, 2L); Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.h (171512 => 171513) --- trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.h 2014-07-24 16:20:49 UTC (rev 171512) +++ trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.h 2014-07-24 19:23:51 UTC (rev 171513) @@ -98,6 +98,10 @@ String m_proxy; ProxyType m_proxyType; + +#ifndef NDEBUG +FILE* m_logFile; +#endif }; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171514] tags/Safari-600.1.2.1/
Title: [171514] tags/Safari-600.1.2.1/ Revision 171514 Author bshaf...@apple.com Date 2014-07-24 12:49:35 -0700 (Thu, 24 Jul 2014) Log Message New tag. Added Paths tags/Safari-600.1.2.1/ Diff Property changes: tags/Safari-600.1.2.1 Added: svn:ignore depcomp compile config.guess GNUmakefile.in config.sub ltmain.sh aconfig.h.in autom4te.cache missing aclocal.m4 install-sh autotoolsconfig.h.in INSTALL README gtk-doc.make out Makefile.chromium WebKitSupportLibrary.zip WebKitBuild Added: svn:mergeinfo ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171515] tags/Safari-600.1.2.1/Source
Title: [171515] tags/Safari-600.1.2.1/Source Revision 171515 Author bshaf...@apple.com Date 2014-07-24 12:52:28 -0700 (Thu, 24 Jul 2014) Log Message Versioning. Modified Paths tags/Safari-600.1.2.1/Source/_javascript_Core/Configurations/Version.xcconfig tags/Safari-600.1.2.1/Source/WebCore/Configurations/Version.xcconfig tags/Safari-600.1.2.1/Source/WebInspectorUI/Configurations/Version.xcconfig tags/Safari-600.1.2.1/Source/WebKit/mac/Configurations/Version.xcconfig tags/Safari-600.1.2.1/Source/WebKit2/Configurations/Version.xcconfig Diff Modified: tags/Safari-600.1.2.1/Source/_javascript_Core/Configurations/Version.xcconfig (171514 => 171515) --- tags/Safari-600.1.2.1/Source/_javascript_Core/Configurations/Version.xcconfig 2014-07-24 19:49:35 UTC (rev 171514) +++ tags/Safari-600.1.2.1/Source/_javascript_Core/Configurations/Version.xcconfig 2014-07-24 19:52:28 UTC (rev 171515) @@ -24,9 +24,9 @@ MAJOR_VERSION = 600; MINOR_VERSION = 1; TINY_VERSION = 2; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-600.1.2.1/Source/WebCore/Configurations/Version.xcconfig (171514 => 171515) --- tags/Safari-600.1.2.1/Source/WebCore/Configurations/Version.xcconfig 2014-07-24 19:49:35 UTC (rev 171514) +++ tags/Safari-600.1.2.1/Source/WebCore/Configurations/Version.xcconfig 2014-07-24 19:52:28 UTC (rev 171515) @@ -24,9 +24,9 @@ MAJOR_VERSION = 600; MINOR_VERSION = 1; TINY_VERSION = 2; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-600.1.2.1/Source/WebInspectorUI/Configurations/Version.xcconfig (171514 => 171515) --- tags/Safari-600.1.2.1/Source/WebInspectorUI/Configurations/Version.xcconfig 2014-07-24 19:49:35 UTC (rev 171514) +++ tags/Safari-600.1.2.1/Source/WebInspectorUI/Configurations/Version.xcconfig 2014-07-24 19:52:28 UTC (rev 171515) @@ -1,9 +1,9 @@ MAJOR_VERSION = 600; MINOR_VERSION = 1; TINY_VERSION = 2; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The system version prefix is based on the current system version. SYSTEM_VERSION_PREFIX = $(SYSTEM_VERSION_PREFIX_$(PLATFORM_NAME)); Modified: tags/Safari-600.1.2.1/Source/WebKit/mac/Configurations/Version.xcconfig (171514 => 171515) --- tags/Safari-600.1.2.1/Source/WebKit/mac/Configurations/Version.xcconfig 2014-07-24 19:49:35 UTC (rev 171514) +++ tags/Safari-600.1.2.1/Source/WebKit/mac/Configurations/Version.xcconfig 2014-07-24 19:52:28 UTC (rev 171515) @@ -24,9 +24,9 @@ MAJOR_VERSION = 600; MINOR_VERSION = 1; TINY_VERSION = 2; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-600.1.2.1/Source/WebKit2/Configurations/Version.xcconfig (171514 => 171515) --- tags/Safari-600.1.2.1/Source/WebKit2/Configurations/Version.xcconfig 2014-07-24 19:49:35 UTC (rev 171514) +++ tags/Safari-600.1.2.1/Source/WebKit2/Configurations/Version.xcconfig 2014-07-24 19:52:28 UTC (rev 171515) @@ -24,9 +24,9 @@ MAJOR_VERSION = 600; MINOR_VERSION = 1; TINY_VERSION = 2; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171516] tags/Safari-600.1.2.1/Tools
Title: [171516] tags/Safari-600.1.2.1/Tools Revision 171516 Author bshaf...@apple.com Date 2014-07-24 12:57:20 -0700 (Thu, 24 Jul 2014) Log Message Merged r171487. rdar://problem/17735912 Modified Paths tags/Safari-600.1.2.1/Tools/ChangeLog tags/Safari-600.1.2.1/Tools/TestWebKitAPI/Configurations/Base.xcconfig Diff Modified: tags/Safari-600.1.2.1/Tools/ChangeLog (171515 => 171516) --- tags/Safari-600.1.2.1/Tools/ChangeLog 2014-07-24 19:52:28 UTC (rev 171515) +++ tags/Safari-600.1.2.1/Tools/ChangeLog 2014-07-24 19:57:20 UTC (rev 171516) @@ -1,3 +1,16 @@ +2014-07-24 Babak Shafiei bshaf...@apple.com + +Merge r171487 + +2014-07-23 Joseph Pecoraro pecor...@apple.com + +Unreviewed iOS build fix after r171355. + +* TestWebKitAPI/Configurations/Base.xcconfig: +Since all the Tests/WebKit2Cocoa tests are already explicitly skipped on iOS, +simplify to skipping all the tests in the directory. PlatformUtilities are not +building on iOS, which means we are missing necessary Util functions. + 2014-07-23 Lucas Forschler lforsch...@apple.com Merge r171355 Modified: tags/Safari-600.1.2.1/Tools/TestWebKitAPI/Configurations/Base.xcconfig (171515 => 171516) --- tags/Safari-600.1.2.1/Tools/TestWebKitAPI/Configurations/Base.xcconfig 2014-07-24 19:52:28 UTC (rev 171515) +++ tags/Safari-600.1.2.1/Tools/TestWebKitAPI/Configurations/Base.xcconfig 2014-07-24 19:57:20 UTC (rev 171516) @@ -64,7 +64,7 @@ EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME)); EXCLUDED_SOURCE_FILE_NAMES_macosx = *IOS.h *IOS.cpp *IOS.mm; -EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *Mac.h *Mac.cpp *Mac.mm *InjectedBundle* *PlatformUtilities* Tests/WebKit2/* Tests/WebKit2ObjC/* *_Bundle* _javascript_Test.* */mac/* CustomProtocolsSyncXHRTest.mm Tests/WebKit2Cocoa/Navigation.mm Tests/WebKit2Cocoa/Download.mm; +EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *Mac.h *Mac.cpp *Mac.mm *InjectedBundle* *PlatformUtilities* Tests/WebKit2/* Tests/WebKit2ObjC/* *_Bundle* _javascript_Test.* */mac/* CustomProtocolsSyncXHRTest.mm Tests/WebKit2Cocoa/*; EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos); TOOLCHAINS = $(TOOLCHAINS_$(PLATFORM_NAME)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171517] tags/Safari-600.1.2.1/Source/WebKit2
Title: [171517] tags/Safari-600.1.2.1/Source/WebKit2 Revision 171517 Author bshaf...@apple.com Date 2014-07-24 13:00:04 -0700 (Thu, 24 Jul 2014) Log Message Merged r171509. rdar://problem/17790792 Modified Paths tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/ios/WKContentView.mm Diff Modified: tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog (171516 => 171517) --- tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog 2014-07-24 19:57:20 UTC (rev 171516) +++ tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog 2014-07-24 20:00:04 UTC (rev 171517) @@ -1,3 +1,29 @@ +2014-07-24 Babak Shafiei bshaf...@apple.com + +Merge r171509 + +2014-07-23 Simon Fraser simon.fra...@apple.com + +[iOS WK2] Some help.apple.com pages not scrollable +https://bugs.webkit.org/show_bug.cgi?id=135228 +rdar://problem/17790792 + +Reviewed by Benjamin Poulain. + +On pages which size their document to the device size, the WKContentView size +never changes after it's created. In this situation, we never set a bounds +on the _rootContentView, so it remains zero-sized which breaks hit testing +on all enclosed UIScrollViews for overflow:scroll. + +Fix by making the _rootContentView and the _inspectorIndicationView use autosizing +so they are always the size of their parent view, and remove the explicit setting +of their bounds. + +* UIProcess/ios/WKContentView.mm: +(-[WKContentView initWithFrame:context:configuration:webView:]): +(-[WKContentView setShowingInspectorIndication:]): +(-[WKContentView _didCommitLayerTree:]): + 2014-07-23 Lucas Forschler lforsch...@apple.com Merge r171490 Modified: tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/ios/WKContentView.mm (171516 => 171517) --- tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 19:57:20 UTC (rev 171516) +++ tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 20:00:04 UTC (rev 171517) @@ -206,7 +206,8 @@ _rootContentView = adoptNS([[UIView alloc] init]); [_rootContentView layer].masksToBounds = NO; - +[_rootContentView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; + _fixedClippingView = adoptNS([[UIView alloc] init]); [_fixedClippingView layer].masksToBounds = YES; [_fixedClippingView layer].anchorPoint = CGPointZero; @@ -313,6 +314,7 @@ if (show) { if (!_inspectorIndicationView) { _inspectorIndicationView = adoptNS([[WKInspectorIndicationView alloc] initWithFrame:[self bounds]]); +[_inspectorIndicationView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; [self insertSubview:_inspectorIndicationView.get() aboveSubview:_rootContentView.get()]; } } else { @@ -443,11 +445,8 @@ CGRect oldBounds = [self bounds]; BOOL boundsChanged = !CGRectEqualToRect(oldBounds, contentBounds); -if (boundsChanged) { +if (boundsChanged) [self setBounds:contentBounds]; -[_rootContentView setFrame:contentBounds]; -[_inspectorIndicationView setFrame:contentBounds]; -} [_webView _didCommitLayerTree:layerTreeTransaction]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171518] trunk/Source/WebKit2
Title: [171518] trunk/Source/WebKit2 Revision 171518 Author timothy_hor...@apple.com Date 2014-07-24 13:13:34 -0700 (Thu, 24 Jul 2014) Log Message Crash at [WKContentView _applicationWillEnterForeground:] + 28 rdar://problem/17797103 Reviewed by Sam Weinig. * UIProcess/ios/WKContentView.mm: (-[WKContentView _applicationWillEnterForeground:]): Drawing area can be null; null check it! It's ok if we don't hide the content in this case, because if the drawing area is null, it doesn't have any layers in the tree anyway. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (171517 => 171518) --- trunk/Source/WebKit2/ChangeLog 2014-07-24 20:00:04 UTC (rev 171517) +++ trunk/Source/WebKit2/ChangeLog 2014-07-24 20:13:34 UTC (rev 171518) @@ -1,3 +1,16 @@ +2014-07-24 Tim Horton timothy_hor...@apple.com + +Crash at [WKContentView _applicationWillEnterForeground:] + 28 +rdar://problem/17797103 + +Reviewed by Sam Weinig. + +* UIProcess/ios/WKContentView.mm: +(-[WKContentView _applicationWillEnterForeground:]): +Drawing area can be null; null check it! +It's ok if we don't hide the content in this case, because if the drawing area is null, +it doesn't have any layers in the tree anyway. + 2014-07-23 Simon Fraser simon.fra...@apple.com [iOS WK2] Some help.apple.com pages not scrollable Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm (171517 => 171518) --- trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 20:00:04 UTC (rev 171517) +++ trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 20:13:34 UTC (rev 171518) @@ -510,7 +510,8 @@ - (void)_applicationWillEnterForeground:(NSNotification*)notification { _page-applicationWillEnterForeground(); -_page-drawingArea()-hideContentUntilNextUpdate(); +if (auto drawingArea = _page-drawingArea()) +drawingArea-hideContentUntilNextUpdate(); _page-viewStateDidChange(ViewState::AllFlags ~ViewState::IsInWindow, true, WebPageProxy::ViewStateChangeDispatchMode::Immediate); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171519] trunk/Source/WebKit2
Title: [171519] trunk/Source/WebKit2 Revision 171519 Author oli...@apple.com Date 2014-07-24 13:18:06 -0700 (Thu, 24 Jul 2014) Log Message Need to explicitly support location services in webcontent profile https://bugs.webkit.org/show_bug.cgi?id=135251 rdar://17798346 Reviewed by Dan Bernstein. Switching to uikit-app means that we remove the implicit support for location services. This makes us explicitly opt-in. * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb Diff Modified: trunk/Source/WebKit2/ChangeLog (171518 => 171519) --- trunk/Source/WebKit2/ChangeLog 2014-07-24 20:13:34 UTC (rev 171518) +++ trunk/Source/WebKit2/ChangeLog 2014-07-24 20:18:06 UTC (rev 171519) @@ -1,3 +1,16 @@ +2014-07-24 Oliver Hunt oli...@apple.com + +Need to explicitly support location services in webcontent profile +https://bugs.webkit.org/show_bug.cgi?id=135251 +rdar://17798346 + +Reviewed by Dan Bernstein. + +Switching to uikit-app means that we remove the implicit support +for location services. This makes us explicitly opt-in. + +* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: + 2014-07-24 Tim Horton timothy_hor...@apple.com Crash at [WKContentView _applicationWillEnterForeground:] + 28 Modified: trunk/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (171518 => 171519) --- trunk/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2014-07-24 20:13:34 UTC (rev 171518) +++ trunk/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2014-07-24 20:18:06 UTC (rev 171519) @@ -28,7 +28,7 @@ (import UIKit-apps.sb) (import removed-dev-nodes.sb) -(uikit-app 'with-opengl) +(uikit-app 'with-opengl 'with-location-services) ;; Access to media controls (play-media) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171520] tags/Safari-600.1.2.1/Source/WebKit2
Title: [171520] tags/Safari-600.1.2.1/Source/WebKit2 Revision 171520 Author bshaf...@apple.com Date 2014-07-24 13:47:07 -0700 (Thu, 24 Jul 2014) Log Message Merged r171518. rdar://problem/17797103 Modified Paths tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/ios/WKContentView.mm Diff Modified: tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog (171519 => 171520) --- tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog 2014-07-24 20:18:06 UTC (rev 171519) +++ tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog 2014-07-24 20:47:07 UTC (rev 171520) @@ -1,5 +1,22 @@ 2014-07-24 Babak Shafiei bshaf...@apple.com +Merge r171518 + +2014-07-24 Tim Horton timothy_hor...@apple.com + +Crash at [WKContentView _applicationWillEnterForeground:] + 28 +rdar://problem/17797103 + +Reviewed by Sam Weinig. + +* UIProcess/ios/WKContentView.mm: +(-[WKContentView _applicationWillEnterForeground:]): +Drawing area can be null; null check it! +It's ok if we don't hide the content in this case, because if the drawing area is null, +it doesn't have any layers in the tree anyway. + +2014-07-24 Babak Shafiei bshaf...@apple.com + Merge r171509 2014-07-23 Simon Fraser simon.fra...@apple.com Modified: tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/ios/WKContentView.mm (171519 => 171520) --- tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 20:18:06 UTC (rev 171519) +++ tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 20:47:07 UTC (rev 171520) @@ -510,7 +510,8 @@ - (void)_applicationWillEnterForeground:(NSNotification*)notification { _page-applicationWillEnterForeground(); -_page-drawingArea()-hideContentUntilNextUpdate(); +if (auto drawingArea = _page-drawingArea()) +drawingArea-hideContentUntilNextUpdate(); _page-viewStateDidChange(ViewState::AllFlags ~ViewState::IsInWindow, true, WebPageProxy::ViewStateChangeDispatchMode::Immediate); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171521] branches/safari-600.1-branch/Source/JavaScriptCore
Title: [171521] branches/safari-600.1-branch/Source/_javascript_Core Revision 171521 Author lforsch...@apple.com Date 2014-07-24 13:53:40 -0700 (Thu, 24 Jul 2014) Log Message Merged r171328. rdar://problem/17544620 Modified Paths branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog branches/safari-600.1-branch/Source/_javascript_Core/runtime/ArrayPrototype.cpp Diff Modified: branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog (171520 => 171521) --- branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-24 20:47:07 UTC (rev 171520) +++ branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-24 20:53:40 UTC (rev 171521) @@ -1,3 +1,40 @@ +2014-07-24 Lucas Forschler lforsch...@apple.com + +Merge r171328 + +2014-07-21 Mark Lam mark@apple.com + +Refactor ArrayPrototype to use getLength() and putLength() utility functions. +https://bugs.webkit.org/show_bug.cgi?id=135139. + +Reviewed by Oliver Hunt. + +- Specialize putProperty() to putLength() because it is only used for setting + the length property. +- Added a getLength() utility function to get the value of the length property. +- Use these getLength() and putLength() functions instead of the existing code + to get and put the length property. Less code to read, easier to understand. + +* runtime/ArrayPrototype.cpp: +(JSC::getLength): +(JSC::putLength): +(JSC::arrayProtoFuncToString): +(JSC::arrayProtoFuncToLocaleString): +(JSC::arrayProtoFuncJoin): +(JSC::arrayProtoFuncPop): +(JSC::arrayProtoFuncPush): +(JSC::arrayProtoFuncReverse): +(JSC::arrayProtoFuncShift): +(JSC::arrayProtoFuncSlice): +(JSC::arrayProtoFuncSort): +(JSC::arrayProtoFuncSplice): +(JSC::arrayProtoFuncUnShift): +(JSC::arrayProtoFuncReduce): +(JSC::arrayProtoFuncReduceRight): +(JSC::arrayProtoFuncIndexOf): +(JSC::arrayProtoFuncLastIndexOf): +(JSC::putProperty): Deleted. + 2014-07-23 Matthew Hanson matthew_han...@apple.com Merge r171474 (rollout r171367 from trunk) Modified: branches/safari-600.1-branch/Source/_javascript_Core/runtime/ArrayPrototype.cpp (171520 => 171521) --- branches/safari-600.1-branch/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2014-07-24 20:47:07 UTC (rev 171520) +++ branches/safari-600.1-branch/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2014-07-24 20:53:40 UTC (rev 171521) @@ -157,10 +157,15 @@ return slot.getValue(exec, index); } -static void putProperty(ExecState* exec, JSObject* obj, PropertyName propertyName, JSValue value) +static ALWAYS_INLINE unsigned getLength(ExecState* exec, JSObject* obj) { +return obj-get(exec, exec-propertyNames().length).toUInt32(exec); +} + +static void putLength(ExecState* exec, JSObject* obj, JSValue value) +{ PutPropertySlot slot(obj); -obj-methodTable()-put(obj, exec, propertyName, value, slot); +obj-methodTable()-put(obj, exec, exec-propertyNames().length, value, slot); } static unsigned argumentClampedIndexFromStartOrEnd(ExecState* exec, int argument, unsigned length, unsigned undefinedValue = 0) @@ -296,7 +301,7 @@ ASSERT(isJSArray(thisValue)); JSArray* thisObj = asArray(thisValue); -unsigned length = thisObj-get(exec, exec-propertyNames().length).toUInt32(exec); +unsigned length = getLength(exec, thisObj); if (exec-hadException()) return JSValue::encode(jsUndefined()); @@ -335,7 +340,7 @@ if (exec-hadException()) return JSValue::encode(jsUndefined()); -unsigned length = thisObj-get(exec, exec-propertyNames().length).toUInt32(exec); +unsigned length = getLength(exec, thisObj); if (exec-hadException()) return JSValue::encode(jsUndefined()); @@ -373,7 +378,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState* exec) { JSObject* thisObj = exec-thisValue().toThis(exec, StrictMode).toObject(exec); -unsigned length = thisObj-get(exec, exec-propertyNames().length).toUInt32(exec); +unsigned length = getLength(exec, thisObj); if (exec-hadException()) return JSValue::encode(jsUndefined()); @@ -475,13 +480,13 @@ return JSValue::encode(asArray(thisValue)-pop(exec)); JSObject* thisObj = thisValue.toObject(exec); -unsigned length = thisObj-get(exec, exec-propertyNames().length).toUInt32(exec); +unsigned length = getLength(exec, thisObj); if (exec-hadException()) return JSValue::encode(jsUndefined()); JSValue result; if (length == 0) { -putProperty(exec, thisObj, exec-propertyNames().length, jsNumber(length)); +putLength(exec, thisObj, jsNumber(length)); result = jsUndefined(); }
[webkit-changes] [171522] branches/safari-600.1-branch/Source/JavaScriptCore
Title: [171522] branches/safari-600.1-branch/Source/_javascript_Core Revision 171522 Author lforsch...@apple.com Date 2014-07-24 13:56:14 -0700 (Thu, 24 Jul 2014) Log Message Merged r171390. rdar://problem/17544620 Modified Paths branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp branches/safari-600.1-branch/Source/_javascript_Core/runtime/ArrayPrototype.cpp Added Paths branches/safari-600.1-branch/Source/_javascript_Core/tests/stress/regexp-matches-array.js branches/safari-600.1-branch/Source/_javascript_Core/tests/stress/runtime-array.js Diff Modified: branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog (171521 => 171522) --- branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-24 20:53:40 UTC (rev 171521) +++ branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-24 20:56:14 UTC (rev 171522) @@ -1,5 +1,46 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171390 + +2014-07-22 Mark Lam mark@apple.com + +Array.concat() should work on runtime arrays too. +https://webkit.org/b/135179 + +Reviewed by Geoffrey Garen. + +* jsc.cpp: +(WTF::RuntimeArray::create): +(WTF::RuntimeArray::~RuntimeArray): +(WTF::RuntimeArray::destroy): +(WTF::RuntimeArray::getOwnPropertySlot): +(WTF::RuntimeArray::getOwnPropertySlotByIndex): +(WTF::RuntimeArray::put): +(WTF::RuntimeArray::deleteProperty): +(WTF::RuntimeArray::getLength): +(WTF::RuntimeArray::createPrototype): +(WTF::RuntimeArray::createStructure): +(WTF::RuntimeArray::finishCreation): +(WTF::RuntimeArray::RuntimeArray): +(WTF::RuntimeArray::lengthGetter): +(GlobalObject::finishCreation): +(functionCreateRuntimeArray): +- Added support to create a runtime array for testing purpose. +* runtime/ArrayPrototype.cpp: +(JSC::getLength): +- Added fast case for when the array object is a JSArray. +(JSC::arrayProtoFuncJoin): +- Added a needed but missing exception check. +(JSC::arrayProtoFuncConcat): +- Use getLength() to compute the array length instead of assuming that + the array is a JSArray instance. +* tests/stress/regexp-matches-array.js: Added. +(testArrayConcat): +* tests/stress/runtime-array.js: Added. +(testArrayConcat): + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171328 2014-07-21 Mark Lam mark@apple.com Modified: branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp (171521 => 171522) --- branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp 2014-07-24 20:53:40 UTC (rev 171521) +++ branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp 2014-07-24 20:56:14 UTC (rev 171522) @@ -22,6 +22,7 @@ #include config.h +#include ArrayPrototype.h #include ButterflyInlines.h #include BytecodeGenerator.h #include Completion.h @@ -98,6 +99,7 @@ class ElementHandleOwner; class Masuqerader; class Root; +class RuntimeArray; class Element : public JSNonFinalObject { public: @@ -277,10 +279,117 @@ WriteBarrierJSObject m_delegate; }; +class RuntimeArray : public JSArray { +public: +typedef JSArray Base; + +static RuntimeArray* create(ExecState* exec) +{ +VM vm = exec-vm(); +JSGlobalObject* globalObject = exec-lexicalGlobalObject(); +Structure* structure = createStructure(vm, globalObject, createPrototype(vm, globalObject)); +RuntimeArray* runtimeArray = new (NotNull, allocateCellRuntimeArray(*exec-heap())) RuntimeArray(exec, structure); +runtimeArray-finishCreation(exec); +vm.heap.addFinalizer(runtimeArray, destroy); +return runtimeArray; +} + +~RuntimeArray() { } + +static void destroy(JSCell* cell) +{ +static_castRuntimeArray*(cell)-RuntimeArray::~RuntimeArray(); +} + +static const bool needsDestruction = false; + +static bool getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot slot) +{ +RuntimeArray* thisObject = jsCastRuntimeArray*(object); +if (propertyName == exec-propertyNames().length) { +slot.setCacheableCustom(thisObject, DontDelete | ReadOnly | DontEnum, thisObject-lengthGetter); +return true; +} + +unsigned index = propertyName.asIndex(); +if (index thisObject-getLength()) { +ASSERT(index != PropertyName::NotAnIndex); +slot.setValue(thisObject, DontDelete | DontEnum, jsNumber(thisObject-m_vector[index])); +return true; +} + +return JSObject::getOwnPropertySlot(thisObject, exec,
[webkit-changes] [171523] branches/safari-600.1-branch/Source/JavaScriptCore
Title: [171523] branches/safari-600.1-branch/Source/_javascript_Core Revision 171523 Author lforsch...@apple.com Date 2014-07-24 13:58:05 -0700 (Thu, 24 Jul 2014) Log Message Merged r171393. rdar://problem/17544620 Modified Paths branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp Diff Modified: branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog (171522 => 171523) --- branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-24 20:56:14 UTC (rev 171522) +++ branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-24 20:58:05 UTC (rev 171523) @@ -1,5 +1,17 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171393 + +2014-07-22 Brent Fulgham bfulg...@apple.com + +Build fix for non-clang compile. + +* jsc.cpp: +(WTF::RuntimeArray::deleteProperty): Need (fake) return +value when NO_RETURN_DUE_TO_CRASH is not defined. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171390 2014-07-22 Mark Lam mark@apple.com Modified: branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp (171522 => 171523) --- branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp 2014-07-24 20:56:14 UTC (rev 171522) +++ branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp 2014-07-24 20:58:05 UTC (rev 171523) @@ -335,11 +335,17 @@ static NO_RETURN_DUE_TO_CRASH void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot) { RELEASE_ASSERT_NOT_REACHED(); +#if !COMPILER(CLANG) +return true; +#endif } static NO_RETURN_DUE_TO_CRASH bool deleteProperty(JSCell*, ExecState*, PropertyName) { RELEASE_ASSERT_NOT_REACHED(); +#if !COMPILER(CLANG) +return true; +#endif } unsigned getLength() const { return m_vector.size(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171524] branches/safari-600.1-branch/Source/JavaScriptCore
Title: [171524] branches/safari-600.1-branch/Source/_javascript_Core Revision 171524 Author lforsch...@apple.com Date 2014-07-24 14:00:54 -0700 (Thu, 24 Jul 2014) Log Message Merged r171395. rdar://problem/17544620 Modified Paths branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp Diff Modified: branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog (171523 => 171524) --- branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-24 20:58:05 UTC (rev 171523) +++ branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-24 21:00:54 UTC (rev 171524) @@ -1,5 +1,17 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171395 + +2014-07-22 Brent Fulgham bfulg...@apple.com + +Build fix for non-clang compile. + +* jsc.cpp: +(WTF::RuntimeArray::put): Remove incorrect return statement +I added. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171393 2014-07-22 Brent Fulgham bfulg...@apple.com Modified: branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp (171523 => 171524) --- branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp 2014-07-24 20:58:05 UTC (rev 171523) +++ branches/safari-600.1-branch/Source/_javascript_Core/jsc.cpp 2014-07-24 21:00:54 UTC (rev 171524) @@ -335,9 +335,6 @@ static NO_RETURN_DUE_TO_CRASH void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot) { RELEASE_ASSERT_NOT_REACHED(); -#if !COMPILER(CLANG) -return true; -#endif } static NO_RETURN_DUE_TO_CRASH bool deleteProperty(JSCell*, ExecState*, PropertyName) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171525] trunk/Websites/webkit.org
Title: [171525] trunk/Websites/webkit.org Revision 171525 Author bjone...@adobe.com Date 2014-07-24 14:12:53 -0700 (Thu, 24 Jul 2014) Log Message Committers should mail webkit-committers not webkit-reviewers for reactivation https://bugs.webkit.org/show_bug.cgi?id=135203 Reviewed by Ryosuke Niwa. Only reviewers can send mail to webkit-reviewers. Amend the policy so that committers should send mail to webkit-committers instead of webkit-reviewers. * coding/commit-review-policy.html: Modified Paths trunk/Websites/webkit.org/ChangeLog trunk/Websites/webkit.org/coding/commit-review-policy.html Diff Modified: trunk/Websites/webkit.org/ChangeLog (171524 => 171525) --- trunk/Websites/webkit.org/ChangeLog 2014-07-24 21:00:54 UTC (rev 171524) +++ trunk/Websites/webkit.org/ChangeLog 2014-07-24 21:12:53 UTC (rev 171525) @@ -1,3 +1,15 @@ +2014-07-24 Bem Jones-Bey bjone...@adobe.com + +Committers should mail webkit-committers not webkit-reviewers for reactivation +https://bugs.webkit.org/show_bug.cgi?id=135203 + +Reviewed by Ryosuke Niwa. + +Only reviewers can send mail to webkit-reviewers. Amend the policy so that committers should +send mail to webkit-committers instead of webkit-reviewers. + +* coding/commit-review-policy.html: + 2014-07-15 Alex Christensen achristen...@webkit.org Make css jit benchmark work on IE11. Modified: trunk/Websites/webkit.org/coding/commit-review-policy.html (171524 => 171525) --- trunk/Websites/webkit.org/coding/commit-review-policy.html 2014-07-24 21:00:54 UTC (rev 171524) +++ trunk/Websites/webkit.org/coding/commit-review-policy.html 2014-07-24 21:12:53 UTC (rev 171525) @@ -109,7 +109,7 @@ patch in the past year will also be considered active./p pInactive Committers can regain Active Committer status by landing (via the -Commit Queue) a non-trivial patch and asking on webkit-reviewers for a return +Commit Queue) a non-trivial patch and asking on webkit-committers for a return to Active status./p pInactive Reviewers need to show that they are making an effort to get @@ -124,7 +124,7 @@ for security purposes. For example, a Reviewer that has reviewed a patch in the past year but has not committed may have their subversion account deactivated. To reactivate a deactivated subversion account, an Active Committer or Active -Reviewer can send an email to webkit-reviewers requesting it./p +Reviewer can send an email to webkit-committers requesting it./p h3Suspension and Revocation of Committer or Reviewer Status/h3 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171526] trunk/Source/WebCore
Title: [171526] trunk/Source/WebCore Revision 171526 Author psola...@apple.com Date 2014-07-24 14:37:43 -0700 (Thu, 24 Jul 2014) Log Message Sharing SharedBuffer between WebCore and ImageIO is racy and crash prone https://bugs.webkit.org/show_bug.cgi?id=135069 rdar://problem/17470655 Reviewed by Simon Fraser. When passing image data to ImageIO for decoding, we pass an NSData subclass that is a wraper around SharedBuffer. This can be a problem when ImageIO tries to access the data on the CA thread. End result is data corruption on large image loads and potential crashes. The fix is to have SharedBuffer create a copy of its data if the data has been passed to ImageIO and might be accessed concurrently. Since Vector is not refcounted, we do this by having a new refcounted object in SharedBuffer that contains the buffer and we pass that in our NSData subclass WebCoreSharedBufferData. Code that would result in the Vector memory moving e.g. append(), resize(), now checks to see if the buffer was shared and if so, will create a new copy of the vector. This ensures that the main thread does not end up invalidating the vector memory that we have passed it to ImageIO. No new tests because no functional changes. * loader/cache/CachedResource.cpp: (WebCore::CachedResource::makePurgeable): Remove early return - createPurgeableMemory() has the correct check now. * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): (WebCore::SharedBuffer::adoptVector): (WebCore::SharedBuffer::createPurgeableBuffer): Don't create purgeable buffer if we are sharing the buffer. (WebCore::SharedBuffer::append): (WebCore::SharedBuffer::clear): (WebCore::SharedBuffer::copy): (WebCore::SharedBuffer::duplicateDataBufferIfNecessary): Added. Create a new copy of the data if we have shared the buffer and if appending to it would exceed the capacity of the vector resulting in memmove. (WebCore::SharedBuffer::appendToInternalBuffer): Added. (WebCore::SharedBuffer::clearInternalBuffer): Added. (WebCore::SharedBuffer::buffer): Create a new copy of the buffer if we have shared it. (WebCore::SharedBuffer::getSomeData): * platform/SharedBuffer.h: * platform/cf/SharedBufferCF.cpp: (WebCore::SharedBuffer::SharedBuffer): (WebCore::SharedBuffer::singleDataArrayBuffer): (WebCore::SharedBuffer::maybeAppendDataArray): * platform/mac/SharedBufferMac.mm: Pass the InternalBuffer object to WebCoreSharedBufferData (-[WebCoreSharedBufferData dealloc]): (-[WebCoreSharedBufferData initWithSharedBufferInternalBuffer:]): (-[WebCoreSharedBufferData length]): (-[WebCoreSharedBufferData bytes]): (WebCore::SharedBuffer::createNSData): Call createCFData() instead of duplicating code. (WebCore::SharedBuffer::createCFData): If the data is in purgeable memory, make a copy of it since m_buffer was cleared when creating the purgeable buffer. (-[WebCoreSharedBufferData initWithSharedBuffer:]): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/cache/CachedResource.cpp trunk/Source/WebCore/platform/SharedBuffer.cpp trunk/Source/WebCore/platform/SharedBuffer.h trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp trunk/Source/WebCore/platform/mac/SharedBufferMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (171525 => 171526) --- trunk/Source/WebCore/ChangeLog 2014-07-24 21:12:53 UTC (rev 171525) +++ trunk/Source/WebCore/ChangeLog 2014-07-24 21:37:43 UTC (rev 171526) @@ -1,3 +1,63 @@ +2014-07-24 Pratik Solanki psola...@apple.com + +Sharing SharedBuffer between WebCore and ImageIO is racy and crash prone +https://bugs.webkit.org/show_bug.cgi?id=135069 +rdar://problem/17470655 + +Reviewed by Simon Fraser. + +When passing image data to ImageIO for decoding, we pass an NSData subclass that is a wraper +around SharedBuffer. This can be a problem when ImageIO tries to access the data on the CA +thread. End result is data corruption on large image loads and potential crashes. The fix is +to have SharedBuffer create a copy of its data if the data has been passed to ImageIO and +might be accessed concurrently. + +Since Vector is not refcounted, we do this by having a new refcounted object in SharedBuffer +that contains the buffer and we pass that in our NSData subclass WebCoreSharedBufferData. +Code that would result in the Vector memory moving e.g. append(), resize(), now checks to +see if the buffer was shared and if so, will create a new copy of the vector. This ensures +that the main thread does not end up invalidating the vector memory that we have passed it +to ImageIO. + +No new tests because no functional changes. + +* loader/cache/CachedResource.cpp: +(WebCore::CachedResource::makePurgeable): +Remove early return - createPurgeableMemory() has the correct check now. +* platform/SharedBuffer.cpp: +
[webkit-changes] [171527] trunk/Source/JavaScriptCore
Title: [171527] trunk/Source/_javascript_Core Revision 171527 Author mark@apple.com Date 2014-07-24 15:01:40 -0700 (Thu, 24 Jul 2014) Log Message JSWrapperMap's jsWrapperForObject() needs to defer GC. https://webkit.org/b/135258 Reviewed by Oliver Hunt. In the process of creating a JS wrapper, jsWrapperForObject() will create the prototype and constructor of the corresponding ObjC class, as well as for classes in its inheritance chain. These prototypes and constructors are stored in Weak references in the JSObjCClassInfo objects. During all the allocation that is being done to create all the prototypes and constructors as well as the wrapper objects, a GC may occur thereby collecting one or more of these newly created prototype and constructor objects. One example of where this problem can manifest is in wrapperForObject() which is called from jsWrapperForObject(). In wrapperFoObject(), we do the following steps: 1. reallocateConstructorAndOrPrototype() which creates the prototype object and store it in JSObjCClassInfo's m_prototype which is a Weak ref. 2. makeWrapper() to create the wrapper object, which may trigger a GC. GC will collect the prototype object and nullify the corresponding JSObjCClassInfo's m_prototype Weak ref. 3. call JSObjectSetPrototype() to set the JSObjCClassInfo's m_prototype in the newly created wrapper. This results in the wrapper getting a jsNull as a prototype instead of the expected prototype object. To ensure that the prototype and constructor objects are retained until they can be referenced properly from the wrapper object, jsWrapperForObject() should defer GC until it's done with its work. * API/JSWrapperMap.mm: (-[JSWrapperMap jsWrapperForObject:]): Modified Paths trunk/Source/_javascript_Core/API/JSWrapperMap.mm trunk/Source/_javascript_Core/ChangeLog Diff Modified: trunk/Source/_javascript_Core/API/JSWrapperMap.mm (171526 => 171527) --- trunk/Source/_javascript_Core/API/JSWrapperMap.mm 2014-07-24 21:37:43 UTC (rev 171526) +++ trunk/Source/_javascript_Core/API/JSWrapperMap.mm 2014-07-24 22:01:40 UTC (rev 171527) @@ -582,6 +582,9 @@ - (JSValue *)jsWrapperForObject:(id)object { +JSC::ExecState* exec = toJS([m_context JSGlobalContextRef]); +JSC::DeferGC deferGC(exec-vm().heap); + JSC::JSObject* jsWrapper = m_cachedJSWrappers.get(object); if (jsWrapper) return [JSValue valueWithJSValueRef:toRef(jsWrapper) inContext:m_context]; @@ -599,7 +602,6 @@ // (1) For immortal objects JSValues will effectively leak and this results in error output being logged - we should avoid adding associated objects to immortal objects. // (2) A long lived object may rack up many JSValues. When the contexts are released these will unprotect the associated _javascript_ objects, // but still, would probably nicer if we made it so that only one associated object was required, broadcasting object dealloc. -JSC::ExecState* exec = toJS([m_context JSGlobalContextRef]); jsWrapper = toJS(exec, valueInternalValue(wrapper)).toObject(exec); m_cachedJSWrappers.set(object, jsWrapper); return wrapper; Modified: trunk/Source/_javascript_Core/ChangeLog (171526 => 171527) --- trunk/Source/_javascript_Core/ChangeLog 2014-07-24 21:37:43 UTC (rev 171526) +++ trunk/Source/_javascript_Core/ChangeLog 2014-07-24 22:01:40 UTC (rev 171527) @@ -1,3 +1,40 @@ +2014-07-24 Mark Lam mark@apple.com + +JSWrapperMap's jsWrapperForObject() needs to defer GC. +https://webkit.org/b/135258 + +Reviewed by Oliver Hunt. + +In the process of creating a JS wrapper, jsWrapperForObject() will create +the prototype and constructor of the corresponding ObjC class, as well as +for classes in its inheritance chain. These prototypes and constructors +are stored in Weak references in the JSObjCClassInfo objects. During all +the allocation that is being done to create all the prototypes and +constructors as well as the wrapper objects, a GC may occur thereby +collecting one or more of these newly created prototype and constructor +objects. + +One example of where this problem can manifest is in wrapperForObject() +which is called from jsWrapperForObject(). In wrapperFoObject(), we do +the following steps: + +1. reallocateConstructorAndOrPrototype() which creates the prototype + object and store it in JSObjCClassInfo's m_prototype which is a Weak + ref. +2. makeWrapper() to create the wrapper object, which may trigger a GC. + GC will collect the prototype object and nullify the corresponding + JSObjCClassInfo's m_prototype Weak ref. +3. call JSObjectSetPrototype() to set the JSObjCClassInfo's m_prototype + in the newly created wrapper. This results in the wrapper getting a + jsNull as a prototype instead of the expected prototype
[webkit-changes] [171528] trunk/Source
Title: [171528] trunk/Source Revision 171528 Author b...@cs.washington.edu Date 2014-07-24 15:11:12 -0700 (Thu, 24 Jul 2014) Log Message Web Replay: don't encode/decode primitive types that lack explicit sizes https://bugs.webkit.org/show_bug.cgi?id=133430 Reviewed by Anders Carlsson. Source/_javascript_Core: Don't support encode/decode of unsigned long, since its size is compiler-dependent. * replay/EncodedValue.cpp: (JSC::EncodedValue::convertTounsigned long): (JSC::unsigned long::encodeValue): Deleted. * replay/EncodedValue.h: Source/WebCore: Remove uses of unsigned long in encode/decode methods because the type lacks an explicit size. Move frame index serialization away from using unsigned long. * replay/ReplayController.cpp: (WebCore::logDispatchedDOMEvent): Fix the format string. * replay/SerializationMethods.cpp: (WebCore::frameIndexFromDocument): (WebCore::frameIndexFromFrame): (WebCore::documentFromFrameIndex): (WebCore::frameFromFrameIndex): (JSC::EncodingTraitsPluginData::encodeValue): (JSC::EncodingTraitsPluginData::decodeValue): * replay/SerializationMethods.h: * replay/WebInputs.json: Remove primitive types without explicit sizes. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/replay/EncodedValue.cpp trunk/Source/_javascript_Core/replay/EncodedValue.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/replay/ReplayController.cpp trunk/Source/WebCore/replay/SerializationMethods.cpp trunk/Source/WebCore/replay/SerializationMethods.h trunk/Source/WebCore/replay/WebInputs.json Diff Modified: trunk/Source/_javascript_Core/ChangeLog (171527 => 171528) --- trunk/Source/_javascript_Core/ChangeLog 2014-07-24 22:01:40 UTC (rev 171527) +++ trunk/Source/_javascript_Core/ChangeLog 2014-07-24 22:11:12 UTC (rev 171528) @@ -1,3 +1,17 @@ +2014-07-24 Brian J. Burg b...@cs.washington.edu + +Web Replay: don't encode/decode primitive types that lack explicit sizes +https://bugs.webkit.org/show_bug.cgi?id=133430 + +Reviewed by Anders Carlsson. + +Don't support encode/decode of unsigned long, since its size is compiler-dependent. + +* replay/EncodedValue.cpp: +(JSC::EncodedValue::convertTounsigned long): +(JSC::unsigned long::encodeValue): Deleted. +* replay/EncodedValue.h: + 2014-07-24 Mark Lam mark@apple.com JSWrapperMap's jsWrapperForObject() needs to defer GC. Modified: trunk/Source/_javascript_Core/replay/EncodedValue.cpp (171527 => 171528) --- trunk/Source/_javascript_Core/replay/EncodedValue.cpp 2014-07-24 22:01:40 UTC (rev 171527) +++ trunk/Source/_javascript_Core/replay/EncodedValue.cpp 2014-07-24 22:11:12 UTC (rev 171528) @@ -90,11 +90,6 @@ return EncodedValue(InspectorBasicValue::create((double)value)); } -template EncodedValue ScalarEncodingTraitsunsigned long::encodeValue(const unsigned long value) -{ -return EncodedValue(InspectorBasicValue::create((double)value)); -} - template bool EncodedValue::convertTobool() { bool result; @@ -158,15 +153,6 @@ return result; } -template unsigned long EncodedValue::convertTounsigned long() -{ -unsigned long result; -bool castSucceeded = m_value-asNumber(result); -ASSERT_UNUSED(castSucceeded, castSucceeded); - -return result; -} - template String EncodedValue::convertToString() { String result; Modified: trunk/Source/_javascript_Core/replay/EncodedValue.h (171527 => 171528) --- trunk/Source/_javascript_Core/replay/EncodedValue.h 2014-07-24 22:01:40 UTC (rev 171527) +++ trunk/Source/_javascript_Core/replay/EncodedValue.h 2014-07-24 22:11:12 UTC (rev 171528) @@ -92,7 +92,6 @@ template JS_EXPORT_PRIVATE int64_t EncodedValue::convertToint64_t(); template JS_EXPORT_PRIVATE uint32_t EncodedValue::convertTouint32_t(); template JS_EXPORT_PRIVATE uint64_t EncodedValue::convertTouint64_t(); -template JS_EXPORT_PRIVATE unsigned long EncodedValue::convertTounsigned long(); template JS_EXPORT_PRIVATE String EncodedValue::convertToString(); templatetypename T @@ -156,7 +155,6 @@ template struct EncodingTraitsint64_t : public ScalarEncodingTraitsint64_t { }; template struct EncodingTraitsuint32_t : public ScalarEncodingTraitsuint32_t { }; template struct EncodingTraitsuint64_t : public ScalarEncodingTraitsuint64_t { }; -template struct EncodingTraitsunsigned long : public ScalarEncodingTraitsunsigned long { }; template struct EncodingTraitsString : public ScalarEncodingTraitsString { static EncodedValue encodeValue(const String value) Modified: trunk/Source/WebCore/ChangeLog (171527 => 171528) --- trunk/Source/WebCore/ChangeLog 2014-07-24 22:01:40 UTC (rev 171527) +++ trunk/Source/WebCore/ChangeLog 2014-07-24 22:11:12 UTC (rev 171528) @@ -1,3 +1,25 @@ +2014-07-24 Brian J. Burg b...@cs.washington.edu + +Web Replay: don't encode/decode primitive types that lack explicit sizes +https://bugs.webkit.org/show_bug.cgi?id=133430 + +Reviewed
[webkit-changes] [171529] tags/Safari-600.1.2.1/Source/WebKit2
Title: [171529] tags/Safari-600.1.2.1/Source/WebKit2 Revision 171529 Author bshaf...@apple.com Date 2014-07-24 15:11:15 -0700 (Thu, 24 Jul 2014) Log Message Merged r171201. rdar://problem/17082607 Modified Paths tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h Diff Modified: tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog (171528 => 171529) --- tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog 2014-07-24 22:11:12 UTC (rev 171528) +++ tags/Safari-600.1.2.1/Source/WebKit2/ChangeLog 2014-07-24 22:11:15 UTC (rev 171529) @@ -1,5 +1,62 @@ 2014-07-24 Babak Shafiei bshaf...@apple.com +Merge r171201 + +2014-07-17 Benjamin Poulain benja...@webkit.org + +[iOS][WK2] Add SPI to do a dynamic viewport update without showing any content +https://bugs.webkit.org/show_bug.cgi?id=135010 + +Reviewed by Darin Adler. + +This patch add a new SPI, [WKWebView _resizeWhileHidingContentWithUpdates:] to perform all the work +of a dynamic viewport size update, but instead of animating the old content, it is hidden. + +The patch is built on top of the animated resize mechanism. Instead of having an animation driving +the beginning and end, we let the content do that. The dynamic resize begins, it runs for as long as +the WebProcess needs, and it ends when first layer tree commit with the new content is processed. + +The attribute _isAnimatingResize is generalized to support two modes of resizing: animated and +hiding content. + +The attribute _hasCommittedLoadForMainFrame is rather silly. It is only needed because +[WKWebView _resizeWhileHidingContentWithUpdates:] is intended to be called a lot before the page +is initialized, and doing an animated resize would trash the WebProcess state. +I wish I had a better solution, this is not great. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _processDidExit]): +(-[WKWebView _didCommitLoadForMainFrame]): +(-[WKWebView _didCommitLayerTree:]): +This is the key to make this work properly. We want _resizeWhileHidingContentWithUpdates: to behave +exactly like an animated resize to avoid bugs. So we went to the whole update mechanism using +_resizeAnimationTransformAdjustments to accumulate the adjustments, now we need to restore a correct +view state. + +Calling [WKWebView _endAnimatedResize] will do exactly that, but we need to make sure we do not hit +the synchronization path or we would be blocked there for a while, which is what we are trying to avoid. + +After r171154, WebPageProxy keeps track of what stage of dynamic viewport update we are in. Since we are +executing the layer tree update stage, with the right transaction ID, WebPageProxy already knows we have +everything we need and does not use any synchronous messages. + +(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]): +(-[WKWebView _restorePageStateToExposedRect:scale:]): +(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]): +(-[WKWebView _scrollToContentOffset:]): +(-[WKWebView _frameOrBoundsChanged]): +(-[WKWebView _updateVisibleContentRects]): +(-[WKWebView _setMinimumLayoutSizeOverride:]): +(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]): +(-[WKWebView _setInterfaceOrientationOverride:]): +(-[WKWebView _setMaximumUnobscuredSizeOverride:]): +(-[WKWebView _beginAnimatedResizeWithUpdates:]): +(-[WKWebView _endAnimatedResize]): +(-[WKWebView _resizeWhileHidingContentWithUpdates:]): +* UIProcess/API/Cocoa/WKWebViewPrivate.h: + +2014-07-24 Babak Shafiei bshaf...@apple.com + Merge r171518 2014-07-24 Tim Horton timothy_hor...@apple.com Modified: tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (171528 => 171529) --- tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-07-24 22:11:12 UTC (rev 171528) +++ tags/Safari-600.1.2.1/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-07-24 22:11:15 UTC (rev 171529) @@ -118,6 +118,13 @@ - (UIViewController *)_rootAncestorViewController; - (UIViewController *)_viewControllerForSupportedInterfaceOrientations; @end + +enum class DynamicViewportUpdateMode { +NotResizing, +ResizingWithAnimation, +ResizingWithDocumentHidden, +}; + #endif #if PLATFORM(MAC) @@ -167,9 +174,10 @@ UIInterfaceOrientation _interfaceOrientationOverride; BOOL _overridesInterfaceOrientation; +BOOL
[webkit-changes] [171530] tags/Safari-537.78.1/
Title: [171530] tags/Safari-537.78.1/ Revision 171530 Author matthew_han...@apple.com Date 2014-07-24 15:15:45 -0700 (Thu, 24 Jul 2014) Log Message New Tag. Added Paths tags/Safari-537.78.1/ Diff Property changes: tags/Safari-537.78.1 Added: svn:ignore depcomp compile config.guess GNUmakefile.in config.sub ltmain.sh aconfig.h.in autom4te.cache missing aclocal.m4 install-sh autotoolsconfig.h.in INSTALL README gtk-doc.make out Makefile.chromium WebKitSupportLibrary.zip WebKitBuild Added: svn:mergeinfo ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171531] trunk/Source/WebCore
Title: [171531] trunk/Source/WebCore Revision 171531 Author commit-qu...@webkit.org Date 2014-07-24 15:17:58 -0700 (Thu, 24 Jul 2014) Log Message Let WheelEvent wrap a PlatformWheelEvent https://bugs.webkit.org/show_bug.cgi?id=135244 When WheelEvent is initialized with a PlatformWheelEvent, store that PlatformWheelEvent for future use. Patch by Wenson Hsieh wenson_hs...@apple.com on 2014-07-24 Reviewed by Beth Dakin. No new tests because behavior should not have changed. * dom/WheelEvent.cpp: Added method to access the PlatformWheelEvent. (WebCore::WheelEvent::WheelEvent): * dom/WheelEvent.h: Added field to store PlatformWheelEvent, if initialized via PlatformWheelEvent. (WebCore::WheelEvent::wheelEvent): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/WheelEvent.cpp trunk/Source/WebCore/dom/WheelEvent.h Diff Modified: trunk/Source/WebCore/ChangeLog (171530 => 171531) --- trunk/Source/WebCore/ChangeLog 2014-07-24 22:15:45 UTC (rev 171530) +++ trunk/Source/WebCore/ChangeLog 2014-07-24 22:17:58 UTC (rev 171531) @@ -1,3 +1,19 @@ +2014-07-24 Wenson Hsieh wenson_hs...@apple.com + +Let WheelEvent wrap a PlatformWheelEvent +https://bugs.webkit.org/show_bug.cgi?id=135244 + +When WheelEvent is initialized with a PlatformWheelEvent, store that PlatformWheelEvent for future use. + +Reviewed by Beth Dakin. + +No new tests because behavior should not have changed. + +* dom/WheelEvent.cpp: Added method to access the PlatformWheelEvent. +(WebCore::WheelEvent::WheelEvent): +* dom/WheelEvent.h: Added field to store PlatformWheelEvent, if initialized via PlatformWheelEvent. +(WebCore::WheelEvent::wheelEvent): + 2014-07-24 Brian J. Burg b...@cs.washington.edu Web Replay: don't encode/decode primitive types that lack explicit sizes Modified: trunk/Source/WebCore/dom/WheelEvent.cpp (171530 => 171531) --- trunk/Source/WebCore/dom/WheelEvent.cpp 2014-07-24 22:15:45 UTC (rev 171530) +++ trunk/Source/WebCore/dom/WheelEvent.cpp 2014-07-24 22:17:58 UTC (rev 171531) @@ -76,6 +76,7 @@ , m_deltaZ(0) , m_deltaMode(determineDeltaMode(event)) , m_directionInvertedFromDevice(event.directionInvertedFromDevice()) +, m_wheelEvent(std::make_uniquePlatformWheelEvent(event)) #if PLATFORM(MAC) , m_phase(event.phase()) , m_momentumPhase(event.momentumPhase()) Modified: trunk/Source/WebCore/dom/WheelEvent.h (171530 => 171531) --- trunk/Source/WebCore/dom/WheelEvent.h 2014-07-24 22:15:45 UTC (rev 171530) +++ trunk/Source/WebCore/dom/WheelEvent.h 2014-07-24 22:17:58 UTC (rev 171531) @@ -77,6 +77,7 @@ int screenX, int screenY, int pageX, int pageY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey); +const PlatformWheelEvent* wheelEvent() const { return m_wheelEvent.get(); } double deltaX() const { return m_deltaX; } // Positive when scrolling right. double deltaY() const { return m_deltaY; } // Positive when scrolling down. double deltaZ() const { return m_deltaZ; } @@ -110,6 +111,7 @@ double m_deltaZ; unsigned m_deltaMode; bool m_directionInvertedFromDevice; +std::unique_ptrPlatformWheelEvent m_wheelEvent; #if PLATFORM(MAC) PlatformWheelEventPhase m_phase; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171532] trunk/Source
Title: [171532] trunk/Source Revision 171532 Author benja...@webkit.org Date 2014-07-24 15:25:59 -0700 (Thu, 24 Jul 2014) Log Message [WK2] Fixed/Sticky layers can get mispositioned when the layer tree commit change their position or size https://bugs.webkit.org/show_bug.cgi?id=135227 rdar://problem/17279500 Reviewed by Simon Fraser. Source/WebCore: Keep track of the creation/destruction of Fixed and Sticky nodes in the ScrollingTree. * page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::ScrollingTree): * page/scrolling/ScrollingTree.h: (WebCore::ScrollingTree::hasFixedOrSticky): (WebCore::ScrollingTree::fixedOrStickyNodeAdded): (WebCore::ScrollingTree::fixedOrStickyNodeRemoved): * page/scrolling/mac/ScrollingTreeFixedNode.mm: (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode): (WebCore::ScrollingTreeFixedNode::~ScrollingTreeFixedNode): * page/scrolling/mac/ScrollingTreeStickyNode.mm: (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode): (WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode): Source/WebKit2: In some cases, a fixed or sticky positioned layer would end up at its position corresponding to the WebProcess instead of sticking the to real viewport in the UIProcess. The sequence of event is: 1) A layer becomes fixed in some ScrollingTree transaction. 2) Later, some change in the WebProcess causes a LayerTree update for that exact same layer, but no corresponding ScrollingTree update is made. 3) In the UIProcess, the position of the fixed layer is changed due to the LayerTree update. But! There is no ScrollingTree change, updateScrollingTree() never sets fixedOrStickyLayerChanged to true, and the position is not corrected. - The layer is now at the wrong position until the next VisibleContentRectUpdate. Ideally, we should have fixedOrStickyLayerChanged track if either the position or size of a fixed layer changed in the layer tree. This is tricky since the layer tree does not keep track of the fixed nodes of the scrolling tree. Since this complexity seems risky at this point, I went for something simpler but with more overhead: any time the scrolling tree contains either a fixed or sticky layer, viewportChangedViaDelegatedScrolling() is called to fix the position. * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: (WebKit::RemoteScrollingCoordinatorProxy::hasFixedOrSticky): * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp trunk/Source/WebCore/page/scrolling/ScrollingTree.h trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h trunk/Source/WebKit2/UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm Diff Modified: trunk/Source/WebCore/ChangeLog (171531 => 171532) --- trunk/Source/WebCore/ChangeLog 2014-07-24 22:17:58 UTC (rev 171531) +++ trunk/Source/WebCore/ChangeLog 2014-07-24 22:25:59 UTC (rev 171532) @@ -1,3 +1,26 @@ +2014-07-24 Benjamin Poulain benja...@webkit.org + +[WK2] Fixed/Sticky layers can get mispositioned when the layer tree commit change their position or size +https://bugs.webkit.org/show_bug.cgi?id=135227 +rdar://problem/17279500 + +Reviewed by Simon Fraser. + +Keep track of the creation/destruction of Fixed and Sticky nodes in the ScrollingTree. + +* page/scrolling/ScrollingTree.cpp: +(WebCore::ScrollingTree::ScrollingTree): +* page/scrolling/ScrollingTree.h: +(WebCore::ScrollingTree::hasFixedOrSticky): +(WebCore::ScrollingTree::fixedOrStickyNodeAdded): +(WebCore::ScrollingTree::fixedOrStickyNodeRemoved): +* page/scrolling/mac/ScrollingTreeFixedNode.mm: +(WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode): +(WebCore::ScrollingTreeFixedNode::~ScrollingTreeFixedNode): +* page/scrolling/mac/ScrollingTreeStickyNode.mm: +(WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode): +(WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode): + 2014-07-24 Wenson Hsieh wenson_hs...@apple.com Let WheelEvent wrap a PlatformWheelEvent Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp (171531 => 171532) ---
[webkit-changes] [171533] branches/safari-600.1-branch/Source/WebCore
Title: [171533] branches/safari-600.1-branch/Source/WebCore Revision 171533 Author lforsch...@apple.com Date 2014-07-24 15:27:47 -0700 (Thu, 24 Jul 2014) Log Message Merged r171478. rdar://problem/17736503 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171532 => 171533) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 22:25:59 UTC (rev 171532) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 22:27:47 UTC (rev 171533) @@ -1,3 +1,19 @@ +2014-07-24 Lucas Forschler lforsch...@apple.com + +Merge r171478 + +2014-07-23 Jer Noble jer.no...@apple.com + +[MSE][Mac] Support abort() in SourceBufferPrivateAVFObjC. +https://bugs.webkit.org/show_bug.cgi?id=135163 + +Reviewed by Brent Fulgham. + +Recreate the parser when asked to abort(). + +* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: +(WebCore::SourceBufferPrivateAVFObjC::abort): + 2014-07-23 Matthew Hanson matthew_han...@apple.com Merge r171499. rdar://problem/17783423 Modified: branches/safari-600.1-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (171532 => 171533) --- branches/safari-600.1-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm 2014-07-24 22:25:59 UTC (rev 171532) +++ branches/safari-600.1-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm 2014-07-24 22:27:47 UTC (rev 171533) @@ -721,7 +721,12 @@ void SourceBufferPrivateAVFObjC::abort() { -notImplemented(); +// The parser does not have a mechanism for resetting to a clean state, so destroy and re-create it. +// FIXME(135164): Support resetting parser to the last appended initialization segment. +destroyParser(); + +m_parser = adoptNS([[getAVStreamDataParserClass() alloc] init]); +m_delegate = adoptNS([[WebAVStreamDataParserListener alloc] initWithParser:m_parser.get() parent:createWeakPtr()]); } void SourceBufferPrivateAVFObjC::destroyParser() ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171534] branches/safari-600.1-branch/Source/WebCore
Title: [171534] branches/safari-600.1-branch/Source/WebCore Revision 171534 Author lforsch...@apple.com Date 2014-07-24 15:29:55 -0700 (Thu, 24 Jul 2014) Log Message Merged r171481. rdar://problem/17713033 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.cpp branches/safari-600.1-branch/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171533 => 171534) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 22:27:47 UTC (rev 171533) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 22:29:55 UTC (rev 171534) @@ -1,5 +1,29 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171481 + +2014-07-23 Joseph Pecoraro pecor...@apple.com + +JSDOMWindowShell leaks on pages with media elements +https://bugs.webkit.org/show_bug.cgi?id=135178 + +Reviewed by Oliver Hunt. + +The DOMWindowWorld for HTMLMediaElements with MEDIA_CONTROLS_SCRIPT +was not getting cleared and removed. + +* bindings/js/ScriptController.cpp: +(WebCore::ScriptController::clearWindowShell): +Iterate over a copy of the values. A sweep / garbage collection caused by +any JSC allocation during iteration could trigger a mutation of the m_windowShells +table that was being iterating. So instead iterate a list that won't mutate. + +* html/HTMLMediaElement.cpp: +(WebCore::HTMLMediaElement::~HTMLMediaElement): +If we had an isolated world, release as much memory as possible. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171478 2014-07-23 Jer Noble jer.no...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.cpp (171533 => 171534) --- branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.cpp 2014-07-24 22:27:47 UTC (rev 171533) +++ branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.cpp 2014-07-24 22:29:55 UTC (rev 171534) @@ -182,9 +182,12 @@ JSLockHolder lock(JSDOMWindowBase::commonVM()); -for (ShellMap::iterator iter = m_windowShells.begin(); iter != m_windowShells.end(); ++iter) { -JSDOMWindowShell* windowShell = iter-value.get(); +VectorJSC::StrongJSDOMWindowShell windowShells; +copyValuesToVector(m_windowShells, windowShells); +for (size_t i = 0; i windowShells.size(); ++i) { +JSDOMWindowShell* windowShell = windowShells[i].get(); + if (windowShell-window()-impl() == newDOMWindow) continue; Modified: branches/safari-600.1-branch/Source/WebCore/html/HTMLMediaElement.cpp (171533 => 171534) --- branches/safari-600.1-branch/Source/WebCore/html/HTMLMediaElement.cpp 2014-07-24 22:27:47 UTC (rev 171533) +++ branches/safari-600.1-branch/Source/WebCore/html/HTMLMediaElement.cpp 2014-07-24 22:29:55 UTC (rev 171534) @@ -416,6 +416,11 @@ setMediaKeys(0); #endif +#if ENABLE(MEDIA_CONTROLS_SCRIPT) +if (m_isolatedWorld) +m_isolatedWorld-clearWrappers(); +#endif + m_completelyLoaded = true; if (m_player) m_player-clearMediaPlayerClient(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171535] branches/safari-600.1-branch/Tools
Title: [171535] branches/safari-600.1-branch/Tools Revision 171535 Author lforsch...@apple.com Date 2014-07-24 15:34:43 -0700 (Thu, 24 Jul 2014) Log Message Merged r171487. rdar://problem/17735912 Modified Paths branches/safari-600.1-branch/Tools/ChangeLog branches/safari-600.1-branch/Tools/TestWebKitAPI/Configurations/Base.xcconfig Diff Modified: branches/safari-600.1-branch/Tools/ChangeLog (171534 => 171535) --- branches/safari-600.1-branch/Tools/ChangeLog 2014-07-24 22:29:55 UTC (rev 171534) +++ branches/safari-600.1-branch/Tools/ChangeLog 2014-07-24 22:34:43 UTC (rev 171535) @@ -1,3 +1,16 @@ +2014-07-24 Lucas Forschler lforsch...@apple.com + +Merge r171487 + +2014-07-23 Joseph Pecoraro pecor...@apple.com + +Unreviewed iOS build fix after r171355. + +* TestWebKitAPI/Configurations/Base.xcconfig: +Since all the Tests/WebKit2Cocoa tests are already explicitly skipped on iOS, +simplify to skipping all the tests in the directory. PlatformUtilities are not +building on iOS, which means we are missing necessary Util functions. + 2014-07-23 Lucas Forschler lforsch...@apple.com Merge r171355 Modified: branches/safari-600.1-branch/Tools/TestWebKitAPI/Configurations/Base.xcconfig (171534 => 171535) --- branches/safari-600.1-branch/Tools/TestWebKitAPI/Configurations/Base.xcconfig 2014-07-24 22:29:55 UTC (rev 171534) +++ branches/safari-600.1-branch/Tools/TestWebKitAPI/Configurations/Base.xcconfig 2014-07-24 22:34:43 UTC (rev 171535) @@ -64,7 +64,7 @@ EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME)); EXCLUDED_SOURCE_FILE_NAMES_macosx = *IOS.h *IOS.cpp *IOS.mm; -EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *Mac.h *Mac.cpp *Mac.mm *InjectedBundle* *PlatformUtilities* Tests/WebKit2/* Tests/WebKit2ObjC/* *_Bundle* _javascript_Test.* */mac/* CustomProtocolsSyncXHRTest.mm Tests/WebKit2Cocoa/Navigation.mm Tests/WebKit2Cocoa/Download.mm; +EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *Mac.h *Mac.cpp *Mac.mm *InjectedBundle* *PlatformUtilities* Tests/WebKit2/* Tests/WebKit2ObjC/* *_Bundle* _javascript_Test.* */mac/* CustomProtocolsSyncXHRTest.mm Tests/WebKit2Cocoa/*; EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos); TOOLCHAINS = $(TOOLCHAINS_$(PLATFORM_NAME)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171536] branches/safari-600.1-branch/Source/WebKit2
Title: [171536] branches/safari-600.1-branch/Source/WebKit2 Revision 171536 Author lforsch...@apple.com Date 2014-07-24 15:37:01 -0700 (Thu, 24 Jul 2014) Log Message Merged r171493. rdar://problem/17785560 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171535 => 171536) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:34:43 UTC (rev 171535) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:37:01 UTC (rev 171536) @@ -1,3 +1,21 @@ +2014-07-24 Lucas Forschler lforsch...@apple.com + +Merge r171493 + +2014-07-23 Oliver Hunt oli...@apple.com + +Add a pseudo target to create sandbox override roots +https://bugs.webkit.org/show_bug.cgi?id=135216 +rdar://17785560 + +Reviewed by Alexey Proskuryakov. + +Just a duplicate of the standard ios sandbox target, targetting +the profile overrides directory. This means we can make roots +that Just Work. + +* WebKit2.xcodeproj/project.pbxproj: + 2014-07-23 Matthew Hanson matthew_han...@apple.com Merged r171490. rdar://problem/17739108 Modified: branches/safari-600.1-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (171535 => 171536) --- branches/safari-600.1-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2014-07-24 22:34:43 UTC (rev 171535) +++ branches/safari-600.1-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2014-07-24 22:37:01 UTC (rev 171536) @@ -45,6 +45,17 @@ name = WebKit2SandboxProfiles; productName = WebKit2SandboxProfiles; }; + A7C0DC2D19804DEE00253CED /* WebKit2SandboxProfiles-IOSOverride */ = { + isa = PBXAggregateTarget; + buildConfigurationList = A7C0DC3219804DEE00253CED /* Build configuration list for PBXAggregateTarget WebKit2SandboxProfiles-IOSOverride */; + buildPhases = ( +A7C0DC2E19804DEE00253CED /* CopyFiles */, + ); + dependencies = ( + ); + name = WebKit2SandboxProfiles-IOSOverride; + productName = WebKit2SandboxProfiles; + }; C0CE72851247E66800BC0EC4 /* Derived Sources */ = { isa = PBXAggregateTarget; buildConfigurationList = C0CE72891247E68600BC0EC4 /* Build configuration list for PBXAggregateTarget Derived Sources */; @@ -1112,6 +1123,9 @@ A78CCDDA193AC9F4005ECC25 /* com.apple.WebKit.Databases.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = A78CCDD7193AC9E3005ECC25 /* com.apple.WebKit.Databases.sb */; }; A78CCDDB193AC9F8005ECC25 /* com.apple.WebKit.Networking.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = A78CCDD8193AC9E3005ECC25 /* com.apple.WebKit.Networking.sb */; }; A78CCDDC193AC9FB005ECC25 /* com.apple.WebKit.WebContent.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = A78CCDD9193AC9E3005ECC25 /* com.apple.WebKit.WebContent.sb */; }; + A7C0DC2F19804DEE00253CED /* com.apple.WebKit.Databases.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = A78CCDD7193AC9E3005ECC25 /* com.apple.WebKit.Databases.sb */; }; + A7C0DC3019804DEE00253CED /* com.apple.WebKit.Networking.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = A78CCDD8193AC9E3005ECC25 /* com.apple.WebKit.Networking.sb */; }; + A7C0DC3119804DEE00253CED /* com.apple.WebKit.WebContent.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = A78CCDD9193AC9E3005ECC25 /* com.apple.WebKit.WebContent.sb */; }; A7D792D61767CB6E00881CBE /* ActivityAssertion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7D792D51767CB6E00881CBE /* ActivityAssertion.cpp */; }; A7D792D81767CCA300881CBE /* ActivityAssertion.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D792D41767CB0900881CBE /* ActivityAssertion.h */; }; A7E93CED1925331100A1DC48 /* ChildProcessIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = A7E93CEB192531AA00A1DC48 /* ChildProcessIOS.mm */; }; @@ -1957,6 +1971,18 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + A7C0DC2E19804DEE00253CED /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/local/share/sandbox; + dstSubfolderSpec = 0; + files = ( +A7C0DC2F19804DEE00253CED /* com.apple.WebKit.Databases.sb in CopyFiles */, +A7C0DC3019804DEE00253CED /* com.apple.WebKit.Networking.sb in CopyFiles */, +A7C0DC3119804DEE00253CED /* com.apple.WebKit.WebContent.sb in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; BCDE093C13272496001259FB /* Copy Plug-in Process Shim */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -8221,6 +8247,7 @@ 51F7DC3F180CC93600212CA3 /* Databases */, 5180C713180CCA3100FDA612 /* Databases.Development */, A7AADA1019395CA9003EA1C7 /* WebKit2SandboxProfiles */, +A7C0DC2D19804DEE00253CED /* WebKit2SandboxProfiles-IOSOverride */, ); }; /* End PBXProject section */ @@
[webkit-changes] [171537] branches/safari-600.1-branch/Source/WebCore
Title: [171537] branches/safari-600.1-branch/Source/WebCore Revision 171537 Author lforsch...@apple.com Date 2014-07-24 15:39:04 -0700 (Thu, 24 Jul 2014) Log Message Merged r171506. rdar://problem/17796052 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171536 => 171537) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 22:37:01 UTC (rev 171536) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 22:39:04 UTC (rev 171537) @@ -1,5 +1,21 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171506 + +2014-07-23 Jeremy Jones jere...@apple.com + +Transparent fullscreen background when video is not present. +https://bugs.webkit.org/show_bug.cgi?id=135226 + +Reviewed by Simon Fraser. + +Set background to black just before beginning the animation to fullscreen. + +* platform/ios/WebVideoFullscreenInterfaceAVKit.mm: +(WebVideoFullscreenInterfaceAVKit::enterFullscreen): set background color black. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171481 2014-07-23 Joseph Pecoraro pecor...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm (171536 => 171537) --- branches/safari-600.1-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm 2014-07-24 22:37:01 UTC (rev 171536) +++ branches/safari-600.1-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm 2014-07-24 22:39:04 UTC (rev 171537) @@ -785,6 +785,7 @@ __block RefPtrWebVideoFullscreenInterfaceAVKit protect(this); dispatch_async(dispatch_get_main_queue(), ^{ +[[m_playerViewController view] setBackgroundColor:[getUIColorClass() blackColor]]; [m_playerViewController enterFullScreenWithCompletionHandler:^(BOOL, NSError*) { [m_playerViewController setShowsPlaybackControls:YES]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171538] branches/safari-600.1-branch/Source/WebKit2
Title: [171538] branches/safari-600.1-branch/Source/WebKit2 Revision 171538 Author lforsch...@apple.com Date 2014-07-24 15:40:50 -0700 (Thu, 24 Jul 2014) Log Message Merged r171507. rdar://problem/17738186 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171537 => 171538) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:39:04 UTC (rev 171537) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:40:50 UTC (rev 171538) @@ -1,5 +1,41 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171507 + +2014-07-23 Benjamin Poulain bpoul...@apple.com + +[iOS][WK2] r171124 is incorrect when the virtual keyboard is up +https://bugs.webkit.org/show_bug.cgi?id=135187 + +Reviewed by Simon Fraser. + +Unfortunately, restricting the input into the document rect does not work. +When the keyboard is up, the keyboard bounds can overlap the WKWebView, and +the valid range should account for that. + +Instead of playing with the keyboard rect, we can limit the scroll position +inside the valid range of UIScrollView. The keyboard always adjusts the UIScrollView +range as needed to give access to the content. Using that range is a bit more permissive +because the page could scroll to reveal content in the content inset defined by the client +of the API (this could actually be quite useful for hybrid apps). + +There was already a function to change the content offset in the valid scrollview +range: changeContentOffsetBoundedInValidRange(), I extracted the range check +to contentOffsetBoundedInValidRange() for the needs of -[WKWebView _scrollToContentOffset:]. + +So...contentOffsetBoundedInValidRange() is cool, but it is not in the right coordinate +system. The scroll position we get from the WebProcess is in document coordinates, while +contentOffsetBoundedInValidRange() works with the UIScrollView coordinates. +To fix that, we scale the input position to get to the same scale as UIScrollView, then +apply the insets with the weirdly named [WKWebView _adjustedContentOffset:]. + +* UIProcess/API/Cocoa/WKWebView.mm: +(contentOffsetBoundedInValidRange): +(changeContentOffsetBoundedInValidRange): +(-[WKWebView _scrollToContentOffset:]): + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171493 2014-07-23 Oliver Hunt oli...@apple.com Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (171537 => 171538) --- branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-07-24 22:39:04 UTC (rev 171537) +++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-07-24 22:40:50 UTC (rev 171538) @@ -773,25 +773,27 @@ _usesMinimalUI = NO; } -static void changeContentOffsetBoundedInValidRange(UIScrollView *scrollView, WebCore::FloatPoint contentOffset) +static CGPoint contentOffsetBoundedInValidRange(UIScrollView *scrollView, CGPoint contentOffset) { UIEdgeInsets contentInsets = scrollView.contentInset; CGSize contentSize = scrollView.contentSize; CGSize scrollViewSize = scrollView.bounds.size; -float maxHorizontalOffset = contentSize.width + contentInsets.right - scrollViewSize.width; -if (contentOffset.x() maxHorizontalOffset) -contentOffset.setX(maxHorizontalOffset); -float maxVerticalOffset = contentSize.height + contentInsets.bottom - scrollViewSize.height; -if (contentOffset.y() maxVerticalOffset) -contentOffset.setY(maxVerticalOffset); -if (contentOffset.x() -contentInsets.left) -contentOffset.setX(-contentInsets.left); -if (contentOffset.y() -contentInsets.top) -contentOffset.setY(-contentInsets.top); -scrollView.contentOffset = contentOffset; +CGFloat maxHorizontalOffset = contentSize.width + contentInsets.right - scrollViewSize.width; +contentOffset.x = std::min(maxHorizontalOffset, contentOffset.x); +contentOffset.x = std::max(-contentInsets.left, contentOffset.x); + +CGFloat maxVerticalOffset = contentSize.height + contentInsets.bottom - scrollViewSize.height; +contentOffset.y = std::min(maxVerticalOffset, contentOffset.y); +contentOffset.y = std::max(-contentInsets.top, contentOffset.y); +return contentOffset; } +static void changeContentOffsetBoundedInValidRange(UIScrollView *scrollView, WebCore::FloatPoint contentOffset) +{ +scrollView.contentOffset = contentOffsetBoundedInValidRange(scrollView, contentOffset); +} + // WebCore stores the page scale factor as float instead of
[webkit-changes] [171539] branches/safari-600.1-branch/Source/WebKit2
Title: [171539] branches/safari-600.1-branch/Source/WebKit2 Revision 171539 Author lforsch...@apple.com Date 2014-07-24 15:42:40 -0700 (Thu, 24 Jul 2014) Log Message Merged r171509. rdar://problem/17790792 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171538 => 171539) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:40:50 UTC (rev 171538) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:42:40 UTC (rev 171539) @@ -1,5 +1,31 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171509 + +2014-07-23 Simon Fraser simon.fra...@apple.com + +[iOS WK2] Some help.apple.com pages not scrollable +https://bugs.webkit.org/show_bug.cgi?id=135228 +rdar://problem/17790792 + +Reviewed by Benjamin Poulain. + +On pages which size their document to the device size, the WKContentView size +never changes after it's created. In this situation, we never set a bounds +on the _rootContentView, so it remains zero-sized which breaks hit testing +on all enclosed UIScrollViews for overflow:scroll. + +Fix by making the _rootContentView and the _inspectorIndicationView use autosizing +so they are always the size of their parent view, and remove the explicit setting +of their bounds. + +* UIProcess/ios/WKContentView.mm: +(-[WKContentView initWithFrame:context:configuration:webView:]): +(-[WKContentView setShowingInspectorIndication:]): +(-[WKContentView _didCommitLayerTree:]): + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171507 2014-07-23 Benjamin Poulain bpoul...@apple.com Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm (171538 => 171539) --- branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 22:40:50 UTC (rev 171538) +++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 22:42:40 UTC (rev 171539) @@ -206,7 +206,8 @@ _rootContentView = adoptNS([[UIView alloc] init]); [_rootContentView layer].masksToBounds = NO; - +[_rootContentView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; + _fixedClippingView = adoptNS([[UIView alloc] init]); [_fixedClippingView layer].masksToBounds = YES; [_fixedClippingView layer].anchorPoint = CGPointZero; @@ -313,6 +314,7 @@ if (show) { if (!_inspectorIndicationView) { _inspectorIndicationView = adoptNS([[WKInspectorIndicationView alloc] initWithFrame:[self bounds]]); +[_inspectorIndicationView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; [self insertSubview:_inspectorIndicationView.get() aboveSubview:_rootContentView.get()]; } } else { @@ -443,11 +445,8 @@ CGRect oldBounds = [self bounds]; BOOL boundsChanged = !CGRectEqualToRect(oldBounds, contentBounds); -if (boundsChanged) { +if (boundsChanged) [self setBounds:contentBounds]; -[_rootContentView setFrame:contentBounds]; -[_inspectorIndicationView setFrame:contentBounds]; -} [_webView _didCommitLayerTree:layerTreeTransaction]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171540] trunk/Source
Title: [171540] trunk/Source Revision 171540 Author m...@apple.com Date 2014-07-24 15:51:12 -0700 (Thu, 24 Jul 2014) Log Message Source/WebCore: rdar://problem/17766348 [Cocoa] WebCore::ProtectionSpace doesn’t preserve all NSURLProtectionSpace properties, such as the distinguishedNames array https://bugs.webkit.org/show_bug.cgi?id=135229 Reviewed by Alexey Proskuryakov. * CMakeLists.txt: Updated for rename of a source file. * WebCore.exp.in: Updated. * WebCore.vcxproj/WebCore.vcxproj: Updated for rename of source files, added ProtectionSpaceCFNet.{cpp,h}. * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. * WebCore.xcodeproj/project.pbxproj: Updated for rename of source files, added ProtectionSpaceCococa.{h.mm}. * platform/network/ProtectionSpace.cpp: Renamed to ProtectionSpaceBase.cpp. * platform/network/ProtectionSpace.h: This file was renamed to ProtectionSpaceBase.h, and in its place added a generic ProtectionSpace class that just derives from ProtectionSpaceBase. For Cocoa and CFNetwork, ProtectionSpace{Cocoa,CFNet}.h is included instead of the generic class. * platform/network/ProtectionSpaceBase.cpp: Renamed ProtectionSpace.cpp to this. (WebCore::ProtectionSpaceBase::ProtectionSpaceBase): Updated for rename. (WebCore::ProtectionSpaceBase::host): Ditto. (WebCore::ProtectionSpaceBase::port): Ditto. (WebCore::ProtectionSpaceBase::serverType): Ditto. (WebCore::ProtectionSpaceBase::isProxy): Ditto. (WebCore::ProtectionSpaceBase::realm): Ditto. (WebCore::ProtectionSpaceBase::authenticationScheme): Ditto. (WebCore::ProtectionSpaceBase::receivesCredentialSecurely): Removed CFNetwork-specific part, which is now implemented in ProtectionSpaceCFNet.cpp. (WebCore::ProtectionSpaceBase::compare): Replaced operator== with this, and made it call ProtectionSpace::platformCompare at the end if needed. * platform/network/ProtectionSpaceBase.h: Renamed ProtectionSpace.h to this. (WebCore::ProtectionSpaceBase::encodingRequiresPlatformData): Added with a default implementation that returns false, for ProtectionSpace implementations to override. (WebCore::ProtectionSpaceBase::platformCompare): Added with a default implementation that returns true, for ProtectionSpace implementations to override. (WebCore::operator==): Changed to call compare. * platform/network/cf/AuthenticationCF.cpp: (WebCore::AuthenticationChallenge::AuthenticationChallenge): Changed to use the ProtectionSpace constructor that takes a CFURLProtectionSpaceRef. (WebCore::createCF): Changed to use ProtectionSpace::cfSpace. * platform/network/cf/AuthenticationCF.h: Guarded a couple of functiosn that aren’t used in Cocoa with #if PLATFORM(WIN). * platform/network/cf/CredentialStorageCFNet.cpp: (WebCore::CredentialStorage::getFromPersistentStorage): Changed to use ProtectionSpace::cfSpace. (WebCore::CredentialStorage::saveToPersistentStorage): Ditto. * platform/network/cf/ProtectionSpaceCFNet.cpp: Added. (WebCore::ProtectionSpaceBase::receivesCredentialSecurely): Override with the CFNetwork-specific test that was previously in ProtectionSpace.cpp. * platform/network/cf/ProtectionSpaceCFNet.h: Copied from Source/WebCore/platform/network/ProtectionSpace.h. Declare ProtectionSpace and override receivesCredentialSecurely. * platform/network/mac/AuthenticationMac.h: Deleted the ProtectionSpace core() and mac(). * platform/network/mac/AuthenticationMac.mm: (WebCore::AuthenticationChallenge::AuthenticationChallenge): Changed to use the ProtectionSpace constructor that takes an NSURLProtectionSpace. (WebCore::mac): Changed to use ProtectionSpace::nsSpace. * platform/network/mac/CredentialStorageMac.mm: (WebCore::CredentialStorage::getFromPersistentStorage): Ditto. * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::receivedCredential): Changed to use the ProtectionSpace constructor that takes an NSURLProtectionSpace. * platform/network/mac/WebCoreResourceHandleAsDelegate.mm: (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Ditto. * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm: (-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]): Ditto. Source/WebKit/mac: WebKit part of rdar://problem/17766348 [Cocoa] WebCore::ProtectionSpace doesn’t preserve all NSURLProtectionSpace properties, such as the distinguishedNames array https://bugs.webkit.org/show_bug.cgi?id=135229 Reviewed by Alexey Proskuryakov. * Misc/WebDownload.mm: (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Chanegd to use the ProtectionSpace constructor that takes an NSURLProtectionSpace. * Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ditto. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Changed to use ProtectionSpace::nsSpace. Source/WebKit2: WebKit2 part of rdar://problem/17766348 [Cocoa] WebCore::ProtectionSpace doesn’t preserve all
[webkit-changes] [171541] branches/safari-600.1-branch/Source/WebKit2
Title: [171541] branches/safari-600.1-branch/Source/WebKit2 Revision 171541 Author lforsch...@apple.com Date 2014-07-24 15:54:18 -0700 (Thu, 24 Jul 2014) Log Message Merged r171201. rdar://problem/17082607 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171540 => 171541) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:51:12 UTC (rev 171540) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:54:18 UTC (rev 171541) @@ -1,5 +1,62 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171201 + +2014-07-17 Benjamin Poulain benja...@webkit.org + +[iOS][WK2] Add SPI to do a dynamic viewport update without showing any content +https://bugs.webkit.org/show_bug.cgi?id=135010 + +Reviewed by Darin Adler. + +This patch add a new SPI, [WKWebView _resizeWhileHidingContentWithUpdates:] to perform all the work +of a dynamic viewport size update, but instead of animating the old content, it is hidden. + +The patch is built on top of the animated resize mechanism. Instead of having an animation driving +the beginning and end, we let the content do that. The dynamic resize begins, it runs for as long as +the WebProcess needs, and it ends when first layer tree commit with the new content is processed. + +The attribute _isAnimatingResize is generalized to support two modes of resizing: animated and +hiding content. + +The attribute _hasCommittedLoadForMainFrame is rather silly. It is only needed because +[WKWebView _resizeWhileHidingContentWithUpdates:] is intended to be called a lot before the page +is initialized, and doing an animated resize would trash the WebProcess state. +I wish I had a better solution, this is not great. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _processDidExit]): +(-[WKWebView _didCommitLoadForMainFrame]): +(-[WKWebView _didCommitLayerTree:]): +This is the key to make this work properly. We want _resizeWhileHidingContentWithUpdates: to behave +exactly like an animated resize to avoid bugs. So we went to the whole update mechanism using +_resizeAnimationTransformAdjustments to accumulate the adjustments, now we need to restore a correct +view state. + +Calling [WKWebView _endAnimatedResize] will do exactly that, but we need to make sure we do not hit +the synchronization path or we would be blocked there for a while, which is what we are trying to avoid. + +After r171154, WebPageProxy keeps track of what stage of dynamic viewport update we are in. Since we are +executing the layer tree update stage, with the right transaction ID, WebPageProxy already knows we have +everything we need and does not use any synchronous messages. + +(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]): +(-[WKWebView _restorePageStateToExposedRect:scale:]): +(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]): +(-[WKWebView _scrollToContentOffset:]): +(-[WKWebView _frameOrBoundsChanged]): +(-[WKWebView _updateVisibleContentRects]): +(-[WKWebView _setMinimumLayoutSizeOverride:]): +(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]): +(-[WKWebView _setInterfaceOrientationOverride:]): +(-[WKWebView _setMaximumUnobscuredSizeOverride:]): +(-[WKWebView _beginAnimatedResizeWithUpdates:]): +(-[WKWebView _endAnimatedResize]): +(-[WKWebView _resizeWhileHidingContentWithUpdates:]): +* UIProcess/API/Cocoa/WKWebViewPrivate.h: + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171509 2014-07-23 Simon Fraser simon.fra...@apple.com Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (171540 => 171541) --- branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-07-24 22:51:12 UTC (rev 171540) +++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-07-24 22:54:18 UTC (rev 171541) @@ -118,6 +118,13 @@ - (UIViewController *)_rootAncestorViewController; - (UIViewController *)_viewControllerForSupportedInterfaceOrientations; @end + +enum class DynamicViewportUpdateMode { +NotResizing, +ResizingWithAnimation, +ResizingWithDocumentHidden, +}; + #endif #if PLATFORM(MAC) @@ -167,9 +174,10 @@ UIInterfaceOrientation
[webkit-changes] [171542] branches/safari-600.1-branch/Source/WebKit2
Title: [171542] branches/safari-600.1-branch/Source/WebKit2 Revision 171542 Author lforsch...@apple.com Date 2014-07-24 15:55:57 -0700 (Thu, 24 Jul 2014) Log Message Merged r171485. rdar://problem/17782623 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171541 => 171542) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:54:18 UTC (rev 171541) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 22:55:57 UTC (rev 171542) @@ -1,5 +1,23 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171485 + +2014-07-23 Dan Bernstein m...@apple.com + +rdar://problem/17782623 [iOS] Client-certificate authentication isn’t working with some certificates +https://bugs.webkit.org/show_bug.cgi?id=135206 + +Reviewed by Anders Carlsson. + +* Shared/cf/ArgumentCodersCF.cpp: +(IPC::copyPersistentRef): Added this helper function. It differs from +SecKeyCopyPersistentRef in that if multiple copies of the key exist in the keychain, it +ensures that we get a reference to the copy that is in the keychain access group that the +Networking process can use. +(IPC::encode): Use copyPersistentRef. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171201 2014-07-17 Benjamin Poulain benja...@webkit.org Modified: branches/safari-600.1-branch/Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp (171541 => 171542) --- branches/safari-600.1-branch/Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp 2014-07-24 22:54:18 UTC (rev 171541) +++ branches/safari-600.1-branch/Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp 2014-07-24 22:55:57 UTC (rev 171542) @@ -47,7 +47,6 @@ #include Security/SecKeyPriv.h #endif -extern C OSStatus SecKeyCopyPersistentRef(SecKeyRef key, CFDataRef* persistentRef); extern C OSStatus SecKeyFindWithPersistentRef(CFDataRef persistentRef, SecKeyRef* lookedUpData); #endif @@ -628,6 +627,22 @@ { secKeyRefDecodingAllowed = allowsDecodingSecKeyRef; } + +static CFDataRef copyPersistentRef(SecKeyRef key) +{ +// This function differs from SecItemCopyPersistentRef in that it specifies an access group. +// This is necessary in case there are multiple copies of the key in the keychain, because we +// need a reference to the one that the Networking process will be able to access. +CFDataRef persistentRef = nullptr; +SecItemCopyMatching((CFDictionaryRef)@{ +(id)kSecReturnPersistentRef: @YES, +(id)kSecValueRef: (id)key, +(id)kSecAttrSynchronizable: (id)kSecAttrSynchronizableAny, +(id)kSecAttrAccessGroup: @com.apple.identities, +}, (CFTypeRef*)persistentRef); + +return persistentRef; +} #endif void encode(ArgumentEncoder encoder, SecIdentityRef identity) @@ -642,7 +657,7 @@ CFDataRef keyData = nullptr; #if PLATFORM(IOS) -SecKeyCopyPersistentRef(key, keyData); +keyData = copyPersistentRef(key); #endif #if PLATFORM(MAC) SecKeychainItemCreatePersistentReference((SecKeychainItemRef)key, keyData); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171543] trunk/Source/JavaScriptCore
Title: [171543] trunk/Source/_javascript_Core Revision 171543 Author mhahnenb...@apple.com Date 2014-07-24 15:56:05 -0700 (Thu, 24 Jul 2014) Log Message Creating a JSGlobalObject with a custom JSClassRef results in a JSProxy with the wrong prototype https://bugs.webkit.org/show_bug.cgi?id=135250 Reviewed by Geoffrey Garen. JSGlobalObject::resetPrototype (which is called from JSGlobalContextCreateInGroup) doesn't change its JSProxy's prototype as well. This results in a JSProxy where no properties in the original prototype chain (as created from the JSClassRef hierarchy) are accessible. Changing resetPrototype to also change the JSProxy's prototype fixes the issue. * API/JSValueRef.cpp: (JSValueIsObjectOfClass): Also fixed a bug where a JSProxy for a JSGlobalObject with a custom JSClassRef would claim it wasn't of the specified class, even if the target was of the specified class. * API/tests/CustomGlobalObjectClassTest.c: Added. (jsDoSomething): (customGlobalObjectClassTest): * API/tests/CustomGlobalObjectClassTest.h: Added. * API/tests/testapi.c: (assertTrue): (main): * _javascript_Core.vcxproj/testapi/testapi.vcxproj: * _javascript_Core.vcxproj/testapi/testapi.vcxproj.filters: * _javascript_Core.xcodeproj/project.pbxproj: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::resetPrototype): Modified Paths trunk/Source/_javascript_Core/API/JSValueRef.cpp trunk/Source/_javascript_Core/API/tests/testapi.c trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.vcxproj/testapi/testapi.vcxproj trunk/Source/_javascript_Core/_javascript_Core.vcxproj/testapi/testapi.vcxproj.filters trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp Added Paths trunk/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c trunk/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.h Diff Modified: trunk/Source/_javascript_Core/API/JSValueRef.cpp (171542 => 171543) --- trunk/Source/_javascript_Core/API/JSValueRef.cpp 2014-07-24 22:55:57 UTC (rev 171542) +++ trunk/Source/_javascript_Core/API/JSValueRef.cpp 2014-07-24 22:56:05 UTC (rev 171543) @@ -179,6 +179,9 @@ JSValue jsValue = toJS(exec, value); if (JSObject* o = jsValue.getObject()) { +if (o-inherits(JSProxy::info())) +o = jsCastJSProxy*(o)-target(); + if (o-inherits(JSCallbackObjectJSGlobalObject::info())) return jsCastJSCallbackObjectJSGlobalObject*(o)-inherits(jsClass); if (o-inherits(JSCallbackObjectJSDestructibleObject::info())) Added: trunk/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c (0 => 171543) --- trunk/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c (rev 0) +++ trunk/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c 2014-07-24 22:56:05 UTC (rev 171543) @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2014 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include CustomGlobalObjectClassTest.h + +#include _javascript_Core/_javascript_Core.h +#include stdio.h + +extern bool assertTrue(bool value, const char* message); + +static bool executedCallback = false; + +static JSValueRef jsDoSomething(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argc, const JSValueRef args[], JSValueRef* exception) +{ +(void)function; +(void)thisObject; +(void)argc; +(void)args; +(void)exception; +executedCallback = true; +return JSValueMakeNull(ctx); +} + +static JSStaticFunction bridgedFunctions[] = { +{doSomething, jsDoSomething, kJSPropertyAttributeDontDelete}, +{0, 0, 0}, +}; + +static
[webkit-changes] [171545] trunk/Source/WebCore
Title: [171545] trunk/Source/WebCore Revision 171545 Author m...@apple.com Date 2014-07-24 16:01:43 -0700 (Thu, 24 Jul 2014) Log Message Attempted Windows build fix. * platform/network/cf/AuthenticationCF.cpp: (WebCore::AuthenticationChallenge::AuthenticationChallenge): * platform/network/cf/CredentialStorageCFNet.cpp: (WebCore::CredentialStorage::getFromPersistentStorage): * platform/network/cf/ProtectionSpaceCFNet.cpp: (WebCore::ProtectionSpace::receivesCredentialSecurely): (WebCore::ProtectionSpaceBase::receivesCredentialSecurely): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/cf/AuthenticationCF.cpp trunk/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp trunk/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (171544 => 171545) --- trunk/Source/WebCore/ChangeLog 2014-07-24 23:01:42 UTC (rev 171544) +++ trunk/Source/WebCore/ChangeLog 2014-07-24 23:01:43 UTC (rev 171545) @@ -1,5 +1,17 @@ 2014-07-24 Dan Bernstein m...@apple.com +Attempted Windows build fix. + +* platform/network/cf/AuthenticationCF.cpp: +(WebCore::AuthenticationChallenge::AuthenticationChallenge): +* platform/network/cf/CredentialStorageCFNet.cpp: +(WebCore::CredentialStorage::getFromPersistentStorage): +* platform/network/cf/ProtectionSpaceCFNet.cpp: +(WebCore::ProtectionSpace::receivesCredentialSecurely): +(WebCore::ProtectionSpaceBase::receivesCredentialSecurely): Deleted. + +2014-07-24 Dan Bernstein m...@apple.com + rdar://problem/17766348 [Cocoa] WebCore::ProtectionSpace doesn’t preserve all NSURLProtectionSpace properties, such as the distinguishedNames array https://bugs.webkit.org/show_bug.cgi?id=135229 Modified: trunk/Source/WebCore/platform/network/cf/AuthenticationCF.cpp (171544 => 171545) --- trunk/Source/WebCore/platform/network/cf/AuthenticationCF.cpp 2014-07-24 23:01:42 UTC (rev 171544) +++ trunk/Source/WebCore/platform/network/cf/AuthenticationCF.cpp 2014-07-24 23:01:43 UTC (rev 171545) @@ -53,7 +53,11 @@ AuthenticationChallenge::AuthenticationChallenge(CFURLAuthChallengeRef cfChallenge, AuthenticationClient* authenticationClient) +#if PLATFORM(COCOA) : AuthenticationChallengeBase(ProtectionSpace(CFURLAuthChallengeGetProtectionSpace(cfChallenge)), +#else +: AuthenticationChallengeBase(core(CFURLAuthChallengeGetProtectionSpace(cfChallenge)), +#endif core(CFURLAuthChallengeGetProposedCredential(cfChallenge)), CFURLAuthChallengeGetPreviousFailureCount(cfChallenge), (CFURLResponseRef)CFURLAuthChallengeGetFailureResponse(cfChallenge), @@ -90,7 +94,13 @@ CFURLCredentialRef credential = createCF(coreChallenge.proposedCredential()); +#if PLATFORM(COCOA) CFURLAuthChallengeRef result = CFURLAuthChallengeCreate(0, coreChallenge.protectionSpace().cfSpace(), credential, +#else +RetainPtrCFURLProtectionSpaceRef protectionSpace = adoptCF(createCF(coreChallenge.protectionSpace())); + +CFURLAuthChallengeRef result = CFURLAuthChallengeCreate(0, protectionSpace, credential, +#endif coreChallenge.previousFailureCount(), coreChallenge.failureResponse().cfURLResponse(), coreChallenge.error()); Modified: trunk/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp (171544 => 171545) --- trunk/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp 2014-07-24 23:01:42 UTC (rev 171544) +++ trunk/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp 2014-07-24 23:01:43 UTC (rev 171545) @@ -47,7 +47,12 @@ Credential CredentialStorage::getFromPersistentStorage(const ProtectionSpace protectionSpace) { +#if PLATFORM(COCOA) RetainPtrCFURLCredentialRef credentialCF = adoptCF(wkCopyCredentialFromCFPersistentStorage(protectionSpace.cfSpace())); +#else +RetainPtrCFURLProtectionSpaceRef protectionSpaceCF = adoptCF(createCF(protectionSpace)); +RetainPtrCFURLCredentialRef credentialCF = adoptCF(wkCopyCredentialFromCFPersistentStorage(protectionSpaceCF.get())); +#endif return core(credentialCF.get()); } Modified: trunk/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp (171544 => 171545) --- trunk/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp 2014-07-24 23:01:42 UTC (rev 171544) +++ trunk/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp 2014-07-24 23:01:43 UTC (rev 171545) @@ -34,7 +34,7 @@ namespace WebCore { -bool ProtectionSpaceBase::receivesCredentialSecurely() const +bool ProtectionSpace::receivesCredentialSecurely() const { RetainPtrCFURLProtectionSpaceRef cfSpace = adoptCF(createCF(*this)); return cfSpace
[webkit-changes] [171544] branches/safari-600.1-branch/Source/WebCore
Title: [171544] branches/safari-600.1-branch/Source/WebCore Revision 171544 Author lforsch...@apple.com Date 2014-07-24 16:01:42 -0700 (Thu, 24 Jul 2014) Log Message Merged r171497. rdar://problem/17470655 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/loader/ResourceBuffer.h branches/safari-600.1-branch/Source/WebCore/loader/mac/ResourceBuffer.mm branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.h branches/safari-600.1-branch/Source/WebCore/platform/mac/SharedBufferMac.mm Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171543 => 171544) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 22:56:05 UTC (rev 171543) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:01:42 UTC (rev 171544) @@ -1,5 +1,26 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171497 + +2014-07-23 Pratik Solanki psola...@apple.com + +Get rid of SharedBuffer::NSDataRetainPtrWithoutImplicitConversionOperator +https://bugs.webkit.org/show_bug.cgi?id=135219 + +Reviewed by Anders Carlsson. + +No new tests because no functional changes. + +* loader/ResourceBuffer.h: +* loader/mac/ResourceBuffer.mm: +(WebCore::ResourceBuffer::createNSData): +* platform/SharedBuffer.h: +(WebCore::SharedBuffer::NSDataRetainPtrWithoutImplicitConversionOperator::NSDataRetainPtrWithoutImplicitConversionOperator): Deleted. +* platform/mac/SharedBufferMac.mm: +(WebCore::SharedBuffer::createNSData): + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171506 2014-07-23 Jeremy Jones jere...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/loader/ResourceBuffer.h (171543 => 171544) --- branches/safari-600.1-branch/Source/WebCore/loader/ResourceBuffer.h 2014-07-24 22:56:05 UTC (rev 171543) +++ branches/safari-600.1-branch/Source/WebCore/loader/ResourceBuffer.h 2014-07-24 23:01:42 UTC (rev 171544) @@ -81,7 +81,7 @@ PassOwnPtrPurgeableBuffer releasePurgeableBuffer(); #if USE(FOUNDATION) -SharedBuffer::NSDataRetainPtrWithoutImplicitConversionOperator createNSData(); +RetainPtrNSData createNSData(); #endif #if USE(CF) RetainPtrCFDataRef createCFData(); Modified: branches/safari-600.1-branch/Source/WebCore/loader/mac/ResourceBuffer.mm (171543 => 171544) --- branches/safari-600.1-branch/Source/WebCore/loader/mac/ResourceBuffer.mm 2014-07-24 22:56:05 UTC (rev 171543) +++ branches/safari-600.1-branch/Source/WebCore/loader/mac/ResourceBuffer.mm 2014-07-24 23:01:42 UTC (rev 171544) @@ -28,7 +28,7 @@ namespace WebCore { -SharedBuffer::NSDataRetainPtrWithoutImplicitConversionOperator ResourceBuffer::createNSData() +RetainPtrNSData ResourceBuffer::createNSData() { return m_sharedBuffer-createNSData(); } Modified: branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.h (171543 => 171544) --- branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.h 2014-07-24 22:56:05 UTC (rev 171543) +++ branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.h 2014-07-24 23:01:42 UTC (rev 171544) @@ -68,23 +68,7 @@ ~SharedBuffer(); #if USE(FOUNDATION) -// FIXME: This class exists as a temporary workaround so that code that does: -// [buffer-createNSData() autorelease] will fail to compile. -// Once both Mac and iOS builds with this change we can change the return type to be RetainPtrNSData, -// since we're mostly worried about existing code breaking (it's unlikely that we'd use retain/release together -// with RetainPtr in new code. -class NSDataRetainPtrWithoutImplicitConversionOperator : public RetainPtrNSData* { -public: -templatetypename T -NSDataRetainPtrWithoutImplicitConversionOperator(RetainPtrT* other) -: RetainPtrNSData*(WTF::move(other)) -{ -} - -explicit operator PtrType() = delete; -}; - -NSDataRetainPtrWithoutImplicitConversionOperator createNSData(); +RetainPtrNSData createNSData(); static PassRefPtrSharedBuffer wrapNSData(NSData *data); #endif #if USE(CF) Modified: branches/safari-600.1-branch/Source/WebCore/platform/mac/SharedBufferMac.mm (171543 => 171544) --- branches/safari-600.1-branch/Source/WebCore/platform/mac/SharedBufferMac.mm 2014-07-24 22:56:05 UTC (rev 171543) +++ branches/safari-600.1-branch/Source/WebCore/platform/mac/SharedBufferMac.mm 2014-07-24 23:01:42 UTC (rev 171544) @@ -96,8 +96,8 @@ return adoptRef(new SharedBuffer((CFDataRef)nsData)); } -SharedBuffer::NSDataRetainPtrWithoutImplicitConversionOperator SharedBuffer::createNSData() -{ +RetainPtrNSData SharedBuffer::createNSData() +{ return adoptNS([[WebCoreSharedBufferData alloc] initWithSharedBuffer:this]); }
[webkit-changes] [171546] branches/safari-600.1-branch/Source/WebCore
Title: [171546] branches/safari-600.1-branch/Source/WebCore Revision 171546 Author lforsch...@apple.com Date 2014-07-24 16:11:47 -0700 (Thu, 24 Jul 2014) Log Message Merged r171526. rdar://problem/17470655 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/loader/cache/CachedResource.cpp branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.cpp branches/safari-600.1-branch/Source/WebCore/platform/SharedBuffer.h branches/safari-600.1-branch/Source/WebCore/platform/cf/SharedBufferCF.cpp branches/safari-600.1-branch/Source/WebCore/platform/mac/SharedBufferMac.mm Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171545 => 171546) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:01:43 UTC (rev 171545) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:11:47 UTC (rev 171546) @@ -1,5 +1,69 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171526 + +2014-07-24 Pratik Solanki psola...@apple.com + +Sharing SharedBuffer between WebCore and ImageIO is racy and crash prone +https://bugs.webkit.org/show_bug.cgi?id=135069 +rdar://problem/17470655 + +Reviewed by Simon Fraser. + +When passing image data to ImageIO for decoding, we pass an NSData subclass that is a wraper +around SharedBuffer. This can be a problem when ImageIO tries to access the data on the CA +thread. End result is data corruption on large image loads and potential crashes. The fix is +to have SharedBuffer create a copy of its data if the data has been passed to ImageIO and +might be accessed concurrently. + +Since Vector is not refcounted, we do this by having a new refcounted object in SharedBuffer +that contains the buffer and we pass that in our NSData subclass WebCoreSharedBufferData. +Code that would result in the Vector memory moving e.g. append(), resize(), now checks to +see if the buffer was shared and if so, will create a new copy of the vector. This ensures +that the main thread does not end up invalidating the vector memory that we have passed it +to ImageIO. + +No new tests because no functional changes. + +* loader/cache/CachedResource.cpp: +(WebCore::CachedResource::makePurgeable): +Remove early return - createPurgeableMemory() has the correct check now. +* platform/SharedBuffer.cpp: +(WebCore::SharedBuffer::SharedBuffer): +(WebCore::SharedBuffer::adoptVector): +(WebCore::SharedBuffer::createPurgeableBuffer): +Don't create purgeable buffer if we are sharing the buffer. +(WebCore::SharedBuffer::append): +(WebCore::SharedBuffer::clear): +(WebCore::SharedBuffer::copy): +(WebCore::SharedBuffer::duplicateDataBufferIfNecessary): Added. +Create a new copy of the data if we have shared the buffer and if appending to it would +exceed the capacity of the vector resulting in memmove. +(WebCore::SharedBuffer::appendToInternalBuffer): Added. +(WebCore::SharedBuffer::clearInternalBuffer): Added. +(WebCore::SharedBuffer::buffer): +Create a new copy of the buffer if we have shared it. +(WebCore::SharedBuffer::getSomeData): +* platform/SharedBuffer.h: +* platform/cf/SharedBufferCF.cpp: +(WebCore::SharedBuffer::SharedBuffer): +(WebCore::SharedBuffer::singleDataArrayBuffer): +(WebCore::SharedBuffer::maybeAppendDataArray): +* platform/mac/SharedBufferMac.mm: +Pass the InternalBuffer object to WebCoreSharedBufferData +(-[WebCoreSharedBufferData dealloc]): +(-[WebCoreSharedBufferData initWithSharedBufferInternalBuffer:]): +(-[WebCoreSharedBufferData length]): +(-[WebCoreSharedBufferData bytes]): +(WebCore::SharedBuffer::createNSData): +Call createCFData() instead of duplicating code. +(WebCore::SharedBuffer::createCFData): +If the data is in purgeable memory, make a copy of it since m_buffer was cleared when +creating the purgeable buffer. +(-[WebCoreSharedBufferData initWithSharedBuffer:]): Deleted. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171497 2014-07-23 Pratik Solanki psola...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/loader/cache/CachedResource.cpp (171545 => 171546) --- branches/safari-600.1-branch/Source/WebCore/loader/cache/CachedResource.cpp 2014-07-24 23:01:43 UTC (rev 171545) +++ branches/safari-600.1-branch/Source/WebCore/loader/cache/CachedResource.cpp
[webkit-changes] [171547] branches/safari-600.1-branch/Source/WebKit2
Title: [171547] branches/safari-600.1-branch/Source/WebKit2 Revision 171547 Author lforsch...@apple.com Date 2014-07-24 16:16:04 -0700 (Thu, 24 Jul 2014) Log Message Merged r171518. rdar://problem/17797103 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171546 => 171547) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 23:11:47 UTC (rev 171546) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 23:16:04 UTC (rev 171547) @@ -1,5 +1,22 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171518 + +2014-07-24 Tim Horton timothy_hor...@apple.com + +Crash at [WKContentView _applicationWillEnterForeground:] + 28 +rdar://problem/17797103 + +Reviewed by Sam Weinig. + +* UIProcess/ios/WKContentView.mm: +(-[WKContentView _applicationWillEnterForeground:]): +Drawing area can be null; null check it! +It's ok if we don't hide the content in this case, because if the drawing area is null, +it doesn't have any layers in the tree anyway. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171485 2014-07-23 Dan Bernstein m...@apple.com Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm (171546 => 171547) --- branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 23:11:47 UTC (rev 171546) +++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm 2014-07-24 23:16:04 UTC (rev 171547) @@ -510,7 +510,8 @@ - (void)_applicationWillEnterForeground:(NSNotification*)notification { _page-applicationWillEnterForeground(); -_page-drawingArea()-hideContentUntilNextUpdate(); +if (auto drawingArea = _page-drawingArea()) +drawingArea-hideContentUntilNextUpdate(); _page-viewStateDidChange(ViewState::AllFlags ~ViewState::IsInWindow, true, WebPageProxy::ViewStateChangeDispatchMode::Immediate); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171548] branches/safari-600.1-branch/Source/WebKit2
Title: [171548] branches/safari-600.1-branch/Source/WebKit2 Revision 171548 Author lforsch...@apple.com Date 2014-07-24 16:17:43 -0700 (Thu, 24 Jul 2014) Log Message Merged r171519. rdar://problem/17798346 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171547 => 171548) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 23:16:04 UTC (rev 171547) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-24 23:17:43 UTC (rev 171548) @@ -1,5 +1,22 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171519 + +2014-07-24 Oliver Hunt oli...@apple.com + +Need to explicitly support location services in webcontent profile +https://bugs.webkit.org/show_bug.cgi?id=135251 +rdar://17798346 + +Reviewed by Dan Bernstein. + +Switching to uikit-app means that we remove the implicit support +for location services. This makes us explicitly opt-in. + +* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171518 2014-07-24 Tim Horton timothy_hor...@apple.com Modified: branches/safari-600.1-branch/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (171547 => 171548) --- branches/safari-600.1-branch/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2014-07-24 23:16:04 UTC (rev 171547) +++ branches/safari-600.1-branch/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2014-07-24 23:17:43 UTC (rev 171548) @@ -28,7 +28,7 @@ (import UIKit-apps.sb) (import removed-dev-nodes.sb) -(uikit-app 'with-opengl) +(uikit-app 'with-opengl 'with-location-services) ;; Access to media controls (play-media) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171549] branches/safari-600.1-branch/Source
Title: [171549] branches/safari-600.1-branch/Source Revision 171549 Author lforsch...@apple.com Date 2014-07-24 16:21:38 -0700 (Thu, 24 Jul 2014) Log Message Merged r171532. rdar://problem/17279500 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp branches/safari-600.1-branch/Source/WebCore/page/scrolling/ScrollingTree.h branches/safari-600.1-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm branches/safari-600.1-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp branches/safari-600.1-branch/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm branches/safari-600.1-branch/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171548 => 171549) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:17:43 UTC (rev 171548) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:21:38 UTC (rev 171549) @@ -1,5 +1,32 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171532 + +2014-07-24 Benjamin Poulain benja...@webkit.org + +[WK2] Fixed/Sticky layers can get mispositioned when the layer tree commit change their position or size +https://bugs.webkit.org/show_bug.cgi?id=135227 +rdar://problem/17279500 + +Reviewed by Simon Fraser. + +Keep track of the creation/destruction of Fixed and Sticky nodes in the ScrollingTree. + +* page/scrolling/ScrollingTree.cpp: +(WebCore::ScrollingTree::ScrollingTree): +* page/scrolling/ScrollingTree.h: +(WebCore::ScrollingTree::hasFixedOrSticky): +(WebCore::ScrollingTree::fixedOrStickyNodeAdded): +(WebCore::ScrollingTree::fixedOrStickyNodeRemoved): +* page/scrolling/mac/ScrollingTreeFixedNode.mm: +(WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode): +(WebCore::ScrollingTreeFixedNode::~ScrollingTreeFixedNode): +* page/scrolling/mac/ScrollingTreeStickyNode.mm: +(WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode): +(WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode): + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171526 2014-07-24 Pratik Solanki psola...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp (171548 => 171549) --- branches/safari-600.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp 2014-07-24 23:17:43 UTC (rev 171548) +++ branches/safari-600.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp 2014-07-24 23:21:38 UTC (rev 171549) @@ -51,6 +51,7 @@ , m_latchedNode(0) , m_scrollingPerformanceLoggingEnabled(false) , m_isHandlingProgrammaticScroll(false) +, m_fixedOrStickyNodeCount(0) { } Modified: branches/safari-600.1-branch/Source/WebCore/page/scrolling/ScrollingTree.h (171548 => 171549) --- branches/safari-600.1-branch/Source/WebCore/page/scrolling/ScrollingTree.h 2014-07-24 23:17:43 UTC (rev 171548) +++ branches/safari-600.1-branch/Source/WebCore/page/scrolling/ScrollingTree.h 2014-07-24 23:21:38 UTC (rev 171549) @@ -128,6 +128,14 @@ bool hasLatchedNode() const { return m_latchedNode; } void setOrClearLatchedNode(const PlatformWheelEvent, ScrollingNodeID); + +bool hasFixedOrSticky() const { return !!m_fixedOrStickyNodeCount; } +void fixedOrStickyNodeAdded() { ++m_fixedOrStickyNodeCount; } +void fixedOrStickyNodeRemoved() +{ +ASSERT(m_fixedOrStickyNodeCount); +--m_fixedOrStickyNodeCount; +} protected: void setMainFrameScrollPosition(FloatPoint); @@ -167,6 +175,7 @@ bool m_scrollingPerformanceLoggingEnabled; bool m_isHandlingProgrammaticScroll; +unsigned m_fixedOrStickyNodeCount; }; #define SCROLLING_TREE_TYPE_CASTS(ToValueTypeName, predicate) \ Modified: branches/safari-600.1-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm (171548 => 171549) --- branches/safari-600.1-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm 2014-07-24 23:17:43 UTC (rev 171548) +++ branches/safari-600.1-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm 2014-07-24 23:21:38 UTC (rev 171549) @@ -42,10 +42,12 @@ ScrollingTreeFixedNode::ScrollingTreeFixedNode(ScrollingTree scrollingTree, ScrollingNodeID nodeID) : ScrollingTreeNode(scrollingTree, FixedNode, nodeID) { +scrollingTree.fixedOrStickyNodeAdded(); } ScrollingTreeFixedNode::~ScrollingTreeFixedNode() { +
[webkit-changes] [171550] branches/safari-600.1-branch/Source
Title: [171550] branches/safari-600.1-branch/Source Revision 171550 Author lforsch...@apple.com Date 2014-07-24 16:27:01 -0700 (Thu, 24 Jul 2014) Log Message Merged r171540. rdar://problem/17766348 Modified Paths branches/safari-600.1-branch/Source/WebCore/CMakeLists.txt branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/WebCore.exp.in branches/safari-600.1-branch/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj branches/safari-600.1-branch/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters branches/safari-600.1-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj branches/safari-600.1-branch/Source/WebCore/platform/network/ProtectionSpace.h branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.h branches/safari-600.1-branch/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp branches/safari-600.1-branch/Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp branches/safari-600.1-branch/Source/WebCore/platform/network/mac/AuthenticationMac.h branches/safari-600.1-branch/Source/WebCore/platform/network/mac/AuthenticationMac.mm branches/safari-600.1-branch/Source/WebCore/platform/network/mac/CredentialStorageMac.mm branches/safari-600.1-branch/Source/WebCore/platform/network/mac/ResourceHandleMac.mm branches/safari-600.1-branch/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm branches/safari-600.1-branch/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm branches/safari-600.1-branch/Source/WebKit/mac/ChangeLog branches/safari-600.1-branch/Source/WebKit/mac/Misc/WebDownload.mm branches/safari-600.1-branch/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm branches/safari-600.1-branch/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/Shared/Cocoa/WKNSURLProtectionSpace.mm branches/safari-600.1-branch/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp branches/safari-600.1-branch/Source/WebKit2/Shared/WebCoreArgumentCoders.h branches/safari-600.1-branch/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm branches/safari-600.1-branch/Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp Added Paths branches/safari-600.1-branch/Source/WebCore/platform/network/ProtectionSpaceBase.cpp branches/safari-600.1-branch/Source/WebCore/platform/network/ProtectionSpaceBase.h branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.h branches/safari-600.1-branch/Source/WebCore/platform/network/cocoa/ProtectionSpaceCocoa.h branches/safari-600.1-branch/Source/WebCore/platform/network/cocoa/ProtectionSpaceCocoa.mm Removed Paths branches/safari-600.1-branch/Source/WebCore/platform/network/ProtectionSpace.cpp Diff Modified: branches/safari-600.1-branch/Source/WebCore/CMakeLists.txt (171549 => 171550) --- branches/safari-600.1-branch/Source/WebCore/CMakeLists.txt 2014-07-24 23:21:38 UTC (rev 171549) +++ branches/safari-600.1-branch/Source/WebCore/CMakeLists.txt 2014-07-24 23:27:01 UTC (rev 171550) @@ -2219,7 +2219,7 @@ platform/network/MIMEHeader.cpp platform/network/NetworkStateNotifier.cpp platform/network/ParsedContentType.cpp -platform/network/ProtectionSpace.cpp +platform/network/ProtectionSpaceBase.cpp platform/network/ProxyServer.cpp platform/network/ResourceErrorBase.cpp platform/network/ResourceHandle.cpp Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171549 => 171550) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:21:38 UTC (rev 171549) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:27:01 UTC (rev 171550) @@ -1,5 +1,94 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171540 + +2014-07-24 Dan Bernstein m...@apple.com + +rdar://problem/17766348 [Cocoa] WebCore::ProtectionSpace doesn’t preserve all NSURLProtectionSpace properties, such as the distinguishedNames array +https://bugs.webkit.org/show_bug.cgi?id=135229 + +Reviewed by Alexey Proskuryakov. + +* CMakeLists.txt: Updated for rename of a source file. + +* WebCore.exp.in: Updated. + +* WebCore.vcxproj/WebCore.vcxproj: Updated for rename of source files, added +ProtectionSpaceCFNet.{cpp,h}. +* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto. + +* WebCore.xcodeproj/project.pbxproj: Updated for rename of source files, added +ProtectionSpaceCococa.{h.mm}. + +*
[webkit-changes] [171551] branches/safari-600.1-branch/Source/WebCore
Title: [171551] branches/safari-600.1-branch/Source/WebCore Revision 171551 Author lforsch...@apple.com Date 2014-07-24 16:28:38 -0700 (Thu, 24 Jul 2014) Log Message Merged r171545. rdar://problem/17766348 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp branches/safari-600.1-branch/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171550 => 171551) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:27:01 UTC (rev 171550) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:28:38 UTC (rev 171551) @@ -1,5 +1,21 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171545 + +2014-07-24 Dan Bernstein m...@apple.com + +Attempted Windows build fix. + +* platform/network/cf/AuthenticationCF.cpp: +(WebCore::AuthenticationChallenge::AuthenticationChallenge): +* platform/network/cf/CredentialStorageCFNet.cpp: +(WebCore::CredentialStorage::getFromPersistentStorage): +* platform/network/cf/ProtectionSpaceCFNet.cpp: +(WebCore::ProtectionSpace::receivesCredentialSecurely): +(WebCore::ProtectionSpaceBase::receivesCredentialSecurely): Deleted. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171540 2014-07-24 Dan Bernstein m...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp (171550 => 171551) --- branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp 2014-07-24 23:27:01 UTC (rev 171550) +++ branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp 2014-07-24 23:28:38 UTC (rev 171551) @@ -53,7 +53,11 @@ AuthenticationChallenge::AuthenticationChallenge(CFURLAuthChallengeRef cfChallenge, AuthenticationClient* authenticationClient) +#if PLATFORM(COCOA) : AuthenticationChallengeBase(ProtectionSpace(CFURLAuthChallengeGetProtectionSpace(cfChallenge)), +#else +: AuthenticationChallengeBase(core(CFURLAuthChallengeGetProtectionSpace(cfChallenge)), +#endif core(CFURLAuthChallengeGetProposedCredential(cfChallenge)), CFURLAuthChallengeGetPreviousFailureCount(cfChallenge), (CFURLResponseRef)CFURLAuthChallengeGetFailureResponse(cfChallenge), @@ -90,7 +94,13 @@ CFURLCredentialRef credential = createCF(coreChallenge.proposedCredential()); +#if PLATFORM(COCOA) CFURLAuthChallengeRef result = CFURLAuthChallengeCreate(0, coreChallenge.protectionSpace().cfSpace(), credential, +#else +RetainPtrCFURLProtectionSpaceRef protectionSpace = adoptCF(createCF(coreChallenge.protectionSpace())); + +CFURLAuthChallengeRef result = CFURLAuthChallengeCreate(0, protectionSpace, credential, +#endif coreChallenge.previousFailureCount(), coreChallenge.failureResponse().cfURLResponse(), coreChallenge.error()); Modified: branches/safari-600.1-branch/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp (171550 => 171551) --- branches/safari-600.1-branch/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp 2014-07-24 23:27:01 UTC (rev 171550) +++ branches/safari-600.1-branch/Source/WebCore/platform/network/cf/CredentialStorageCFNet.cpp 2014-07-24 23:28:38 UTC (rev 171551) @@ -47,7 +47,12 @@ Credential CredentialStorage::getFromPersistentStorage(const ProtectionSpace protectionSpace) { +#if PLATFORM(COCOA) RetainPtrCFURLCredentialRef credentialCF = adoptCF(wkCopyCredentialFromCFPersistentStorage(protectionSpace.cfSpace())); +#else +RetainPtrCFURLProtectionSpaceRef protectionSpaceCF = adoptCF(createCF(protectionSpace)); +RetainPtrCFURLCredentialRef credentialCF = adoptCF(wkCopyCredentialFromCFPersistentStorage(protectionSpaceCF.get())); +#endif return core(credentialCF.get()); } Modified: branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp (171550 => 171551) --- branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp 2014-07-24 23:27:01 UTC (rev 171550) +++ branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ProtectionSpaceCFNet.cpp 2014-07-24 23:28:38 UTC (rev 171551) @@ -34,7 +34,7 @@ namespace WebCore { -bool ProtectionSpaceBase::receivesCredentialSecurely() const +bool ProtectionSpace::receivesCredentialSecurely() const { RetainPtrCFURLProtectionSpaceRef cfSpace = adoptCF(createCF(*this)); return cfSpace
[webkit-changes] [171552] trunk/Tools
Title: [171552] trunk/Tools Revision 171552 Author commit-qu...@webkit.org Date 2014-07-24 16:29:04 -0700 (Thu, 24 Jul 2014) Log Message [GTK] build-webkit script fails under jhbuild if ACLOCAL_FLAGS is unset https://bugs.webkit.org/show_bug.cgi?id=135065 Patch by Michael Catanzaro mcatanz...@igalia.com on 2014-07-24 Reviewed by Martin Robinson. * jhbuild/jhbuild-wrapper: (ensure_jhbuild): do not assume jhbuild sets ACLOCAL_FLAGS Modified Paths trunk/Tools/ChangeLog trunk/Tools/jhbuild/jhbuild-wrapper Diff Modified: trunk/Tools/ChangeLog (171551 => 171552) --- trunk/Tools/ChangeLog 2014-07-24 23:28:38 UTC (rev 171551) +++ trunk/Tools/ChangeLog 2014-07-24 23:29:04 UTC (rev 171552) @@ -1,3 +1,13 @@ +2014-07-24 Michael Catanzaro mcatanz...@igalia.com + +[GTK] build-webkit script fails under jhbuild if ACLOCAL_FLAGS is unset +https://bugs.webkit.org/show_bug.cgi?id=135065 + +Reviewed by Martin Robinson. + +* jhbuild/jhbuild-wrapper: +(ensure_jhbuild): do not assume jhbuild sets ACLOCAL_FLAGS + 2014-07-23 Joseph Pecoraro pecor...@apple.com Unreviewed iOS build fix after r171355. Modified: trunk/Tools/jhbuild/jhbuild-wrapper (171551 => 171552) --- trunk/Tools/jhbuild/jhbuild-wrapper 2014-07-24 23:28:38 UTC (rev 171551) +++ trunk/Tools/jhbuild/jhbuild-wrapper 2014-07-24 23:29:04 UTC (rev 171552) @@ -113,7 +113,7 @@ # Work-around the fact that we may get called from inside the jhbuild environment # which will cause problems if we just cleaned the jhbuild install root -if os.environ.has_key('UNDER_JHBUILD'): +if os.environ.has_key('UNDER_JHBUILD') and os.environ.has_key('ACLOCAL_FLAGS'): del os.environ['ACLOCAL_FLAGS'] try: ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171553] trunk/Source/JavaScriptCore
Title: [171553] trunk/Source/_javascript_Core Revision 171553 Author commit-qu...@webkit.org Date 2014-07-24 16:30:31 -0700 (Thu, 24 Jul 2014) Log Message Unreviewed, rolling out r171527. https://bugs.webkit.org/show_bug.cgi?id=135265 Breaks JSC API tests (Requested by mlam on #webkit). Reverted changeset: JSWrapperMap's jsWrapperForObject() needs to defer GC. https://bugs.webkit.org/show_bug.cgi?id=135258 http://trac.webkit.org/changeset/171527 Modified Paths trunk/Source/_javascript_Core/API/JSWrapperMap.mm trunk/Source/_javascript_Core/ChangeLog Diff Modified: trunk/Source/_javascript_Core/API/JSWrapperMap.mm (171552 => 171553) --- trunk/Source/_javascript_Core/API/JSWrapperMap.mm 2014-07-24 23:29:04 UTC (rev 171552) +++ trunk/Source/_javascript_Core/API/JSWrapperMap.mm 2014-07-24 23:30:31 UTC (rev 171553) @@ -582,9 +582,6 @@ - (JSValue *)jsWrapperForObject:(id)object { -JSC::ExecState* exec = toJS([m_context JSGlobalContextRef]); -JSC::DeferGC deferGC(exec-vm().heap); - JSC::JSObject* jsWrapper = m_cachedJSWrappers.get(object); if (jsWrapper) return [JSValue valueWithJSValueRef:toRef(jsWrapper) inContext:m_context]; @@ -602,6 +599,7 @@ // (1) For immortal objects JSValues will effectively leak and this results in error output being logged - we should avoid adding associated objects to immortal objects. // (2) A long lived object may rack up many JSValues. When the contexts are released these will unprotect the associated _javascript_ objects, // but still, would probably nicer if we made it so that only one associated object was required, broadcasting object dealloc. +JSC::ExecState* exec = toJS([m_context JSGlobalContextRef]); jsWrapper = toJS(exec, valueInternalValue(wrapper)).toObject(exec); m_cachedJSWrappers.set(object, jsWrapper); return wrapper; Modified: trunk/Source/_javascript_Core/ChangeLog (171552 => 171553) --- trunk/Source/_javascript_Core/ChangeLog 2014-07-24 23:29:04 UTC (rev 171552) +++ trunk/Source/_javascript_Core/ChangeLog 2014-07-24 23:30:31 UTC (rev 171553) @@ -1,3 +1,16 @@ +2014-07-24 Commit Queue commit-qu...@webkit.org + +Unreviewed, rolling out r171527. +https://bugs.webkit.org/show_bug.cgi?id=135265 + +Breaks JSC API tests (Requested by mlam on #webkit). + +Reverted changeset: + +JSWrapperMap's jsWrapperForObject() needs to defer GC. +https://bugs.webkit.org/show_bug.cgi?id=135258 +http://trac.webkit.org/changeset/171527 + 2014-07-24 Mark Hahnenberg mhahnenb...@apple.com Creating a JSGlobalObject with a custom JSClassRef results in a JSProxy with the wrong prototype ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171555] trunk/Tools
Title: [171555] trunk/Tools Revision 171555 Author commit-qu...@webkit.org Date 2014-07-24 16:35:12 -0700 (Thu, 24 Jul 2014) Log Message GTK jhbuild modules needs to build xserver with --disable-local-transport https://bugs.webkit.org/show_bug.cgi?id=135262 Patch by Michael Catanzaro mcatanz...@igalia.com on 2014-07-24 Reviewed by Martin Robinson. * gtk/jhbuild.modules: Build X server with --disable-local-transport, since local transport is only supported on Solaris, SCO, and System V. Fixes build on Fedora. Modified Paths trunk/Tools/ChangeLog trunk/Tools/gtk/jhbuild.modules Diff Modified: trunk/Tools/ChangeLog (171554 => 171555) --- trunk/Tools/ChangeLog 2014-07-24 23:34:50 UTC (rev 171554) +++ trunk/Tools/ChangeLog 2014-07-24 23:35:12 UTC (rev 171555) @@ -1,5 +1,17 @@ 2014-07-24 Michael Catanzaro mcatanz...@igalia.com +GTK jhbuild modules needs to build xserver with --disable-local-transport +https://bugs.webkit.org/show_bug.cgi?id=135262 + +Reviewed by Martin Robinson. + +* gtk/jhbuild.modules: +Build X server with --disable-local-transport, since local transport +is only supported on Solaris, SCO, and System V. Fixes build on +Fedora. + +2014-07-24 Michael Catanzaro mcatanz...@igalia.com + [GTK] build-webkit script fails under jhbuild if ACLOCAL_FLAGS is unset https://bugs.webkit.org/show_bug.cgi?id=135065 Modified: trunk/Tools/gtk/jhbuild.modules (171554 => 171555) --- trunk/Tools/gtk/jhbuild.modules 2014-07-24 23:34:50 UTC (rev 171554) +++ trunk/Tools/gtk/jhbuild.modules 2014-07-24 23:35:12 UTC (rev 171555) @@ -312,7 +312,7 @@ md5sum=4c300da1cf14b4e167d65cd5d8de1ef1/ /autotools - autotools id=xserver autogenargs=--disable-xinerama --enable-glx --enable-composite --disable-xorg --disable-dmx --disable-xnest --disable-xquartz --disable-xwin --disable-xephyr --disable-xfake --disable-xfbdev --disable-install-setuid --disable-unit-tests --enable-unix-transport --enable-tcp-transport --enable-local-transport --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/var/lib/xkb --with-xkb-bin-directory=/usr/bin + autotools id=xserver autogenargs=--disable-xinerama --enable-glx --enable-composite --disable-xorg --disable-dmx --disable-xnest --disable-xquartz --disable-xwin --disable-xephyr --disable-xfake --disable-xfbdev --disable-install-setuid --disable-unit-tests --enable-unix-transport --enable-tcp-transport --disable-local-transport --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/var/lib/xkb --with-xkb-bin-directory=/usr/bin dependencies dep package=pixman/ /dependencies ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171554] trunk/Source/WebCore
Title: [171554] trunk/Source/WebCore Revision 171554 Author m...@apple.com Date 2014-07-24 16:34:50 -0700 (Thu, 24 Jul 2014) Log Message Fixed Windows build fix. * platform/network/cf/AuthenticationCF.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/cf/AuthenticationCF.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (171553 => 171554) --- trunk/Source/WebCore/ChangeLog 2014-07-24 23:30:31 UTC (rev 171553) +++ trunk/Source/WebCore/ChangeLog 2014-07-24 23:34:50 UTC (rev 171554) @@ -1,5 +1,11 @@ 2014-07-24 Dan Bernstein m...@apple.com +Fixed Windows build fix. + +* platform/network/cf/AuthenticationCF.cpp: + +2014-07-24 Dan Bernstein m...@apple.com + Attempted Windows build fix. * platform/network/cf/AuthenticationCF.cpp: Modified: trunk/Source/WebCore/platform/network/cf/AuthenticationCF.cpp (171553 => 171554) --- trunk/Source/WebCore/platform/network/cf/AuthenticationCF.cpp 2014-07-24 23:30:31 UTC (rev 171553) +++ trunk/Source/WebCore/platform/network/cf/AuthenticationCF.cpp 2014-07-24 23:34:50 UTC (rev 171554) @@ -99,7 +99,7 @@ #else RetainPtrCFURLProtectionSpaceRef protectionSpace = adoptCF(createCF(coreChallenge.protectionSpace())); -CFURLAuthChallengeRef result = CFURLAuthChallengeCreate(0, protectionSpace, credential, +CFURLAuthChallengeRef result = CFURLAuthChallengeCreate(0, protectionSpace.get(), credential, #endif coreChallenge.previousFailureCount(), coreChallenge.failureResponse().cfURLResponse(), ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171556] branches/safari-600.1-branch/Source/WebCore
Title: [171556] branches/safari-600.1-branch/Source/WebCore Revision 171556 Author lforsch...@apple.com Date 2014-07-24 16:38:01 -0700 (Thu, 24 Jul 2014) Log Message Merged r171554. rdar://problem/17766348 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171555 => 171556) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:35:12 UTC (rev 171555) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-24 23:38:01 UTC (rev 171556) @@ -1,5 +1,15 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171554 + +2014-07-24 Dan Bernstein m...@apple.com + +Fixed Windows build fix. + +* platform/network/cf/AuthenticationCF.cpp: + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171545 2014-07-24 Dan Bernstein m...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp (171555 => 171556) --- branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp 2014-07-24 23:35:12 UTC (rev 171555) +++ branches/safari-600.1-branch/Source/WebCore/platform/network/cf/AuthenticationCF.cpp 2014-07-24 23:38:01 UTC (rev 171556) @@ -99,7 +99,7 @@ #else RetainPtrCFURLProtectionSpaceRef protectionSpace = adoptCF(createCF(coreChallenge.protectionSpace())); -CFURLAuthChallengeRef result = CFURLAuthChallengeCreate(0, protectionSpace, credential, +CFURLAuthChallengeRef result = CFURLAuthChallengeCreate(0, protectionSpace.get(), credential, #endif coreChallenge.previousFailureCount(), coreChallenge.failureResponse().cfURLResponse(), ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171557] trunk/Source
Title: [171557] trunk/Source Revision 171557 Author commit-qu...@webkit.org Date 2014-07-24 16:50:19 -0700 (Thu, 24 Jul 2014) Log Message Rename feature flag for long-press gesture on Mac. Source/_javascript_Core: https://bugs.webkit.org/show_bug.cgi?id=135259 Patch by Peyton Randolph prando...@apple.com on 2014-07-24 Reviewed by Beth Dakin. * Configurations/FeatureDefines.xcconfig: Rename LINK_LONG_PRESS to MAC_LONG_PRESS. Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=135259 Patch by Peyton Randolph prando...@apple.com on 2014-07-24 Reviewed by Beth Dakin. * Configurations/FeatureDefines.xcconfig: Rename LINK_LONG_PRESS to MAC_LONG_PRESS. Source/WebKit/mac: https://bugs.webkit.org/show_bug.cgi?id=135259 Patch by Peyton Randolph prando...@apple.com on 2014-07-24 Reviewed by Beth Dakin. * Configurations/FeatureDefines.xcconfig: Rename LINK_LONG_PRESS to MAC_LONG_PRESS. Source/WebKit2: https://bugs.webkit.org/show_bug.cgi?id=135259 Patch by Peyton Randolph prando...@apple.com on 2014-07-24 Reviewed by Beth Dakin. * Configurations/FeatureDefines.xcconfig: Rename LINK_LONG_PRESS to MAC_LONG_PRESS. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig trunk/Source/WebKit/mac/ChangeLog trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig Diff Modified: trunk/Source/_javascript_Core/ChangeLog (171556 => 171557) --- trunk/Source/_javascript_Core/ChangeLog 2014-07-24 23:38:01 UTC (rev 171556) +++ trunk/Source/_javascript_Core/ChangeLog 2014-07-24 23:50:19 UTC (rev 171557) @@ -1,3 +1,13 @@ +2014-07-24 Peyton Randolph prando...@apple.com + +Rename feature flag for long-press gesture on Mac. +https://bugs.webkit.org/show_bug.cgi?id=135259 + +Reviewed by Beth Dakin. + +* Configurations/FeatureDefines.xcconfig: +Rename LINK_LONG_PRESS to MAC_LONG_PRESS. + 2014-07-24 Commit Queue commit-qu...@webkit.org Unreviewed, rolling out r171527. Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (171556 => 171557) --- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig 2014-07-24 23:38:01 UTC (rev 171556) +++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig 2014-07-24 23:50:19 UTC (rev 171557) @@ -139,14 +139,12 @@ ENABLE_LETTERPRESS = $(ENABLE_LETTERPRESS_$(PLATFORM_NAME)); ENABLE_LETTERPRESS_iphoneos = ENABLE_LETTERPRESS; ENABLE_LETTERPRESS_iphonesimulator = $(ENABLE_LETTERPRESS_iphoneos); +ENABLE_LINK_PREFETCH = ; -ENABLE_LINK_LONG_PRESS = $(ENABLE_LINK_LONG_PRESS_$(PLATFORM_NAME)); -ENABLE_LINK_LONG_PRESS_macosx = $(ENABLE_LINK_LONG_PRESS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR)); -ENABLE_LINK_LONG_PRESS_macosx_1080 = ; -ENABLE_LINK_LONG_PRESS_macosx_1090 = ; -ENABLE_LINK_LONG_PRESS_macosx_101000 = ENABLE_LINK_LONG_PRESS; +ENABLE_MAC_LONG_PRESS = $(ENABLE_MAC_LONG_PRESS_$(PLATFORM_NAME)); +ENABLE_MAC_LONG_PRESS_macosx = $(ENABLE_MAC_LONG_PRESS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +ENABLE_MAC_LONG_PRESS_macosx_101000 = ; -ENABLE_LINK_PREFETCH = ; ENABLE_MATHML = ENABLE_MATHML; ENABLE_MEDIA_CONTROLS_SCRIPT = ENABLE_MEDIA_CONTROLS_SCRIPT; @@ -248,4 +246,4 @@ ENABLE_LLINT_C_LOOP = ; -FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE)
[webkit-changes] [171558] trunk/Source/JavaScriptCore
Title: [171558] trunk/Source/_javascript_Core Revision 171558 Author joep...@webkit.org Date 2014-07-24 16:56:34 -0700 (Thu, 24 Jul 2014) Log Message JSLock release should only modify the AtomicStringTable if it modified in acquire https://bugs.webkit.org/show_bug.cgi?id=135143 Reviewed by Darin Adler. * runtime/JSLock.cpp: (JSC::JSLock::JSLock): Initialize the member variable to nullptr. (JSC::JSLock::willDestroyVM): Update style to use nullptr instead of 0. (JSC::JSLock::willReleaseLock): We should only reset the thread data's atomic string table if didAcquireLock changed it. m_entryAtomicStringTable will have been set by didAcquireLock if it changed, or nullptr if it didn't. This way we are sure we are balanced, regardless of m_vm changes. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSLock.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (171557 => 171558) --- trunk/Source/_javascript_Core/ChangeLog 2014-07-24 23:50:19 UTC (rev 171557) +++ trunk/Source/_javascript_Core/ChangeLog 2014-07-24 23:56:34 UTC (rev 171558) @@ -1,3 +1,23 @@ +2014-07-24 Joseph Pecoraro pecor...@apple.com + +JSLock release should only modify the AtomicStringTable if it modified in acquire +https://bugs.webkit.org/show_bug.cgi?id=135143 + +Reviewed by Darin Adler. + +* runtime/JSLock.cpp: +(JSC::JSLock::JSLock): +Initialize the member variable to nullptr. + +(JSC::JSLock::willDestroyVM): +Update style to use nullptr instead of 0. + +(JSC::JSLock::willReleaseLock): +We should only reset the thread data's atomic string table if +didAcquireLock changed it. m_entryAtomicStringTable will have +been set by didAcquireLock if it changed, or nullptr if it didn't. +This way we are sure we are balanced, regardless of m_vm changes. + 2014-07-24 Peyton Randolph prando...@apple.com Rename feature flag for long-press gesture on Mac. Modified: trunk/Source/_javascript_Core/runtime/JSLock.cpp (171557 => 171558) --- trunk/Source/_javascript_Core/runtime/JSLock.cpp 2014-07-24 23:50:19 UTC (rev 171557) +++ trunk/Source/_javascript_Core/runtime/JSLock.cpp 2014-07-24 23:56:34 UTC (rev 171558) @@ -83,6 +83,7 @@ , m_lockDropDepth(0) , m_hasExclusiveThread(false) , m_vm(vm) +, m_entryAtomicStringTable(nullptr) { } @@ -93,7 +94,7 @@ void JSLock::willDestroyVM(VM* vm) { ASSERT_UNUSED(vm, m_vm == vm); -m_vm = 0; +m_vm = nullptr; } void JSLock::setExclusiveThread(std::thread::id threadId) @@ -139,7 +140,10 @@ WTFThreadData threadData = wtfThreadData(); m_vm-setLastStackTop(threadData.savedLastStackTop()); +ASSERT(!m_entryAtomicStringTable); m_entryAtomicStringTable = threadData.setCurrentAtomicStringTable(m_vm-atomicStringTable()); +ASSERT(m_entryAtomicStringTable); + m_vm-heap.machineThreads().addCurrentThread(); } @@ -170,7 +174,10 @@ if (m_vm) m_vm-setStackPointerAtVMEntry(nullptr); -wtfThreadData().setCurrentAtomicStringTable(m_entryAtomicStringTable); +if (m_entryAtomicStringTable) { +wtfThreadData().setCurrentAtomicStringTable(m_entryAtomicStringTable); +m_entryAtomicStringTable = nullptr; +} } void JSLock::lock(ExecState* exec) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171559] trunk/Source/WebCore
Title: [171559] trunk/Source/WebCore Revision 171559 Author dba...@webkit.org Date 2014-07-24 17:15:06 -0700 (Thu, 24 Jul 2014) Log Message And Alexey Proskuryakov a...@apple.com [iOS] REGRESSION (WebKit2): Can't login to Wordpress.com, facebook.com when always allowing cookies https://bugs.webkit.org/show_bug.cgi?id=135273 rdar://problem/17598815 Reviewed by Alexey Proskuryakov. Fixes an issue where cookies may be created in the wrong cookie store. Currently, when we update the CFURLRequest object associated with a ResourceRequest object we explicitly set a cookie storage, cookie accept policy, and SSL properties based on the corresponding values in the old CFURLRequest object (if we have one). This ultimately leads to CFNetwork associating the cookies for the request with a different cookie store when we handle the request in the NetworkProcess. Instead, we shouldn't set these properties explicitly as we already copy them implicitly earlier (via CFURLRequestCreateMutableCopy()). * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (171558 => 171559) --- trunk/Source/WebCore/ChangeLog 2014-07-24 23:56:34 UTC (rev 171558) +++ trunk/Source/WebCore/ChangeLog 2014-07-25 00:15:06 UTC (rev 171559) @@ -1,3 +1,24 @@ +2014-07-24 Daniel Bates daba...@apple.com +And Alexey Proskuryakov a...@apple.com + +[iOS] REGRESSION (WebKit2): Can't login to Wordpress.com, facebook.com when always allowing cookies +https://bugs.webkit.org/show_bug.cgi?id=135273 +rdar://problem/17598815 + +Reviewed by Alexey Proskuryakov. + +Fixes an issue where cookies may be created in the wrong cookie store. + +Currently, when we update the CFURLRequest object associated with a ResourceRequest object +we explicitly set a cookie storage, cookie accept policy, and SSL properties based on the +corresponding values in the old CFURLRequest object (if we have one). This ultimately leads +to CFNetwork associating the cookies for the request with a different cookie store when we +handle the request in the NetworkProcess. Instead, we shouldn't set these properties +explicitly as we already copy them implicitly earlier (via CFURLRequestCreateMutableCopy()). + +* platform/network/cf/ResourceRequestCFNet.cpp: +(WebCore::ResourceRequest::doUpdatePlatformRequest): + 2014-07-24 Peyton Randolph prando...@apple.com Rename feature flag for long-press gesture on Mac. Modified: trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp (171558 => 171559) --- trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp 2014-07-24 23:56:34 UTC (rev 171558) +++ trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp 2014-07-25 00:15:06 UTC (rev 171559) @@ -177,14 +177,6 @@ } setContentDispositionEncodingFallbackArray(cfRequest, encodingFallbacks.get()); -if (m_cfRequest) { -RetainPtrCFHTTPCookieStorageRef cookieStorage = adoptCF(CFURLRequestCopyHTTPCookieStorage(m_cfRequest.get())); -if (cookieStorage) -CFURLRequestSetHTTPCookieStorage(cfRequest, cookieStorage.get()); -CFURLRequestSetHTTPCookieStorageAcceptPolicy(cfRequest, CFURLRequestGetHTTPCookieStorageAcceptPolicy(m_cfRequest.get())); -CFURLRequestSetSSLProperties(cfRequest, CFURLRequestGetSSLProperties(m_cfRequest.get())); -} - #if ENABLE(CACHE_PARTITIONING) String partition = cachePartition(); if (!partition.isNull() !partition.isEmpty()) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171560] trunk/Source/WebKit2
Title: [171560] trunk/Source/WebKit2 Revision 171560 Author simon.fra...@apple.com Date 2014-07-24 17:24:56 -0700 (Thu, 24 Jul 2014) Log Message [iOS WK2] Header bar on nytimes articles lands in the wrong place after rubberbanding https://bugs.webkit.org/show_bug.cgi?id=135221 rdar://problem/17542454 Reviewed by Benjamin Poulain. The call to didCommitLayerTree() can cause one or two visible rect updates, via changes to the UIScrollView contentSize and contentOffset. As a result, we would notify the scrolling tree about a viewport change, but using the old scrolling tree rather than the new one, so we could move layers around for nodes which are about to be removed from the tree. However, we also have to ensure that programmatic scrolls are applied after didCommitLayerTree() has updated the view size, so have RemoteScrollingCoordinatorProxy store data about programmatic scrolls and return them to the caller, which can apply them after didCommitLayerTree(). * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Store a pointer to a RequestedScrollInfo for the duration of the tree update, so that we can store requested scroll info in it. (WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy): (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeRequestsScroll): * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLayerTree): Give Mac a stub implementation. * UIProcess/WebPageProxy.h: Group some editing-related functions together. (WebKit::WebPageProxy::editorState): (WebKit::WebPageProxy::canDelete): (WebKit::WebPageProxy::hasSelectedRange): (WebKit::WebPageProxy::isContentEditable): (WebKit::WebPageProxy::maintainsInactiveSelection): * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Ordering change: update the layer tree, then call didCommitLayerTree(), then do the viewport update, followed by any programmatic scroll. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp trunk/Source/WebKit2/UIProcess/WebPageProxy.h trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (171559 => 171560) --- trunk/Source/WebKit2/ChangeLog 2014-07-25 00:15:06 UTC (rev 171559) +++ trunk/Source/WebKit2/ChangeLog 2014-07-25 00:24:56 UTC (rev 171560) @@ -1,3 +1,41 @@ +2014-07-24 Simon Fraser simon.fra...@apple.com + +[iOS WK2] Header bar on nytimes articles lands in the wrong place after rubberbanding +https://bugs.webkit.org/show_bug.cgi?id=135221 +rdar://problem/17542454 + +Reviewed by Benjamin Poulain. + +The call to didCommitLayerTree() can cause one or two visible rect updates, +via changes to the UIScrollView contentSize and contentOffset. As a result, we +would notify the scrolling tree about a viewport change, but using the old +scrolling tree rather than the new one, so we could move layers around for +nodes which are about to be removed from the tree. + +However, we also have to ensure that programmatic scrolls are applied after +didCommitLayerTree() has updated the view size, so have RemoteScrollingCoordinatorProxy +store data about programmatic scrolls and return them to the caller, which +can apply them after didCommitLayerTree(). + +* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Store a pointer to a RequestedScrollInfo +for the duration of the tree update, so that we can store requested scroll info in it. +(WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy): +(WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): +(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeRequestsScroll): +* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::didCommitLayerTree): Give Mac a stub implementation. +* UIProcess/WebPageProxy.h: Group some editing-related functions together. +(WebKit::WebPageProxy::editorState): +(WebKit::WebPageProxy::canDelete): +(WebKit::WebPageProxy::hasSelectedRange): +(WebKit::WebPageProxy::isContentEditable): +(WebKit::WebPageProxy::maintainsInactiveSelection): +* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: +(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Ordering change: update +the layer tree, then call didCommitLayerTree(), then do the viewport update, followed +by any programmatic scroll. + 2014-07-24 Peyton Randolph
[webkit-changes] [171561] trunk
Title: [171561] trunk Revision 171561 Author mmaxfi...@apple.com Date 2014-07-24 17:27:09 -0700 (Thu, 24 Jul 2014) Log Message Crash when measuring a glyphs from a fallback SVG font https://bugs.webkit.org/show_bug.cgi?id=135264 Reviewed by Simon Fraser. Source/WebCore: We can't realize font data for all fallback fonts ahead of time, but we don't have all the necessary context to realize SVG fallback data when it's needed. For now, we can just bail; however, a larger, more invasive fix is in order. Test: svg/text/svg-fallback-font-crash.html * platform/graphics/WidthIterator.cpp: (WebCore::applyFontTransforms): LayoutTests: Render some text with a fallback SVG Font including a glyph which only exists in that fallback font. Make sure there is no crash. * svg/text/resources/Litherum.svg: * svg/text/svg-fallback-font-crash-expected.txt: Added. * svg/text/svg-fallback-font-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/svg/text/resources/Litherum.svg trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/WidthIterator.cpp Added Paths trunk/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt trunk/LayoutTests/svg/text/svg-fallback-font-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (171560 => 171561) --- trunk/LayoutTests/ChangeLog 2014-07-25 00:24:56 UTC (rev 171560) +++ trunk/LayoutTests/ChangeLog 2014-07-25 00:27:09 UTC (rev 171561) @@ -1,3 +1,17 @@ +2014-07-24 Myles C. Maxfield mmaxfi...@apple.com + +Crash when measuring a glyphs from a fallback SVG font +https://bugs.webkit.org/show_bug.cgi?id=135264 + +Reviewed by Simon Fraser. + +Render some text with a fallback SVG Font including a glyph which +only exists in that fallback font. Make sure there is no crash. + +* svg/text/resources/Litherum.svg: +* svg/text/svg-fallback-font-crash-expected.txt: Added. +* svg/text/svg-fallback-font-crash.html: Added. + 2014-07-24 Mihnea Ovidenie mih...@adobe.com [New Multicolumn] Assertion failure when an input element has multicolumn style Modified: trunk/LayoutTests/svg/text/resources/Litherum.svg (171560 => 171561) --- trunk/LayoutTests/svg/text/resources/Litherum.svg 2014-07-25 00:24:56 UTC (rev 171560) +++ trunk/LayoutTests/svg/text/resources/Litherum.svg 2014-07-25 00:27:09 UTC (rev 171561) @@ -6,6 +6,7 @@ font id=Litherum horiz-adv-x=1024 font-face units-per-em=14 ascent=14 descent=-7/ glyph unicode=| horiz-adv-x=14 d=M5 -7v21h4v-21z/ +glyph unicode=#x20001; horiz-adv-x=14 d=M5 -7v21h4v-21z/ /font /defs /svg Added: trunk/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt (0 => 171561) --- trunk/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt (rev 0) +++ trunk/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt 2014-07-25 00:27:09 UTC (rev 171561) @@ -0,0 +1,2 @@ +This test makes sure that there is no crash if a character is rendered with a SVG fallback font. The test is successful if there is no crash. +This is a foreign character. That was a foreign character. Added: trunk/LayoutTests/svg/text/svg-fallback-font-crash.html (0 => 171561) --- trunk/LayoutTests/svg/text/svg-fallback-font-crash.html (rev 0) +++ trunk/LayoutTests/svg/text/svg-fallback-font-crash.html 2014-07-25 00:27:09 UTC (rev 171561) @@ -0,0 +1,19 @@ +!DOCTYPE html +html +head +style +@font-face { +font-family: 'Litherum'; +src: url(./resources/Litherum.svg) format(svg) +} +/style +script +if (window.testRunner) +testRunner.dumpAsText(); +/script +/head +body +This test makes sure that there is no crash if a character is rendered with a SVG fallback font. The test is successful if there is no crash. +div style=font-family: 'Helvetica' 'Litherum';This is a foreign character. #x20001; That was a foreign character./div +/body +/html Modified: trunk/Source/WebCore/ChangeLog (171560 => 171561) --- trunk/Source/WebCore/ChangeLog 2014-07-25 00:24:56 UTC (rev 171560) +++ trunk/Source/WebCore/ChangeLog 2014-07-25 00:27:09 UTC (rev 171561) @@ -1,3 +1,21 @@ +2014-07-24 Myles C. Maxfield mmaxfi...@apple.com + +Crash when measuring a glyphs from a fallback SVG font +https://bugs.webkit.org/show_bug.cgi?id=135264 + +Reviewed by Simon Fraser. + +We can't realize font data for all fallback fonts ahead +of time, but we don't have all the necessary context to +realize SVG fallback data when it's needed. For now, we +can just bail; however, a larger, more invasive fix is +in order. + +Test: svg/text/svg-fallback-font-crash.html + +* platform/graphics/WidthIterator.cpp: +(WebCore::applyFontTransforms): + 2014-07-24 Daniel Bates daba...@apple.com And Alexey Proskuryakov a...@apple.com Modified: trunk/Source/WebCore/platform/graphics/WidthIterator.cpp (171560 => 171561) ---
[webkit-changes] [171562] branches/safari-600.1-branch/Source/JavaScriptCore
Title: [171562] branches/safari-600.1-branch/Source/_javascript_Core Revision 171562 Author lforsch...@apple.com Date 2014-07-24 17:53:50 -0700 (Thu, 24 Jul 2014) Log Message Merged r171543. rdar://problem/17706699 Modified Paths branches/safari-600.1-branch/Source/_javascript_Core/API/JSValueRef.cpp branches/safari-600.1-branch/Source/_javascript_Core/API/tests/testapi.c branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog branches/safari-600.1-branch/Source/_javascript_Core/_javascript_Core.vcxproj/testapi/testapi.vcxproj branches/safari-600.1-branch/Source/_javascript_Core/_javascript_Core.vcxproj/testapi/testapi.vcxproj.filters branches/safari-600.1-branch/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj branches/safari-600.1-branch/Source/_javascript_Core/runtime/JSGlobalObject.cpp Added Paths branches/safari-600.1-branch/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c branches/safari-600.1-branch/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.h Diff Modified: branches/safari-600.1-branch/Source/_javascript_Core/API/JSValueRef.cpp (171561 => 171562) --- branches/safari-600.1-branch/Source/_javascript_Core/API/JSValueRef.cpp 2014-07-25 00:27:09 UTC (rev 171561) +++ branches/safari-600.1-branch/Source/_javascript_Core/API/JSValueRef.cpp 2014-07-25 00:53:50 UTC (rev 171562) @@ -179,6 +179,9 @@ JSValue jsValue = toJS(exec, value); if (JSObject* o = jsValue.getObject()) { +if (o-inherits(JSProxy::info())) +o = jsCastJSProxy*(o)-target(); + if (o-inherits(JSCallbackObjectJSGlobalObject::info())) return jsCastJSCallbackObjectJSGlobalObject*(o)-inherits(jsClass); if (o-inherits(JSCallbackObjectJSDestructibleObject::info())) Copied: branches/safari-600.1-branch/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c (from rev 171543, trunk/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c) (0 => 171562) --- branches/safari-600.1-branch/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c (rev 0) +++ branches/safari-600.1-branch/Source/_javascript_Core/API/tests/CustomGlobalObjectClassTest.c 2014-07-25 00:53:50 UTC (rev 171562) @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2014 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include CustomGlobalObjectClassTest.h + +#include _javascript_Core/_javascript_Core.h +#include stdio.h + +extern bool assertTrue(bool value, const char* message); + +static bool executedCallback = false; + +static JSValueRef jsDoSomething(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argc, const JSValueRef args[], JSValueRef* exception) +{ +(void)function; +(void)thisObject; +(void)argc; +(void)args; +(void)exception; +executedCallback = true; +return JSValueMakeNull(ctx); +} + +static JSStaticFunction bridgedFunctions[] = { +{doSomething, jsDoSomething, kJSPropertyAttributeDontDelete}, +{0, 0, 0}, +}; + +static JSClassRef bridgedObjectClass = NULL; +static JSClassDefinition bridgedClassDef; + +static JSClassRef jsClassRef() +{ +if (!bridgedObjectClass) { +bridgedClassDef = kJSClassDefinitionEmpty; +bridgedClassDef.className = BridgedObject; +bridgedClassDef.staticFunctions = bridgedFunctions; +bridgedObjectClass = JSClassCreate(bridgedClassDef); +} +return bridgedObjectClass; +} + +void customGlobalObjectClassTest() +{ +JSClassRef bridgedObjectJsClassRef = jsClassRef(); +JSGlobalContextRef globalContext = JSGlobalContextCreate(bridgedObjectJsClassRef); + +JSObjectRef globalObj =
[webkit-changes] [171563] branches/safari-600.1-branch/Source/WebCore
Title: [171563] branches/safari-600.1-branch/Source/WebCore Revision 171563 Author lforsch...@apple.com Date 2014-07-24 17:57:39 -0700 (Thu, 24 Jul 2014) Log Message Merged r171505. rdar://problem/17713033 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.cpp branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.h Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171562 => 171563) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-25 00:53:50 UTC (rev 171562) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-25 00:57:39 UTC (rev 171563) @@ -1,5 +1,33 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171505 + +2014-07-23 Joseph Pecoraro pecor...@apple.com + +ScriptController::updateDocument ASSERT mutating map while iterating map +https://bugs.webkit.org/show_bug.cgi?id=135211 + +Reviewed by Oliver Hunt. + +Avoid iterating over m_windowShells in more places. This prevents +the possibility of a collection during JSC allocation which might +cause a mutation to m_windowShells (HTMLMediaElement destruction). + +Have ScriptController defriend ScriptCachedFrameData by providing +a getter for the list of window shells. + +* bindings/js/ScriptCachedFrameData.cpp: +(WebCore::ScriptCachedFrameData::ScriptCachedFrameData): +(WebCore::ScriptCachedFrameData::restore): +* bindings/js/ScriptController.cpp: +(WebCore::ScriptController::windowShells): +(WebCore::ScriptController::clearWindowShell): +(WebCore::ScriptController::attachDebugger): +(WebCore::ScriptController::updateDocument): +* bindings/js/ScriptController.h: + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171554 2014-07-24 Dan Bernstein m...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp (171562 => 171563) --- branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp 2014-07-25 00:53:50 UTC (rev 171562) +++ branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp 2014-07-25 00:57:39 UTC (rev 171563) @@ -51,12 +51,12 @@ JSLockHolder lock(JSDOMWindowBase::commonVM()); ScriptController scriptController = frame.script(); -ScriptController::ShellMap windowShells = scriptController.m_windowShells; +VectorJSC::StrongJSDOMWindowShell windowShells = scriptController.windowShells(); -ScriptController::ShellMap::iterator windowShellsEnd = windowShells.end(); -for (ScriptController::ShellMap::iterator iter = windowShells.begin(); iter != windowShellsEnd; ++iter) { -JSDOMWindow* window = iter-value-window(); -m_windows.add(iter-key.get(), StrongJSDOMWindow(window-vm(), window)); +for (size_t i = 0; i windowShells.size(); ++i) { +JSDOMWindowShell* windowShell = windowShells[i].get(); +JSDOMWindow* window = windowShell-window(); +m_windows.add(windowShell-world(), StrongJSDOMWindow(window-vm(), window)); window-setConsoleClient(nullptr); } @@ -74,11 +74,11 @@ Page* page = frame.page(); ScriptController scriptController = frame.script(); -ScriptController::ShellMap windowShells = scriptController.m_windowShells; +VectorJSC::StrongJSDOMWindowShell windowShells = scriptController.windowShells(); -for (auto it = windowShells.begin(), end = windowShells.end(); it != end; ++it) { -DOMWrapperWorld* world = it-key.get(); -JSDOMWindowShell* windowShell = it-value.get(); +for (size_t i = 0; i windowShells.size(); ++i) { +JSDOMWindowShell* windowShell = windowShells[i].get(); +DOMWrapperWorld* world = windowShell-world(); if (JSDOMWindow* window = m_windows.get(world).get()) windowShell-setWindow(window-vm(), window); Modified: branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.cpp (171562 => 171563) --- branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.cpp 2014-07-25 00:53:50 UTC (rev 171562) +++ branches/safari-600.1-branch/Source/WebCore/bindings/js/ScriptController.cpp 2014-07-25 00:57:39 UTC (rev 171563) @@ -170,6 +170,13 @@ return DOMWrapperWorld::create(JSDOMWindow::commonVM()); } +VectorJSC::StrongJSDOMWindowShell ScriptController::windowShells() +{ +VectorJSC::StrongJSDOMWindowShell windowShells; +copyValuesToVector(m_windowShells, windowShells); +return windowShells; +} + void ScriptController::getAllWorlds(VectorRefDOMWrapperWorld worlds) {
[webkit-changes] [171564] trunk/Source/JavaScriptCore
Title: [171564] trunk/Source/_javascript_Core Revision 171564 Author mark@apple.com Date 2014-07-24 17:59:10 -0700 (Thu, 24 Jul 2014) Log Message JSWrapperMap's jsWrapperForObject() needs to keep weak prototype and constructors from being GCed. https://webkit.org/b/135258 Reviewed by Mark Hahnenberg. Where needed, we cache the prototype object pointer in a stack local var. This allows it to be scanned by the GC, and hence be kept alive until we use it. The constructor object will in turn be kept alive by the prototype object. Also added some comments to warn against future code additions that could regress this issue. * API/JSWrapperMap.mm: (-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]): (-[JSObjCClassInfo reallocateConstructorAndOrPrototype]): (-[JSObjCClassInfo wrapperForObject:]): (-[JSObjCClassInfo constructor]): Modified Paths trunk/Source/_javascript_Core/API/JSWrapperMap.mm trunk/Source/_javascript_Core/ChangeLog Diff Modified: trunk/Source/_javascript_Core/API/JSWrapperMap.mm (171563 => 171564) --- trunk/Source/_javascript_Core/API/JSWrapperMap.mm 2014-07-25 00:57:39 UTC (rev 171563) +++ trunk/Source/_javascript_Core/API/JSWrapperMap.mm 2014-07-25 00:59:10 UTC (rev 171564) @@ -464,6 +464,11 @@ m_prototype = toJS(JSValueToObject(cContext, valueInternalValue(prototype), 0)); } } else { +// We need to hold a reference to the superclass prototype here on the stack +// to that it won't get GC'ed while we do allocations between now and when we +// set it in this class' prototype below. +JSC::JSObject* superClassPrototype = superClassInfo-m_prototype.get(); + const char* className = class_getName(m_class); // Create or grab the prototype/constructor pair. @@ -493,13 +498,15 @@ }); // Set [Prototype]. -JSObjectSetPrototype([m_context JSGlobalContextRef], toRef(m_prototype.get()), toRef(superClassInfo-m_prototype.get())); +JSObjectSetPrototype([m_context JSGlobalContextRef], toRef(m_prototype.get()), toRef(superClassPrototype)); } } - (void)reallocateConstructorAndOrPrototype { [self allocateConstructorAndPrototypeWithSuperClassInfo:[m_context.wrapperMap classInfoForClass:class_getSuperclass(m_class)]]; +// We should not add any code here that can trigger a GC or the prototype and +// constructor that we just created may be collected before they can be used. } - (JSValue *)wrapperForObject:(id)object @@ -519,9 +526,12 @@ if (!m_prototype) [self reallocateConstructorAndOrPrototype]; ASSERT(!!m_prototype); +// We need to hold a reference to the prototype here on the stack to that it won't +// get GC'ed while we create the wrapper below. +JSC::JSObject* prototype = m_prototype.get(); JSObjectRef wrapper = makeWrapper([m_context JSGlobalContextRef], m_classRef, object); -JSObjectSetPrototype([m_context JSGlobalContextRef], wrapper, toRef(m_prototype.get())); +JSObjectSetPrototype([m_context JSGlobalContextRef], wrapper, toRef(prototype)); return [JSValue valueWithJSValueRef:wrapper inContext:m_context]; } @@ -530,6 +540,9 @@ if (!m_constructor) [self reallocateConstructorAndOrPrototype]; ASSERT(!!m_constructor); +// If we need to add any code here in the future that can trigger a GC, we should +// cache the constructor pointer in a stack local var first so that it is protected +// from the GC until it gets used below. return [JSValue valueWithJSValueRef:toRef(m_constructor.get()) inContext:m_context]; } Modified: trunk/Source/_javascript_Core/ChangeLog (171563 => 171564) --- trunk/Source/_javascript_Core/ChangeLog 2014-07-25 00:57:39 UTC (rev 171563) +++ trunk/Source/_javascript_Core/ChangeLog 2014-07-25 00:59:10 UTC (rev 171564) @@ -1,3 +1,24 @@ +2014-07-24 Mark Lam mark@apple.com + +JSWrapperMap's jsWrapperForObject() needs to keep weak prototype and constructors from being GCed. +https://webkit.org/b/135258 + +Reviewed by Mark Hahnenberg. + +Where needed, we cache the prototype object pointer in a stack local var. +This allows it to be scanned by the GC, and hence be kept alive until +we use it. The constructor object will in turn be kept alive by the +prototype object. + +Also added some comments to warn against future code additions that could +regress this issue. + +* API/JSWrapperMap.mm: +(-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]): +(-[JSObjCClassInfo reallocateConstructorAndOrPrototype]): +(-[JSObjCClassInfo wrapperForObject:]): +(-[JSObjCClassInfo constructor]): + 2014-07-24 Joseph Pecoraro pecor...@apple.com JSLock release should only modify the AtomicStringTable if it modified in acquire ___ webkit-changes
[webkit-changes] [171565] branches/safari-600.1-branch/Source/JavaScriptCore
Title: [171565] branches/safari-600.1-branch/Source/_javascript_Core Revision 171565 Author lforsch...@apple.com Date 2014-07-24 17:59:34 -0700 (Thu, 24 Jul 2014) Log Message Merged r171558. rdar://problem/17041912 Modified Paths branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog branches/safari-600.1-branch/Source/_javascript_Core/runtime/JSLock.cpp Diff Modified: branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog (171564 => 171565) --- branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-25 00:59:10 UTC (rev 171564) +++ branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-25 00:59:34 UTC (rev 171565) @@ -1,5 +1,29 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171558 + +2014-07-24 Joseph Pecoraro pecor...@apple.com + +JSLock release should only modify the AtomicStringTable if it modified in acquire +https://bugs.webkit.org/show_bug.cgi?id=135143 + +Reviewed by Darin Adler. + +* runtime/JSLock.cpp: +(JSC::JSLock::JSLock): +Initialize the member variable to nullptr. + +(JSC::JSLock::willDestroyVM): +Update style to use nullptr instead of 0. + +(JSC::JSLock::willReleaseLock): +We should only reset the thread data's atomic string table if +didAcquireLock changed it. m_entryAtomicStringTable will have +been set by didAcquireLock if it changed, or nullptr if it didn't. +This way we are sure we are balanced, regardless of m_vm changes. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171543 2014-07-24 Mark Hahnenberg mhahnenb...@apple.com Modified: branches/safari-600.1-branch/Source/_javascript_Core/runtime/JSLock.cpp (171564 => 171565) --- branches/safari-600.1-branch/Source/_javascript_Core/runtime/JSLock.cpp 2014-07-25 00:59:10 UTC (rev 171564) +++ branches/safari-600.1-branch/Source/_javascript_Core/runtime/JSLock.cpp 2014-07-25 00:59:34 UTC (rev 171565) @@ -83,6 +83,7 @@ , m_lockDropDepth(0) , m_hasExclusiveThread(false) , m_vm(vm) +, m_entryAtomicStringTable(nullptr) { } @@ -93,7 +94,7 @@ void JSLock::willDestroyVM(VM* vm) { ASSERT_UNUSED(vm, m_vm == vm); -m_vm = 0; +m_vm = nullptr; } void JSLock::setExclusiveThread(std::thread::id threadId) @@ -139,7 +140,10 @@ WTFThreadData threadData = wtfThreadData(); m_vm-setLastStackTop(threadData.savedLastStackTop()); +ASSERT(!m_entryAtomicStringTable); m_entryAtomicStringTable = threadData.setCurrentAtomicStringTable(m_vm-atomicStringTable()); +ASSERT(m_entryAtomicStringTable); + m_vm-heap.machineThreads().addCurrentThread(); } @@ -170,7 +174,10 @@ if (m_vm) m_vm-setStackPointerAtVMEntry(nullptr); -wtfThreadData().setCurrentAtomicStringTable(m_entryAtomicStringTable); +if (m_entryAtomicStringTable) { +wtfThreadData().setCurrentAtomicStringTable(m_entryAtomicStringTable); +m_entryAtomicStringTable = nullptr; +} } void JSLock::lock(ExecState* exec) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171566] branches/safari-600.1-branch/Source/WebCore
Title: [171566] branches/safari-600.1-branch/Source/WebCore Revision 171566 Author lforsch...@apple.com Date 2014-07-24 18:03:00 -0700 (Thu, 24 Jul 2014) Log Message Merged r171559. rdar://problem/17598815 Modified Paths branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp Diff Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171565 => 171566) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-25 00:59:34 UTC (rev 171565) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-25 01:03:00 UTC (rev 171566) @@ -1,5 +1,30 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171559 + +2014-07-24 Daniel Bates daba...@apple.com +And Alexey Proskuryakov a...@apple.com + +[iOS] REGRESSION (WebKit2): Can't login to Wordpress.com, facebook.com when always allowing cookies +https://bugs.webkit.org/show_bug.cgi?id=135273 +rdar://problem/17598815 + +Reviewed by Alexey Proskuryakov. + +Fixes an issue where cookies may be created in the wrong cookie store. + +Currently, when we update the CFURLRequest object associated with a ResourceRequest object +we explicitly set a cookie storage, cookie accept policy, and SSL properties based on the +corresponding values in the old CFURLRequest object (if we have one). This ultimately leads +to CFNetwork associating the cookies for the request with a different cookie store when we +handle the request in the NetworkProcess. Instead, we shouldn't set these properties +explicitly as we already copy them implicitly earlier (via CFURLRequestCreateMutableCopy()). + +* platform/network/cf/ResourceRequestCFNet.cpp: +(WebCore::ResourceRequest::doUpdatePlatformRequest): + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171505 2014-07-23 Joseph Pecoraro pecor...@apple.com Modified: branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp (171565 => 171566) --- branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp 2014-07-25 00:59:34 UTC (rev 171565) +++ branches/safari-600.1-branch/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp 2014-07-25 01:03:00 UTC (rev 171566) @@ -177,14 +177,6 @@ } setContentDispositionEncodingFallbackArray(cfRequest, encodingFallbacks.get()); -if (m_cfRequest) { -RetainPtrCFHTTPCookieStorageRef cookieStorage = adoptCF(CFURLRequestCopyHTTPCookieStorage(m_cfRequest.get())); -if (cookieStorage) -CFURLRequestSetHTTPCookieStorage(cfRequest, cookieStorage.get()); -CFURLRequestSetHTTPCookieStorageAcceptPolicy(cfRequest, CFURLRequestGetHTTPCookieStorageAcceptPolicy(m_cfRequest.get())); -CFURLRequestSetSSLProperties(cfRequest, CFURLRequestGetSSLProperties(m_cfRequest.get())); -} - #if ENABLE(CACHE_PARTITIONING) String partition = cachePartition(); if (!partition.isNull() !partition.isEmpty()) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171567] trunk
Title: [171567] trunk Revision 171567 Author simon.fra...@apple.com Date 2014-07-24 18:05:14 -0700 (Thu, 24 Jul 2014) Log Message [iOS WK1] CSS viewport units use the wrong viewport size in WebKit1 https://bugs.webkit.org/show_bug.cgi?id=135254 rdar://problem/17781423 Reviewed by Tim Horton. Source/WebCore: Test: fast/css/viewport-units-dynamic.html In WebKit1 on iOS, we want to resolve viewport units against the visible viewport, not the legacy WK1 notion of the viewport which is the entire document. Fixes rendering of medium.com articles in WK1 views on iPad. * page/FrameView.cpp: (WebCore::FrameView::viewportSizeForCSSViewportUnits): LayoutTests: New test that ensures that viewport units are resolved against the correct viewport size after the first style recalc. * fast/css/viewport-units-dynamic.html: Added. * platform/mac/fast/css/viewport-units-dynamic-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameView.cpp Added Paths trunk/LayoutTests/fast/css/viewport-units-dynamic.html trunk/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (171566 => 171567) --- trunk/LayoutTests/ChangeLog 2014-07-25 01:03:00 UTC (rev 171566) +++ trunk/LayoutTests/ChangeLog 2014-07-25 01:05:14 UTC (rev 171567) @@ -1,3 +1,17 @@ +2014-07-24 Simon Fraser simon.fra...@apple.com + +[iOS WK1] CSS viewport units use the wrong viewport size in WebKit1 +https://bugs.webkit.org/show_bug.cgi?id=135254 +rdar://problem/17781423 + +Reviewed by Tim Horton. + +New test that ensures that viewport units are resolved against the correct +viewport size after the first style recalc. + +* fast/css/viewport-units-dynamic.html: Added. +* platform/mac/fast/css/viewport-units-dynamic-expected.txt: Added. + 2014-07-24 Myles C. Maxfield mmaxfi...@apple.com Crash when measuring a glyphs from a fallback SVG font Added: trunk/LayoutTests/fast/css/viewport-units-dynamic.html (0 => 171567) --- trunk/LayoutTests/fast/css/viewport-units-dynamic.html (rev 0) +++ trunk/LayoutTests/fast/css/viewport-units-dynamic.html 2014-07-25 01:05:14 UTC (rev 171567) @@ -0,0 +1,62 @@ +!DOCTYPE html + +html +head +style +body { +height: 1px; +width: 1px; +margin: 0; +} +.box { +position: absolute; +background-color: rgba(0, 0, 0, 0.5); +border: 5px solid black; +box-sizing: border-box; +} + +.width { +width: 100px; +height: 100px; +padding-left: 100px; +} + +.height { +height: 100px; +width: 100px; +padding-top: 100px; +} + +body.changed .height { +height: 100vh; +} + +body.changed .width { +width: 100vw; +} +/style +script +if (window.testRunner) +testRunner.waitUntilDone(); + +function doTest() +{ +window.setTimeout(function() { +document.body.classList.add('changed'); +if (window.testRunner) +testRunner.notifyDone(); +}, 0); +} +window.addEventListener('load', doTest, false); +/script +/head +body +div class=box width +This should be as wide as the CSS viewport. +/div + +div id=vertical class=box height +This should be as tall as the CSS viewport. +/div +/body +/html Added: trunk/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt (0 => 171567) --- trunk/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt (rev 0) +++ trunk/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt 2014-07-25 01:05:14 UTC (rev 171567) @@ -0,0 +1,16 @@ +layer at (0,0) size 1x1 + RenderView at (0,0) size 785x585 +layer at (0,0) size 785x1 + RenderBlock {HTML} at (0,0) size 785x1 +RenderBody {BODY} at (0,0) size 1x1 +layer at (0,0) size 800x100 + RenderBlock (positioned) {DIV} at (0,0) size 800x100 [bgcolor=#007F] [border: (5px solid #00)] +RenderText {#text} at (105,5) size 282x18 + text run at (105,5) width 282: This should be as wide as the CSS viewport. +layer at (0,0) size 100x600 + RenderBlock (positioned) {DIV} at (0,0) size 100x600 [bgcolor=#007F] [border: (5px solid #00)] +RenderText {#text} at (5,105) size 74x72 + text run at (5,105) width 74: This should + text run at (5,123) width 72: be as tall as + text run at (5,141) width 52: the CSS + text run at (5,159) width 60: viewport. Modified: trunk/Source/WebCore/ChangeLog (171566 => 171567) --- trunk/Source/WebCore/ChangeLog 2014-07-25 01:03:00 UTC (rev
[webkit-changes] [171568] branches/safari-600.1-branch/Source/WebKit2
Title: [171568] branches/safari-600.1-branch/Source/WebKit2 Revision 171568 Author lforsch...@apple.com Date 2014-07-24 18:05:25 -0700 (Thu, 24 Jul 2014) Log Message Merged r171560. rdar://problem/17542454 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp branches/safari-600.1-branch/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.h branches/safari-600.1-branch/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171567 => 171568) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-25 01:05:14 UTC (rev 171567) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-25 01:05:25 UTC (rev 171568) @@ -1,5 +1,47 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171560 + +2014-07-24 Simon Fraser simon.fra...@apple.com + +[iOS WK2] Header bar on nytimes articles lands in the wrong place after rubberbanding +https://bugs.webkit.org/show_bug.cgi?id=135221 +rdar://problem/17542454 + +Reviewed by Benjamin Poulain. + +The call to didCommitLayerTree() can cause one or two visible rect updates, +via changes to the UIScrollView contentSize and contentOffset. As a result, we +would notify the scrolling tree about a viewport change, but using the old +scrolling tree rather than the new one, so we could move layers around for +nodes which are about to be removed from the tree. + +However, we also have to ensure that programmatic scrolls are applied after +didCommitLayerTree() has updated the view size, so have RemoteScrollingCoordinatorProxy +store data about programmatic scrolls and return them to the caller, which +can apply them after didCommitLayerTree(). + +* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Store a pointer to a RequestedScrollInfo +for the duration of the tree update, so that we can store requested scroll info in it. +(WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy): +(WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): +(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeRequestsScroll): +* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::didCommitLayerTree): Give Mac a stub implementation. +* UIProcess/WebPageProxy.h: Group some editing-related functions together. +(WebKit::WebPageProxy::editorState): +(WebKit::WebPageProxy::canDelete): +(WebKit::WebPageProxy::hasSelectedRange): +(WebKit::WebPageProxy::isContentEditable): +(WebKit::WebPageProxy::maintainsInactiveSelection): +* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: +(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Ordering change: update +the layer tree, then call didCommitLayerTree(), then do the viewport update, followed +by any programmatic scroll. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171540 2014-07-24 Dan Bernstein m...@apple.com Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp (171567 => 171568) --- branches/safari-600.1-branch/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp 2014-07-25 01:05:14 UTC (rev 171567) +++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp 2014-07-25 01:05:25 UTC (rev 171568) @@ -49,6 +49,7 @@ RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy(WebPageProxy webPageProxy) : m_webPageProxy(webPageProxy) , m_scrollingTree(RemoteScrollingTree::create(*this)) +, m_requestedScrollInfo(nullptr) , m_propagatesMainFrameScrolls(true) { } @@ -77,8 +78,10 @@ return remoteDrawingArea-remoteLayerTreeHost(); } -void RemoteScrollingCoordinatorProxy::updateScrollingTree(const RemoteScrollingCoordinatorTransaction transaction) +void RemoteScrollingCoordinatorProxy::updateScrollingTree(const RemoteScrollingCoordinatorTransaction transaction, RequestedScrollInfo requestedScrollInfo) { +m_requestedScrollInfo = requestedScrollInfo; + OwnPtrScrollingStateTree stateTree = const_castRemoteScrollingCoordinatorTransaction(transaction).scrollingStateTree().release(); const RemoteLayerTreeHost* layerTreeHost = this-layerTreeHost(); @@ -89,6 +92,8 @@ connectStateNodeLayers(*stateTree,
[webkit-changes] [171569] branches/safari-600.1-branch
Title: [171569] branches/safari-600.1-branch Revision 171569 Author lforsch...@apple.com Date 2014-07-24 18:08:28 -0700 (Thu, 24 Jul 2014) Log Message Merged r171561. rdar://problem/16591706 Modified Paths branches/safari-600.1-branch/LayoutTests/ChangeLog branches/safari-600.1-branch/LayoutTests/svg/text/resources/Litherum.svg branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/platform/graphics/WidthIterator.cpp Added Paths branches/safari-600.1-branch/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt branches/safari-600.1-branch/LayoutTests/svg/text/svg-fallback-font-crash.html Diff Modified: branches/safari-600.1-branch/LayoutTests/ChangeLog (171568 => 171569) --- branches/safari-600.1-branch/LayoutTests/ChangeLog 2014-07-25 01:05:25 UTC (rev 171568) +++ branches/safari-600.1-branch/LayoutTests/ChangeLog 2014-07-25 01:08:28 UTC (rev 171569) @@ -1,3 +1,21 @@ +2014-07-24 Lucas Forschler lforsch...@apple.com + +Merge r171561 + +2014-07-24 Myles C. Maxfield mmaxfi...@apple.com + +Crash when measuring a glyphs from a fallback SVG font +https://bugs.webkit.org/show_bug.cgi?id=135264 + +Reviewed by Simon Fraser. + +Render some text with a fallback SVG Font including a glyph which +only exists in that fallback font. Make sure there is no crash. + +* svg/text/resources/Litherum.svg: +* svg/text/svg-fallback-font-crash-expected.txt: Added. +* svg/text/svg-fallback-font-crash.html: Added. + 2014-07-23 Lucas Forschler lforsch...@apple.com Merge r171347 Modified: branches/safari-600.1-branch/LayoutTests/svg/text/resources/Litherum.svg (171568 => 171569) --- branches/safari-600.1-branch/LayoutTests/svg/text/resources/Litherum.svg 2014-07-25 01:05:25 UTC (rev 171568) +++ branches/safari-600.1-branch/LayoutTests/svg/text/resources/Litherum.svg 2014-07-25 01:08:28 UTC (rev 171569) @@ -6,6 +6,7 @@ font id=Litherum horiz-adv-x=1024 font-face units-per-em=14 ascent=14 descent=-7/ glyph unicode=| horiz-adv-x=14 d=M5 -7v21h4v-21z/ +glyph unicode=#x20001; horiz-adv-x=14 d=M5 -7v21h4v-21z/ /font /defs /svg Copied: branches/safari-600.1-branch/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt (from rev 171561, trunk/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt) (0 => 171569) --- branches/safari-600.1-branch/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt (rev 0) +++ branches/safari-600.1-branch/LayoutTests/svg/text/svg-fallback-font-crash-expected.txt 2014-07-25 01:08:28 UTC (rev 171569) @@ -0,0 +1,2 @@ +This test makes sure that there is no crash if a character is rendered with a SVG fallback font. The test is successful if there is no crash. +This is a foreign character. That was a foreign character. Copied: branches/safari-600.1-branch/LayoutTests/svg/text/svg-fallback-font-crash.html (from rev 171561, trunk/LayoutTests/svg/text/svg-fallback-font-crash.html) (0 => 171569) --- branches/safari-600.1-branch/LayoutTests/svg/text/svg-fallback-font-crash.html (rev 0) +++ branches/safari-600.1-branch/LayoutTests/svg/text/svg-fallback-font-crash.html 2014-07-25 01:08:28 UTC (rev 171569) @@ -0,0 +1,19 @@ +!DOCTYPE html +html +head +style +@font-face { +font-family: 'Litherum'; +src: url(./resources/Litherum.svg) format(svg) +} +/style +script +if (window.testRunner) +testRunner.dumpAsText(); +/script +/head +body +This test makes sure that there is no crash if a character is rendered with a SVG fallback font. The test is successful if there is no crash. +div style=font-family: 'Helvetica' 'Litherum';This is a foreign character. #x20001; That was a foreign character./div +/body +/html Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171568 => 171569) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-25 01:05:25 UTC (rev 171568) +++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-25 01:08:28 UTC (rev 171569) @@ -1,5 +1,27 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171561 + +2014-07-24 Myles C. Maxfield mmaxfi...@apple.com + +Crash when measuring a glyphs from a fallback SVG font +https://bugs.webkit.org/show_bug.cgi?id=135264 + +Reviewed by Simon Fraser. + +We can't realize font data for all fallback fonts ahead +of time, but we don't have all the necessary context to +realize SVG fallback data when it's needed. For now, we +can just bail; however, a larger, more invasive fix is +in order. + +Test: svg/text/svg-fallback-font-crash.html + +* platform/graphics/WidthIterator.cpp: +(WebCore::applyFontTransforms): + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171559 2014-07-24 Daniel Bates
[webkit-changes] [171570] trunk/Source/WebKit2
Title: [171570] trunk/Source/WebKit2 Revision 171570 Author timothy_hor...@apple.com Date 2014-07-24 18:11:24 -0700 (Thu, 24 Jul 2014) Log Message Sometimes WKWebView is blank after resuming the app, until you scroll https://bugs.webkit.org/show_bug.cgi?id=135275 rdar://problem/17803170 Reviewed by Benjamin Poulain. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::dispatchViewStateChange): If the UI process is waiting for a didUpdateViewState, we need to *always* get a reply from the Web Process, so dispatchViewStateChange should *always* send SetViewState even if nothing changed (so that we get the reply). Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebKit2/ChangeLog (171569 => 171570) --- trunk/Source/WebKit2/ChangeLog 2014-07-25 01:08:28 UTC (rev 171569) +++ trunk/Source/WebKit2/ChangeLog 2014-07-25 01:11:24 UTC (rev 171570) @@ -1,3 +1,17 @@ +2014-07-24 Tim Horton timothy_hor...@apple.com + +Sometimes WKWebView is blank after resuming the app, until you scroll +https://bugs.webkit.org/show_bug.cgi?id=135275 +rdar://problem/17803170 + +Reviewed by Benjamin Poulain. + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::dispatchViewStateChange): +If the UI process is waiting for a didUpdateViewState, we need to *always* +get a reply from the Web Process, so dispatchViewStateChange should *always* +send SetViewState even if nothing changed (so that we get the reply). + 2014-07-24 Simon Fraser simon.fra...@apple.com [iOS WK2] Header bar on nytimes articles lands in the wrong place after rubberbanding Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (171569 => 171570) --- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2014-07-25 01:08:28 UTC (rev 171569) +++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2014-07-25 01:11:24 UTC (rev 171570) @@ -1188,7 +1188,7 @@ if (m_viewWasEverInWindow (changed ViewState::IsInWindow) isInWindow()) m_viewStateChangeWantsReply = true; -if (changed) +if (changed || m_viewStateChangeWantsReply) m_process-send(Messages::WebPage::SetViewState(m_viewState, m_viewStateChangeWantsReply), m_pageID); // This must happen after the SetViewState message is sent, to ensure the page visibility event can fire. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171571] branches/safari-600.1-branch/Source/JavaScriptCore
Title: [171571] branches/safari-600.1-branch/Source/_javascript_Core Revision 171571 Author lforsch...@apple.com Date 2014-07-24 18:12:26 -0700 (Thu, 24 Jul 2014) Log Message Merged r171564. rdar://problem/17757800 Modified Paths branches/safari-600.1-branch/Source/_javascript_Core/API/JSWrapperMap.mm branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog Diff Modified: branches/safari-600.1-branch/Source/_javascript_Core/API/JSWrapperMap.mm (171570 => 171571) --- branches/safari-600.1-branch/Source/_javascript_Core/API/JSWrapperMap.mm 2014-07-25 01:11:24 UTC (rev 171570) +++ branches/safari-600.1-branch/Source/_javascript_Core/API/JSWrapperMap.mm 2014-07-25 01:12:26 UTC (rev 171571) @@ -464,6 +464,11 @@ m_prototype = toJS(JSValueToObject(cContext, valueInternalValue(prototype), 0)); } } else { +// We need to hold a reference to the superclass prototype here on the stack +// to that it won't get GC'ed while we do allocations between now and when we +// set it in this class' prototype below. +JSC::JSObject* superClassPrototype = superClassInfo-m_prototype.get(); + const char* className = class_getName(m_class); // Create or grab the prototype/constructor pair. @@ -493,13 +498,15 @@ }); // Set [Prototype]. -JSObjectSetPrototype([m_context JSGlobalContextRef], toRef(m_prototype.get()), toRef(superClassInfo-m_prototype.get())); +JSObjectSetPrototype([m_context JSGlobalContextRef], toRef(m_prototype.get()), toRef(superClassPrototype)); } } - (void)reallocateConstructorAndOrPrototype { [self allocateConstructorAndPrototypeWithSuperClassInfo:[m_context.wrapperMap classInfoForClass:class_getSuperclass(m_class)]]; +// We should not add any code here that can trigger a GC or the prototype and +// constructor that we just created may be collected before they can be used. } - (JSValue *)wrapperForObject:(id)object @@ -519,9 +526,12 @@ if (!m_prototype) [self reallocateConstructorAndOrPrototype]; ASSERT(!!m_prototype); +// We need to hold a reference to the prototype here on the stack to that it won't +// get GC'ed while we create the wrapper below. +JSC::JSObject* prototype = m_prototype.get(); JSObjectRef wrapper = makeWrapper([m_context JSGlobalContextRef], m_classRef, object); -JSObjectSetPrototype([m_context JSGlobalContextRef], wrapper, toRef(m_prototype.get())); +JSObjectSetPrototype([m_context JSGlobalContextRef], wrapper, toRef(prototype)); return [JSValue valueWithJSValueRef:wrapper inContext:m_context]; } @@ -530,6 +540,9 @@ if (!m_constructor) [self reallocateConstructorAndOrPrototype]; ASSERT(!!m_constructor); +// If we need to add any code here in the future that can trigger a GC, we should +// cache the constructor pointer in a stack local var first so that it is protected +// from the GC until it gets used below. return [JSValue valueWithJSValueRef:toRef(m_constructor.get()) inContext:m_context]; } Modified: branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog (171570 => 171571) --- branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-25 01:11:24 UTC (rev 171570) +++ branches/safari-600.1-branch/Source/_javascript_Core/ChangeLog 2014-07-25 01:12:26 UTC (rev 171571) @@ -1,5 +1,30 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171564 + +2014-07-24 Mark Lam mark@apple.com + +JSWrapperMap's jsWrapperForObject() needs to keep weak prototype and constructors from being GCed. +https://webkit.org/b/135258 + +Reviewed by Mark Hahnenberg. + +Where needed, we cache the prototype object pointer in a stack local var. +This allows it to be scanned by the GC, and hence be kept alive until +we use it. The constructor object will in turn be kept alive by the +prototype object. + +Also added some comments to warn against future code additions that could +regress this issue. + +* API/JSWrapperMap.mm: +(-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]): +(-[JSObjCClassInfo reallocateConstructorAndOrPrototype]): +(-[JSObjCClassInfo wrapperForObject:]): +(-[JSObjCClassInfo constructor]): + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171558 2014-07-24 Joseph Pecoraro pecor...@apple.com ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171572] branches/safari-600.1-branch/Source/WebKit2
Title: [171572] branches/safari-600.1-branch/Source/WebKit2 Revision 171572 Author lforsch...@apple.com Date 2014-07-24 18:16:25 -0700 (Thu, 24 Jul 2014) Log Message Merged r171570. rdar://problem/17803170 Modified Paths branches/safari-600.1-branch/Source/WebKit2/ChangeLog branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp Diff Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171571 => 171572) --- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-25 01:12:26 UTC (rev 171571) +++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-25 01:16:25 UTC (rev 171572) @@ -1,5 +1,23 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171570 + +2014-07-24 Tim Horton timothy_hor...@apple.com + +Sometimes WKWebView is blank after resuming the app, until you scroll +https://bugs.webkit.org/show_bug.cgi?id=135275 +rdar://problem/17803170 + +Reviewed by Benjamin Poulain. + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::dispatchViewStateChange): +If the UI process is waiting for a didUpdateViewState, we need to *always* +get a reply from the Web Process, so dispatchViewStateChange should *always* +send SetViewState even if nothing changed (so that we get the reply). + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171560 2014-07-24 Simon Fraser simon.fra...@apple.com Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (171571 => 171572) --- branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp 2014-07-25 01:12:26 UTC (rev 171571) +++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp 2014-07-25 01:16:25 UTC (rev 171572) @@ -1187,7 +1187,7 @@ if (m_viewWasEverInWindow (changed ViewState::IsInWindow) isInWindow()) m_viewStateChangeWantsReply = true; -if (changed) +if (changed || m_viewStateChangeWantsReply) m_process-send(Messages::WebPage::SetViewState(m_viewState, m_viewStateChangeWantsReply), m_pageID); // This must happen after the SetViewState message is sent, to ensure the page visibility event can fire. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171573] branches/safari-600.1-branch
Title: [171573] branches/safari-600.1-branch Revision 171573 Author lforsch...@apple.com Date 2014-07-24 18:18:23 -0700 (Thu, 24 Jul 2014) Log Message Merged r171567. rdar://problem/17781423 Modified Paths branches/safari-600.1-branch/LayoutTests/ChangeLog branches/safari-600.1-branch/Source/WebCore/ChangeLog branches/safari-600.1-branch/Source/WebCore/page/FrameView.cpp Added Paths branches/safari-600.1-branch/LayoutTests/fast/css/viewport-units-dynamic.html branches/safari-600.1-branch/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt Diff Modified: branches/safari-600.1-branch/LayoutTests/ChangeLog (171572 => 171573) --- branches/safari-600.1-branch/LayoutTests/ChangeLog 2014-07-25 01:16:25 UTC (rev 171572) +++ branches/safari-600.1-branch/LayoutTests/ChangeLog 2014-07-25 01:18:23 UTC (rev 171573) @@ -1,5 +1,23 @@ 2014-07-24 Lucas Forschler lforsch...@apple.com +Merge r171567 + +2014-07-24 Simon Fraser simon.fra...@apple.com + +[iOS WK1] CSS viewport units use the wrong viewport size in WebKit1 +https://bugs.webkit.org/show_bug.cgi?id=135254 +rdar://problem/17781423 + +Reviewed by Tim Horton. + +New test that ensures that viewport units are resolved against the correct +viewport size after the first style recalc. + +* fast/css/viewport-units-dynamic.html: Added. +* platform/mac/fast/css/viewport-units-dynamic-expected.txt: Added. + +2014-07-24 Lucas Forschler lforsch...@apple.com + Merge r171561 2014-07-24 Myles C. Maxfield mmaxfi...@apple.com Copied: branches/safari-600.1-branch/LayoutTests/fast/css/viewport-units-dynamic.html (from rev 171567, trunk/LayoutTests/fast/css/viewport-units-dynamic.html) (0 => 171573) --- branches/safari-600.1-branch/LayoutTests/fast/css/viewport-units-dynamic.html (rev 0) +++ branches/safari-600.1-branch/LayoutTests/fast/css/viewport-units-dynamic.html 2014-07-25 01:18:23 UTC (rev 171573) @@ -0,0 +1,62 @@ +!DOCTYPE html + +html +head +style +body { +height: 1px; +width: 1px; +margin: 0; +} +.box { +position: absolute; +background-color: rgba(0, 0, 0, 0.5); +border: 5px solid black; +box-sizing: border-box; +} + +.width { +width: 100px; +height: 100px; +padding-left: 100px; +} + +.height { +height: 100px; +width: 100px; +padding-top: 100px; +} + +body.changed .height { +height: 100vh; +} + +body.changed .width { +width: 100vw; +} +/style +script +if (window.testRunner) +testRunner.waitUntilDone(); + +function doTest() +{ +window.setTimeout(function() { +document.body.classList.add('changed'); +if (window.testRunner) +testRunner.notifyDone(); +}, 0); +} +window.addEventListener('load', doTest, false); +/script +/head +body +div class=box width +This should be as wide as the CSS viewport. +/div + +div id=vertical class=box height +This should be as tall as the CSS viewport. +/div +/body +/html Copied: branches/safari-600.1-branch/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt (from rev 171567, trunk/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt) (0 => 171573) --- branches/safari-600.1-branch/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt (rev 0) +++ branches/safari-600.1-branch/LayoutTests/platform/mac/fast/css/viewport-units-dynamic-expected.txt 2014-07-25 01:18:23 UTC (rev 171573) @@ -0,0 +1,16 @@ +layer at (0,0) size 1x1 + RenderView at (0,0) size 785x585 +layer at (0,0) size 785x1 + RenderBlock {HTML} at (0,0) size 785x1 +RenderBody {BODY} at (0,0) size 1x1 +layer at (0,0) size 800x100 + RenderBlock (positioned) {DIV} at (0,0) size 800x100 [bgcolor=#007F] [border: (5px solid #00)] +RenderText {#text} at (105,5) size 282x18 + text run at (105,5) width 282: This should be as wide as the CSS viewport. +layer at (0,0) size 100x600 + RenderBlock (positioned) {DIV} at (0,0) size 100x600 [bgcolor=#007F] [border: (5px solid #00)] +RenderText {#text} at (5,105) size 74x72 + text run at (5,105) width 74: This should + text run at (5,123) width 72: be as tall as + text run at (5,141) width 52: the CSS + text run at (5,159) width 60: viewport. Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171572 => 171573) --- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-25 01:16:25 UTC (rev 171572) +++
[webkit-changes] [171574] trunk/Source
Title: [171574] trunk/Source Revision 171574 Author m...@apple.com Date 2014-07-24 18:31:40 -0700 (Thu, 24 Jul 2014) Log Message Source/WebCore: WebCore part of rdar://problem/17593701 Assertion failure in WebPage::reload (!m_pendingNavigationID) when reloading after a same-document back navigation https://bugs.webkit.org/show_bug.cgi?id=135129 Reviewed by Darin Adler. * WebCore.exp.in: Exported equalIgnoringFragmentIdentifier(const URL, const URL). Source/WebKit2: WebKit2 part of rdar://problem/17593701 Assertion failure in WebPage::reload (!m_pendingNavigationID) when reloading after a same-document back navigation https://bugs.webkit.org/show_bug.cgi?id=135129 Reviewed by Darin Adler. * Shared/WebBackForwardListItem.cpp: (WebKit::childItemWithDocumentSequenceNumber): New helper function based on WebCore::HistoryItem::childItemWithDocumentSequenceNumber. (WebKit::documentTreesAreEqual): New helper function based on WebCore::HistoryItem::hasSameDocumentTree. (WebKit::WebBackForwardListItem::itemIsInSameDocument): Added. Based on WebCore::HistoryItem::shouldDoSameDocumentNavigationTo. * Shared/WebBackForwardListItem.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::goForward): Don’t assign a new navigation ID if the back-forward navigation is a same-document navigation. (WebKit::WebPageProxy::goBack): Ditto. (WebKit::WebPageProxy::goToBackForwardItem): Ditto. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.exp.in trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Shared/WebBackForwardListItem.cpp trunk/Source/WebKit2/Shared/WebBackForwardListItem.h trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (171573 => 171574) --- trunk/Source/WebCore/ChangeLog 2014-07-25 01:18:23 UTC (rev 171573) +++ trunk/Source/WebCore/ChangeLog 2014-07-25 01:31:40 UTC (rev 171574) @@ -1,3 +1,12 @@ +2014-07-24 Dan Bernstein m...@apple.com + +WebCore part of rdar://problem/17593701 Assertion failure in WebPage::reload (!m_pendingNavigationID) when reloading after a same-document back navigation +https://bugs.webkit.org/show_bug.cgi?id=135129 + +Reviewed by Darin Adler. + +* WebCore.exp.in: Exported equalIgnoringFragmentIdentifier(const URL, const URL). + 2014-07-24 Simon Fraser simon.fra...@apple.com [iOS WK1] CSS viewport units use the wrong viewport size in WebKit1 Modified: trunk/Source/WebCore/WebCore.exp.in (171573 => 171574) --- trunk/Source/WebCore/WebCore.exp.in 2014-07-25 01:18:23 UTC (rev 171573) +++ trunk/Source/WebCore/WebCore.exp.in 2014-07-25 01:31:40 UTC (rev 171574) @@ -1059,6 +1059,7 @@ __ZN7WebCore30overrideUserPreferredLanguagesERKN3WTF6VectorINS0_6StringELm0ENS0_15CrashOnOverflowEEE __ZN7WebCore31CrossOriginPreflightResultCache5emptyEv __ZN7WebCore31CrossOriginPreflightResultCache6sharedEv +__ZN7WebCore31equalIgnoringFragmentIdentifierERKNS_3URLES2_ __ZN7WebCore33deleteAllCookiesModifiedAfterDateERKNS_21NetworkStorageSessionEd __ZN7WebCore33stripLeadingAndTrailingHTMLSpacesERKN3WTF6StringE __ZN7WebCore36standardUserAgentWithApplicationNameERKN3WTF6StringES3_ Modified: trunk/Source/WebKit2/ChangeLog (171573 => 171574) --- trunk/Source/WebKit2/ChangeLog 2014-07-25 01:18:23 UTC (rev 171573) +++ trunk/Source/WebKit2/ChangeLog 2014-07-25 01:31:40 UTC (rev 171574) @@ -1,3 +1,25 @@ +2014-07-24 Dan Bernstein m...@apple.com + +WebKit2 part of rdar://problem/17593701 Assertion failure in WebPage::reload (!m_pendingNavigationID) when reloading after a same-document back navigation +https://bugs.webkit.org/show_bug.cgi?id=135129 + +Reviewed by Darin Adler. + +* Shared/WebBackForwardListItem.cpp: +(WebKit::childItemWithDocumentSequenceNumber): New helper function based on +WebCore::HistoryItem::childItemWithDocumentSequenceNumber. +(WebKit::documentTreesAreEqual): New helper function based on +WebCore::HistoryItem::hasSameDocumentTree. +(WebKit::WebBackForwardListItem::itemIsInSameDocument): Added. Based on +WebCore::HistoryItem::shouldDoSameDocumentNavigationTo. +* Shared/WebBackForwardListItem.h: + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::goForward): Don’t assign a new navigation ID if the back-forward +navigation is a same-document navigation. +(WebKit::WebPageProxy::goBack): Ditto. +(WebKit::WebPageProxy::goToBackForwardItem): Ditto. + 2014-07-24 Tim Horton timothy_hor...@apple.com Sometimes WKWebView is blank after resuming the app, until you scroll Modified: trunk/Source/WebKit2/Shared/WebBackForwardListItem.cpp (171573 => 171574) --- trunk/Source/WebKit2/Shared/WebBackForwardListItem.cpp 2014-07-25 01:18:23 UTC (rev 171573) +++ trunk/Source/WebKit2/Shared/WebBackForwardListItem.cpp 2014-07-25 01:31:40 UTC (rev 171574) @@ -26,6 +26,8 @@ #include config.h #include WebBackForwardListItem.h
[webkit-changes] [171575] trunk/Source/WebKit/mac
Title: [171575] trunk/Source/WebKit/mac Revision 171575 Author psola...@apple.com Date 2014-07-24 19:26:34 -0700 (Thu, 24 Jul 2014) Log Message [iOS] Remove prefs to tweak cache values https://bugs.webkit.org/show_bug.cgi?id=135274 rdar://problem/17784826 Reviewed by Alexey Proskuryakov. Remove iOS specific code that used to look up user defaults to see if any cache values were overridden. This was added for testing, is not used any more and is actually harmful now. It can cause unnecessary memory churn when under memory pressure since we call [WebView _setCacheModel] as a means to clear out memory cache. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences _setNSURLMemoryCacheSize:]): Deleted. (-[WebPreferences _NSURLMemoryCacheSize]): Deleted. (-[WebPreferences _setNSURLDiskCacheSize:]): Deleted. (-[WebPreferences _NSURLDiskCacheSize]): Deleted. * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (+[WebView _setCacheModel:]): Modified Paths trunk/Source/WebKit/mac/ChangeLog trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h trunk/Source/WebKit/mac/WebView/WebPreferences.mm trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h trunk/Source/WebKit/mac/WebView/WebView.mm Diff Modified: trunk/Source/WebKit/mac/ChangeLog (171574 => 171575) --- trunk/Source/WebKit/mac/ChangeLog 2014-07-25 01:31:40 UTC (rev 171574) +++ trunk/Source/WebKit/mac/ChangeLog 2014-07-25 02:26:34 UTC (rev 171575) @@ -1,3 +1,27 @@ +2014-07-24 Pratik Solanki psola...@apple.com + +[iOS] Remove prefs to tweak cache values +https://bugs.webkit.org/show_bug.cgi?id=135274 +rdar://problem/17784826 + +Reviewed by Alexey Proskuryakov. + +Remove iOS specific code that used to look up user defaults to see if any cache values were +overridden. This was added for testing, is not used any more and is actually harmful now. It +can cause unnecessary memory churn when under memory pressure since we call [WebView _setCacheModel] +as a means to clear out memory cache. + +* WebView/WebPreferenceKeysPrivate.h: +* WebView/WebPreferences.mm: +(+[WebPreferences initialize]): +(-[WebPreferences _setNSURLMemoryCacheSize:]): Deleted. +(-[WebPreferences _NSURLMemoryCacheSize]): Deleted. +(-[WebPreferences _setNSURLDiskCacheSize:]): Deleted. +(-[WebPreferences _NSURLDiskCacheSize]): Deleted. +* WebView/WebPreferencesPrivate.h: +* WebView/WebView.mm: +(+[WebView _setCacheModel:]): + 2014-07-24 Peyton Randolph prando...@apple.com Rename feature flag for long-press gesture on Mac. Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (171574 => 171575) --- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2014-07-25 01:31:40 UTC (rev 171574) +++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2014-07-25 02:26:34 UTC (rev 171575) @@ -183,8 +183,6 @@ #define WebKitTelephoneParsingEnabledPreferenceKey @WebKitTelephoneParsingEnabledPreferenceKey #define WebKitAlwaysUseBaselineOfPrimaryFontPreferenceKey @WebKitAlwaysUseBaselineOfPrimaryFontPreferenceKey #define WebKitAllowMultiElementImplicitFormSubmissionPreferenceKey @WebKitAllowMultiElementImplicitFormSubmissionPreferenceKey -#define WebKitNSURLMemoryCacheSizePreferenceKey @WebKitNSURLMemoryCacheSizePreferenceKey -#define WebKitNSURLDiskCacheSizePreferenceKey @WebKitNSURLDiskCacheSizePreferenceKey #define WebKitAlwaysRequestGeolocationPermissionPreferenceKey @WebKitAlwaysRequestGeolocationPermission #define WebKitLayoutIntervalPreferenceKey @WebKitLayoutIntervalPreferenceKey #define WebKitMaxParseDurationPreferenceKey @WebKitMaxParseDurationPreferenceKey Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (171574 => 171575) --- trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2014-07-25 01:31:40 UTC (rev 171574) +++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2014-07-25 02:26:34 UTC (rev 171575) @@ -555,9 +555,6 @@ [NSNumber numberWithFloat:-1.0f], WebKitMaxParseDurationPreferenceKey, [NSNumber numberWithBool:NO], WebKitAllowMultiElementImplicitFormSubmissionPreferenceKey, [NSNumber numberWithInt:-1], WebKitPageCacheSizePreferenceKey, -[NSNumber numberWithInt:-1], WebKitObjectCacheSizePreferenceKey, -[NSNumber numberWithInt:-1], WebKitNSURLMemoryCacheSizePreferenceKey, -[NSNumber numberWithInt:-1], WebKitNSURLDiskCacheSizePreferenceKey, [NSNumber numberWithBool:NO], WebKitAlwaysRequestGeolocationPermissionPreferenceKey, [NSNumber numberWithInt:InterpolationLow], WebKitInterpolationQualityPreferenceKey, [NSNumber numberWithBool:YES],WebKitPasswordEchoEnabledPreferenceKey, @@ -1469,26 +1466,6 @@ return [self
[webkit-changes] [171576] trunk/Source/WebKit2
Title: [171576] trunk/Source/WebKit2 Revision 171576 Author benja...@webkit.org Date 2014-07-24 20:00:57 -0700 (Thu, 24 Jul 2014) Log Message [iOS][WK2] Do not try to hit test a null mainFrameRenderView on dynamicViewportSizeUpdate() https://bugs.webkit.org/show_bug.cgi?id=135277 rdar://problem/17804891 Patch by Benjamin Poulain bpoul...@apple.com on 2014-07-24 Reviewed by Tim Horton. * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::dynamicViewportSizeUpdate): There is no guarantee that the main frame have its root view when performing a dynamicViewportSizeUpdate(), we should not attempt to use the layer without null checking it first. The odd part for me is rdar://problem/17804891 is a little too frequent. In the vast majority of cases, there is a RenderView, it seems actually pretty hard not to have one on dynamicViewportSizeUpdate(). Skipping hit testing is safe because it is a completely optional part of this algorithm. When the hit test is not done, the new position is computed based on the relative position prior to the size change. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (171575 => 171576) --- trunk/Source/WebKit2/ChangeLog 2014-07-25 02:26:34 UTC (rev 171575) +++ trunk/Source/WebKit2/ChangeLog 2014-07-25 03:00:57 UTC (rev 171576) @@ -1,3 +1,23 @@ +2014-07-24 Benjamin Poulain bpoul...@apple.com + +[iOS][WK2] Do not try to hit test a null mainFrameRenderView on dynamicViewportSizeUpdate() +https://bugs.webkit.org/show_bug.cgi?id=135277 +rdar://problem/17804891 + +Reviewed by Tim Horton. + +* WebProcess/WebPage/ios/WebPageIOS.mm: +(WebKit::WebPage::dynamicViewportSizeUpdate): +There is no guarantee that the main frame have its root view when performing a dynamicViewportSizeUpdate(), +we should not attempt to use the layer without null checking it first. + +The odd part for me is rdar://problem/17804891 is a little too frequent. In the vast majority of cases, +there is a RenderView, it seems actually pretty hard not to have one on dynamicViewportSizeUpdate(). + +Skipping hit testing is safe because it is a completely optional part of this algorithm. +When the hit test is not done, the new position is computed based on the relative position prior to +the size change. + 2014-07-24 Dan Bernstein m...@apple.com WebKit2 part of rdar://problem/17593701 Assertion failure in WebPage::reload (!m_pendingNavigationID) when reloading after a same-document back navigation Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (171575 => 171576) --- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm 2014-07-25 02:26:34 UTC (rev 171575) +++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm 2014-07-25 03:00:57 UTC (rev 171576) @@ -2216,11 +2216,12 @@ visibleHorizontalFraction = frameView.unobscuredContentSize().width() / oldContentSize.width(); IntPoint unobscuredContentRectCenter = frameView.unobscuredContentRect().center(); -HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent); HitTestResult hitTestResult = HitTestResult(unobscuredContentRectCenter); -RenderView* mainFrameRenderView = frameView.renderView(); -mainFrameRenderView-hitTest(request, hitTestResult); +if (RenderView* mainFrameRenderView = frameView.renderView()) { +HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent); +mainFrameRenderView-hitTest(request, hitTestResult); +} if (Node* node = hitTestResult.innerNode()) { if (RenderObject* renderer = node-renderer()) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171578] trunk/Source/JavaScriptCore
Title: [171578] trunk/Source/_javascript_Core Revision 171578 Author bfulg...@apple.com Date 2014-07-24 20:12:26 -0700 (Thu, 24 Jul 2014) Log Message [Win] Correct build order in _javascript_Core.submit.sln https://bugs.webkit.org/show_bug.cgi?id=135282 rdar://problem/17805592 Unreviewed build fix. * _javascript_Core.vcxproj/_javascript_Core.submit.sln: Correct build order such that LLIntDesiredOffset is built prior to the rest of JSC. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.submit.sln Diff Modified: trunk/Source/_javascript_Core/ChangeLog (171577 => 171578) --- trunk/Source/_javascript_Core/ChangeLog 2014-07-25 03:12:19 UTC (rev 171577) +++ trunk/Source/_javascript_Core/ChangeLog 2014-07-25 03:12:26 UTC (rev 171578) @@ -1,3 +1,14 @@ +2014-07-24 Brent Fulgham bfulg...@apple.com + +[Win] Correct build order in _javascript_Core.submit.sln +https://bugs.webkit.org/show_bug.cgi?id=135282 +rdar://problem/17805592 + +Unreviewed build fix. + +* _javascript_Core.vcxproj/_javascript_Core.submit.sln: Correct build order +such that LLIntDesiredOffset is built prior to the rest of JSC. + 2014-07-24 Mark Lam mark@apple.com JSWrapperMap's jsWrapperForObject() needs to keep weak prototype and constructors from being GCed. Modified: trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.submit.sln (171577 => 171578) --- trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.submit.sln 2014-07-25 03:12:19 UTC (rev 171577) +++ trunk/Source/_javascript_Core/_javascript_Core.vcxproj/_javascript_Core.submit.sln 2014-07-25 03:12:26 UTC (rev 171578) @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Express 2013 for Windows Desktop +# Visual Studio 2013 VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 Project({8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}) = _javascript_Core, _javascript_Core.vcxproj, {22413D41-3A18-42B7-92A8-CEDC6CE86920} @@ -32,6 +32,9 @@ EndProjectSection EndProject Project({8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}) = LLIntDesiredOffsets, LLInt\LLIntDesiredOffsets\LLIntDesiredOffsets.vcxproj, {877150A0-41B3-4730-9D98-1B8298098B14} + ProjectSection(ProjectDependencies) = postProject + {3670D01F-95F3-45A8-B878-947EB6CF214E} = {3670D01F-95F3-45A8-B878-947EB6CF214E} + EndProjectSection EndProject Project({8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}) = LLIntOffsetsExtractor, LLInt\LLIntOffsetsExtractor\LLIntOffsetsExtractor.vcxproj, {D595E3F6-24F2-4C60-935C-95D50C6B3E96} ProjectSection(ProjectDependencies) = postProject ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171577] trunk/Source/WebCore
Title: [171577] trunk/Source/WebCore Revision 171577 Author timothy_hor...@apple.com Date 2014-07-24 20:12:19 -0700 (Thu, 24 Jul 2014) Log Message Crashes under scanSelectionForTelephoneNumbers in Range::text() on some sites https://bugs.webkit.org/show_bug.cgi?id=135281 rdar://problem/17803347 Reviewed by Ryosuke Niwa. * editing/Editor.cpp: (WebCore::Editor::scanSelectionForTelephoneNumbers): toNormalizedRange is not guaranteed to return a non-null range. If it returns null, pass the empty markedRanges down to the client as our new set. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/Editor.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (171576 => 171577) --- trunk/Source/WebCore/ChangeLog 2014-07-25 03:00:57 UTC (rev 171576) +++ trunk/Source/WebCore/ChangeLog 2014-07-25 03:12:19 UTC (rev 171577) @@ -1,3 +1,16 @@ +2014-07-24 Tim Horton timothy_hor...@apple.com + +Crashes under scanSelectionForTelephoneNumbers in Range::text() on some sites +https://bugs.webkit.org/show_bug.cgi?id=135281 +rdar://problem/17803347 + +Reviewed by Ryosuke Niwa. + +* editing/Editor.cpp: +(WebCore::Editor::scanSelectionForTelephoneNumbers): +toNormalizedRange is not guaranteed to return a non-null range. +If it returns null, pass the empty markedRanges down to the client as our new set. + 2014-07-24 Dan Bernstein m...@apple.com WebCore part of rdar://problem/17593701 Assertion failure in WebPage::reload (!m_pendingNavigationID) when reloading after a same-document back navigation Modified: trunk/Source/WebCore/editing/Editor.cpp (171576 => 171577) --- trunk/Source/WebCore/editing/Editor.cpp 2014-07-25 03:00:57 UTC (rev 171576) +++ trunk/Source/WebCore/editing/Editor.cpp 2014-07-25 03:12:19 UTC (rev 171577) @@ -3393,6 +3393,11 @@ extendedSelection.setEnd(end); RefPtrRange extendedRange = extendedSelection.toNormalizedRange(); +if (!extendedRange) { +client()-selectedTelephoneNumberRangesChanged(markedRanges); +return; +} + scanRangeForTelephoneNumbers(*extendedRange, extendedRange-text(), markedRanges); // Only consider ranges with a detected telephone number if they overlap with the actual selection range. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171579] trunk/Source/WebCore
Title: [171579] trunk/Source/WebCore Revision 171579 Author psola...@apple.com Date 2014-07-24 21:27:57 -0700 (Thu, 24 Jul 2014) Log Message REGRESSION(r171526): [GTK] Massive crashes. https://bugs.webkit.org/show_bug.cgi?id=135283 Unreviewed. GTK build fix after r171526. Initialize m_buffer in SharedBuffer constructor. * platform/soup/SharedBufferSoup.cpp: (WebCore::SharedBuffer::SharedBuffer): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/soup/SharedBufferSoup.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (171578 => 171579) --- trunk/Source/WebCore/ChangeLog 2014-07-25 03:12:26 UTC (rev 171578) +++ trunk/Source/WebCore/ChangeLog 2014-07-25 04:27:57 UTC (rev 171579) @@ -1,3 +1,13 @@ +2014-07-24 Pratik Solanki psola...@apple.com + +REGRESSION(r171526): [GTK] Massive crashes. +https://bugs.webkit.org/show_bug.cgi?id=135283 + +Unreviewed. GTK build fix after r171526. Initialize m_buffer in SharedBuffer constructor. + +* platform/soup/SharedBufferSoup.cpp: +(WebCore::SharedBuffer::SharedBuffer): + 2014-07-24 Tim Horton timothy_hor...@apple.com Crashes under scanSelectionForTelephoneNumbers in Range::text() on some sites Modified: trunk/Source/WebCore/platform/soup/SharedBufferSoup.cpp (171578 => 171579) --- trunk/Source/WebCore/platform/soup/SharedBufferSoup.cpp 2014-07-25 03:12:26 UTC (rev 171578) +++ trunk/Source/WebCore/platform/soup/SharedBufferSoup.cpp 2014-07-25 04:27:57 UTC (rev 171579) @@ -29,6 +29,7 @@ SharedBuffer::SharedBuffer(SoupBuffer* soupBuffer) : m_size(0) +, m_buffer(adoptRef(new DataBuffer)) , m_soupBuffer(soupBuffer) { ASSERT(soupBuffer); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [171580] trunk/Source/WebCore
Title: [171580] trunk/Source/WebCore Revision 171580 Author rn...@webkit.org Date 2014-07-24 21:51:13 -0700 (Thu, 24 Jul 2014) Log Message REGRESSION(r164401): Placing a caret doesn't bring up autocorrection panel https://bugs.webkit.org/show_bug.cgi?id=135278 Reviewed by Tim Horton. The bug was caused by editorUIUpdateTimerFired calling respondToChangedSelection only if the selection was triggered by dictation instead of only if it was NOT triggered by dictation. Prior to r164401, AlternativeTextController::respondToMarkerAtEndOfWord exited early when SetSelectionOptions had DictationTriggered set. r164401 intended to move this check to editorUIUpdateTimerFired to avoid passing options around but the boolean condition was erroneously flipped. Fixed the bug by negating the condition in editorUIUpdateTimerFired. No new tests for now since autocorrection panel cannot be tested automatically. (We should really automate this!) * editing/Editor.cpp: (WebCore::Editor::editorUIUpdateTimerFired): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/Editor.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (171579 => 171580) --- trunk/Source/WebCore/ChangeLog 2014-07-25 04:27:57 UTC (rev 171579) +++ trunk/Source/WebCore/ChangeLog 2014-07-25 04:51:13 UTC (rev 171580) @@ -1,3 +1,24 @@ +2014-07-24 Ryosuke Niwa rn...@webkit.org + +REGRESSION(r164401): Placing a caret doesn't bring up autocorrection panel +https://bugs.webkit.org/show_bug.cgi?id=135278 + +Reviewed by Tim Horton. + +The bug was caused by editorUIUpdateTimerFired calling respondToChangedSelection only if the selection was +triggered by dictation instead of only if it was NOT triggered by dictation. + +Prior to r164401, AlternativeTextController::respondToMarkerAtEndOfWord exited early when SetSelectionOptions +had DictationTriggered set. r164401 intended to move this check to editorUIUpdateTimerFired to avoid passing +options around but the boolean condition was erroneously flipped. + +Fixed the bug by negating the condition in editorUIUpdateTimerFired. + +No new tests for now since autocorrection panel cannot be tested automatically. (We should really automate this!) + +* editing/Editor.cpp: +(WebCore::Editor::editorUIUpdateTimerFired): + 2014-07-24 Pratik Solanki psola...@apple.com REGRESSION(r171526): [GTK] Massive crashes. Modified: trunk/Source/WebCore/editing/Editor.cpp (171579 => 171580) --- trunk/Source/WebCore/editing/Editor.cpp 2014-07-25 04:27:57 UTC (rev 171579) +++ trunk/Source/WebCore/editing/Editor.cpp 2014-07-25 04:51:13 UTC (rev 171580) @@ -3531,7 +3531,7 @@ #if ENABLE(DELETION_UI) m_deleteButtonController-respondToChangedSelection(oldSelection); #endif -if (m_editorUIUpdateTimerWasTriggeredByDictation) +if (!m_editorUIUpdateTimerWasTriggeredByDictation) m_alternativeTextController-respondToChangedSelection(oldSelection); m_oldSelectionForEditorUIUpdate = m_frame.selection().selection(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes