⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 3, 2017:

10:40 PM Changeset in webkit [224455] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

LayoutState should take RenderBox reference.
https://bugs.webkit.org/show_bug.cgi?id=179272
<rdar://problem/35345247>

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::propagateLineGridInfo):
(WebCore::LayoutState::establishLineGrid):

  • rendering/LayoutState.h: type tightening.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage const):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutState):

  • rendering/RenderView.h:
10:19 PM Changeset in webkit [224454] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Unreviewed, rolling out r224438.

Has caused assertions on the bots

Reverted changeset:

"REGRESSION(r223718): Leaking WebProcessPool after
reconfiguration"
https://bugs.webkit.org/show_bug.cgi?id=179123
https://trac.webkit.org/changeset/224438

7:12 PM Changeset in webkit [224453] by Chris Dumez
  • 20 edits
    4 adds in trunk

Implement ServiceWorkerContainer.getRegistration
https://bugs.webkit.org/show_bug.cgi?id=179253

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/activation.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-with-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/getregistration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigate-window.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-iframe.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/synced-state.https-expected.txt:

Source/WebCore:

Test: http/tests/workers/service/service-worker-getRegistration.html

Added a map of ServiceWorkerRegistration in ServiceWorkerContainer.
Removing a similar map from SWClientConnection as it is more convenient to have this map per ScriptExecutionContext.

This map allows returning the same JS object for different getRegistration.
Delegating the actual matching to SWServer::Connection which is implemented on the StorageProcess through IPC.

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobDidFinish):

  • workers/service/ServiceWorkerContainer.h:
  • workers/service/ServiceWorkerContainer.idl:
  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::~ServiceWorkerRegistration):

  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/server/SWClientConnection.cpp:

(WebCore::SWClientConnection::updateRegistrationState):
(WebCore::SWClientConnection::addServiceWorkerRegistration): Deleted.
(WebCore::SWClientConnection::removeServiceWorkerRegistration): Deleted.

  • workers/service/server/SWClientConnection.h:

LayoutTests:

  • TestExpectations:
  • http/tests/workers/service/resources/service-worker-getRegistration-worker.js: Added.
  • http/tests/workers/service/resources/service-worker-getRegistration.js: Added.
  • http/tests/workers/service/service-worker-getRegistration-expected.txt: Added.
  • http/tests/workers/service/service-worker-getRegistration.html: Added.
6:57 PM Changeset in webkit [224452] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[iOS-WK1] Fix thread safety issue in WebSQLiteDatabaseTrackerClient
https://bugs.webkit.org/show_bug.cgi?id=179190

Reviewed by David Kilzer.

WebSQLiteDatabaseTrackerClient and its HystererisActivity member are constructed on the UIThread. The
HystererisActivity activity also fires on the UIThread, which means that WebSQLiteDatabaseTrackerClient::hysteresisUpdated()
gets called on the UIThread.

However, the code in WebSQLiteDatabaseTrackerClient::willBeginFirstTransaction() / WebSQLiteDatabaseTrackerClient::didFinishLastTransaction()
uses callOnMainThread() before calling methods on the HysteresisActivity. callOnMainThread() dispatches to the WebThread on WK1 iOS, which
would lead to crashes when calling methods of the HystererisActivity object:
* -[CFRunLoopTimer respondsToSelector:]: message sent to deallocated instance 0x1c0b6a500

To address the issue, we now dispatch_async() to the main queue in willBeginFirstTransaction() / didFinishLastTransaction()
instead of using callOnMainThread(). I also added assertions to catch issues like these.

  • platform/ios/WebSQLiteDatabaseTrackerClient.mm:

(WebCore::WebSQLiteDatabaseTrackerClient::willBeginFirstTransaction):
(WebCore::WebSQLiteDatabaseTrackerClient::didFinishLastTransaction):
(WebCore::WebSQLiteDatabaseTrackerClient::hysteresisUpdated):

6:14 PM Changeset in webkit [224451] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.7.0.1

Tag Safari-604.4.7.0.1.

5:52 PM Changeset in webkit [224450] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.7.0.2

Tag Safari-604.4.7.0.2.

5:51 PM Changeset in webkit [224449] by jmarcell@apple.com
  • 1 delete in tags/Safari-604.4.7.0.2

Deleting tag.

5:50 PM Changeset in webkit [224448] by jmarcell@apple.com
  • 7 edits in branches/safari-604.4.7.0-branch/Source

Versioning.

5:40 PM Changeset in webkit [224447] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.7.1.2

Tag Safari-604.4.7.1.2.

5:39 PM Changeset in webkit [224446] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.7.0.2

Tag Safari-604.4.7.0.2.

5:36 PM Changeset in webkit [224445] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.7.10.2

Tag Safari-604.4.7.10.2.

5:36 PM Changeset in webkit [224444] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore
ASSERTION FAILED: NoEventDispatchAssertion::InMainThread::isEventAllowed()
(frameView && frameView->isInChildFrameWithFrameFlattening())

https://bugs.webkit.org/show_bug.cgi?id=179259

Reviewed by Youenn Fablet.

Avoid updating the layout inside HTMLMediaElement::stop() and MediaElementSession::~MediaElementSession

No new tests since existing tests cover this.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::userCancelledLoad): Don't update VTT cues when the active DOM objects are being stopped.

  • platform/audio/mac/MediaSessionManagerMac.mm:

(WebCore::MediaSessionManagerMac::removeSession): Update the updateNowPlayingInfo asynchronously
since this function can be called inside HTMLMediaElement::~HTMLMediaElement.

5:35 PM Changeset in webkit [224443] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Add WEBCORE_EXPORT to CachedResourceHandleBase
https://bugs.webkit.org/show_bug.cgi?id=179251

  • loader/cache/CachedResourceHandle.h:

(WebCore::CachedResourceHandleBase::get const): Deleted.
(WebCore::CachedResourceHandleBase::operator! const): Deleted.
(WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType const): Deleted.
(WebCore::CachedResourceHandleBase::operator=): Deleted.
I'll need this soon for bug 179251, and having to touch CachedResourceHandle.h causes me to rebuild everything.
Committing it separately greatly increases my debugging and comparison speed.

4:32 PM Changeset in webkit [224442] by Ryan Haddad
  • 12 edits
    1 delete in trunk/Source

Unreviewed, rolling out r224428, r224435, and r224440.
https://bugs.webkit.org/show_bug.cgi?id=179274

Broke iOS and internal builds (Requested by ryanhaddad on
#webkit).

Reverted changesets:

"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224428

"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224435

"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224440

Patch by Commit Queue <commit-queue@webkit.org> on 2017-11-03

4:31 PM Changeset in webkit [224441] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception: null is not an object (evaluating 'selector.specificity.map') (at SpreadsheetCSSStyleDeclarationSection.js:199:51)
https://bugs.webkit.org/show_bug.cgi?id=179225
<rdar://problem/35329019>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
selector.specificity may not exist when the selector is dynamic and doesn't match the selected element.

4:21 PM Changeset in webkit [224440] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Use VCP H264 encoder for platforms supporting it
https://bugs.webkit.org/show_bug.cgi?id=179076
rdar://problem/35180773

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03

  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: build fix for iOS.
4:09 PM Changeset in webkit [224439] by commit-queue@webkit.org
  • 11 edits
    4 adds in trunk

Requests handled by Service Worker should not go through preflighting
https://bugs.webkit.org/show_bug.cgi?id=179250

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
Reviewed by Alex Christensen.

Source/WebCore:

Test: http/tests/workers/service/service-worker-crossorigin-fetch.html
In case of cross origin requests needed preflighting that may be served through SW, the following is done:

  • Bypass preflight
  • Put service workers mode as Only so that if SW is not handling the request, the load will fail
  • If load fails, restart DocumentThreadableLoader load with preflight.

Additional testing should be added when we properly handle the case where no fetch event handler is registered in the service worker.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::didFail):

  • loader/DocumentThreadableLoader.h:
  • loader/ResourceLoaderOptions.h:
  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::setSelectedServiceWorkerIdentifierIfNeeded):

  • platform/network/ResourceErrorBase.h:

Source/WebKit:

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::startFetch):

  • WebProcess/Storage/WebServiceWorkerProvider.cpp:

(WebKit::shouldHandleFetch):

LayoutTests:

  • http/tests/workers/service/resources/service-worker-crossorigin-fetch-worker.js: Added.

(event.event.request.url.indexOf):
(event.event.request.url.endsWith):

  • http/tests/workers/service/resources/service-worker-crossorigin-fetch.js: Added.

(done):
(async.logStatus):
(async.test):

  • http/tests/workers/service/service-worker-crossorigin-fetch-expected.txt: Added.
  • http/tests/workers/service/service-worker-crossorigin-fetch.html: Added.
4:02 PM Changeset in webkit [224438] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

REGRESSION(r223718): Leaking WebProcessPool after reconfiguration
https://bugs.webkit.org/show_bug.cgi?id=179123
<rdar://problem/35294685>

Reviewed by Geoffrey Garen.

Make sure we destroy the ServiceWorker WebProcess once all other WebProcesses
go away at there is no use keeping it running at this point. Also, this prevents
leaking the WebProcessPool since the WebProcessProxy holds a strong reference
to the WebProcessPool.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::disconnectProcess):

3:49 PM Changeset in webkit [224437] by aestes@apple.com
  • 2 edits in trunk/Tools

[iOS] Append the platform name to the product directory on all embedded platforms
https://bugs.webkit.org/show_bug.cgi?id=179271

Reviewed by Joseph Pecoraro.

  • Scripts/webkitdirs.pm:

(determineConfigurationProductDir):

3:42 PM Changeset in webkit [224436] by Alan Bujtas
  • 14 edits in trunk/Source/WebCore

Remove redundant LayoutStateMaintainer argument (RenderView&)
https://bugs.webkit.org/show_bug.cgi?id=179269
<rdar://problem/35344397>

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::simplifiedLayout):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::layout):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::layoutShadowControls):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderVTTCue.cpp:

(WebCore::RenderVTTCue::layout):

  • rendering/RenderView.h:

(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):

3:03 PM Changeset in webkit [224435] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Use VCP H264 encoder for platforms supporting it
https://bugs.webkit.org/show_bug.cgi?id=179076
rdar://problem/35180773

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03

  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: build fix.
2:53 PM Changeset in webkit [224434] by Ross Kirsling
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Move Show Compositing Borders/Paint Flashing buttons from Elements tab to Layers tab
https://bugs.webkit.org/show_bug.cgi?id=179211

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DOMTreeContentView.js:

(WI.DOMTreeContentView.prototype.get navigationItems):
(WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
Guard old buttons with experimental flag.

  • UserInterface/Views/Layers3DContentView.js:

(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.get navigationItems):
(WI.Layers3DContentView.prototype.shown):
(WI.Layers3DContentView.prototype.closed):
(WI.Layers3DContentView.prototype._showPaintRectsSettingChanged):
(WI.Layers3DContentView.prototype._togglePaintFlashing):
(WI.Layers3DContentView.prototype._updateCompositingBordersButtonState):
(WI.Layers3DContentView.prototype._toggleCompositingBorders):
Add buttons to new home.
No need to guard for get/setCompositingBordersVisible anymore, as these were introduced in iOS 7.

2:43 PM Changeset in webkit [224433] by webkit@devinrousso.com
  • 20 edits in trunk/Source/WebInspectorUI

Web Inspector: move top-level namespace functions in ImageUtilities to static class
https://bugs.webkit.org/show_bug.cgi?id=179207

Reviewed by Brian Burg.

  • .eslintrc:
  • UserInterface/Base/ImageUtilities.js:

(WI.ImageUtilities.useSVGSymbol):
(WI.ImageUtilities.scratchCanvasContext2D):
(WI.ImageUtilities.imageFromImageData):
(WI.ImageUtilities.imageFromCanvasGradient):
(WI.ImageUtilities):
(useSVGSymbol): Deleted.
(WI.scratchCanvasContext2D): Deleted.
(WI.imageFromImageData): Deleted.
(WI.imageFromCanvasGradient): Deleted.

  • UserInterface/Models/Recording.js:

(WI.Recording.prototype.async swizzle):

  • UserInterface/Views/ButtonNavigationItem.js:

(WI.ButtonNavigationItem.prototype.set image):

  • UserInterface/Views/CallFrameTreeElement.js:

(WI.CallFrameTreeElement.prototype._updateStatus):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype._updateBreakpointStatus):

  • UserInterface/Views/MultipleScopeBarItem.js:

(WI.MultipleScopeBarItem):

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement.prototype._handleHasVisibleEffectChanged):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):

  • UserInterface/Views/ResourceMetricsContentView.js:

(WI.ResourceMetricsContentView.prototype._refreshResourceSizeSection):

  • UserInterface/Views/ScopeRadioButtonNavigationItem.js:

(WI.ScopeRadioButtonNavigationItem):

  • UserInterface/Views/ThreadTreeElement.js:

(WI.ThreadTreeElement.prototype._updateStatus):

  • UserInterface/Views/TimelineTreeElement.js:

(WI.TimelineTreeElement.prototype._showCloseButton):

  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:

(WI.VisualStyleCommaSeparatedKeywordEditor):

  • UserInterface/Views/VisualStyleKeywordIconList.js:

(WI.VisualStyleKeywordIconList):

  • UserInterface/Views/VisualStylePropertyEditorLink.js:

(WI.VisualStylePropertyEditorLink):

  • UserInterface/Views/VisualStyleSelectorSection.js:

(WI.VisualStyleSelectorSection):

  • UserInterface/Views/WebSocketDataGridNode.js:

(WI.WebSocketDataGridNode.prototype.createCellContent):

2:30 PM Changeset in webkit [224432] by achristensen@apple.com
  • 4 edits in trunk/LayoutTests

LayoutTest http/tests/loading/basic-auth-resend-wrong-credentials.html is flaky on WK2
https://bugs.webkit.org/show_bug.cgi?id=159884

Reviewed by Darin Adler.

  • http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
  • http/tests/loading/basic-auth-resend-wrong-credentials.html:
  • platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
2:26 PM Changeset in webkit [224431] by Ross Kirsling
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Hide legacy Layers sidebar on Search tab
https://bugs.webkit.org/show_bug.cgi?id=179257

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/SearchTabContentView.js:

(WI.SearchTabContentView):

2:26 PM Changeset in webkit [224430] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/security/mixedContent/insecure-css-with-secure-cookies.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=175998

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:26 PM Changeset in webkit [224429] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179248

Unreviewed test gardening.

2:13 PM Changeset in webkit [224428] by commit-queue@webkit.org
  • 12 edits
    1 copy
    2 adds in trunk/Source

Use VCP H264 encoder for platforms supporting it
https://bugs.webkit.org/show_bug.cgi?id=179076
rdar://problem/35180773

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: Added.

(webrtc::H264VideoToolboxEncoderVCP::SetActive):

  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm.
  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:

(internal::CFStringToString):
(internal::SetVTSessionProperty):
(internal::CopyVideoFrameToPixelBuffer):
(internal::CreatePixelBuffer):
(internal::VTCompressionOutputCallback):
(internal::ExtractProfile):

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h:
  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm:

(webrtc::VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory):
(webrtc::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):

  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebCore:

Covered by existing test coverage.

  • platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp:

(WebCore::VideoToolboxVideoEncoderFactory::setActive):
(WebCore::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
(WebCore::VideoToolboxVideoEncoderFactory::DestroyVideoEncoder):

  • platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h:
2:04 PM Changeset in webkit [224427] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] Fix build after r224373
https://bugs.webkit.org/show_bug.cgi?id=179265

Unreviewed build fix.

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-03

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::continueWillSendRequest): Deleted.

1:45 PM Changeset in webkit [224426] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

