[webkit-changes] [250497] trunk/Source/WTF

2019-09-29 Thread krollin
Title: [250497] trunk/Source/WTF








Revision 250497
Author krol...@apple.com
Date 2019-09-29 19:21:48 -0700 (Sun, 29 Sep 2019)


Log Message
Address static analysis warning in ParkingLot.cpp: Access to field 'size' results in a dereference of a null pointer
https://bugs.webkit.org/show_bug.cgi?id=202154


Reviewed by Brent Fulgham.

Static analysis reports the following:

.../OpenSource/Source/WTF/wtf/ParkingLot.cpp:376:30: warning: Access to field 'size' results in a dereference of a null pointer (loaded from variable 'oldHashtable')
RELEASE_ASSERT(newSize > oldHashtable->size);
 ^~

This warning arises because earlier code checks to see if oldHashtable
is NULL, leading the static analyzer to think that it *could* be NULL.
However, even earlier code actually ensures that oldHashtable will not
be NULL. Address this by removing the NULL check, and back it up with
an ASSERT to ensure that it's not NULL.

* wtf/ParkingLot.cpp:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/ParkingLot.cpp




Diff

Modified: trunk/Source/WTF/ChangeLog (250496 => 250497)

--- trunk/Source/WTF/ChangeLog	2019-09-30 01:56:43 UTC (rev 250496)
+++ trunk/Source/WTF/ChangeLog	2019-09-30 02:21:48 UTC (rev 250497)
@@ -1,3 +1,25 @@
+2019-09-29  Keith Rollin  
+
+Address static analysis warning in ParkingLot.cpp: Access to field 'size' results in a dereference of a null pointer
+https://bugs.webkit.org/show_bug.cgi?id=202154
+
+
+Reviewed by Brent Fulgham.
+
+Static analysis reports the following:
+
+.../OpenSource/Source/WTF/wtf/ParkingLot.cpp:376:30: warning: Access to field 'size' results in a dereference of a null pointer (loaded from variable 'oldHashtable')
+RELEASE_ASSERT(newSize > oldHashtable->size);
+ ^~
+
+This warning arises because earlier code checks to see if oldHashtable
+is NULL, leading the static analyzer to think that it *could* be NULL.
+However, even earlier code actually ensures that oldHashtable will not
+be NULL. Address this by removing the NULL check, and back it up with
+an ASSERT to ensure that it's not NULL.
+
+* wtf/ParkingLot.cpp:
+
 2019-09-26  Alexey Shvayka  
 
 toExponential, toFixed, and toPrecision should allow arguments up to 100


Modified: trunk/Source/WTF/wtf/ParkingLot.cpp (250496 => 250497)

--- trunk/Source/WTF/wtf/ParkingLot.cpp	2019-09-30 01:56:43 UTC (rev 250496)
+++ trunk/Source/WTF/wtf/ParkingLot.cpp	2019-09-30 02:21:48 UTC (rev 250497)
@@ -355,7 +355,8 @@
 // Check again, since the hashtable could have rehashed while we were locking it. Also,
 // lockHashtable() creates an initial hashtable for us.
 oldHashtable = hashtable.load();
-if (oldHashtable && static_cast(oldHashtable->size) / static_cast(numThreads) >= maxLoadFactor) {
+RELEASE_ASSERT(oldHashtable);
+if (static_cast(oldHashtable->size) / static_cast(numThreads) >= maxLoadFactor) {
 if (verbose)
 dataLog(toString(Thread::current(), ": after locking, no need to rehash because ", oldHashtable->size, " / ", numThreads, " >= ", maxLoadFactor, "\n"));
 unlockHashtable(bucketsToUnlock);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250494] branches/safari-608-branch

2019-09-29 Thread alancoon
Title: [250494] branches/safari-608-branch








Revision 250494
Author alanc...@apple.com
Date 2019-09-29 18:56:32 -0700 (Sun, 29 Sep 2019)


Log Message
Cherry-pick r249893. rdar://problem/55825342

Expose misspelling ranges for editable content to accessibility clients.
https://bugs.webkit.org/show_bug.cgi?id=201752


Patch by Andres Gonzalez  on 2019-09-16
Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/misspelling-range.html

Added [WebAccessibilityObjectWrapper misspellingTextMarkerRange] and
underlying AccessibilityObject implementation to expose misspellings to
accessibility clients that provide an alternative user interface to
spell checking.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::getMisspellingRange const):
* accessibility/AccessibilityObject.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper misspellingTextMarkerRange:direction:]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(accessibilityMisspellingSearchCriteriaForParameterizedAttribute):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

Tools:

Test code needed for LayoutTests/accessibility/misspelling-range.html.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::misspellingTextMarkerRange):
(WTR::AccessibilityUIElement::indexForTextMarker):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::misspellingSearchParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::misspellingTextMarkerRange):

LayoutTests:

* accessibility/misspelling-range-expected.txt: Added.
* accessibility/misspelling-range.html: Added.
* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@249893 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-608-branch/LayoutTests/ChangeLog
branches/safari-608-branch/LayoutTests/platform/ios-simulator/TestExpectations
branches/safari-608-branch/LayoutTests/platform/win/TestExpectations
branches/safari-608-branch/Source/WebCore/ChangeLog
branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityObject.cpp
branches/safari-608-branch/Source/WebCore/accessibility/AccessibilityObject.h
branches/safari-608-branch/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
branches/safari-608-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
branches/safari-608-branch/Tools/ChangeLog
branches/safari-608-branch/Tools/DumpRenderTree/AccessibilityUIElement.cpp
branches/safari-608-branch/Tools/DumpRenderTree/AccessibilityUIElement.h
branches/safari-608-branch/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm
branches/safari-608-branch/Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm


Added Paths

branches/safari-608-branch/LayoutTests/accessibility/misspelling-range-expected.txt
branches/safari-608-branch/LayoutTests/accessibility/misspelling-range.html




Diff

Modified: branches/safari-608-branch/LayoutTests/ChangeLog (250493 => 250494)

--- branches/safari-608-branch/LayoutTests/ChangeLog	2019-09-29 23:50:52 UTC (rev 250493)
+++ branches/safari-608-branch/LayoutTests/ChangeLog	2019-09-30 01:56:32 UTC (rev 250494)
@@ -1,3 +1,63 @@
+2019-09-29  Alan Coon  
+
+Cherry-pick r249893. rdar://problem/55825342
+
+Expose misspelling ranges for editable content to accessibility clients.
+https://bugs.webkit.org/show_bug.cgi?id=201752
+
+
+Patch by Andres Gonzalez  on 2019-09-16
+Reviewed by Chris Fleizach.
+
+Source/WebCore:
+
+Test: accessibility/misspelling-range.html
+
+Added [WebAccessibilityObjectWrapper misspellingTextMarkerRange] and
+underlying AccessibilityObject implementation to expose misspellings to
+accessibility clients that provide an alternative user interface to
+spell checking.
+* accessibility/AccessibilityObject.cpp:
+(WebCore::AccessibilityObject::getMisspellingRange const):
+* accessibility/AccessibilityObject.h:
+* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+(-[WebAccessibilityObjectWrapper misspellingTextMarkerRange:direction:]):
+* 

[webkit-changes] [250495] branches/safari-608-branch

2019-09-29 Thread alancoon
Title: [250495] branches/safari-608-branch








Revision 250495
Author alanc...@apple.com
Date 2019-09-29 18:56:41 -0700 (Sun, 29 Sep 2019)


Log Message
Cherry-pick r250345. rdar://problem/55825352

[iPadOS] [DataActivation] Focus moves away after focusing input fields on www.att.com
https://bugs.webkit.org/show_bug.cgi?id=202167


Reviewed by Tim Horton.

Source/WebCore:

Adds a new site-specific quirk. See WebKit ChangeLog for more details.

* page/Quirks.cpp:
(WebCore::Quirks::shouldUseLegacySelectPopoverDismissalBehaviorInDataActivation const):
* page/Quirks.h:
* platform/RuntimeApplicationChecks.h:
* platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::IOSApplication::isDataActivation):

Source/WebKit:

When using the data activation page on www.att.com, one of the sections on the page contains several select
elements; in the case where the user agent:

1. contains the string "iPad", and
2. does not contain the string "Safari"

...www.att.com's data activation page will opt into a mode where it adds blur event listeners to the select
elements; in this blur event listener, www.att.com proceeds to programmatically focus a non-editable div element
after a 1 second timeout. The reasons for this behavior remain unclear to me, though it's worth noting that the
blur event handler name is "screenReaderFocus", which suggests that this is in place to ensure compatibility
with screen readers.