The Abstract Interpreter needs to change similar to clobberize() in r224366
https://bugs.webkit.org/show_bug.cgi?id=179267

Reviewed by Saam Barati.

Add clobberWorld() to HasGenericProperty, HasStructureProperty & GetPropertyEnumerator
cases in the abstract interpreter to match what was done for r224366.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

1:31 PM Changeset in webkit [224425] by keith_miller@apple.com
  • 1 edit
    1 add in trunk/JSTests

Add test for ic with side effects
https://bugs.webkit.org/show_bug.cgi?id=179268

Reviewed by Saam Barati.

  • stress/put-inline-cache-side-effects.js: Added.

(let.i.of.objs.keys):
(f):

1:19 PM Changeset in webkit [224424] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-604.4.7.10-branch

Cherry-pick r224405. rdar://problem/35339755

1:19 PM Changeset in webkit [224423] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604.4.7.10-branch

Cherry-pick r224398. rdar://problem/35329712

1:13 PM Changeset in webkit [224422] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-604.4.7.0-branch

Cherry-pick r224405. rdar://problem/35296405

1:13 PM Changeset in webkit [224421] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604.4.7.0-branch

Cherry-pick r224398. rdar://problem/35329714

1:12 PM Changeset in webkit [224420] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-604.4.7.1-branch

Cherry-pick r224405. rdar://problem/35296404

1:12 PM Changeset in webkit [224419] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604.4.7.1-branch

Cherry-pick r224398. rdar://problem/35329684

1:12 PM Changeset in webkit [224418] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Remove an invalid ASSERT that is seen intermittently.
https://bugs.webkit.org/show_bug.cgi?id=179186

Unreviewed.

  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::removeClientServiceWorkerRegistration): This is an invalid ASSERT,

it's definitely racey over IPC.

1:02 PM Changeset in webkit [224417] by achristensen@apple.com
  • 4 edits in trunk/LayoutTests

Remove Yosemite test expectations
https://bugs.webkit.org/show_bug.cgi?id=179143

Reviewed by Ryosuke Niwa.

We only test back to El Capitan. Everything is Yosemite+. Marking tests as failing only on Yosemite isn't useful any more.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:57 PM Changeset in webkit [224416] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

PutProperytSlot should inform the IC about the property before effects.
https://bugs.webkit.org/show_bug.cgi?id=179262

Reviewed by Mark Lam.

This patch fixes an issue where we choose to cache setters based on
incorrect information. If we did so we might end up OSR exiting
more than we would otherwise need to. The new model is that the
PutPropertySlot should inform the IC of what the property looked
like before any potential side effects might have occurred.

  • runtime/JSObject.cpp:

(JSC::JSObject::putInlineSlow):

  • runtime/Lookup.h:

(JSC::putEntry):

12:40 PM Changeset in webkit [224415] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK+ gardening. Mark a few failures, posting along the relevant
bug entries. Add a platform-specific baseline for one HTTP test.

  • platform/gtk/TestExpectations:
  • platform/gtk/http/tests/security/module-no-mime-type-expected.txt: Added.
12:26 PM Changeset in webkit [224414] by pvollan@apple.com
  • 6 edits in trunk/LayoutTests

[Win] Update test expectations after r224324.

Unreviewed test gardening.

  • platform/win/css3/selectors3/html/css3-modsel-166-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-166a-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-39-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-39b-expected.txt:
  • platform/win/fast/css/first-letter-float-after-float-expected.txt:
12:09 PM Changeset in webkit [224413] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WinCairo] Add --wincairo option to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=179217

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-03
Reviewed by Alex Christensen.

  • Scripts/webkitpy/port/factory.py:

(platform_options):

11:57 AM Changeset in webkit [224412] by Michael Catanzaro
  • 3 edits in trunk/Source/WebCore

[WPE] Remove unneeded USE(LIBEPOXY) guards
https://bugs.webkit.org/show_bug.cgi?id=179228

Reviewed by Carlos Garcia Campos.

USE(LIBEPOXY) is already mandatory for WPE.

  • platform/graphics/egl/GLContextEGLWPE.cpp:
  • platform/graphics/wpe/PlatformDisplayWPE.cpp:
11:47 AM Changeset in webkit [224411] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked js/intl-datetimeformat.html as failing on High Sierra.
https://bugs.webkit.org/show_bug.cgi?id=179208

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
11:42 AM Changeset in webkit [224410] by Michael Catanzaro
  • 4 edits
    1 move
    1 add in trunk

[WPE][GTK] Avoid duplicating code for dist and distcheck targets
https://bugs.webkit.org/show_bug.cgi?id=179154

Reviewed by Carlos Garcia Campos.

.:

This commit just reduces some CMake code duplication between GTK and WPE.

  • Source/PlatformGTK.cmake:
  • Source/PlatformWPE.cmake:
  • Source/cmake/WebKitDist.cmake: Added.

Tools:

Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
prefix because it is executable.

  • Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
11:32 AM Changeset in webkit [224409] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Layout viewport rect is too wide after window resize
https://bugs.webkit.org/show_bug.cgi?id=175235

Fix a formatting mistake that was introduced by r224241.

Patch by Ali Juma <ajuma@chromium.org> on 2017-11-03
Reviewed by Simon Fraser.

No change in behavior.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):

11:21 AM Changeset in webkit [224408] by commit-queue@webkit.org
  • 32 edits
    2 adds in trunk

Implement Service Worker Matching Registration algorithm
https://bugs.webkit.org/show_bug.cgi?id=178882

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-03
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/multiple-register.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-basic.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-scope.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/serviceworkerobject-scripturl.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/unregister-controller.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/unregister.https-expected.txt:

Source/WebCore:

Test: http/tests/workers/service/service-worker-clear.html

Adding support for scope as part of the ServiceWorkerRegistrationKey to disambiguate several service workers registered with different scopes.
Adding the Service Worker Registration algorithm in SWServer and adding internals API to test it.
Making ServiceWorkerRegistrationKey a class to protect its internal field to be reused in wrong places.

Added preliminary support for clearing service workers for a given session ID as this is needed by WTR for stable testing.

  • testing/Internals.cpp:

(WebCore::Internals::hasServiceWorkerRegistration):

  • testing/Internals.h:
  • testing/Internals.idl:
  • workers/service/ServiceWorkerJobData.cpp:

(WebCore::ServiceWorkerJobData::registrationKey const):

  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/ServiceWorkerRegistrationKey.cpp:

(WebCore::ServiceWorkerRegistrationKey::hash const):
(WebCore::ServiceWorkerRegistrationKey::operator== const):
(WebCore::ServiceWorkerRegistrationKey::isolatedCopy const):

  • workers/service/ServiceWorkerRegistrationKey.h:

(WebCore::ServiceWorkerRegistrationKey::encode const):
(WebCore::ServiceWorkerRegistrationKey::decode):

  • workers/service/server/SWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::clear):
(WebCore::SWServer::doRegistrationMatching const):

  • workers/service/server/SWServer.h:

(WebCore::SWServer::Connection::doRegistrationMatching const):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::~SWServerJobQueue):

  • workers/service/server/SWServerRegistration.h:

Source/WebKit:

Added IPC plumbery for matchRegistration request and response.
Added some limited clearing of workers and registrations.

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::matchRegistration):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::deleteWebsiteData):
(WebKit::StorageProcess::deleteWebsiteDataForOrigins):

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::didMatchRegistration):
(WebKit::WebSWClientConnection::matchRegistration):

  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
  • WebProcess/Storage/WebServiceWorkerProvider.h:

LayoutTests:

  • TestExpectations:
  • http/tests/workers/service/basic-register-exceptions-expected.txt:
  • http/tests/workers/service/resources/basic-register.js: Fixing flakiness.
  • http/tests/workers/service/service-worker-clear-expected.txt: Added.
  • http/tests/workers/service/service-worker-clear.html: Added.
11:05 AM Changeset in webkit [224407] by dino@apple.com
  • 9 edits
    6 adds in trunk

Add basic OffscreenCanvas interface
https://bugs.webkit.org/show_bug.cgi?id=179213
<rdar://problem/35326778>

Reviewed by Sam Weinig.

Source/WebCore:

Add the basic infrastructure for the OffscreenCanvas
object, so it can be created from script.

Test: http/wpt/offscreen-canvas/offscreencanvas.constructor.html

  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSEventTargetCustom.cpp:
  • dom/EventTargetFactory.in:
  • html/OffscreenCanvas.cpp: Added.

(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::OffscreenCanvas):
(WebCore::OffscreenCanvas::width const):
(WebCore::OffscreenCanvas::setWidth):
(WebCore::OffscreenCanvas::height const):
(WebCore::OffscreenCanvas::setHeight):

  • html/OffscreenCanvas.h: Added.
  • html/OffscreenCanvas.idl: Added.

LayoutTests:

Very basic test that exercises object construction.

  • http/wpt/offscreen-canvas/offscreencanvas.constructor-expected.txt: Added.
  • http/wpt/offscreen-canvas/offscreencanvas.constructor.html: Added.
11:03 AM Changeset in webkit [224406] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Element fullscreen should use FloatRects instead of IntRects in beganEnterFullScreenWithInitialFrame
https://bugs.webkit.org/show_bug.cgi?id=179033
rdar://problem/35309279

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-11-03
Reviewed by Darin Adler.

Screen coordinates are floats, so use NSRect instead of IntRect on Mac.

  • UIProcess/mac/WKFullScreenWindowController.h:
  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):

10:10 AM Changeset in webkit [224405] by rniwa@webkit.org
  • 12 edits
    2 adds in trunk

Crash inside ChildListMutationAccumulator::enqueueMutationRecord()
https://bugs.webkit.org/show_bug.cgi?id=179234
<rdar://problem/35287748>

Reviewed by Darin Adler.

Source/WebCore:

Fixed the crash by keeping MutationObserver referenced by MutationObserverInterestGroup alive.

Also added hasCallback() virtual function on MutationObserver to check whether the callback is alive
to work around the bug that JS function referenced by MutationObserver isn't kept alive.
We'll address this bug separately in https://webkit.org/b/179224.

Test: fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackHeaderContent): Added an override for the newly added virtual hasCallback().

  • dom/MutationCallback.h:
  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::deliver): Added the aforementioned workaround.

  • dom/MutationObserverInterestGroup.cpp:

(WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup): Fixed the crash by using Ref.
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord): Ditto.

  • dom/MutationObserverInterestGroup.h:
  • dom/NativeNodeFilter.cpp:

(WebCore::NativeNodeFilter::hasCallback const): Always return true here. This function is never called
but we still need to implement it since NodeFilter has a pure virtual hasCallback() now.

  • dom/NativeNodeFilter.h:
  • dom/Node.cpp:

(WebCore::collectMatchingObserversForMutation): Use Ref to fix the crash.
(WebCore::Node::registeredMutationObservers): Ditto.

  • dom/Node.h:
  • dom/NodeFilter.h:

LayoutTests:

Added a regression test.

  • fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash-expected.txt: Added.
  • fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html: Added.
9:59 AM Changeset in webkit [224404] by Alan Bujtas
  • 19 edits in trunk/Source/WebCore

RenderObject::*positioned() naming cleanup
https://bugs.webkit.org/show_bug.cgi?id=179206
<rdar://problem/35325254>

Reviewed by Darin Adler.

+isFixedPositioned()
+isAbsolutelyPositioned()
isRelPositioned() -> isRelativelyPositioned()

Covered by existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::positionOffsetValue):

  • dom/Element.cpp:

(WebCore::layoutOverflowRectContainsAllDescendants):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::renderName const):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::fixedElementLaysOutRelativeToFrame const):
(WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect const):
(WebCore::RenderBox::mapLocalToContainer const):
(WebCore::RenderBox::pushMappingToContainer const):
(WebCore::RenderBox::mapAbsoluteToLocalPoint const):
(WebCore::RenderBox::offsetFromContainer const):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderBoxModelObject::offsetForInFlowPosition const):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::renderName const):

  • rendering/RenderFragmentedFlow.cpp:

(WebCore::RenderFragmentedFlow::adjustedPositionRelativeToOffsetParent const):

  • rendering/RenderGeometryMap.cpp:

(WebCore::canMapBetweenRenderersViaLayers):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::renderName const):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::renderName const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::computeExtent const):
(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock const):
(WebCore::RenderObject::outputRenderObject const):
(WebCore::RenderObject::offsetParent const):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isPositioned const):
(WebCore::RenderObject::isInFlowPositioned const):
(WebCore::RenderObject::isFixedPositioned const):
(WebCore::RenderObject::isAbsolutePositioned const):
(WebCore::RenderObject::isRelativePositioned const):
(WebCore::RenderObject::isStickyPositioned const):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::isRelativePositioned const):
(WebCore::RenderObject::RenderObjectBitfields::isPositioned const):
(WebCore::RenderObject::isRelPositioned const): Deleted.
(WebCore::RenderObject::RenderObjectBitfields::isRelPositioned const): Deleted.

9:37 AM Changeset in webkit [224403] by Chris Dumez
  • 45 edits
    1 copy
    1 add in trunk/Source

Use a single identifier type to identify Service Workers
https://bugs.webkit.org/show_bug.cgi?id=179192

Reviewed by Brady Eidson.

Source/WebCore:

Use a single identifier type to identify Service Workers. We had both a String
identifier and a uint64_t identifier for each service worker. We now consistently
use a ServiceWorkerIdentifier which is a strongly typed identifier backed by a
uint64_t.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceLoaderOptions.h:
  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::setSelectedServiceWorkerIdentifierIfNeeded):

  • loader/cache/CachedResourceRequest.h:
  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::ServiceWorker):

  • workers/service/ServiceWorker.h:
  • workers/service/ServiceWorkerClient.cpp:

(WebCore::ServiceWorkerClient::postMessage):

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):

  • workers/service/ServiceWorkerContextData.cpp:

(WebCore::ServiceWorkerContextData::isolatedCopy const):

  • workers/service/ServiceWorkerContextData.h:

(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):

  • workers/service/ServiceWorkerIdentifier.h: Copied from Source/WebCore/workers/service/ServiceWorkerContextData.cpp.
  • workers/service/ServiceWorkerRegistrationData.h:

(WebCore::ServiceWorkerRegistrationData::decode):

  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::serviceWorkerThreadProxy const):
(WebCore::SWContextManager::postMessageToServiceWorkerGlobalScope):

  • workers/service/context/SWContextManager.h:
  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::ServiceWorkerThread):

  • workers/service/context/ServiceWorkerThread.h:

(WebCore::ServiceWorkerThread::identifier const):

  • workers/service/context/ServiceWorkerThreadProxy.h:
  • workers/service/server/SWClientConnection.cpp:

(WebCore::SWClientConnection::postMessageToServiceWorkerClient):

  • workers/service/server/SWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::generateServiceWorkerIdentifier):
(WebCore::SWServer::Connection::scriptContextFailedToStart):
(WebCore::SWServer::Connection::scriptContextStarted):
(WebCore::SWServer::scriptContextFailedToStart):
(WebCore::SWServer::scriptContextStarted):
(WebCore::SWServer::updateWorker):

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::scriptContextFailedToStart):
(WebCore::SWServerJobQueue::scriptContextStarted):

  • workers/service/server/SWServerJobQueue.h:
  • workers/service/server/SWServerRegistration.h:

(WebCore::SWServerRegistration::setActiveServiceWorkerIdentifier):

  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::SWServerWorker):

  • workers/service/server/SWServerWorker.h:

(WebCore::SWServerWorker::create):
(WebCore::SWServerWorker::identifier const):

Source/WebKit:

Use a single identifier type to identify Service Workers. We had both a String
identifier and a uint64_t identifier for each service worker. We now consistently
use a ServiceWorkerIdentifier which is a strongly typed identifier backed by a
uint64_t.

  • Scripts/webkit/messages.py:

(forward_declarations_and_headers):
(forward_declarations_and_headers.templates):

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::startFetch):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerGlobalScope):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerClient):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::serviceWorkerContextFailedToStart):
(WebKit::StorageProcess::serviceWorkerContextStarted):
(WebKit::StorageProcess::postMessageToServiceWorkerClient):

  • StorageProcess/StorageProcess.h:
  • StorageProcess/StorageProcess.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::postMessageToServiceWorkerGlobalScope):
(WebKit::WebSWClientConnection::postMessageToServiceWorkerClient):

  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::updateServiceWorker):
(WebKit::WebSWContextManagerConnection::serviceWorkerStartedWithMessage):
(WebKit::WebSWContextManagerConnection::startFetch):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerGlobalScope):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/Storage/WebSWContextManagerConnection.messages.in:

Source/WTF:

Introduce class for strongly typed identifiers. This avoids mixing up
different types of identifiers.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/ObjectIdentifier.h: Added.

(WTF::ObjectIdentifier::encode const):
(WTF::ObjectIdentifier::decode):
(WTF::ObjectIdentifier::operator== const):
(WTF::ObjectIdentifier::operator!= const):
(WTF::ObjectIdentifier::ObjectIdentifier):
(WTF::makeObjectIdentifier):
(WTF::ObjectIdentifierHash::hash):
(WTF::ObjectIdentifierHash::equal):
(WTF::HashTraits<ObjectIdentifier<T>>::emptyValue):
(WTF::HashTraits<ObjectIdentifier<T>>::constructDeletedValue):
(WTF::HashTraits<ObjectIdentifier<T>>::isDeletedValue):

9:35 AM Changeset in webkit [224402] by aestes@apple.com
  • 19 edits
    1 add in trunk

[Payment Request] show() should only be called with user activation
https://bugs.webkit.org/show_bug.cgi?id=179056

Reviewed by Sam Weinig.

Source/WebCore:

Updated existing tests to call PaymentRequest.show() with user activation.

  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::show):

LayoutTests:

  • http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html:
  • http/tests/paymentrequest/payment-request-canmakepayment-method.https.html:
  • http/tests/paymentrequest/payment-request-change-shipping-address.https.html:
  • http/tests/paymentrequest/payment-request-change-shipping-option.https.html:
  • http/tests/paymentrequest/payment-request-show-method.https.html:
  • http/tests/paymentrequest/payment-response-complete-method.https.html:
  • http/tests/paymentrequest/payment-response-methodName-attribute.https.html:
  • http/tests/paymentrequest/payment-response-payerEmail-attribute.https.html:
  • http/tests/paymentrequest/payment-response-payerName-attribute.https.html:
  • http/tests/paymentrequest/payment-response-payerPhone-attribute.https.html:
  • http/tests/paymentrequest/resources/helpers.js:

(async.getPaymentRequestResponse):

  • http/tests/paymentrequest/updateWith-method-pmi-handling.https.html:
  • http/tests/resources/payment-request.js: Added.

(activateThen):

  • http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https.html:
  • http/tests/ssl/applepay/ApplePayPaymentMethodUpdateEvent.https.html:
  • http/tests/ssl/applepay/PaymentRequest.https.html:
  • resources/ui-helper.js:

(window.UIHelper.activateElement):

9:33 AM Changeset in webkit [224401] by Jonathan Bedard
  • 2 edits in trunk/Tools

TestController platformAdjustContext should use provided WKContext for Mac
https://bugs.webkit.org/show_bug.cgi?id=179124
<rdar://problem/35295176>

Reviewed by Darin Adler.

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
a WebProcessPool, instead of creating a second one.

9:27 AM Changeset in webkit [224400] by Ms2ger@igalia.com
  • 4 edits in trunk/LayoutTests

LayoutTests/imported/w3c:
Update Event-timestamp-high-resolution.html.
https://bugs.webkit.org/show_bug.cgi?id=179242

Reviewed by Darin Adler.

Synchronise with upstream to make the test more robust.

  • web-platform-tests/dom/events/Event-timestamp-high-resolution.html:

LayoutTests:
[WPE] Update Event-timestamp-high-resolution.html expectations.
https://bugs.webkit.org/show_bug.cgi?id=179242

Reviewed by Darin Adler.

The test now deals more gracefully with the fact that GamepadEvent is
not defined.

  • platform/wpe/imported/w3c/web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt:
9:03 AM Changeset in webkit [224399] by mark.lam@apple.com
  • 5 edits
    1 add in trunk

CachedCall (and its clients) needs overflow checks.
https://bugs.webkit.org/show_bug.cgi?id=179185

Reviewed by JF Bastien.

JSTests:

  • stress/regress-179185.js: Added.

Source/JavaScriptCore:

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):
(JSC::CachedCall::hasOverflowedArguments):

  • runtime/ArgList.h:

(JSC::MarkedArgumentBuffer::clear):

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingRegExpSearch):

8:41 AM Changeset in webkit [224398] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

Invalidate node list when associated form control element is removed
https://bugs.webkit.org/show_bug.cgi?id=179232
<rdar://problem/35308269>

Reviewed by Ryosuke Niwa.

Source/WebCore:

A node list represents a live view of the DOM. Invalidate the node list
associated with a form element whenever one of its associated form control
elements is removed.

Test: fast/forms/node-list-remove-button-from-form.html

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::removeFormElement):

LayoutTests:

Add a test to ensure the node list returned by HTMLFormElement.elements stays synchronized
with the document.

  • fast/forms/node-list-remove-button-from-form-expected.txt: Added.
  • fast/forms/node-list-remove-button-from-form.html: Added.
8:24 AM Changeset in webkit [224397] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit

Enable display:contents by default as experimental feature
https://bugs.webkit.org/show_bug.cgi?id=179239
<rdar://problem/35334612>

Reviewed by Darin Adler.

We pass most of the WPT tests. What remains is mostly flexbox related edge cases.

  • Shared/WebPreferences.yaml:
8:11 AM Changeset in webkit [224396] by fred.wang@free.fr
  • 3 edits in trunk/Source/WebKit

Use WK_IOS_TBA instead of WK_MAC_TBA to indicate availability of private functions on iOS
https://bugs.webkit.org/show_bug.cgi?id=179238

Patch by Frederic Wang <fwang@igalia.com> on 2017-11-03
Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
8:01 AM Changeset in webkit [224395] by fred.wang@free.fr
  • 5 edits in trunk/Source/WebCore

Add USE(APPLE_INTERNAL_SDK)-guards around SPI in ResourceHandle code
https://bugs.webkit.org/show_bug.cgi?id=136107

Based on patch by Daniel Bates <dabates@apple.com>
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-03
Reviewed by Darin Adler.

No new tests, behavior unchanged.

  • platform/network/ResourceHandleClient.h: Replace includes of private headers with CFNetworkSPI.h.
  • platform/network/ResourceHandleInternal.h: Ditto.
  • platform/network/ios/ResourceHandleIOS.mm: Add USE(APPLE_INTERNAL_SDK)-guard around SPI

headers and forward declare NSURLRequest SPI and constant _kCFStreamSSLTrustedLeafCertificates
for clients that build without the internal SDK. Add BSD license block to file.
(WebCore::ResourceHandle::createSSLPropertiesFromNSURLRequest): Fix code style issues; use
nullptr instead of 0, use reinterpret_cast instead of C-style cast, remove unnecessary
"using namespace WebCore"
and rename variables to improve readability.

  • platform/network/mac/ResourceErrorMac.mm: Add USE(APPLE_INTERNAL_SDK)-guard around private

headers and add typedef for CFCachedURLResponseRef for clients that build without the
internal SDK.

7:46 AM Changeset in webkit [224394] by Antti Koivisto
  • 5 edits
    4 adds in trunk

Crash in WebCore::RenderStyle::overflowX with display:contents
https://bugs.webkit.org/show_bug.cgi?id=178857
<rdar://problem/35201120>

Reviewed by Zalan Bujtas.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-display-3/display-contents-computed-style-expected.txt:

Source/WebCore:

Crash test by Renata Hodovan.

Tests: fast/css/display-contents-all.html

fast/css/display-contents-document-element.html

  • css/StyleResolver.cpp:

(WebCore::adjustDisplayContentsStyle):

For document element 'display:contents' should adjust to 'display:block' like it does for other display types.

LayoutTests:

  • fast/css/display-contents-all-expected.html: Added.
  • fast/css/display-contents-all.html: Added.
  • fast/css/display-contents-document-element-expected.txt: Added.
  • fast/css/display-contents-document-element.html: Added.
4:44 AM Changeset in webkit [224393] by Ms2ger@igalia.com
  • 2 edits
    6 adds in trunk/LayoutTests

[WPE] Enable the dom/ directory of web-platform-tests.
https://bugs.webkit.org/show_bug.cgi?id=179180

Reviewed by Carlos Alberto Lopez Perez.

  • platform/wpe/TestExpectations: Enable tests; copy expected timeout from generic expectation file.
  • platform/wpe/imported/w3c/web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt: Added; GamepadEvent is not enabled. (The fragility of the test is fixed upstream.)
  • platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Added; more subtests pass than in the generic expectation file.
  • platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt: Added; more subtests pass than in the generic expectation file.
4:21 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
3:23 AM Changeset in webkit [224392] by zandobersek@gmail.com
  • 25 edits in trunk/LayoutTests

Unreviewed WPE gardening. Rebaselining tests affected by r224324.

  • platform/wpe/css1/pseudo/firstletter-expected.txt:
  • platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/wpe/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
  • platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-166-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-166a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-39-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-39b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-166-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-166a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-39-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-39b-expected.txt:
  • platform/wpe/fast/dynamic/first-letter-display-change-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
  • platform/wpe/svg/custom/glyph-selection-arabic-forms-expected.txt:
  • platform/wpe/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.txt:
  • platform/wpe/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.txt:
  • platform/wpe/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.txt:
  • platform/wpe/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.txt:
3:02 AM WebKitGTK/Gardening/Calendar edited by Ms2ger@igalia.com
(diff)
3:00 AM Changeset in webkit [224391] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Network Table - Include a secure lock indicator in the domain column
https://bugs.webkit.org/show_bug.cgi?id=179233
<rdar://problem/34070883>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-03
Reviewed by Devin Rousso.

  • UserInterface/Views/NetworkTableContentView.css:

(.network-table .cell.domain > .lock):

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._populateDomainCell):
Add a small lock icon by the domain if the request was https/wss.

2:32 AM Changeset in webkit [224390] by jiewen_tan@apple.com
  • 68 edits in trunk/Source/WebCore

Replace some auto* with RefPtr within WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=179218
<rdar://problem/35102567>

Reviewed by Ryosuke Niwa.

No changes in behaviors.

In this patch, it replace some auto* pointers with RefPtrs. The way it achieves this goal is to wrap
the RHS with makeRefPtr(). Also, some methods have been modified to return RefPtrs directly. Those
include:

HTMLInputElement::list,
HTMLInputElement::dataList,
HTMLLabelElement::control,
HTMLLegendElement::associatedControl,
HTMLSummaryElement::detailsElement,
HTMLTableElement::tHead,
HTMLTableElement::tFoot,
HTMLTablePartElement::findParentTable,
HTMLTableRowElement.cpp::findTable, local function
RadioNodeList.cpp::toRadioButtonInputElement, local function
CanvasStyle::canvasGradient,
CanvasStyle::canvasPattern,
WebGLRenderingContextBase::validateTextureBinding,
GraphicsContext::strokeGradient,
GraphicsContext::fillGradient.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::labelChanged):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::correspondingControlForLabelElement const):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::title const):

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:

(webkitAccessibleTableGetCaption):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::suggestions const):

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):

  • html/FileInputType.cpp:

(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::formOwnerRemovedFromTree):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::insertedIntoAncestor):
(WebCore::HTMLBodyElement::didFinishInsertingNode):
(WebCore::HTMLBodyElement::scrollTo):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::isActiveSummary const):
(WebCore::HTMLDetailsElement::parseAttribute):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::namedItem):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::editabilityFromContentEditableAttr):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::didAttachRenderers):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore:: const):

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::namedItem):

  • html/HTMLHtmlElement.cpp:

(WebCore::HTMLHtmlElement::insertedByParser):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::defaultEventHandler):
(WebCore::HTMLInputElement::list const):
(WebCore::HTMLInputElement::dataList const):
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):

  • html/HTMLInputElement.h:
  • html/HTMLLabelElement.cpp:

(WebCore::firstElementWithIdIfLabelable):
(WebCore::HTMLLabelElement::control const):
(WebCore::HTMLLabelElement::form const):
(WebCore::HTMLLabelElement::setActive):
(WebCore::HTMLLabelElement::setHovered):
(WebCore::HTMLLabelElement::willRespondToMouseClickEvents):
(WebCore::HTMLLabelElement::focus):
(WebCore::HTMLLabelElement::accessKeyAction):

  • html/HTMLLabelElement.h:
  • html/HTMLLegendElement.cpp:

(WebCore::HTMLLegendElement::associatedControl):
(WebCore::HTMLLegendElement::focus):
(WebCore::HTMLLegendElement::accessKeyAction):
(WebCore::HTMLLegendElement::form const):

  • html/HTMLLegendElement.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):
(WebCore::HTMLLinkElement::addSubresourceAttributeURLs const):

  • html/HTMLMediaElement.cpp:

(WebCore::needsAutoplayPlayPauseEventsQuirk):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::removeTextTrack):
(WebCore::HTMLMediaElement::layoutSizeChanged):

  • html/HTMLObjectElement.cpp:

(WebCore::shouldBeExposed):
(WebCore::HTMLObjectElement::appendFormData):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::recalcSelectOptions):

  • html/HTMLPictureElement.cpp:

(WebCore::HTMLPictureElement::viewportChangeAffectedPicture const):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::bindingsInstance):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::isImageType):
(WebCore::HTMLPlugInImageElement::willDetachRenderers):
(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay const):
(WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting):

  • html/HTMLSlotElement.cpp:

(WebCore::HTMLSlotElement::attributeChanged):
(WebCore:: const):

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::parseAttribute):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::addSubresourceAttributeURLs const):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::detailsElement const):

  • html/HTMLSummaryElement.h:
  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::caption const):
(WebCore::HTMLTableElement::tHead const):
(WebCore::HTMLTableElement::tFoot const):
(WebCore::HTMLTableElement::createTHead):
(WebCore::HTMLTableElement::deleteTHead):
(WebCore::HTMLTableElement::createTFoot):
(WebCore::HTMLTableElement::deleteTFoot):
(WebCore::HTMLTableElement::createCaption):
(WebCore::HTMLTableElement::deleteCaption):

  • html/HTMLTableElement.h:
  • html/HTMLTablePartElement.cpp:

(WebCore::HTMLTablePartElement::findParentTable const):

  • html/HTMLTablePartElement.h:
  • html/HTMLTableRowElement.cpp:

(WebCore::findTable):
(WebCore::HTMLTableRowElement::rowIndex const):
(WebCore::findRows):

  • html/HTMLTableSectionElement.cpp:

(WebCore::HTMLTableSectionElement::additionalPresentationAttributeStyle const):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::mediaElement const):

  • html/LinkIconCollector.cpp:

(WebCore::LinkIconCollector::iconsOfTypes):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • html/MediaElementSession.cpp:

(WebCore::needsArbitraryUserGestureAutoplayQuirk):
(WebCore::isElementRectMostlyInMainFrame):
(WebCore::isElementLargeRelativeToMainFrame):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocumentParser::appendBytes):

  • html/RadioNodeList.cpp:

(WebCore::toRadioButtonInputElement):
(WebCore::RadioNodeList::value const):
(WebCore::RadioNodeList::setValue):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::updateTickMarkValues):

  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::wouldTaintOrigin):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::fillInternal):
(WebCore::CanvasRenderingContext2D::strokeInternal):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::toStyle):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • html/canvas/CanvasStyle.h:

(WebCore::CanvasStyle::canvasGradient const):
(WebCore::CanvasStyle::canvasPattern const):

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::texStorage2D):
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGL2RenderingContext::validateIndexArrayConservative):

  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::validateIndexArrayConservative):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::compressedTexImage2D):
(WebCore::WebGLRenderingContextBase::compressedTexSubImage2D):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::generateMipmap):
(WebCore::WebGLRenderingContextBase::getTexParameter):
(WebCore::WebGLRenderingContextBase::texImage2DBase):
(WebCore::WebGLRenderingContextBase::validateTexFunc):
(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::texSubImage2DBase):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::texImage2D):
(WebCore::WebGLRenderingContextBase::texParameter):
(WebCore::WebGLRenderingContextBase::validateTextureBinding):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/parser/HTMLConstructionSite.cpp:

(WebCore::executeReparentTask):
(WebCore::executeTakeAllChildrenAndReparentTask):
(WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface):
(WebCore::HTMLConstructionSite::findFosterSite):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::generateViolationReport):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):

  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::updateGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::willRemove):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue):
(WebCore::TextTrack::addRegion):

  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::willRemove):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildInitialState):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::strokeGradient const):
(WebCore::GraphicsContext::fillGradient const):

  • rendering/svg/RenderSVGPath.cpp:

(WebCore::useStrokeStyleToFill):

12:04 AM Changeset in webkit [224389] by webkit@devinrousso.com
  • 17 edits in trunk

Web Inspector: Canvas2D Profiling: highlight expensive context commands in the captured command log
https://bugs.webkit.org/show_bug.cgi?id=178302
<rdar://problem/33158849>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/Recording.json:

Add duration to each Frame that represents the total time of all the recorded actions.

Source/WebCore:

No new tests, updated existing tests.

  • inspector/InspectorCanvas.h:
  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::recordAction):
(WebCore::InspectorCanvas::finalizeFrame):
(WebCore::InspectorCanvas::markNewFrame): Deleted.

  • inspector/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):

Source/WebInspectorUI:

  • UserInterface/Models/RecordingFrame.js:

(WI.RecordingFrame):
(WI.RecordingFrame.fromPayload):
(WI.RecordingFrame.prototype.get duration):
(WI.RecordingFrame.prototype.toJSON):

  • UserInterface/Views/RecordingNavigationSidebarPanel.js:

(WI.RecordingNavigationSidebarPanel.prototype.set recording):

  • UserInterface/Views/RecordingNavigationSidebarPanel.css:

(.sidebar > .panel.navigation.recording > .content > .tree-outline .item.folder-icon > .status):

LayoutTests:

  • inspector/canvas/recording-2d-expected.txt:
  • inspector/canvas/recording-webgl-expected.txt:
  • inspector/canvas/recording-webgl-snapshots-expected.txt:
  • inspector/canvas/resources/recording-utilities.js:

(TestPage.registerInitializer):

  • inspector/model/recording-expected.txt:
  • inspector/model/recording.html:

Nov 2, 2017:

11:20 PM Changeset in webkit [224388] by jonlee@apple.com
  • 68 edits in trunk/PerformanceTests

Add license for MotionMark
https://bugs.webkit.org/show_bug.cgi?id=179222

Reviewed by Ryosuke Niwa.

  • MotionMark/about.html:
  • MotionMark/developer.html:
  • MotionMark/index.html:
  • MotionMark/resources/debug-runner/graph.js:
  • MotionMark/resources/debug-runner/motionmark.css:
  • MotionMark/resources/debug-runner/motionmark.js:
  • MotionMark/resources/debug-runner/tests.js:
  • MotionMark/resources/extensions.js:
  • MotionMark/resources/statistics.js:
  • MotionMark/resources/strings.js:
  • MotionMark/tests/3d/resources/webgl.js:
  • MotionMark/tests/3d/webgl.html:
  • MotionMark/tests/bouncing-particles/bouncing-canvas-images.html:
  • MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html:
  • MotionMark/tests/bouncing-particles/bouncing-css-images.html:
  • MotionMark/tests/bouncing-particles/bouncing-css-shapes.html:
  • MotionMark/tests/bouncing-particles/bouncing-svg-images.html:
  • MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html:
  • MotionMark/tests/bouncing-particles/bouncing-tagged-images.html:
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-particles.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js:
  • MotionMark/tests/dom/compositing-transforms.html:
  • MotionMark/tests/dom/focus.html:
  • MotionMark/tests/dom/leaves.html:
  • MotionMark/tests/dom/particles.html:
  • MotionMark/tests/dom/resources/compositing-transforms.js:
  • MotionMark/tests/dom/resources/dom-particles.js:
  • MotionMark/tests/dom/resources/focus.js:
  • MotionMark/tests/dom/resources/leaves.js:
  • MotionMark/tests/master/canvas-stage.html:
  • MotionMark/tests/master/focus.html:
  • MotionMark/tests/master/image-data.html:
  • MotionMark/tests/master/leaves.html:
  • MotionMark/tests/master/multiply.html:
  • MotionMark/tests/master/resources/canvas-stage.js:
  • MotionMark/tests/master/resources/canvas-tests.js:
  • MotionMark/tests/master/resources/focus.js:
  • MotionMark/tests/master/resources/image-data.js:
  • MotionMark/tests/master/resources/leaves.js:
  • MotionMark/tests/master/resources/multiply.js:
  • MotionMark/tests/master/resources/particles.js:
  • MotionMark/tests/master/resources/svg-particles.js:
  • MotionMark/tests/master/resources/text.js:
  • MotionMark/tests/master/svg-particles.html:
  • MotionMark/tests/master/text.html:
  • MotionMark/tests/resources/main.js:
  • MotionMark/tests/resources/math.js:
  • MotionMark/tests/resources/stage.css:
  • MotionMark/tests/simple/resources/simple-canvas-paths.js:
  • MotionMark/tests/simple/resources/simple-canvas.js:
  • MotionMark/tests/simple/resources/tiled-canvas-image.js:
  • MotionMark/tests/simple/simple-canvas-paths.html:
  • MotionMark/tests/simple/tiled-canvas-image.html:
  • MotionMark/tests/template/resources/template-canvas.js:
  • MotionMark/tests/template/resources/template-css.js:
  • MotionMark/tests/template/resources/template-svg.js:
  • MotionMark/tests/template/template-canvas.html:
  • MotionMark/tests/template/template-css.html:
  • MotionMark/tests/template/template-svg.html:
11:08 PM Changeset in webkit [224387] by mjs@apple.com
  • 11 edits in trunk/Source

Don't try to guess plugin MIME type from a file extension in a URL (no observable effect)
https://bugs.webkit.org/show_bug.cgi?id=178333

Reviewed by Darin Adler.

Source/WebCore:

No test cases because I could not find an observable behavior difference,
even after trying many different plugin loading scenarios.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): loadedMIMEType --> serviceType
(WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): ditto
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): ditto
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): ditto

  • html/HTMLPlugInImageElement.h:

(WebCore::HTMLPlugInImageElement::loadedMimeType const): Deleted. This was the one call site
for mimeTypeFromURL, and is otherwise just a wrapper for SerciceType()

  • platform/URL.cpp:

(WebCore::mimeTypeFromURL): Deleted. This was the only use of MIMETypeDatabase in URL.

  • platform/URL.h: Removed declaration for mimeTypeFromURL.
  • WebCore.order: Removed mimeTypeFromURL.

Source/WebKit:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginDidReceiveUserInteraction): loadedMIMEType --> serviceType

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn): ditto

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::objectContentType): Remove unnecessary call to mimeTypeFromURL

11:05 PM Changeset in webkit [224386] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Fix cancellation process implementation
https://bugs.webkit.org/show_bug.cgi?id=179199

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-02
Reviewed by Alex Christensen.

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::cancel):
(WebCore::CurlRequest::willSendData):
(WebCore::CurlRequest::didReceiveHeader):
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::completeDidReceiveResponse):
(WebCore::CurlRequest::pausedStatusChanged):

  • platform/network/curl/CurlRequest.h:

(WebCore::CurlRequest::isSyncRequest const):
(WebCore::CurlRequest::isCompletedOrCancelled const):
(WebCore::CurlRequest::needToInvokeDidCancelTransfer const):
(WebCore::CurlRequest::isSyncRequest): Deleted.

10:33 PM Changeset in webkit [224385] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.0-branch

Cherry-pick r224366. rdar://problem/35329722

10:33 PM Changeset in webkit [224384] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.0-branch

Cherry-pick r224349. rdar://problem/35329729

10:32 PM Changeset in webkit [224383] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.10-branch

Cherry-pick r224366. rdar://problem/35329721

10:31 PM Changeset in webkit [224382] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.10-branch

Cherry-pick r224349. rdar://problem/35329728

10:30 PM Changeset in webkit [224381] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.1-branch

Cherry-pick r224366. rdar://problem/35329720

10:30 PM Changeset in webkit [224380] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.1-branch

Cherry-pick r224349. rdar://problem/35329727

9:36 PM Changeset in webkit [224379] by beidson@apple.com
  • 21 edits
    1 copy in trunk/Source

SW: Implement "Update Registration State" algorithm (unused for now)
https://bugs.webkit.org/show_bug.cgi?id=179186

Reviewed by Chris Dumez.

Source/WebCore:

No new tests (No behavior change yet).

This algorithm is very simple, and this patch plumbs it through.
But it's not useful to start using this algorithm without "Update Worker State" also.
So to keep this patch small, it's unused for now. Will be used in the next patch.

  • WebCore.xcodeproj/project.pbxproj:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):

  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::~ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::updateStateFromServer):

  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/ServiceWorkerTypes.h: Copied from Source/WebCore/workers/service/server/SWServerRegistration.cpp.
  • workers/service/server/SWClientConnection.cpp:

(WebCore::SWClientConnection::addServiceWorkerRegistration):
(WebCore::SWClientConnection::removeServiceWorkerRegistration):
(WebCore::SWClientConnection::updateRegistrationState):

  • workers/service/server/SWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::Connection::addServiceWorkerRegistrationInServer):
(WebCore::SWServer::Connection::removeServiceWorkerRegistrationInServer):
(WebCore::SWServer::addClientServiceWorkerRegistration):
(WebCore::SWServer::removeClientServiceWorkerRegistration):

  • workers/service/server/SWServer.h:

(WebCore::SWServer::getConnection):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::runRegisterJob):

  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::SWServerRegistration):
(WebCore::SWServerRegistration::updateRegistrationState):
(WebCore::SWServerRegistration::addClientServiceWorkerRegistration):
(WebCore::SWServerRegistration::removeClientServiceWorkerRegistration):

  • workers/service/server/SWServerRegistration.h:

Source/WebKit:

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebCoreArgumentCoders.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::updateRegistrationStateInClient):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):

  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
8:48 PM Changeset in webkit [224378] by rniwa@webkit.org
  • 7 edits in trunk/Source/WebCore

Assert that updateStyle and updateLayout are only called when it's safe to dispatch events
https://bugs.webkit.org/show_bug.cgi?id=179157
<rdar://problem/35144778>

Reviewed by Zalan Bujtas.

Added assertions to Document::updateStyleIfNeeded and Document::updateLayout that these functions are
only called when NoEventDispatchAssertion::isEventAllowedInMainThread() is true with two exceptions:

  1. Inside SVGImage::draw which triggers a layout on a separate document.
  2. While doing a nested layout for a frame flattening.

No new tests since there should be no behavioral changes.

  • dom/ContainerNode.cpp:

(NoEventDispatchAssertion::DisableAssertionsInScope::s_existingCount): Deleted. This is now an instance
variable of DisableAssertionsInScope.
(ContainerNode::removeNodeWithScriptAssertion): Moved childrenChanged out of the scope since it could
invoke respondToChangedSelection via HTMLTextAreaElement::childrenChanged.

  • dom/Document.cpp:

(WebCore::Document::updateStyleIfNeeded): Added the assertion. Allow updateWidgetPositions() to call
this function but exit early when checking needsStyleRecalc().
(WebCore::Document::updateLayout): Added the assertion.

  • dom/NoEventDispatchAssertion.h:

(WebCore::NoEventDispatchAssertion::DisableAssertionsInScope::DisableAssertionsInScope): Made this class
store the original value of s_count as an instance variable to support re-entrancy.
(WebCore::NoEventDispatchAssertion::DisableAssertionsInScope::~DisableAssertionsInScope): Ditto.

  • page/LayoutContext.cpp:

(WebCore::LayoutContext::runOrScheduleAsynchronousTasks): Temporarily disable the assertion. This is safe
since SVGImage has its own document.

  • svg/SVGSVGElement.cpp:

(WebCore::checkIntersectionWithoutUpdatingLayout): Extracted out of SVGSVGElement::checkIntersection.
(WebCore::checkEnclosureWithoutUpdatingLayout): Extracted out of SVGSVGElement::checkEnclosure.
(WebCore::SVGSVGElement::getIntersectionList): Use checkIntersectionWithoutUpdatingLayout to avoid
calling updateLayoutIgnorePendingStylesheets while iterating over elements.
(WebCore::SVGSVGElement::getEnclosureList): Ditto.
(WebCore::SVGSVGElement::checkIntersection):
(WebCore::SVGSVGElement::checkEnclosure):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw): Temporarily disable the assertion. This is safe as SVGImage has its own page.

8:44 PM Changeset in webkit [224377] by jmarcell@apple.com
  • 5 edits
    1 add in branches/safari-604.4.7.0-branch

Cherry-pick r224302. rdar://problem/35296412

8:37 PM Changeset in webkit [224376] by jmarcell@apple.com
  • 5 edits
    1 add in branches/safari-604.4.7.10-branch

Cherry-pick r224302. rdar://problem/35323822

8:36 PM Changeset in webkit [224375] by jmarcell@apple.com
  • 5 edits
    1 add in branches/safari-604.4.7.1-branch

Cherry-pick r224302. rdar://problem/35296408

8:16 PM Changeset in webkit [224374] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Windows debug build after r224371

  • platform/graphics/win/DIBPixelData.h:
7:54 PM Changeset in webkit [224373] by achristensen@apple.com
  • 45 edits in trunk/Source

Use CompletionHandlers for redirects
https://bugs.webkit.org/show_bug.cgi?id=179163

Reviewed by Tim Horton.

Source/WebCore:

Having functions sometimes have to remember to call client->continueWillSendRequest is fragile.
CompletionHandler asserts if it's not called once before destruction, and that's what we need here.
This will prevent future bugs, and make ResourceHandle look more like NetworkDataTask.

No change in behavior.

  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::willSendRequest):

  • loader/NetscapePlugInStreamLoader.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::willSendRequestAsync):

  • loader/ResourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::willSendRequestAsync):

  • loader/appcache/ApplicationCacheGroup.h:
  • platform/network/BlobResourceHandle.cpp:
  • platform/network/PingHandle.h:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/SynchronousLoaderClient.cpp:

(WebCore::SynchronousLoaderClient::willSendRequestAsync):

  • platform/network/SynchronousLoaderClient.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest): Deleted.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::willSendRequest):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]): Deleted.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::doRedirect):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.

Source/WebKit:

  • NetworkProcess/Downloads/BlobDownloadClient.cpp:

(WebKit::BlobDownloadClient::willSendRequestAsync):

  • NetworkProcess/Downloads/BlobDownloadClient.h:
  • NetworkProcess/NetworkDataTask.h:
  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::willSendRequestAsync):

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkLoadClient.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):

  • UIProcess/API/APIDownloadClient.h:

(API::DownloadClient::willSendRequest):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDownloadClient):

  • UIProcess/Cocoa/DownloadClient.h:
  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::willSendRequest):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::Stream::~Stream):
(WebKit::PluginView::Stream::continueLoad):
(WebKit::PluginView::Stream::willSendRequest):

  • WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:

Source/WebKitLegacy/mac:

  • Plugins/Hosted/HostedNetscapePluginStream.h:
  • Plugins/Hosted/HostedNetscapePluginStream.mm:

(WebKit::HostedNetscapePluginStream::willSendRequest):

  • Plugins/WebNetscapePluginStream.h:
  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::willSendRequest):

Source/WebKitLegacy/win:

  • Plugins/PluginStream.cpp:

(WebCore::PluginStream::willSendRequest):

  • Plugins/PluginStream.h:

(WebCore::PluginStreamClient::~PluginStreamClient):
(WebCore::PluginStreamClient::streamDidFinishLoading):
(WebCore::PluginStream::create):
(WebCore::PluginStream::setLoadManually):

7:50 PM Changeset in webkit [224372] by timothy_horton@apple.com
  • 2 edits in trunk

Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204

Unreviewed build fix.

  • Source/Makefile:

Take three. An empty SDKROOT should be like Mac (and build all the things).

7:33 PM Changeset in webkit [224371] by commit-queue@webkit.org
  • 150 edits in trunk

Add a FileSystem namespace to FileSystem.cpp
https://bugs.webkit.org/show_bug.cgi?id=179063

Patch by Christopher Reid <chris.reid@sony.com> on 2017-11-02
Reviewed by Darin Adler.

Source/WebCore:

No new tests, no change in behavior.

Adding a FileSystem namespace so its functions aren't global in WebCore.

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
  • Modules/entriesapi/DOMFileSystem.cpp:
  • Modules/entriesapi/FileSystemEntry.cpp:
  • Modules/indexeddb/IDBDatabaseIdentifier.cpp:
  • Modules/indexeddb/server/IDBServer.cpp:
  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
  • Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:
  • Modules/webdatabase/DatabaseTracker.cpp:
  • Modules/webdatabase/OriginLock.cpp:
  • Modules/webdatabase/OriginLock.h:
  • fileapi/File.cpp:
  • fileapi/FileCocoa.mm:
  • html/FileListCreator.cpp:
  • html/HTMLMediaElement.cpp:
  • loader/appcache/ApplicationCacheStorage.cpp:
  • page/Page.cpp:
  • page/SecurityOrigin.cpp:
  • page/SecurityOriginData.cpp:
  • platform/FileHandle.cpp:
  • platform/FileHandle.h:
  • platform/FileStream.cpp:
  • platform/FileStream.h:
  • platform/FileSystem.cpp: Added FileSystem namespace
  • platform/FileSystem.h: Added FileSystem namespace
  • platform/SharedBuffer.cpp:
  • platform/SharedBuffer.h:
  • platform/cf/FileSystemCF.cpp: Added FileSystem namespace
  • platform/cocoa/FileMonitorCocoa.mm:
  • platform/cocoa/FileSystemCocoa.mm: Added FileSystem namespace
  • platform/glib/FileMonitorGLib.cpp:
  • platform/glib/FileSystemGlib.cpp: Added FileSystem namespace
  • platform/glib/SharedBufferGlib.cpp:
  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/win/DIBPixelData.h:
  • platform/ios/QuickLook.mm:
  • platform/ios/WebItemProviderPasteboard.mm:
  • platform/mac/FileSystemMac.mm: Added FileSystem namespace
  • platform/network/BlobDataFileReference.cpp:
  • platform/network/BlobRegistryImpl.cpp:
  • platform/network/FormData.cpp:
  • platform/network/cf/FormDataStreamCFNet.cpp:
  • platform/network/cocoa/ResourceRequestCocoa.mm:
  • platform/network/curl/CurlCacheEntry.cpp:
  • platform/network/curl/CurlCacheEntry.h:
  • platform/network/curl/CurlCacheManager.cpp:
  • platform/network/curl/CurlDownload.cpp:
  • platform/network/curl/CurlRequest.cpp:
  • platform/network/curl/CurlRequest.h:
  • platform/network/curl/ResourceHandleCurl.cpp:
  • platform/network/mac/BlobDataFileReferenceMac.mm:
  • platform/network/soup/ResourceRequestSoup.cpp:
  • platform/network/soup/SoupNetworkSession.cpp:
  • platform/posix/FileSystemPOSIX.cpp: Added FileSystem namespace
  • platform/posix/SharedBufferPOSIX.cpp:
  • platform/sql/SQLiteFileSystem.cpp:
  • platform/text/hyphen/HyphenationLibHyphen.cpp:
  • platform/win/FileSystemWin.cpp: Added FileSystem namespace
  • rendering/RenderThemeGtk.cpp:
  • rendering/RenderThemeWin.cpp:

Source/WebKit:

  • NetworkProcess/Downloads/BlobDownloadClient.cpp:
  • NetworkProcess/Downloads/BlobDownloadClient.h:
  • NetworkProcess/NetworkDataTaskBlob.cpp:
  • NetworkProcess/NetworkDataTaskBlob.h:
  • NetworkProcess/NetworkProcess.cpp:
  • NetworkProcess/cache/CacheStorageEngine.cpp:
  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:
  • NetworkProcess/cache/NetworkCache.cpp:
  • NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
  • NetworkProcess/cache/NetworkCacheData.cpp:
  • NetworkProcess/cache/NetworkCacheFileSystem.cpp:
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
  • NetworkProcess/cache/NetworkCacheStatistics.cpp:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:
  • NetworkProcess/capture/NetworkCaptureManager.cpp:
  • NetworkProcess/capture/NetworkCaptureManager.h:
  • NetworkProcess/capture/NetworkCaptureRecorder.cpp:
  • NetworkProcess/capture/NetworkCaptureResource.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:
  • NetworkProcess/soup/NetworkProcessSoup.cpp:
  • Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp:
  • Shared/Plugins/unix/PluginSearchPath.cpp:
  • Shared/WebMemorySampler.cpp:
  • Shared/WebMemorySampler.h:
  • Shared/gtk/ProcessExecutablePathGtk.cpp:
  • Shared/ios/ChildProcessIOS.mm:
  • Shared/mac/ChildProcessMac.mm:
  • Shared/mac/SandboxExtensionMac.mm:
  • Shared/wpe/ProcessExecutablePathWPE.cpp:
  • StorageProcess/StorageProcess.cpp:
  • UIProcess/API/APIContentRuleListStore.cpp:
  • UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:
  • UIProcess/API/glib/IconDatabase.cpp:
  • UIProcess/API/glib/WebKitFaviconDatabase.cpp:
  • UIProcess/API/glib/WebKitFileChooserRequest.cpp:
  • UIProcess/API/glib/WebKitWebContext.cpp:
  • UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
  • UIProcess/Automation/WebAutomationSession.cpp:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:
  • UIProcess/Cocoa/WebViewImpl.mm:
  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:
  • UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  • UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:
  • UIProcess/WebStorage/LocalStorageDatabase.cpp:
  • UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:
  • UIProcess/gtk/WebProcessPoolGtk.cpp:
  • UIProcess/mac/WebPageProxyMac.mm:
  • UIProcess/wpe/WebProcessPoolWPE.cpp:
  • WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp:
  • WebProcess/InjectedBundle/glib/InjectedBundleGlib.cpp:
  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
  • WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
  • WebProcess/Plugins/Netscape/NetscapePluginStream.h:
  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:

Source/WebKitLegacy:

  • Storage/StorageAreaSync.cpp:
  • Storage/StorageSyncManager.cpp:
  • Storage/StorageTracker.cpp:

Source/WebKitLegacy/mac:

  • Misc/WebNSFileManagerExtras.mm:
  • Storage/WebDatabaseProvider.mm:

Source/WebKitLegacy/win:

  • Plugins/PluginDatabase.cpp:
  • Plugins/PluginPackage.cpp:
  • Plugins/PluginStream.cpp:
  • Plugins/PluginStream.h:
  • WebApplicationCache.cpp:
  • WebDatabaseManager.cpp:
  • WebDownloadCurl.cpp:
  • WebPreferences.cpp:
  • WebView.cpp:

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:
  • TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
  • TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
  • TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
  • TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
  • TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
6:53 PM Changeset in webkit [224370] by webkit@devinrousso.com
  • 19 edits
    2 adds in trunk

Web Inspector: Canvas Tab: show supported GL extensions for selected canvas
https://bugs.webkit.org/show_bug.cgi?id=179070
<rdar://problem/35278276>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/Canvas.json:

Add extensionEnabled event that is fired each time getExtension is called with a
different string on a WebGL context.

Source/WebCore:

Test: inspector/canvas/extensions.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
Rework common logic into a macro for readability and to simplify adding calls to
InspectorInstrumentation functions.

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::extensionIsEnabled):

  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::didEnableExtension):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didEnableExtension):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didEnableExtensionImpl):

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Protocol/CanvasObserver.js:

(WI.CanvasObserver.prototype.extensionEnabled):

  • UserInterface/Controllers/CanvasManager.js:

(WI.CanvasManager.prototype.extensionEnabled):

  • UserInterface/Models/Canvas.js:

(WI.Canvas.prototype.get extensions):
(WI.Canvas.prototype.enableExtension):
Maintain a Set of enabled extensions, and dispatch an event whenever an extension is enabled.

  • UserInterface/Views/CanvasDetailsSidebarPanel.css:

(.sidebar > .panel.details.canvas .details-section.canvas-extensions .content > ul):

  • UserInterface/Views/CanvasDetailsSidebarPanel.js:

(WI.CanvasDetailsSidebarPanel.prototype.set canvas):
(WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
(WI.CanvasDetailsSidebarPanel.prototype.layout):
(WI.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
(WI.CanvasDetailsSidebarPanel.prototype._refreshExtensionsSection):
Drive-by: hide Attributes section when the canvas has no attributes.

LayoutTests:

  • inspector/canvas/extensions-expected.txt: Added.
  • inspector/canvas/extensions.html: Added.
6:36 PM Changeset in webkit [224369] by commit-queue@webkit.org
  • 3 edits
    7 adds in trunk

Do not check for CORS in case response is coming from a service worker
https://bugs.webkit.org/show_bug.cgi?id=179177

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Chris Dumez.

Source/WebCore:

Test: http/tests/workers/service/cors-image-fetch.html

As per fetch spec, CORS check (https://fetch.spec.whatwg.org/#cors-check) is done
within HTTP fetch (https://fetch.spec.whatwg.org/#http-fetch).
It does not apply to fetches handled by service workers.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):

LayoutTests:

  • http/tests/workers/service/cors-image-fetch-expected.txt: Added.
  • http/tests/workers/service/cors-image-fetch.html: Added.
  • http/tests/workers/service/resources/cors-image-fetch-worker.js: Added.
  • http/tests/workers/service/resources/cors-image-fetch.js: Added.
  • http/tests/workers/service/resources/tainted-image-fetch.js: Added.
  • http/tests/workers/service/tainted-image-fetch-expected.txt: Added.
  • http/tests/workers/service/tainted-image-fetch.html: Added.
6:30 PM Changeset in webkit [224368] by Joseph Pecoraro
  • 29 edits
    1 copy
    3 adds in trunk/Source

Make ServiceWorker a Remote Inspector debuggable target
https://bugs.webkit.org/show_bug.cgi?id=179043
<rdar://problem/34126008>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/remote/RemoteControllableTarget.h:
  • inspector/remote/RemoteInspectionTarget.h:
  • inspector/remote/RemoteInspectorConstants.h:

Include a new ServiceWorker remote inspector target type.

  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::listingForInspectionTarget const):
Implement listing for a ServiceWorker to include a URL like a page.

  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::RemoteInspector::listingForInspectionTarget const):
Bail for ServiceWorker support in glib. They will need to implement their support.

Source/WebCore:

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

New files.

  • workers/service/context/ServiceWorkerDebuggable.h: Added.
  • workers/service/context/ServiceWorkerDebuggable.cpp: Added.

(WebCore::ServiceWorkerDebuggable::ServiceWorkerDebuggable):
(WebCore::ServiceWorkerDebuggable::connect):
(WebCore::ServiceWorkerDebuggable::disconnect):
(WebCore::ServiceWorkerDebuggable::dispatchMessageFromRemote):
ServiceWorker remote inspector target, exposes the script url to debuggers.
Pass the channel on to the inspector proxy to hook it up to the worker.

  • workers/service/context/ServiceWorkerInspectorProxy.h:
  • workers/service/context/ServiceWorkerInspectorProxy.cpp: Added.

(WebCore::ServiceWorkerInspectorProxy::ServiceWorkerInspectorProxy):
(WebCore::ServiceWorkerInspectorProxy::~ServiceWorkerInspectorProxy):
(WebCore::ServiceWorkerInspectorProxy::serviceWorkerTerminated):
Handle interesting events throughout a Service Worker life cycle.

(WebCore::ServiceWorkerInspectorProxy::connectToWorker):
(WebCore::ServiceWorkerInspectorProxy::disconnectFromWorker):
(WebCore::ServiceWorkerInspectorProxy::sendMessageToWorker):
(WebCore::ServiceWorkerInspectorProxy::sendMessageFromWorkerToFrontend):
Implement existing worker debugger hooks for connection setup and sending messages.
Inspector protocol messages come in on the MainThread and hop over to the
WorkerThread to be handled on the expected context thread. Likewise outgoing
messages hop back to be sent through the InspectorFrontend channel on MainThread.

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::ServiceWorkerThread):

  • workers/service/context/ServiceWorkerThread.h:
  • workers/service/context/ServiceWorkerThreadProxy.h:
  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
(WebCore::ServiceWorkerThreadProxy::postMessageToDebugger):
Construct the new inspector proxy and debuggable registration.
Call lifecycle events and debugger hooks when appropriate.

Source/WebInspectorUI:

Customize the Web Inspector frontend for a ServiceWorker target.
Currently this just behaves like a JavaScript Context target because
we haven't yet added support for Networking capabilities.

  • UserInterface/Controllers/DebuggerManager.js:

(WI.DebuggerManager.prototype.get knownNonResourceScripts):
Drive-by fix a bug where lazily initializing the Resources / Debugger tabs
would show Console evaluation scripts. We should ignore them, like we
do in other places.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/AppController.js:

(WI.AppController):
(WI.AppController.debuggableTypeFromHost):

  • UserInterface/Controllers/AppControllerBase.js:
  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.defaultTimelineTypes):
(WI.TimelineManager.availableTimelineTypes):

  • UserInterface/Models/TimelineRecording.js:

(WI.TimelineRecording.sourceCodeTimelinesSupported):

  • UserInterface/Protocol/MainTarget.js:

(WI.MainTarget.prototype.get displayName):

  • UserInterface/Test/TestAppController.js:
  • UserInterface/Views/DashboardContainerView.css:

(body:not(.web) .toolbar .dashboard-container):
(body.javascript .toolbar .dashboard-container): Deleted.

  • UserInterface/Views/DefaultDashboardView.css:

(body:not(.web) .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
(body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)): Deleted.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WI.ResourceSidebarPanel):
(WI.ResourceSidebarPanel.shouldPlaceResourcesAtTopLevel):
(WI.ResourceSidebarPanel.prototype.initialLayout):
(WI.ResourceSidebarPanel.prototype._addScript):
(WI.ResourceSidebarPanel.prototype._extraDomainsActivated):

  • UserInterface/Views/Toolbar.js:

Source/WebKit:

  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h:
  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:

(debuggableTypeString):
Provide a way to start a Remote Web Inspector frontend for a ServiceWorker target type.

5:54 PM Changeset in webkit [224367] by webkit@devinrousso.com
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas: recording parameters that include an Image should show an InlineSwatch (2D canvas)
https://bugs.webkit.org/show_bug.cgi?id=177032

Reviewed by Brian Burg.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Test.html:
  • UserInterface/Base/ImageUtilities.js:

(WI.scratchCanvasContext2D):
Creates a static canvas that can be used for scratch purposes, such as converting ImageData
to an Image, or rendering the result of a CanvasGradient. The canvas is reset after each
call of the function so it can be reused by other callers.

(WI.imageFromImageData):
(WI.imageFromCanvasGradient):
Utility functions for getting a dataURL image of ImageData/CanvasGradient after drawing it
onto WI.scratchCanvasContext2D.

  • UserInterface/Models/Recording.js:

(WI.Recording.prototype.async.swizzle):
Set the Image used to create a CanvasPattern as an expando property for later use.

  • UserInterface/Models/RecordingAction.js:

(WI.RecordingAction.prototype.getImageParameters):

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._generateDOM):
Add Image InlineSwatch elements for parameters that are viewable as an image. For ImageData
and CanvasGradient, WI.scratchCanvasContext2D is used to draw the ImageData/CanvasGradient
and get a dataURL to be used as the image.

(WI.RecordingActionTreeElement._createSwatchForColorParameters):
Drive-by: add checks that the parameter is not a CanvasGradient or CanvasPattern.

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
Add Image InlineSwatch elements for fillStyle/strokeStyle when the value is a CanvasGradient
or a CanvasPattern.

  • UserInterface/Views/InlineSwatch.js:

(WI.InlineSwatch):
(WI.InlineSwatch.prototype._updateSwatch):
(WI.InlineSwatch.prototype._swatchElementClicked):

  • UserInterface/Views/InlineSwatch.css:

(.inline-swatch):
(.inline-swatch:matches(.color, .gradient)):
(.inline-swatch:matches(.bezier, .spring, .variable)):
(.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):hover):
(.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):active):
(.inline-swatch:not(.read-only):active > span):
(.inline-swatch:matches(.bezier, .spring, .variable) > span):
(.inline-swatch.image > span):
(.inline-swatch:matches(.bezier, .spring, .variable):hover): Deleted.
(.inline-swatch:matches(.bezier, .spring, .variable):active): Deleted.
(.inline-swatch:active > span): Deleted.
(.inline-swatch:matches(.bezier, .spring) > span): Deleted.
Add Image type for showing previews of images.
Drive-by: simplify some styles.

  • UserInterface/Views/RecordingActionTreeElement.css:

(.item.action > .titles .parameters > .inline-swatch):
(.tree-outline:matches(:focus, .force-focus) .item.action > .titles .parameters > .inline-swatch): Deleted.
Drive-by: remove the :focus requirement, as it would cause the InlineSwatch to shift when
the user clicked out of the WebInspector window.

5:23 PM Changeset in webkit [224366] by msaboff@apple.com
  • 3 edits
    1 add in trunk

DFG needs to handle code motion of code in for..in loop bodies
https://bugs.webkit.org/show_bug.cgi?id=179212

Reviewed by Keith Miller.

JSTests:

New regression test.

  • stress/for-in-side-effects.js: Added.

(getPrototypeOf):
(reset):
(testWithoutFTL.f):
(testWithoutFTL):
(testWithFTL.f):
(testWithFTL):

Source/JavaScriptCore:

The processing of the DFG nodes HasGenericProperty, HasStructureProperty & GetPropertyEnumerator
make calls with side effects. Updated clobberize() for those nodes to take that into account.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

5:12 PM Changeset in webkit [224365] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip editing/selection/move-by-word-visually-multi-space.html on iOS debug bots.
https://bugs.webkit.org/show_bug.cgi?id=179201

Unreviewed test gardening.

  • platform/ios/TestExpectations:
5:05 PM Changeset in webkit [224364] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179193

Unreviewed test gardening.

4:50 PM Changeset in webkit [224363] by timothy_horton@apple.com
  • 1 edit in trunk/Source/Makefile

Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204

  • Source/Makefile:

Address some post-landing review comments to keep the order of the MODULES correct.

4:50 PM Changeset in webkit [224362] by timothy_horton@apple.com
  • 1 edit in trunk/ChangeLog

Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204

  • Source/Makefile:

Address some post-landing review comments to keep the order of the MODULES correct.

4:00 PM Changeset in webkit [224361] by timothy_horton@apple.com
  • 2 edits in trunk

Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204

Reviewed by Simon Fraser.

  • Source/Makefile:

Make MODULES additive instead of completely repeated, and only build
libwebrtc where it's needed.

3:38 PM Changeset in webkit [224360] by Antti Koivisto
  • 10 edits in trunk

display:contents should work with dynamic table mutations
https://bugs.webkit.org/show_bug.cgi?id=179179

Reviewed by Ryosuke Niwa.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addChildIgnoringContinuation):

RenderText with inline text wrapper as beforeChild is now resolved in RenderTreePosition, covering all cases.
Verify this with assert.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::insertChildInternal):

Add assertion.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild):

Fix cases where we did unchecked downcasts for anonymous beforeChild.

  • style/RenderTreePosition.cpp:

(WebCore::RenderTreePosition::insert):

When inserting before a text rendeder with an display:contents inline wrapper, use the wrapper as beforeChild.

  • style/RenderTreePosition.h:

(WebCore::RenderTreePosition::insert): Deleted.

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::renderingParent):

Add separate helper to get parent frame for the closest rendered (non display:contents) ancestor.

(WebCore::RenderTreeUpdater::renderTreePosition):
(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::textRendererIsNeeded):
(WebCore::RenderTreeUpdater::updateTextRenderer):
(WebCore::RenderTreeUpdater::storePreviousRenderer):

Use it for tracking state related to render tree siblings. With this we compute whitespace nodes
correctly for display:contents. The test cases end up depending on that.

  • style/RenderTreeUpdater.h:

LayoutTests:

These now pass:

imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-none.html
imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-none.html

3:28 PM Changeset in webkit [224359] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Bump the size of SameAsRenderElement after r224324

  • rendering/RenderElement.cpp:

RenderElement uses one more bit in the bitfield now.

3:05 PM Changeset in webkit [224358] by Ryan Haddad
  • 8 edits in trunk/Source

Unreviewed, rolling out r224353.

Breaks internal builds.

Reverted changeset:

"Ignore HSTS for partitioned, cross-origin subresource
requests"
https://bugs.webkit.org/show_bug.cgi?id=178993
https://trac.webkit.org/changeset/224353

3:00 PM Changeset in webkit [224357] by Joseph Pecoraro
  • 16 edits
    3 adds in trunk

Inspector should display service worker served responses properly
https://bugs.webkit.org/show_bug.cgi?id=178597
<rdar://problem/35186111>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/Network.json:

Expose a new "service-worker" response source.

Source/WebCore:

Test: http/tests/inspector/network/resource-response-service-worker.html

  • inspector/InspectorNetworkAgent.cpp:

(WebCore::responseSource):
Use the new protocol enum.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New Service Worker related strings.

  • UserInterface/Controllers/HARBuilder.js:

(WI.HARBuilder.entry):
(WI.HARBuilder.timings):
Only output timing data when we have real resource timing data.

(WI.HARBuilder.fetchType):
Output a new string for a Service Worker load in our custom field.

  • UserInterface/Models/ResourceTimingData.js:

(WI.ResourceTimingData.prototype.get responseStart):
Fallback further to the responseEnd. This can happen if the response
itself is an error/failure and there was no response, so treat it as
the same as response end.

  • UserInterface/Models/Resource.js:

(WI.Resource.responseSourceFromPayload):
(WI.Resource.prototype.updateForRedirectResponse):
(WI.Resource.prototype.updateForResponse):
A fetch response won't change the URL, so if the URL is empty
don't change it from what the request's URL was.

(WI.Resource.prototype.hasResponse):
Failure is like finished. We should likely transition to an "isComplete" method.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype._populateTransferSizeCell):
(WI.NetworkTableContentView.prototype._generateSortComparator):
Output "(service worker)" in the transfer size field, to indicate this came
from a Service worker. Sort such loads together.

  • UserInterface/Views/ResourceHeadersContentView.js:

(WI.ResourceHeadersContentView.prototype._responseSourceDisplayString):
(WI.ResourceHeadersContentView.prototype._refreshSummarySection):
Include the Service Worker response source in this details view. Also include
a FIXME, since we would like to link directly to the service worker in the future.

LayoutTests:

  • LayoutTests/platform/gtk/TestExpectations:
  • LayoutTests/platform/mac-wk1/TestExpectations:
  • LayoutTests/platform/win/TestExpectations:
  • LayoutTests/platform/wpe/TestExpectations:

Skip Inspector service worker tests on platforms where Service Workers
are not yet supported. For now this is just one test, future tests
specific to Service Workers will go into a directory.

  • http/tests/inspector/network/resource-response-service-worker-expected.txt: Added.
  • http/tests/inspector/network/resource-response-service-worker.html: Added.
  • http/tests/inspector/network/resources/fetch-service-worker.js: Added.

Test for service worker initiated loads.

2:56 PM Changeset in webkit [224356] by rniwa@webkit.org
  • 16 edits in trunk/Source/WebCore

Eliminate isMainThread() checks in most call sites of NoEventDispatchAssertion
https://bugs.webkit.org/show_bug.cgi?id=179161

Reviewed by Zalan Bujtas.

Introduced NoEventDispatchAssertion::InMainThread which bypasses the expensive isMainThread() check
in order to turn NoEventDispatchAssertion into a release assertion in a separate patch.

Also removed instances of NoEventDispatchAssertion in notifyChildNodeInserted and notifyChildNodeRemoved
and asserted that the caller has instantiated NoEventDispatchAssertion instead.

No new tests since there should be no behavioral changes.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::canExecuteScripts):

  • dom/Attr.cpp:
  • dom/CharacterData.cpp:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):
(WebCore::ContainerNode::removeNodeWithScriptAssertion):
(WebCore::executeNodeInsertionWithScriptAssertion):
(WebCore::ContainerNode::removeDetachedChildren): Instantiated NoEventDispatchAssertion::InMainThread
so that notifyChildNodeRemoved would be called inside NoEventDispatchAssertion.
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::appendChildCommon):
(WebCore::ContainerNode::removeBetween):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::notifyChildNodeInserted): Assert that the caller has instantiated NoEventDispatchAssertion.
(WebCore::notifyChildNodeRemoved): Ditto.

  • dom/Document.cpp:

(WebCore::Document::resolveStyle):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
(WebCore::Document::dispatchWindowEvent): Replaced RELEASE_ASSERT with ASSERT_WITH_SECURITY_IMPLICATION
for clarity since NoEventDispatchAssertion::isEventAllowedInMainThread() always returns true in release
builds right now.
(WebCore::Document::dispatchWindowLoadEvent): Ditto.
(WebCore::Document::applyPendingXSLTransformsTimerFired): Use ASSERT_WITH_SECURITY_IMPLICATION instead
of regular ASSERT.

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot): Instantiate NoEventDispatchAssertion::InMainThread to call
notifyChildNodeInserted will it.
(WebCore::Element::attachAttributeNodeIfNeeded):
(WebCore::Element::setAttributeNode): Fixed the indentation.
(WebCore::Element::setAttributeNodeNS): Ditto.
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

  • dom/NoEventDispatchAssertion.h:

(WebCore::NoEventDispatchAssertion::isEventDispatchAllowedInSubtree): Moved to InMainThread.
(WebCore::NoEventDispatchAssertion::InMainThread): Added.
(WebCore::NoEventDispatchAssertion::InMainThread::InMainThread): Assert that we're in the main thread
instead of exiting early.
(WebCore::NoEventDispatchAssertion::InMainThread::~InMainThread): Ditto.
(WebCore::NoEventDispatchAssertion::InMainThread::isEventDispatchAllowedInSubtree): Moved here.
(WebCore::NoEventDispatchAssertion::InMainThread::isEventAllowed):

  • dom/Node.cpp:

(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchDOMActivateEvent):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):

  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):

  • history/PageCache.cpp:

(WebCore::PageCache::addIfCacheable):

  • page/LayoutContext.cpp:

(WebCore::LayoutContext::layout):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible):

2:24 PM Changeset in webkit [224355] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/preload/viewport/meta-viewport-link-headers.php as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=178029

Unreviewed test gardening.

  • platform/ios/TestExpectations:
1:46 PM Changeset in webkit [224354] by Nikita Vasilyev
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: turn on CSS spreadsheet editor by default
https://bugs.webkit.org/show_bug.cgi?id=179100
<rdar://problem/35285990>

Reviewed by Brian Burg.

Add a "Legacy Style Editor" checkbox and remove the experimental "Spreadsheet Style Editor" checkbox.

Remove settings of the legacy styles editor:

  • Show inline warnings
  • Automatically insert newline
  • Select text on first click

These settings are not applicable for the spreadsheet styles editor and
now are always enabled for the legacy styles editor.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WI.CSSStyleDeclarationTextEditor):
(WI.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
(WI.CSSStyleDeclarationTextEditor.):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WI.CSSStyleDetailsSidebarPanel):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

1:43 PM Changeset in webkit [224353] by wilander@apple.com
  • 8 edits in trunk/Source

Ignore HSTS for partitioned, cross-origin subresource requests
https://bugs.webkit.org/show_bug.cgi?id=178993
<rdar://problem/34962462>

Reviewed by Brent Fulgham and Alex Christensen.

Source/WebCore:

No new tests. HSTS is not supported in layout tests.
Tested manually.

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::synthesizeRedirectResponseIfNecessary):

Now also synthesizes a response if
_schemeWasUpgradedDueToDynamicHSTS is set on the
request. Because in such cases the scheme might
have been downgraded and there the two schemes
match.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Added

  • (BOOL)_schemeWasUpgradedDueToDynamicHSTS
  • (BOOL)_preventHSTSStorage
  • (BOOL)_ignoreHSTS
  • (void)_setPreventHSTSStorage:(BOOL)preventHSTSStorage
  • (void)_setIgnoreHSTS:(BOOL)ignoreHSTS

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(downgradeRequest):

Convenience function to downgrade a request if
CFNetwork as already upgraded it during
canonicalization. This allows the rest of
WebKit's processing to function, such as UIR
and mixed content blocking.

(updateIgnoreStrictTransportSecuritySettingIfNecessary):

Adds and removed the ignore request accordingly.

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):

Now asks CFNetwork to ignore HSTS on resource loads we
partition cookies for.

(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):

Now asks CFNetwork to ignore HSTS on resource loads we
partition cookies for.

Source/WTF:

  • wtf/Platform.h:

Added HAVE_CFNETWORK_IGNORE_HSTS.

1:41 PM Changeset in webkit [224352] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark two service worker tests as flaky.

Unreviewed test gardening.

1:18 PM Changeset in webkit [224351] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk/Source/WebKit

[WinCairo] Add IPC files for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=177919

Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-11-02
Reviewed by Alex Christensen.

  • Platform/IPC/Attachment.cpp:
  • Platform/IPC/Attachment.h:

(IPC::Attachment::Attachment):
(IPC::Attachment::handle):

  • Platform/IPC/Connection.h:

(IPC::Connection::identifierIsNull):
(IPC::Connection::sendWithReply):

  • Platform/IPC/win/AttachmentWin.cpp: Added.

(IPC::Attachment::encode const):
(IPC::getDuplicatedHandle):
(IPC::Attachment::decode):

  • Platform/IPC/win/ConnectionWin.cpp: Added.