In iOS 12, dismissing the popover would blur the focused select menu with an animation. Since the animation
would take a slightly less than 1 second, www.att.com's logic would have the effect of moving focus to the div
element shortly after dismissing the select menu. However, after r243808, we no longer attempt to blur the
focused select element when dismissing the popover. This means that the select element is only blurred the next
time the user activates another focused element, such as one of the input fields on the page, or a different
select element. Consequently, the logic to move focus into a div element now occurs only after a different
element has already been focused; this results in focus moving away from newly focused elements after 1 second
in the case where a select element has previously focused.

To mitigate this, restore iOS 12 behavior behind a site- and app-specific quirk. See comments below for more
details.

* Shared/FocusedElementInformation.cpp:
(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):
* Shared/FocusedElementInformation.h:

Add a new behavioral quirk flag to FocusedElementInformation to determine whether we should use "legacy" select
popover dismissal behavior (i.e. blurring the focused select element when dismissing the select popover, as well
as dismissing the popover with animation).

* Shared/WebPreferences.yaml:

Enable site-specific quirks by default in WKWebView. With regards to this bug, this change allows for
site-specific hacks (namely, legacy select popover dismissal) in DataActivation. However, this also fixes
various known bugs that are otherwise addressed in Safari only, via site-specific quirks.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):

For apps linked on or before iOS 13 and macOS 10.15, revert the default of value of NeedsSiteSpecificQuirks to
false. This is done here instead of in a default value function in WebPreferencesDefaultValues to prevent the
default values of NeedsSiteSpecificQuirks in the web process and UI process from going out of sync, since the
web process is not necessarily linked against the same SDK as the application.

* UIProcess/Cocoa/VersionChecks.h:

Add a new DYLD version check for the first version of iOS and macOS where site-specific quirks are enabled by
default.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView endEditingAndUpdateFocusAppearanceWithReason:]):
(-[WKContentView _elementDidBlur]):
(-[WKContentView _shouldUseLegacySelectPopoverDismissalBehavior]):

We only use "legacy" select popover dismissal behavior in the case where the site-specific quirk flag is on, a
select popover is used (i.e. the device is an iPad and a select element is focused), and the application bundle
is "com.apple.DataActivation".

* UIProcess/ios/forms/WKFormSelectPopover.mm:
(-[WKSelectTableViewController shouldDismissWithAnimation]):

Keyed off of _shouldUseLegacySelectPopoverDismissalBehavior.

(-[WKSelectPopover controlEndEditing]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getFocusedElementInformation):

Source/WTF:

Declare DYLD_IOS_VERSION_13_2.

* wtf/spi/darwin/dyldSPI.h:

Tools:

Rebaseline an API test.


[webkit-changes] [250496] branches/safari-608-branch/Source/WebCore

2019-09-29 Thread alancoon
Title: [250496] branches/safari-608-branch/Source/WebCore








Revision 250496
Author alanc...@apple.com
Date 2019-09-29 18:56:43 -0700 (Sun, 29 Sep 2019)


Log Message
Cherry-pick r250483. rdar://problem/55825351

[Experiment][iOS] Add temporary HTTP header to distinguish iPads for requests to Google
https://bugs.webkit.org/show_bug.cgi?id=202335


Reviewed by Maciej Stachowiak.

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* platform/network/HTTPHeaderNames.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-608-branch/Source/WebCore/ChangeLog
branches/safari-608-branch/Source/WebCore/loader/cache/CachedResourceLoader.cpp
branches/safari-608-branch/Source/WebCore/platform/network/HTTPHeaderNames.in




Diff

Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (250495 => 250496)

--- branches/safari-608-branch/Source/WebCore/ChangeLog	2019-09-30 01:56:41 UTC (rev 250495)
+++ branches/safari-608-branch/Source/WebCore/ChangeLog	2019-09-30 01:56:43 UTC (rev 250496)
@@ -1,5 +1,33 @@
 2019-09-29  Alan Coon  
 
+Cherry-pick r250483. rdar://problem/55825351
+
+[Experiment][iOS] Add temporary HTTP header to distinguish iPads for requests to Google
+https://bugs.webkit.org/show_bug.cgi?id=202335
+
+
+Reviewed by Maciej Stachowiak.
+
+* loader/cache/CachedResourceLoader.cpp:
+(WebCore::CachedResourceLoader::requestResource):
+* platform/network/HTTPHeaderNames.in:
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2019-09-28  Chris Dumez  
+
+[Experiment][iOS] Add temporary HTTP header to distinguish iPads for requests to Google
+https://bugs.webkit.org/show_bug.cgi?id=202335
+
+
+Reviewed by Maciej Stachowiak.
+
+* loader/cache/CachedResourceLoader.cpp:
+(WebCore::CachedResourceLoader::requestResource):
+* platform/network/HTTPHeaderNames.in:
+
+2019-09-29  Alan Coon  
+
 Cherry-pick r250345. rdar://problem/55825352
 
 [iPadOS] [DataActivation] Focus moves away after focusing input fields on www.att.com


Modified: branches/safari-608-branch/Source/WebCore/loader/cache/CachedResourceLoader.cpp (250495 => 250496)

--- branches/safari-608-branch/Source/WebCore/loader/cache/CachedResourceLoader.cpp	2019-09-30 01:56:41 UTC (rev 250495)
+++ branches/safari-608-branch/Source/WebCore/loader/cache/CachedResourceLoader.cpp	2019-09-30 01:56:43 UTC (rev 250496)
@@ -87,6 +87,10 @@
 #include "CachedTextTrack.h"
 #endif
 
+#if PLATFORM(IOS_FAMILY)
+#include "Device.h"
+#endif
+
 #undef RELEASE_LOG_IF_ALLOWED
 #define RELEASE_LOG_IF_ALLOWED(fmt, ...) RELEASE_LOG_IF(isAlwaysOnLoggingAllowed(), Network, "%p - CachedResourceLoader::" fmt, this, ##__VA_ARGS__)
 
@@ -867,6 +871,18 @@
 }
 }
 
+// FIXME: This is temporary for .
+#if PLATFORM(IOS) && !PLATFORM(IOSMAC)
+if (!page.sessionID().isEphemeral() && deviceHasIPadCapability() && request.resourceRequest().url().protocolIs("https")) {
+RegistrableDomain registrableDomain(request.resourceRequest().url());
+if (registrableDomain.string().startsWith("google.")) {
+auto host = request.resourceRequest().url().host();
+if (host.startsWithIgnoringASCIICase("google.") || host.startsWithIgnoringASCIICase("www.google.") || host.startsWithIgnoringASCIICase("images.google."))
+request.resourceRequest().setHTTPHeaderField(HTTPHeaderName::XTempTablet, "1"_s);
+}
+}
+#endif
+
 LoadTiming loadTiming;
 loadTiming.markStartTimeAndFetchStart();
 InitiatorContext initiatorContext = request.options().initiatorContext;


Modified: branches/safari-608-branch/Source/WebCore/platform/network/HTTPHeaderNames.in (250495 => 250496)

--- branches/safari-608-branch/Source/WebCore/platform/network/HTTPHeaderNames.in	2019-09-30 01:56:41 UTC (rev 250495)
+++ branches/safari-608-branch/Source/WebCore/platform/network/HTTPHeaderNames.in	2019-09-30 01:56:43 UTC (rev 250496)
@@ -104,6 +104,7 @@
 X-WebKit-CSP
 X-WebKit-CSP-Report-Only
 X-XSS-Protection
+X-Temp-Tablet
 
 // These headers are specific to GStreamer.
 Icy-MetaInt






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [250493] branches/safari-608-branch

2019-09-29 Thread bshafiei
Title: [250493] branches/safari-608-branch








Revision 250493
Author bshaf...@apple.com
Date 2019-09-29 16:50:52 -0700 (Sun, 29 Sep 2019)


Log Message
Apply patch. rdar://problem/55801087

Modified Paths