(IPC::Connection::createServerAndClientIdentifiers):
(IPC::Connection::platformInitialize):
(IPC::Connection::platformInvalidate):
(IPC::Connection::readEventHandler):
(IPC::Connection::writeEventHandler):
(IPC::Connection::open):
(IPC::Connection::platformCanSendOutgoingMessages const):
(IPC::Connection::sendOutgoingMessage):
(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):

  • PlatformWin.cmake:
12:24 PM Changeset in webkit [224350] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

LayoutState::m_next is really the ancestor state.
https://bugs.webkit.org/show_bug.cgi?id=179187
<rdar://problem/35319525>

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::clearPaginationInformation):
(WebCore::LayoutState::propagateLineGridInfo):
(WebCore::LayoutState::establishLineGrid):

  • rendering/LayoutState.h:
  • rendering/RenderView.h:
12:17 PM Changeset in webkit [224349] by fpizlo@apple.com
  • 3 edits
    1 add in trunk

AI does not correctly model the clobber case of ArithClz32
https://bugs.webkit.org/show_bug.cgi?id=179188

Reviewed by Michael Saboff.

JSTests:

  • stress/arith-clz32-effects.js: Added.

(foo):
(valueOf):

Source/JavaScriptCore:

The non-Int32 case clobbers the world because it may call valueOf.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

12:12 PM Changeset in webkit [224348] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix iOS WebKitLegacy after r224267
https://bugs.webkit.org/show_bug.cgi?id=179189

Reviewed by Tim Horton.

Use callOnMainThread instead of dispatch_async to work correctly on the web thread.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):

11:55 AM Changeset in webkit [224347] by Adrian Perez de Castro
  • 6 edits in trunk/Source/WebCore

[WPE] Add some error reporting during EGL display/context creation
https://bugs.webkit.org/show_bug.cgi?id=178937

Reviewed by Carlos Alberto Lopez Perez.

Unconditionally log errors using WTFLogAlways during EGL context creation. This
provides a small degree of help for troubleshooting, and while eglGetError() only
returns numeric error codes, it's better than nothing.

No new tests needed.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::initializeEGLDisplay):

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::errorString):
(WebCore::GLContextEGL::lastErrorString):
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPbufferContext):
(WebCore::GLContextEGL::createSurfacelessContext):
(WebCore::GLContextEGL::createContext):
(WebCore::GLContextEGL::createSharingContext):
(WebCore::GLContextEGL::GLContextEGL):

  • platform/graphics/egl/GLContextEGL.h:
  • platform/graphics/egl/GLContextEGLWPE.cpp:

(WebCore::GLContextEGL::createWPEContext):

  • platform/graphics/wpe/PlatformDisplayWPE.cpp:

(WebCore::PlatformDisplayWPE::initialize):

11:43 AM WebKitGTK/Gardening/Calendar edited by magomez@igalia.com
(diff)
11:27 AM Changeset in webkit [224346] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Early out selection update when data is not present
https://bugs.webkit.org/show_bug.cgi?id=179084

Reviewed by Ryosuke Niwa.

We should early out of a selection update when we do not have the data that is necessary to make that
update. This mostly helps avoid debug asserts, but will be helpful with the selection changes that are
ongoing.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _updateChangedSelection:]):

11:25 AM Changeset in webkit [224345] by Joseph Pecoraro
  • 4 edits
    48 moves
    3 adds in trunk/Source/WebCore

Web Inspector: Move InspectorAgents into a folder
https://bugs.webkit.org/show_bug.cgi?id=179132

Reviewed by Devin Rousso.

  • CMakeLists.txt:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Move files around.

  • inspector/agents/InspectorApplicationCacheAgent.cpp: Renamed from Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp.
  • inspector/agents/InspectorApplicationCacheAgent.h: Renamed from Source/WebCore/inspector/InspectorApplicationCacheAgent.h.
  • inspector/agents/InspectorCSSAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCSSAgent.cpp.
  • inspector/agents/InspectorCSSAgent.h: Renamed from Source/WebCore/inspector/InspectorCSSAgent.h.
  • inspector/agents/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.cpp.
  • inspector/agents/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.h.
  • inspector/agents/InspectorDOMAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMAgent.cpp.
  • inspector/agents/InspectorDOMAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMAgent.h.
  • inspector/agents/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp.
  • inspector/agents/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMDebuggerAgent.h.
  • inspector/agents/InspectorDOMStorageAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMStorageAgent.cpp.
  • inspector/agents/InspectorDOMStorageAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMStorageAgent.h.
  • inspector/agents/InspectorDatabaseAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDatabaseAgent.cpp.
  • inspector/agents/InspectorDatabaseAgent.h: Renamed from Source/WebCore/inspector/InspectorDatabaseAgent.h.
  • inspector/agents/InspectorIndexedDBAgent.cpp: Renamed from Source/WebCore/inspector/InspectorIndexedDBAgent.cpp.
  • inspector/agents/InspectorIndexedDBAgent.h: Renamed from Source/WebCore/inspector/InspectorIndexedDBAgent.h.
  • inspector/agents/InspectorLayerTreeAgent.cpp: Renamed from Source/WebCore/inspector/InspectorLayerTreeAgent.cpp.
  • inspector/agents/InspectorLayerTreeAgent.h: Renamed from Source/WebCore/inspector/InspectorLayerTreeAgent.h.
  • inspector/agents/InspectorMemoryAgent.cpp: Renamed from Source/WebCore/inspector/InspectorMemoryAgent.cpp.
  • inspector/agents/InspectorMemoryAgent.h: Renamed from Source/WebCore/inspector/InspectorMemoryAgent.h.
  • inspector/agents/InspectorNetworkAgent.cpp: Renamed from Source/WebCore/inspector/InspectorNetworkAgent.cpp.
  • inspector/agents/InspectorNetworkAgent.h: Renamed from Source/WebCore/inspector/InspectorNetworkAgent.h.
  • inspector/agents/InspectorPageAgent.cpp: Renamed from Source/WebCore/inspector/InspectorPageAgent.cpp.
  • inspector/agents/InspectorPageAgent.h: Renamed from Source/WebCore/inspector/InspectorPageAgent.h.
  • inspector/agents/InspectorTimelineAgent.cpp: Renamed from Source/WebCore/inspector/InspectorTimelineAgent.cpp.
  • inspector/agents/InspectorTimelineAgent.h: Renamed from Source/WebCore/inspector/InspectorTimelineAgent.h.
  • inspector/agents/InspectorWorkerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWorkerAgent.cpp.
  • inspector/agents/InspectorWorkerAgent.h: Renamed from Source/WebCore/inspector/InspectorWorkerAgent.h.
  • inspector/agents/WebConsoleAgent.cpp: Renamed from Source/WebCore/inspector/WebConsoleAgent.cpp.
  • inspector/agents/WebConsoleAgent.h: Renamed from Source/WebCore/inspector/WebConsoleAgent.h.
  • inspector/agents/WebDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/WebDebuggerAgent.cpp.
  • inspector/agents/WebDebuggerAgent.h: Renamed from Source/WebCore/inspector/WebDebuggerAgent.h.
  • inspector/agents/WebHeapAgent.cpp: Renamed from Source/WebCore/inspector/WebHeapAgent.cpp.
  • inspector/agents/WebHeapAgent.h: Renamed from Source/WebCore/inspector/WebHeapAgent.h.
  • inspector/agents/page/PageConsoleAgent.cpp: Renamed from Source/WebCore/inspector/PageConsoleAgent.cpp.
  • inspector/agents/page/PageConsoleAgent.h: Renamed from Source/WebCore/inspector/PageConsoleAgent.h.
  • inspector/agents/page/PageDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/PageDebuggerAgent.cpp.
  • inspector/agents/page/PageDebuggerAgent.h: Renamed from Source/WebCore/inspector/PageDebuggerAgent.h.
  • inspector/agents/page/PageHeapAgent.cpp: Renamed from Source/WebCore/inspector/PageHeapAgent.cpp.
  • inspector/agents/page/PageHeapAgent.h: Renamed from Source/WebCore/inspector/PageHeapAgent.h.
  • inspector/agents/page/PageRuntimeAgent.cpp: Renamed from Source/WebCore/inspector/PageRuntimeAgent.cpp.
  • inspector/agents/page/PageRuntimeAgent.h: Renamed from Source/WebCore/inspector/PageRuntimeAgent.h.
  • inspector/agents/worker/WorkerConsoleAgent.cpp: Renamed from Source/WebCore/inspector/WorkerConsoleAgent.cpp.
  • inspector/agents/worker/WorkerConsoleAgent.h: Renamed from Source/WebCore/inspector/WorkerConsoleAgent.h.
  • inspector/agents/worker/WorkerDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/WorkerDebuggerAgent.cpp.
  • inspector/agents/worker/WorkerDebuggerAgent.h: Renamed from Source/WebCore/inspector/WorkerDebuggerAgent.h.
  • inspector/agents/worker/WorkerRuntimeAgent.cpp: Renamed from Source/WebCore/inspector/WorkerRuntimeAgent.cpp.
  • inspector/agents/worker/WorkerRuntimeAgent.h: Renamed from Source/WebCore/inspector/WorkerRuntimeAgent.h.

Move agents into folders.

10:46 AM Changeset in webkit [224344] by commit-queue@webkit.org
  • 9 edits in trunk

Service Worker fetch should transmit headers to its client
https://bugs.webkit.org/show_bug.cgi?id=179156

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Chris Dumez.

Source/WebCore:

Covered by updated tests.

Making resourceResponse getter return a ResourceResponse with the headers of the FetchResponse Headers object.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::toConnectionRecord):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::resourceResponse const):

  • Modules/fetch/FetchResponse.h:

LayoutTests:

  • http/tests/workers/service/basic-fetch.https-expected.txt:
  • http/tests/workers/service/resources/basic-fetch-worker.js:

Adding header specific subtest.

  • http/tests/workers/service/resources/image-fetch-worker.js:

Updating test so that image does not go in the memory cache.
Otherwise test is flaky when run multiple times on the same runner.

10:46 AM Changeset in webkit [224343] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

Fix WPT service worker tests using www1 URLs
https://bugs.webkit.org/show_bug.cgi?id=179144

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-response-taint.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js:

LayoutTests:

10:45 AM Changeset in webkit [224342] by pvollan@apple.com
  • 40 edits in trunk/LayoutTests

[Win] Update test expectations after r224324.

Unreviewed test gardening.

  • platform/win/css1/pseudo/firstletter-expected.txt:
  • platform/win/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/win/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
  • platform/win/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-166-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-166a-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-39-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-39b-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-166-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-166a-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-39-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-39b-expected.txt:
  • platform/win/fast/block/lineboxcontain/glyphs-expected.txt:
  • platform/win/fast/box-shadow/basic-shadows-expected.txt:
  • platform/win/fast/css-generated-content/003-expected.txt:
  • platform/win/fast/css-generated-content/007-expected.txt:
  • platform/win/fast/css-generated-content/009-expected.txt:
  • platform/win/fast/css-generated-content/012-expected.txt:
  • platform/win/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
  • platform/win/fast/css/first-letter-capitalized-expected.txt:
  • platform/win/fast/css/first-letter-detach-expected.txt:
  • platform/win/fast/css/first-letter-first-line-hover-expected.txt:
  • platform/win/fast/css/first-letter-float-expected.txt:
  • platform/win/fast/css/first-letter-hover-expected.txt:
  • platform/win/fast/css/first-letter-punctuation-expected.txt:
  • platform/win/fast/css/first-letter-recalculation-expected.txt:
  • platform/win/fast/css/first-letter-visibility-expected.txt:
  • platform/win/fast/multicol/shadow-breaking-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-rt1-expected.txt:
  • platform/win/fast/selectors/039-expected.txt:
  • platform/win/fast/selectors/039b-expected.txt:
  • platform/win/fast/selectors/166a-expected.txt:
  • platform/win/fast/text/firstline/002-expected.txt:
  • platform/win/fast/text/firstline/003-expected.txt:
  • platform/win/ietestcenter/css3/text/textshadow-004-expected.txt:
10:38 AM Changeset in webkit [224341] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Update SWServerJobQueue to follow the Service Worker specification more closely
https://bugs.webkit.org/show_bug.cgi?id=179147

Reviewed by Youenn Fablet.

Align naming with the specification.

Get rid of unnecessary m_currentJob as the current job is always the first
job in the queue.

Inline some of the tiny methods to simplify code. Those were leftovers from when
we used to have a background thread.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::scheduleJob):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::SWServerJobQueue):
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::scriptContextStarted):
(WebCore::SWServerJobQueue::runNextJob):
(WebCore::SWServerJobQueue::runNextJobSynchronously):
(WebCore::SWServerJobQueue::runRegisterJob):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::runUpdateJob):
(WebCore::SWServerJobQueue::rejectCurrentJob):
(WebCore::SWServerJobQueue::finishCurrentJob):

  • workers/service/server/SWServerJobQueue.h:

(WebCore::SWServerJobQueue::firstJob const):
(WebCore::SWServerJobQueue::lastJob const):
(WebCore::SWServerJobQueue::enqueueJob):
(WebCore::SWServerJobQueue::size const):

10:24 AM Changeset in webkit [224340] by Konstantin Tokarev
  • 2 edits in trunk/Source/WebCore

Unreviewed, removed useless semicolon at the end of namespace

  • platform/graphics/texmap/BitmapTextureGL.cpp:
10:13 AM Changeset in webkit [224339] by Michael Catanzaro
  • 4 edits
    1 add in trunk/Source/WebCore

WPE does not build with DragImage.cpp in unified sources.
https://bugs.webkit.org/show_bug.cgi?id=178844

Reviewed by Keith Miller.

Add a stub implementation of DragImage for WPE so that we can drop the @no-unify.

  • Sources.txt:
  • SourcesWPE.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/wpe/DragImageWPE.cpp: Added.

(WebCore::dragImageSize):
(WebCore::deleteDragImage):
(WebCore::scaleDragImage):
(WebCore::dissolveDragImageToFraction):
(WebCore::createDragImageFromImage):
(WebCore::createDragImageIconForCachedImageFilename):
(WebCore::createDragImageForLink):

10:00 AM Changeset in webkit [224338] by eric.carlson@apple.com
  • 7 edits in trunk/Source

[MediaStream] audioTrack.label is always empty on macOS
https://bugs.webkit.org/show_bug.cgi?id=179175
<rdar://problem/35315438>

Reviewed by Youenn Fablet.

Source/WebCore:

  • platform/mediastream/RealtimeMediaSourceSettings.h:

(WebCore::RealtimeMediaSourceSettings::label const): New.
(WebCore::RealtimeMediaSourceSettings::setLabel): Ditto.
(WebCore::RealtimeMediaSourceSettings::encode const): Encode label.
(WebCore::RealtimeMediaSourceSettings::decode): Decode label.

  • platform/mediastream/mac/AVMediaCaptureSource.mm:

(WebCore::AVMediaCaptureSource::initializeSettings): Set label.

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

(WebCore::CoreAudioCaptureSource::settings const): Ditto.

  • platform/mock/MockRealtimeMediaSource.cpp:

(WebCore::MockRealtimeMediaSource::initializeSettings): Ditto.

Source/WebKit:

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::createCaptureSource): Pass settings.label to Source constructor.

9:58 AM Changeset in webkit [224337] by Chris Dumez
  • 8 edits in trunk

[Service Workers] Add initial implementation for try Clear Registration / Clear Registration algorithms
https://bugs.webkit.org/show_bug.cgi?id=179151

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebbaseline several WPT tests now that registrations are actually removed.

  • web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-basic.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-scope.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/serviceworkerobject-scripturl.https-expected.txt:

Source/WebCore:

[Service Workers] Add initial implementation for try Clear Registration / Clear Registration algorithms:

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::tryClearRegistration):
(WebCore::SWServerJobQueue::clearRegistration):

  • workers/service/server/SWServerJobQueue.h:
9:55 AM Changeset in webkit [224336] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Clear Node renderer pointer when destroying RenderObject
https://bugs.webkit.org/show_bug.cgi?id=179112

Reviewed by Zalan Bujtas.

Make sure we don't leave renderer pointers behind in Nodes.
This could be done with WeakPtr but that would add extra indirection between DOM and render tree.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

Null the node renderer pointer.
With continuations we have a case where renderer points to a node that has a different renderer.
This is is ok as we know no node points to a continuation (they should really be anonymous renderers).

9:38 AM Changeset in webkit [224335] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, release throw scope
https://bugs.webkit.org/show_bug.cgi?id=178726

  • dfg/DFGOperations.cpp:
9:35 AM Changeset in webkit [224334] by magomez@igalia.com
  • 86 edits
    7 adds in trunk/LayoutTests

Unreviewed GTK+ gardening. Adjusting test expectations and rebaseline some
tests after r224328.

  • platform/gtk/TestExpectations:
  • platform/gtk/css1/pseudo/firstletter-expected.png:
  • platform/gtk/css1/pseudo/firstletter-expected.txt:
  • platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/gtk/css2.1/t051202-c24-first-lttr-00-b-expected.png:
  • platform/gtk/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
  • platform/gtk/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/gtk/css3/selectors3/html/css3-modsel-166-expected.png:
  • platform/gtk/css3/selectors3/html/css3-modsel-166-expected.txt:
  • platform/gtk/css3/selectors3/html/css3-modsel-166a-expected.png:
  • platform/gtk/css3/selectors3/html/css3-modsel-166a-expected.txt:
  • platform/gtk/css3/selectors3/html/css3-modsel-39-expected.png:
  • platform/gtk/css3/selectors3/html/css3-modsel-39-expected.txt:
  • platform/gtk/css3/selectors3/html/css3-modsel-39b-expected.png:
  • platform/gtk/css3/selectors3/html/css3-modsel-39b-expected.txt:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-166-expected.png:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-166a-expected.png:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-39-expected.png:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-39b-expected.png:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
  • platform/gtk/css3/selectors3/xml/css3-modsel-166-expected.png:
  • platform/gtk/css3/selectors3/xml/css3-modsel-166-expected.txt:
  • platform/gtk/css3/selectors3/xml/css3-modsel-166a-expected.png:
  • platform/gtk/css3/selectors3/xml/css3-modsel-166a-expected.txt:
  • platform/gtk/css3/selectors3/xml/css3-modsel-39-expected.png:
  • platform/gtk/css3/selectors3/xml/css3-modsel-39-expected.txt:
  • platform/gtk/css3/selectors3/xml/css3-modsel-39b-expected.png:
  • platform/gtk/css3/selectors3/xml/css3-modsel-39b-expected.txt:
  • platform/gtk/editing/selection/extend-by-word-002-expected.png:
  • platform/gtk/editing/selection/extend-by-word-002-expected.txt:
  • platform/gtk/fast/block/lineboxcontain/glyphs-expected.png:
  • platform/gtk/fast/block/lineboxcontain/glyphs-expected.txt:
  • platform/gtk/fast/box-shadow/basic-shadows-expected.png:
  • platform/gtk/fast/box-shadow/basic-shadows-expected.txt:
  • platform/gtk/fast/css-generated-content/003-expected.png:
  • platform/gtk/fast/css-generated-content/003-expected.txt:
  • platform/gtk/fast/css-generated-content/007-expected.png:
  • platform/gtk/fast/css-generated-content/007-expected.txt:
  • platform/gtk/fast/css-generated-content/009-expected.png:
  • platform/gtk/fast/css-generated-content/009-expected.txt:
  • platform/gtk/fast/css-generated-content/012-expected.png:
  • platform/gtk/fast/css-generated-content/012-expected.txt:
  • platform/gtk/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-basic-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-basic-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-descender-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-descender-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-raised-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-raised-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.txt:
  • platform/gtk/fast/css/first-letter-capitalized-expected.png:
  • platform/gtk/fast/css/first-letter-capitalized-expected.txt:
  • platform/gtk/fast/css/first-letter-detach-expected.png:
  • platform/gtk/fast/css/first-letter-detach-expected.txt:
  • platform/gtk/fast/css/first-letter-first-line-hover-expected.png:
  • platform/gtk/fast/css/first-letter-first-line-hover-expected.txt:
  • platform/gtk/fast/css/first-letter-float-after-float-expected.png:
  • platform/gtk/fast/css/first-letter-float-after-float-expected.txt:
  • platform/gtk/fast/css/first-letter-float-expected.png:
  • platform/gtk/fast/css/first-letter-float-expected.txt:
  • platform/gtk/fast/css/first-letter-hover-expected.png:
  • platform/gtk/fast/css/first-letter-hover-expected.txt:
  • platform/gtk/fast/css/first-letter-punctuation-expected.png:
  • platform/gtk/fast/css/first-letter-punctuation-expected.txt:
  • platform/gtk/fast/css/first-letter-recalculation-expected.png:
  • platform/gtk/fast/css/first-letter-recalculation-expected.txt:
  • platform/gtk/fast/css/first-letter-visibility-expected.png:
  • platform/gtk/fast/css/first-letter-visibility-expected.txt:
  • platform/gtk/fast/dynamic/first-letter-display-change-expected.txt:
  • platform/gtk/fast/multicol/shadow-breaking-expected.png:
  • platform/gtk/fast/multicol/shadow-breaking-expected.txt:
  • platform/gtk/fast/selectors/039-expected.png:
  • platform/gtk/fast/selectors/039-expected.txt:
  • platform/gtk/fast/selectors/039b-expected.png:
  • platform/gtk/fast/selectors/039b-expected.txt:
  • platform/gtk/fast/selectors/166a-expected.png:
  • platform/gtk/fast/selectors/166a-expected.txt:
  • platform/gtk/fast/text/firstline/002-expected.png:
  • platform/gtk/fast/text/firstline/002-expected.txt:
  • platform/gtk/fast/text/firstline/003-expected.png:
  • platform/gtk/fast/text/firstline/003-expected.txt:
  • platform/gtk/ietestcenter/css3/text/textshadow-004-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
  • platform/gtk/svg/batik/text/smallFonts-expected.txt:
9:15 AM Changeset in webkit [224333] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=177322

Unreviewed test gardening.

  • platform/ios/TestExpectations:
8:57 AM Changeset in webkit [224332] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
https://bugs.webkit.org/show_bug.cgi?id=179014

Remove overly optimistic non-critical assertion that is hit on WK1 debug.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::removeAndDestroyAllContinuations):

7:48 AM Changeset in webkit [224331] by clopez@igalia.com
  • 2 edits in trunk/Tools

[WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
https://bugs.webkit.org/show_bug.cgi?id=179169

Reviewed by Michael Catanzaro.

Update WPEBackend and WPEBackend-mesa to last master as of today.

  • wpe/jhbuild.modules:
6:56 AM Changeset in webkit [224330] by fred.wang@free.fr
  • 14 edits in trunk

Add references to bug 179167 in FIXME comments
https://bugs.webkit.org/show_bug.cgi?id=179168

Patch by Frederic Wang <fwang@igalia.com> on 2017-11-02
Reviewed by Daniel Bates.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
6:41 AM Changeset in webkit [224329] by berto@igalia.com
  • 2 edits in trunk

Unreviewed, fix typos in library names for the GTK+ port.

  • Source/cmake/OptionsGTK.cmake:
5:01 AM Changeset in webkit [224328] by Ms2ger@igalia.com
  • 7 edits in trunk/LayoutTests

Mark some ietestcenter tests as failing on all platforms.
https://bugs.webkit.org/show_bug.cgi?id=179166

Unreviewed test gardening.

This makes it a little easier to figure out which failure expectations
are actually platform-specific.

These tests might not be correct; I haven't tried to figure that out.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wpe/TestExpectations:
4:31 AM Changeset in webkit [224327] by Antti Koivisto
  • 15 edits in trunk

Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
https://bugs.webkit.org/show_bug.cgi?id=179014

Reviewed by Geoff Garen.

Source/WebCore:

Treat continuation similarly to other anonymous wrappers. This makes things more understandable
and allows removal of some questionable code in RenderBlock::takeChild.

The patch also makes continuation chain a double linked so we can efficiently remove single
continuations from the chain. It also gets rid of algorithms that recurse in continuation chain.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::firstChildInContinuation):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleDidChange):

Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.

(WebCore::RenderBlock::dropAnonymousBoxChild):

Make a member function.

(WebCore::RenderBlock::takeChild):

Remove code that destroyed empty continuations and caused the parent to destroy itself.
Empty continuations are now removed by RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers.

  • rendering/RenderBlock.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::ContinuationChainNode::ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::~ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::insertAfter):

Track continuations with double linked lists.

(WebCore::continuationChainNodeMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):

Don't recurse to destroy continuation chain.
Destroy all continuations iteratively if this is the head of the chain.
When destroying a continuation renderer simply remove it from the chain.

(WebCore::RenderBoxModelObject::continuation const):
(WebCore::RenderBoxModelObject::insertIntoContinuationChainAfter):
(WebCore::RenderBoxModelObject::removeFromContinuationChain):
(WebCore::RenderBoxModelObject::ensureContinuationChainNode):
(WebCore::continuationMap): Deleted.
(WebCore::RenderBoxModelObject::setContinuation): Deleted.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):

Make this a function of the parent renderer itself instead of getting 'parent()' as first operation and
then using it.
Don't remove continuations (isAnonymousBlockContinuation() test gives wrong result for the last continuation of the chain).

(WebCore::RenderElement::styleDidChange):

removeAnonymousWrappersForInlinesIfNecessary is no function of the parent.

(WebCore::RenderElement::updateOutlineAutoAncestor):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasContinuationChainNode const):
(WebCore::RenderElement::setHasContinuationChainNode):
(WebCore::RenderElement::hasContinuation const): Deleted.
(WebCore::RenderElement::setHasContinuation): Deleted.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::styleDidChange):

Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.

(WebCore::RenderInline::addChildIgnoringContinuation):

Remove the old continuation from the chain. splitFlow() will add it back into the right place.

(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::childBecameNonInline):

Remove the old continuation from the chain. splitFlow() will add it back into the right place.

  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):
(WebCore::RenderObject::outputRenderObject const):
(WebCore::findDestroyRootIncludingAnonymous):

Allow anonymous continuations as destroy roots.

(WebCore::RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers):

Removing a continuation may leave behind unnecessary anonymous sibling wrappers.
Call removeAnonymousWrappersForInlinesIfNecessary() on parent after removal to get rid of them.
If takeChild/removeAnonymousWrappersForInlinesIfNecessary leaves us with empty anonymous parent destroy that too.

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::takeChild):

Similar to RenderBlock::takeChild, remove the code that would make the renderer destroy itself.
Cleaning up RenderRubyRuns is now handled by removeFromParentAndDestroyCleaningUpAnonymousWrappers.

LayoutTests:

  • fast/ruby/float-overhang-from-ruby-text-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt:
2:53 AM Changeset in webkit [224326] by Ms2ger@igalia.com
  • 4 edits
    2 deletes in trunk/LayoutTests

[GTK] Test gardening.
https://bugs.webkit.org/show_bug.cgi?id=179164

Unreviewed test gardening.

  • platform/gtk/TestExpectations: update for failing tests reported in bug 179113.
  • platform/gtk/editing/deleting/delete-br-009-expected.txt: Rebaseline for r224177.
  • platform/gtk/fast/css-generated-content/details-summary-before-after-expected.txt: Rebaseline for r223848.
  • platform/gtk/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt: Removed; platform-specific expectations were added unnecessarily due to failures around bug 178340.
  • platform/gtk/http/tests/security/module-no-mime-type-expected.txt: Removed; platform-specific expectations were added unnecessarily due to failures around bug 178340.
1:58 AM Changeset in webkit [224325] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r224053): Crash in WebCore::Node::moveTreeToNewScope
https://bugs.webkit.org/show_bug.cgi?id=179158

Reviewed by Antti Koivisto.

Call decrementReferencingNodeCount after checking the release assertion
since that could delete oldDocument.

  • dom/Node.cpp:

(WebCore::Node::moveTreeToNewScope):

1:05 AM Changeset in webkit [224324] by Antti Koivisto
  • 106 edits in trunk

Source/WebCore:
First letter text renderer should be anonymous
https://bugs.webkit.org/show_bug.cgi?id=179114

Reviewed by Darin Adler.

Currently both RenderTextFragment and RenderText for first letter point to the same Text node.
There should only be one non-anonymous renderer per node.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):

Skip the first letter text renderer instead of the fragment.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::firstLetterRemainingTextMap):

Use WeakPtr.
Modernize.

(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::firstLetterRemainingText const):

Avoid hash lookup with the new isFirstLetter bit.

(WebCore::RenderBoxModelObject::setFirstLetterRemainingText):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::isFirstLetter const):
(WebCore::RenderElement::setIsFirstLetter):

Add a bit for more explicit code.

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::setText):

Assert that RenderTextFragment is always the non-anonymous renderer.

  • style/RenderTreeUpdaterFirstLetter.cpp:

(WebCore::updateFirstLetterStyle):

Set the isFirstLetter bit.

(WebCore::createFirstLetterRenderer):

Set the isFirstLetter bit.
Remove the old text renderer before adding a new one.

LayoutTests:
First letter renderer should be anonymous
https://bugs.webkit.org/show_bug.cgi?id=179114

Reviewed by Darin Adler.

  • fast/dynamic/first-letter-after-list-marker-expected.txt:
  • platform/mac/css1/pseudo/firstletter-expected.txt:
  • platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/mac/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
  • platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-166-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-166a-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-39-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-39b-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-166-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-166a-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-39-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-39b-expected.txt:
  • platform/mac/editing/selection/extend-by-word-002-expected.txt:
  • platform/mac/fast/block/lineboxcontain/glyphs-expected.txt:
  • platform/mac/fast/box-shadow/basic-shadows-expected.txt:
  • platform/mac/fast/css-generated-content/003-expected.txt:
  • platform/mac/fast/css-generated-content/007-expected.txt:
  • platform/mac/fast/css-generated-content/009-expected.txt:
  • platform/mac/fast/css-generated-content/012-expected.txt:
  • platform/mac/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-clearance-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-descender-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt:
  • platform/mac/fast/css/first-letter-capitalized-expected.txt:
  • platform/mac/fast/css/first-letter-detach-expected.txt:
  • platform/mac/fast/css/first-letter-first-line-hover-expected.txt:
  • platform/mac/fast/css/first-letter-float-after-float-expected.txt:
  • platform/mac/fast/css/first-letter-float-expected.txt:
  • platform/mac/fast/css/first-letter-hover-expected.txt:
  • platform/mac/fast/css/first-letter-punctuation-expected.txt:
  • platform/mac/fast/css/first-letter-recalculation-expected.txt:
  • platform/mac/fast/css/first-letter-visibility-expected.txt:
  • platform/mac/fast/dynamic/first-letter-display-change-expected.txt:
  • platform/mac/fast/multicol/shadow-breaking-expected.txt:
  • platform/mac/fast/selectors/039-expected.txt:
  • platform/mac/fast/selectors/039b-expected.txt:
  • platform/mac/fast/selectors/166a-expected.txt:
  • platform/mac/fast/text/firstline/002-expected.txt:
  • platform/mac/fast/text/firstline/003-expected.txt:
Note: See TracTimeline for information about the timeline view.