branches/safari-608-branch/LayoutTests/ChangeLog
branches/safari-608-branch/LayoutTests/http/tests/blink/sendbeacon/beacon-cross-origin-expected.txt
branches/safari-608-branch/LayoutTests/http/tests/navigation/ping-attribute/anchor-cross-origin.html
branches/safari-608-branch/LayoutTests/http/tests/navigation/ping-attribute/area-cross-origin.html
branches/safari-608-branch/LayoutTests/http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http-http.html
branches/safari-608-branch/LayoutTests/http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http.https.html
branches/safari-608-branch/LayoutTests/http/tests/referrer-policy/no-referrer-when-downgrade/same-origin.html
branches/safari-608-branch/LayoutTests/http/tests/referrer-policy/unsafe-url/cross-origin-http-http.html
branches/safari-608-branch/LayoutTests/http/tests/referrer-policy/unsafe-url/cross-origin-http.https.html
branches/safari-608-branch/LayoutTests/http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled.php
branches/safari-608-branch/LayoutTests/http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.php
branches/safari-608-branch/LayoutTests/http/tests/security/referrer-policy-header.html
branches/safari-608-branch/LayoutTests/platform/ios/TestExpectations
branches/safari-608-branch/LayoutTests/platform/ios-wk2/TestExpectations
branches/safari-608-branch/LayoutTests/platform/mac-wk1/TestExpectations
branches/safari-608-branch/LayoutTests/platform/mac-wk2/TestExpectations
branches/safari-608-branch/LayoutTests/platform/win/TestExpectations
branches/safari-608-branch/LayoutTests/platform/wincairo/TestExpectations
branches/safari-608-branch/LayoutTests/platform/wk2/TestExpectations
branches/safari-608-branch/LayoutTests/resources/js-test.js
branches/safari-608-branch/LayoutTests/resources/testharnessreport.js
branches/safari-608-branch/Source/WebKit/ChangeLog
branches/safari-608-branch/Source/WebKit/NetworkProcess/NetworkProcess.cpp
branches/safari-608-branch/Source/WebKit/NetworkProcess/NetworkProcess.h
branches/safari-608-branch/Source/WebKit/NetworkProcess/NetworkProcess.messages.in
branches/safari-608-branch/Source/WebKit/NetworkProcess/NetworkSession.cpp
branches/safari-608-branch/Source/WebKit/NetworkProcess/NetworkSession.h
branches/safari-608-branch/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h
branches/safari-608-branch/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm
branches/safari-608-branch/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp
branches/safari-608-branch/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h
branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h
branches/safari-608-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
branches/safari-608-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
branches/safari-608-branch/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
branches/safari-608-branch/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
branches/safari-608-branch/Tools/ChangeLog
branches/safari-608-branch/Tools/TestWebKitAPI/WKWebViewConfigurationExtras.h
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
branches/safari-608-branch/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h
branches/safari-608-branch/Tools/WebKitTestRunner/TestController.cpp
branches/safari-608-branch/Tools/WebKitTestRunner/TestController.h
branches/safari-608-branch/Tools/WebKitTestRunner/TestInvocation.cpp
branches/safari-608-branch/Tools/WebKitTestRunner/TestInvocation.h


Added Paths

branches/safari-608-branch/LayoutTests/http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-third-party-redirects-expected.txt
branches/safari-608-branch/LayoutTests/http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-third-party-redirects.html
branches/safari-608-branch/LayoutTests/http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-third-party-requests-expected.txt
branches/safari-608-branch/LayoutTests/http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-third-party-requests.html


Removed Paths

branches/safari-608-branch/LayoutTests/http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects-expected.txt
branches/safari-608-branch/LayoutTests/http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects.html

[webkit-changes] [250492] trunk/Source/WebCore

2019-09-29 Thread bfulgham
Title: [250492] trunk/Source/WebCore








Revision 250492
Author bfulg...@apple.com
Date 2019-09-29 12:33:37 -0700 (Sun, 29 Sep 2019)


Log Message
[FTW] Correct compositing, shadow, and radial gradient implementations
https://bugs.webkit.org/show_bug.cgi?id=202177

Reviewed by Fujii Hironori.

This patch corrects a number of implementation errors in basic Canvas
drawing operations.

Tested by canvas/philip/tests 

* platform/graphics/win/Direct2DOperations.cpp:
(WebCore::Direct2D::State::setCompositeOperation): Initialize blend and
composite modes to correct defaults.
(WebCore::Direct2D::drawWithShadowHelper): Correct value used for blur
standard deviation to more closely match other browser output.
* platform/graphics/win/Direct2DUtilities.cpp:
(WebCore::Direct2D::createBitmapCopyFromContext): Added helper function.
* platform/graphics/win/Direct2DUtilities.h:
* platform/graphics/win/GradientDirect2D.cpp:
(WebCore::Gradient::generateGradient): Properly handle the case of a non-zero
initial gradient radius. Properly compute the final radius.
* platform/graphics/win/ImageBufferDataDirect2D.cpp:
(WebCore::ImageBufferData::readDataFromBitmapIfNeeded const): Update to use ID2D1DeviceContext
from platformContext, rather than searching for it each time.
(WebCore::ImageBufferData::compatibleBitmap): Ditto.
* platform/graphics/win/PlatformContextDirect2D.cpp:
(WebCore::PlatformContextDirect2D::PlatformContextDirect2D): Grab the ID2D1DeviceContext for
the RenderTarget at construction time.
(WebCore::PlatformContextDirect2D::setRenderTarget): Ditto.
(WebCore::PlatformContextDirect2D::endDraw): Perform compositing operations when needed.
(WebCore::PlatformContextDirect2D::compositeIfNeeded): Added.
(WebCore::PlatformContextDirect2D::setBlendAndCompositeMode): Update to properly set the
blend and compositing mode (depending on global value set for the canvas.)
* platform/graphics/win/PlatformContextDirect2D.h:
(WebCore::PlatformContextDirect2D::deviceContext):
(WebCore::PlatformContextDirect2D::setRenderTarget): Deleted.
(WebCore::PlatformContextDirect2D::setBlendMode): Deleted.
(WebCore::PlatformContextDirect2D::setCompositeMode): Deleted.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/Path.h
trunk/Source/WebCore/platform/graphics/win/Direct2DOperations.cpp
trunk/Source/WebCore/platform/graphics/win/Direct2DOperations.h
trunk/Source/WebCore/platform/graphics/win/Direct2DUtilities.cpp
trunk/Source/WebCore/platform/graphics/win/Direct2DUtilities.h
trunk/Source/WebCore/platform/graphics/win/GradientDirect2D.cpp
trunk/Source/WebCore/platform/graphics/win/ImageBufferDataDirect2D.cpp
trunk/Source/WebCore/platform/graphics/win/PathDirect2D.cpp
trunk/Source/WebCore/platform/graphics/win/PlatformContextDirect2D.cpp
trunk/Source/WebCore/platform/graphics/win/PlatformContextDirect2D.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (250491 => 250492)

--- trunk/Source/WebCore/ChangeLog	2019-09-29 17:25:43 UTC (rev 250491)
+++ trunk/Source/WebCore/ChangeLog	2019-09-29 19:33:37 UTC (rev 250492)
@@ -1,3 +1,44 @@
+2019-09-28  Brent Fulgham  
+
+[FTW] Correct compositing, shadow, and radial gradient implementations
+https://bugs.webkit.org/show_bug.cgi?id=202177
+
+Reviewed by Fujii Hironori.
+
+This patch corrects a number of implementation errors in basic Canvas
+drawing operations.
+
+Tested by canvas/philip/tests 
+
+* platform/graphics/win/Direct2DOperations.cpp:
+(WebCore::Direct2D::State::setCompositeOperation): Initialize blend and
+composite modes to correct defaults.
+(WebCore::Direct2D::drawWithShadowHelper): Correct value used for blur
+standard deviation to more closely match other browser output.
+* platform/graphics/win/Direct2DUtilities.cpp:
+(WebCore::Direct2D::createBitmapCopyFromContext): Added helper function.
+* platform/graphics/win/Direct2DUtilities.h:
+* platform/graphics/win/GradientDirect2D.cpp:
+(WebCore::Gradient::generateGradient): Properly handle the case of a non-zero
+initial gradient radius. Properly compute the final radius.
+* platform/graphics/win/ImageBufferDataDirect2D.cpp:
+(WebCore::ImageBufferData::readDataFromBitmapIfNeeded const): Update to use ID2D1DeviceContext
+from platformContext, rather than searching for it each time.
+(WebCore::ImageBufferData::compatibleBitmap): Ditto.
+* platform/graphics/win/PlatformContextDirect2D.cpp:
+(WebCore::PlatformContextDirect2D::PlatformContextDirect2D): Grab the ID2D1DeviceContext for
+the RenderTarget at construction time.
+(WebCore::PlatformContextDirect2D::setRenderTarget): Ditto.
+(WebCore::PlatformContextDirect2D::endDraw): Perform compositing operations when needed.
+(WebCore::PlatformContextDirect2D::compositeIfNeeded): Added.
+

[webkit-changes] [250490] trunk/Source/WebCore

2019-09-29 Thread zalan
Title: [250490] trunk/Source/WebCore








Revision 250490
Author za...@apple.com
Date 2019-09-29 08:08:41 -0700 (Sun, 29 Sep 2019)


Log Message
[LFC][IFC] Remove InlineLayout abstraction layer
https://bugs.webkit.org/show_bug.cgi?id=202352


Reviewed by Antti Koivisto.

Move InlineLayout functions to InlineFormattingContext. Now inline layout has
1. InlineFormattingContext -high level layout and preferred width computation, collecting inline content, constructing display boxes
2. LineLayout -responsible for placing inline content on the current line (partial inline content handling, line breaking etc)
3. Line -represents an actual line, turns inline content into runs.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
(WebCore::Layout::InlineFormattingContext::initialConstraintsForLine):
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
* layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::InlineLayout::layoutState const): Deleted.
(WebCore::Layout::InlineFormattingContext::InlineLayout::formattingContext const): Deleted.
(WebCore::Layout::InlineFormattingContext::InlineLayout::formattingRoot const): Deleted.
(WebCore::Layout::InlineFormattingContext::InlineLayout::formattingState): Deleted.
(WebCore::Layout::InlineFormattingContext::InlineLayout::widthConstraint const): Deleted.
* layout/inlineformatting/InlineFormattingContextLineLayout.cpp: Removed.
* layout/inlineformatting/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::inlineItems const):
* layout/inlineformatting/InlineLineLayout.cpp: Added.
(WebCore::Layout::inlineItemWidth):
(WebCore::Layout::LineLayout::LineInput::LineInput):
(WebCore::Layout::LineLayout::UncommittedContent::add):
(WebCore::Layout::LineLayout::UncommittedContent::reset):
(WebCore::Layout::LineLayout::LineLayout):
(WebCore::Layout::LineLayout::commitPendingContent):
(WebCore::Layout::LineLayout::close):
(WebCore::Layout::LineLayout::placeInlineItem):
(WebCore::Layout::LineLayout::layout):
* layout/inlineformatting/InlineLineLayout.h: Added.
(WebCore::Layout::LineLayout::formattingContext const):
(WebCore::Layout::LineLayout::UncommittedContent::runs):
(WebCore::Layout::LineLayout::UncommittedContent::isEmpty const):
(WebCore::Layout::LineLayout::UncommittedContent::size const):
(WebCore::Layout::LineLayout::UncommittedContent::width const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Sources.txt
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingState.h


Added Paths

trunk/Source/WebCore/layout/inlineformatting/InlineLineLayout.cpp
trunk/Source/WebCore/layout/inlineformatting/InlineLineLayout.h


Removed Paths

trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (250489 => 250490)

--- trunk/Source/WebCore/ChangeLog	2019-09-29 08:56:34 UTC (rev 250489)
+++ trunk/Source/WebCore/ChangeLog	2019-09-29 15:08:41 UTC (rev 250490)
@@ -1,3 +1,51 @@
+2019-09-29  Zalan Bujtas  
+
+[LFC][IFC] Remove InlineLayout abstraction layer
+https://bugs.webkit.org/show_bug.cgi?id=202352
+
+
+Reviewed by Antti Koivisto.
+
+Move InlineLayout functions to InlineFormattingContext. Now inline layout has
+1. InlineFormattingContext -high level layout and preferred width computation, collecting inline content, constructing display boxes
+2. LineLayout -responsible for placing inline content on the current line (partial inline content handling, line breaking etc)
+3. Line -represents an actual line, turns inline content into runs.
+
+* Sources.txt:
+* WebCore.xcodeproj/project.pbxproj:
+* layout/inlineformatting/InlineFormattingContext.cpp:
+(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
+(WebCore::Layout::InlineFormattingContext::lineLayout):
+(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
+(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
+(WebCore::Layout::InlineFormattingContext::initialConstraintsForLine):
+(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
+* layout/inlineformatting/InlineFormattingContext.h:
+(WebCore::Layout::InlineFormattingContext::InlineLayout::layoutState const): Deleted.
+