Timeline
Aug 24, 2020:
- 11:15 PM Changeset in webkit [266103] by
-
- 6 edits in trunk/Source
[GTK] Implement rendering frames timeline panel for GTK+ port
https://bugs.webkit.org/show_bug.cgi?id=150392
<rdar://problem/23200510>
Reviewed by Brian Burg.
Source/WebCore:
Use new RunLoop API to observe the run loop events when the GLib event loop is used.
- inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
- inspector/agents/InspectorTimelineAgent.h:
Source/WTF:
Add API to observe RunLoop events for GLib event loop implementation.
- wtf/RunLoop.h:
- wtf/glib/RunLoopGLib.cpp:
(WTF::RunLoop::RunLoop): Use RunLoopSource struct and initialize the RunLoop.
(WTF::RunLoop::observe): Add the given observer to the set.
(WTF::RunLoop::notify): Notife observers of the given event.
(WTF::RunLoop::TimerBase::TimerBase): Use RunLoopSource struct and initialize the RunLoop.
- 10:04 PM Changeset in webkit [266102] by
-
- 2 edits in trunk/Tools
Fix TLSVersion.DefaultBehavior on Mojave
https://bugs.webkit.org/show_bug.cgi?id=215791
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
HTTPServer::Protocol::HttpsWithLegacyTLS uses tls_protocol_version_t, so this test times out on Mojave.
Enable it for newer OSes.
- 9:32 PM Changeset in webkit [266101] by
-
- 4 edits in trunk/Source/JavaScriptCore
DFG should always run CFG Simplification after Constant Folding.
https://bugs.webkit.org/show_bug.cgi?id=215286
Reviewed by Robin Morisset.
We didn't do this originally because LICM, many years ago, was
unsound if the CFG didn't have exactly the right shape around
loops. This is no longer true so we don't have to worry about
changing the CFG anymore. While, this doesn't appear to be a
speedup on JetStream 2 CFG, probably because we'd eventually
simplify the graph in B3, CFG Simplification is very cheap and
make other DFG optimizations easier in the future.
Also, remove unecessary validation rule that no exitOKs can come
before any Phi nodes in DFG. This isn't required and fails after
merging two basic blocks where the latter block has a Phi.
- dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGValidate.cpp:
- 8:36 PM Changeset in webkit [266100] by
-
- 4 edits in trunk/Tools
Make TLSVersion.DefaultBehavior more robust
https://bugs.webkit.org/show_bug.cgi?id=215791
Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-24
Reviewed by Darin Adler.
After r265573 sometimes it would assert, which is not a problem because it was failing the first connection
then succeeding the second connection as intended and as happens in the real internet.
Use HTTPServer which accepts a variable number of connections to keep the test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/cocoa/HTTPServer.h:
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondWithChallengeThenOK):
(TestWebKitAPI::HTTPServer::respondWithOK):
- 7:44 PM Changeset in webkit [266099] by
-
- 2 edits in trunk/Source/WebKit
CrashTracer: com.apple.WebKit.WebContent at com.apple.WebKit: WebKit::PDFPlugin::createScrollbar
<rdar://problem/67473335> and https://bugs.webkit.org/show_bug.cgi?id=215787
Reviewed by Tim Horton.
To quote Tim from r264945:
No new tests; timing is such that I can't reproduce without inserting
intentional delays into the main thread hops, which is further than
I'm willing to go for a test.
This is a speculative fix due to the aforementioned reproducibility issue.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel): Check on the main thread whenever this is called,
instead of when deciding to dispatch to the main thread.
(WebKit::PDFPlugin::threadEntry): We can't do this check on the background thread when considering the dispatch
to the main thread, as the flag might've changed by then. Let's *just* check it on the main thread.
(WebKit::PDFPlugin::adoptBackgroundThreadDocument): We can't do the check on the background thread when
(WebKit::PDFPlugin::updateScrollbars): This is where the crash itself is. All of the Obj-C code in here is
safe to do after destroy(), up until the very end when we get into pluginView() derefencing.
So it seems prudent to add another check here.
(WebKit::PDFPlugin::documentDataDidFinishLoading): In addition to receivedNonLinearizedPDFSentinel and
adoptBackgroundThreadDocument, this is the final of the (3) calls that end up calling installPDFDocument,
so for added coverage it seems like a prudent place to add the check.
- 7:03 PM Changeset in webkit [266098] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Update iOS layout test results after r266087
https://bugs.webkit.org/show_bug.cgi?id=215671
- web-platform-tests/fetch/content-encoding/bad-gzip-body.any.worker-expected.txt:
Apparently there's a newly passing test here, too.
I wonder why macOS isn't affected by this change.
- 7:00 PM Changeset in webkit [266097] by
-
- 2 edits in trunk/LayoutTests
[macOS Big Sur] svg/W3C-I18N/tspan-direction-rtl.svg is failing
<rdar://problem/66861801>
Unreviewed test gardening.
platform/mac-bigsur/svg/W3C-I18N/tspan-direction-rtl-expected.txt: Removed property svn:keywords.
- 6:53 PM Changeset in webkit [266096] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
[macOS Big Sur] svg/W3C-I18N/tspan-direction-rtl.svg is failing
<rdar://problem/66861801>
Unreviewed test gardening.
- platform/mac-bigsur/svg/W3C-I18N/tspan-direction-rtl-expected.txt: Removed property svn:keywords.
- 6:51 PM Changeset in webkit [266095] by
-
- 22 edits2 deletes in trunk/Source/JavaScriptCore
Remove MovHintRemoval phase
https://bugs.webkit.org/show_bug.cgi?id=215785
Reviewed by Saam Barati.
The MovHintRemoval phase doesn't play nicely with our OSR
Availability. Specifically, it needs to do a tricky dance where it
marks all the live ranges of the ZombieHints as not
exitOK. There's also an issue because we treated unused locals as
kill in this block, which is wrong for SSA when a MovHint is
used in another block. Since removing MovHintRemoval isn't a
performance regression, we are removing it rather than fixing bugs
related to it. Relatedly, since the only place we produce
ZombieHints is MovHintRemoval this patch also removes that node
type.
- Sources.txt:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGClobbersExitState.cpp:
(JSC::DFG::clobbersExitState):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGMayExit.cpp:
- dfg/DFGMovHintRemovalPhase.cpp: Removed.
- dfg/DFGMovHintRemovalPhase.h: Removed.
- dfg/DFGNode.h:
(JSC::DFG::Node::containsMovHint):
(JSC::DFG::Node::hasUnlinkedOperand):
- dfg/DFGNodeType.h:
- dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):
- dfg/DFGPhantomInsertionPhase.cpp:
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMovHint):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGVarargsForwardingPhase.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::validateAIState):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
- runtime/OptionsList.h:
- 5:36 PM Changeset in webkit [266094] by
-
- 5 edits in trunk/LayoutTests
[ macOS ] Tests expectations changed as test passing but expected to fail
https://bugs.webkit.org/show_bug.cgi?id=215786
Unreviewed test gardening.
- TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 5:26 PM Changeset in webkit [266093] by
-
- 8 edits in branches/safari-610.1.28.0-branch/Source
Versioning.
WebKit-7610.1.28.0.3
- 5:14 PM Changeset in webkit [266092] by
-
- 2 edits in trunk/LayoutTests
rdar://67706887 (REGRESSION (r264950): [ iOS 13 WK2 ] imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html is a constant failure)
Unreviewed test gardening.
- platform/ios-13/TestExpectations:
- 5:05 PM Changeset in webkit [266091] by
-
- 5 edits11 adds in trunk/JSTests
Update test262 (mid Aug 2020 edition)
https://bugs.webkit.org/show_bug.cgi?id=215784
Rubber-stamped by Saam Barati and Yusuke Suzuki.
- test262/expectations.yaml:
- test262/latest-changes-summary.txt:
- test262/test/built-ins/String/prototype/split/limit-touint32-error.js: Added.
(ExpectedError):
(ExpectedError.prototype.toString):
(nonStringableSeparator.Symbol.toPrimitive):
(nonStringableSeparator.toString):
(nonStringableSeparator.valueOf):
(nonNumberableLimit.Symbol.toPrimitive):
- test262/test/built-ins/String/prototype/split/separator-tostring-error.js: Added.
(ExpectedError):
(ExpectedError.prototype.toString):
(nonStringableSeparator.toString):
- test262/test/built-ins/String/prototype/split/separator-undef-limit-zero.js:
- test262/test/built-ins/String/prototype/split/this-value-tostring-error.js: Added.
(ExpectedError):
(ExpectedError.prototype.toString):
(nonStringableReceiver.toString):
(splitter.Symbol.split):
(catch):
(nonStringableSeparator.Symbol.toPrimitive):
(nonStringableSeparator.toString):
(nonStringableSeparator.valueOf):
- test262/test/language/module-code/export-default-asyncfunction-declaration-binding-exists.js: Added.
(A):
(export.default.async A):
- test262/test/language/module-code/export-default-asyncfunction-declaration-binding.js: Added.
(export.default.async A):
- test262/test/language/module-code/export-default-asyncgenerator-declaration-binding-exists.js: Added.
(AG):
(export.default.async AG):
- test262/test/language/module-code/export-default-asyncgenerator-declaration-binding.js: Added.
(export.default.async AG):
- test262/test/language/module-code/export-default-function-declaration-binding-exists.js: Added.
(F):
(export.default.F):
- test262/test/language/module-code/export-default-function-declaration-binding.js: Added.
(export.default.F):
- test262/test/language/module-code/export-default-generator-declaration-binding-exists.js: Added.
(G):
(export.default.G):
- test262/test/language/module-code/export-default-generator-declaration-binding.js: Added.
(export.default.G):
- test262/test262-Revision.txt:
- 3:48 PM Changeset in webkit [266090] by
-
- 4 edits in trunk
Unreviewed, fix the internal iOS 13.4 build
Source/WebKit:
The -_selectionClipRect SPI method isn't declared in any private headers on iOS 13.4 and prior. This isn't a
problem when building with a non-internal SDK since the SPI is declared in the!USE(APPLE_INTERNAL_SDK)
section inUIKitSPI.h, but on internal builds of iOS 13.4, this declaration is absent from both the internal
SDK andUIKitSPI.h.
To fix the build, simply declare it in the IPI section — once we stop supporting iOS 13.4 as a build target,
this can be moved back into the non-internal section only.
- Platform/spi/ios/UIKitSPI.h:
Tools:
See Source/WebKit/ChangeLog.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::clipSelectionViewRectToContentView):
- 3:46 PM Changeset in webkit [266089] by
-
- 2 edits in trunk/Tools
[ews] enable email notifications to patch authors for build or layout test failures on their patch
https://bugs.webkit.org/show_bug.cgi?id=215776
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.analyzeResults): Send email notification to patch authors for build failure due to their patch.
(AnalyzeLayoutTestsResults.report_failure): Send email notification to patch authors for layout test failure.
- 3:45 PM Changeset in webkit [266088] by
-
- 3 edits in trunk/Tools
[ews] set references header in email so as to group similar emails together
https://bugs.webkit.org/show_bug.cgi?id=215777
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/send_email.py:
(send_email): Add support for setting references header.
(send_email_to_patch_author):
(send_email_to_bot_watchers):
- BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Set references header appropriately.
(ReRunWebKitTests.send_email_for_flaky_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto.
- 3:36 PM Changeset in webkit [266087] by
-
- 34 edits in trunk
Implement Request/Response consuming as FormData
https://bugs.webkit.org/show_bug.cgi?id=215671
Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-24
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/abort/general.any-expected.txt:
- web-platform-tests/fetch/api/abort/general.any.worker-expected.txt:
- web-platform-tests/fetch/api/request/request-consume-empty-expected.txt:
This remaining failing test now fails similarly in all browsers.
- web-platform-tests/fetch/api/request/request-consume-expected.txt:
- web-platform-tests/fetch/api/request/request-init-002-expected.txt:
- web-platform-tests/fetch/api/response/response-consume-empty-expected.txt:
This remaining failing test now fails similarly in all browsers.
- web-platform-tests/fetch/api/response/response-consume-expected.txt:
- web-platform-tests/fetch/api/response/response-error-from-stream-expected.txt:
This change makes the formData failures in this file look like all the other failures in this file,
which should be fixed together in a separate patch.
- web-platform-tests/fetch/api/response/response-init-002-expected.txt:
- web-platform-tests/url/urlencoded-parser.any-expected.txt:
- web-platform-tests/url/urlencoded-parser.any.worker-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event-respond-with-custom-response.https-expected.txt:
Source/WebCore:
Covered by many newly passing WPT tests, for most of which Safari was the only failing browser.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::formData):
(WebCore::FetchBody::consume):
(WebCore::FetchBody::consumeFormData):
- Modules/fetch/FetchBody.h:
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::formDataFromData):
(WebCore::resolveWithTypeAndData):
(WebCore::FetchBodyConsumer::resolve):
- Modules/fetch/FetchBodyConsumer.h:
Source/WebKit:
- WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveFormDataAndFinish):
Add a fast path that allows non-blob FormData responses from service workers to not hang.
This part is covered by this layout test:
imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-custom-response.https.html
Source/WTF:
In order to be compatible with other browsers, we need a verson of String::fromUTF8 that
uses U8_NEXT_OR_FFFD instead of U8_NEXT, but changing that across the board will break other things.
Leave everything else as it is, use templates and constexpr to not add any branches, but add
String::fromUTF8ReplacingInvalidSequences to allow me to make our FormData consuming compatible with other browsers.
- wtf/text/WTFString.cpp:
(WTF::fromUTF8Helper):
(WTF::String::fromUTF8):
(WTF::String::fromUTF8ReplacingInvalidSequences):
- wtf/text/WTFString.h:
- wtf/unicode/UTF8Conversion.cpp:
(WTF::Unicode::convertUTF8ToUTF16Impl):
(WTF::Unicode::convertUTF8ToUTF16):
(WTF::Unicode::convertUTF8ToUTF16ReplacingInvalidSequences):
- wtf/unicode/UTF8Conversion.h:
- 2:41 PM Changeset in webkit [266086] by
-
- 24 edits in trunk/Source
Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=213048
Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-24
Reviewed by Youenn Fablet.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
This uses CFNetwork SPI introduced in rdar://problem/50109631 to allow HSTS storage per NSURLSession.
To be complete, I also deprecated our UI process HSTS state removal attempt SPIs, WKContextResetHSTSHosts and
WKContextResetHSTSHostsAddedAfterDate, which had their last use removed in rdar://problem/64220838.
I manually verified that this new SPI puts HSTS data in the specified location, and I also verified that HSTS
state querying and removal works with the new CFNetwork SPI as it did with the old one.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::hostNamesWithHSTSCache const):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
(WebKit::NetworkProcess::clearHSTSCache):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache): Deleted.
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::hstsStorage const):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::hostNamesWithHSTSCache const):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
(WebKit::NetworkProcess::clearHSTSCache):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache): Deleted.
- UIProcess/API/C/mac/WKContextPrivateMac.h:
- UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextResetHSTSHosts):
(WKContextResetHSTSHostsAddedAfterDate):
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
(-[_WKWebsiteDataStoreConfiguration hstsStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration setHSTSStorageDirectory:]):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::privateBrowsingSession): Deleted.
(WebKit::WebProcessPool::resetHSTSHosts): Deleted.
(WebKit::WebProcessPool::resetHSTSHostsAddedAfterDate): Deleted.
- UIProcess/WebProcessPool.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::resolvedHSTSStorageDirectory const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::copy const):
- UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
Source/WTF:
- wtf/PlatformHave.h:
- 2:35 PM Changeset in webkit [266085] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 Debug ] imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215783
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:06 PM Changeset in webkit [266084] by
-
- 2 edits in trunk/Websites/webkit.org
Disable unused RPC services
https://bugs.webkit.org/show_bug.cgi?id=215779
Reviewed by Alexey Proskuryakov.
- .htaccess:
- 12:26 PM Changeset in webkit [266083] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk1 ] fast/overflow/horizontal-scroll-after-back.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215778
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 12:17 PM Changeset in webkit [266082] by
-
- 12 edits in trunk
Support quotes:auto and fix quotes serialization.
https://bugs.webkit.org/show_bug.cgi?id=215646
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-content/inheritance-expected.txt: Annotate progression.
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Ditto.
Source/WebCore:
Tests: imported/w3c/web-platform-tests/css/css-content/inheritance.html
imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::Ref<CSSValue>valueForQuotes):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeQuotes):
- rendering/style/QuotesData.h:
(WebCore::QuotesData::size const):
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertQuotes):
LayoutTests:
- platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Annotate progression.
- platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Ditto.
- platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Ditto.
- 11:57 AM Changeset in webkit [266081] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7611.1.1
- 11:53 AM Changeset in webkit [266080] by
-
- 4 edits in trunk/Tools
[resultsdbpy] Fix pip package
https://bugs.webkit.org/show_bug.cgi?id=215721
<rdar://problem/67518275>
Reviewed by Dewei Zhu.
- Scripts/libraries/resultsdbpy/MANIFEST.in: Add html and css.
- Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Include submodules.
- Scripts/libraries/resultsdbpy/setup.py: Version bump.
- 11:44 AM Changeset in webkit [266079] by
-
- 1 copy in branches/safari-610-branch
New branch.
- 11:44 AM Changeset in webkit [266078] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 Release ] http/tests/workers/service/basic-install-event-waitUntil-reject.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=214997
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:40 AM Changeset in webkit [266077] by
-
- 27 edits7 moves in trunk/Source
Web Inspector: rename
ScriptDebugServersubclasses/methods
https://bugs.webkit.org/show_bug.cgi?id=215363
<rdar://problem/67310441>
Reviewed by Brian Burg.
r266074 merged
Inspector::ScriptDebugServerintoJSC::Debugger. All subclasses and
functions should be renamed to match this change.
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- inspector/InspectorEnvironment.h:
- inspector/JSGlobalObjectDebugger.h: Renamed from Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.h.
- inspector/JSGlobalObjectDebugger.cpp: Renamed from Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.cpp.
- inspector/JSGlobalObjectInspectorController.h:
- inspector/JSGlobalObjectInspectorController.cpp:
- inspector/agents/InspectorAuditAgent.h:
- inspector/agents/InspectorAuditAgent.cpp:
- inspector/agents/InspectorDebuggerAgent.h:
- inspector/agents/InspectorDebuggerAgent.cpp:
- inspector/agents/InspectorRuntimeAgent.h:
- inspector/agents/InspectorRuntimeAgent.cpp:
- inspector/agents/InspectorScriptProfilerAgent.cpp:
- inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
- inspector/remote/RemoteInspectionTarget.cpp:
- inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
Source/WebCore:
- Headers.cmake:
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorController.h:
- inspector/InspectorController.cpp:
- inspector/PageDebugger.h: Renamed from Source/WebCore/inspector/PageScriptDebugServer.h.
- inspector/PageDebugger.cpp: Renamed from Source/WebCore/inspector/PageScriptDebugServer.cpp.
- inspector/mac/PageDebuggerMac.mm: Renamed from Source/WebCore/inspector/mac/PageScriptDebugServerMac.mm.
- inspector/WorkerDebugger.h: Renamed from Source/WebCore/inspector/WorkerScriptDebugServer.h.
- inspector/WorkerDebugger.cpp: Renamed from Source/WebCore/inspector/WorkerScriptDebugServer.cpp.
- inspector/WorkerInspectorController.h:
- inspector/WorkerInspectorController.cpp:
- inspector/agents/InspectorTimelineAgent.cpp:
- inspector/agents/page/PageDebuggerAgent.cpp:
- 11:13 AM Changeset in webkit [266076] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: remove legacy code for replacing the Resources Tab and Debugger Tab with the Sources Tab
https://bugs.webkit.org/show_bug.cgi?id=205826
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WI.loaded):
- 11:06 AM Changeset in webkit [266075] by
-
- 4 edits in trunk
Source/WebCore:
Text manipulation should not manipulate nodes out of paragraph range
https://bugs.webkit.org/show_bug.cgi?id=215406
Reviewed by Wenson Hsieh.
TextManipulationController currently does not set correct start path for insertion. Therefore, it does not mark
the nodes on the start path but out of range correctly, and may change position of those nodes by mistake. For
example, in the newly added test, text node "zero" can be moved around even though it is not in range.
API test: TextManipulation.CompleteTextManipulationShouldOnlyChangeNodesInParagraphRange
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::replace):
Tools:
Text manipulationshould not manipulate nodes out of paragraph range
https://bugs.webkit.org/show_bug.cgi?id=215406
Reviewed by Wenson Hsieh.
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- 10:34 AM Changeset in webkit [266074] by
-
- 107 edits1 copy3 adds4 deletes in trunk
Web Inspector: allow event breakpoints to be configured
https://bugs.webkit.org/show_bug.cgi?id=215362
<rdar://problem/66932921>
Reviewed by Brian Burg.
Source/JavaScriptCore:
This allows developers to do things like:
- only pause when
window.event.typeis a certain value - ignore the first N pauses
- evaluate JavaScript whenever an event listener is invoked without pausing
- inspector/protocol/DOM.json:
Add an
optionsparamater toDOM.setBreakpointForEventListenerto allow configuration.
- inspector/protocol/DOMDebugger.json:
Add an
optionsparamater toDOMDebugger.setEventBreakpointto allow configuration.
- debugger/Breakpoint.h:
(JSC::Breakpoint::id const): Added.
(JSC::Breakpoint::sourceID const): Added.
(JSC::Breakpoint::lineNumber const): Added.
(JSC::Breakpoint::columnNumber const): Added.
(JSC::Breakpoint::condition const): Added.
(JSC::Breakpoint::actions const): Added.
(JSC::Breakpoint::isAutoContinue const): Added.
(JSC::Breakpoint::resetHitCount): Added.
(JSC::Breakpoint::isLinked const): Added.
(JSC::Breakpoint::isResolved const): Added.
(JSC::BreakpointsList::~BreakpointsList): Deleted.
- debugger/Breakpoint.cpp: Added.
(JSC::Breakpoint::Action::Action): Added.
(JSC::Breakpoint::create): Added.
(JSC::Breakpoint::Breakpoint): Added.
(JSC::Breakpoint::link): Added.
(JSC::Breakpoint::resolve): Added.
(JSC::Breakpoint::shouldPause): Added.
UnifyJSC::BreakpointandInspector::ScriptBreakpoint.
- debugger/DebuggerPrimitives.h:
- debugger/Debugger.h:
- debugger/Debugger.cpp:
(JSC::Debugger::Debugger):
(JSC::Debugger::addObserver): Added.
(JSC::Debugger::removeObserver): Added.
(JSC::Debugger::canDispatchFunctionToObservers const): Added.
(JSC::Debugger::dispatchFunctionToObservers): Added.
(JSC::Debugger::sourceParsed): Added.
(JSC::Debugger::toggleBreakpoint):
(JSC::Debugger::applyBreakpoints):
(JSC::Debugger::resolveBreakpoint):
(JSC::Debugger::setBreakpoint):
(JSC::Debugger::removeBreakpoint):
(JSC::Debugger::didHitBreakpoint): Added.
(JSC::Debugger::clearBreakpoints):
(JSC::Debugger::evaluateBreakpointCondition): Added.
(JSC::Debugger::evaluateBreakpointActions): Added.
(JSC::Debugger::schedulePauseAtNextOpportunity): Added.
(JSC::Debugger::cancelPauseAtNextOpportunity): Added.
(JSC::Debugger::schedulePauseForSpecialBreakpoint): Added.
(JSC::Debugger::cancelPauseForSpecialBreakpoint): Added.
(JSC::Debugger::continueProgram):
(JSC::Debugger::stepNextExpression):
(JSC::Debugger::stepIntoStatement):
(JSC::Debugger::stepOverStatement):
(JSC::Debugger::stepOutOfFunction):
(JSC::Debugger::pauseIfNeeded):
(JSC::Debugger::handlePause): Added.
(JSC::Debugger::exceptionOrCaughtValue): Added.
(JSC::Debugger::atExpression):
(JSC::Debugger::clearNextPauseState):
(JSC::Debugger::willRunMicrotask): Added.
(JSC::Debugger::didRunMicrotask): Added.
(JSC::Debugger::hasBreakpoint): Deleted.
(JSC::Debugger::setPauseOnNextStatement): Deleted.
UnifyJSC::DebuggerandInspector::ScriptDebugServerto simplify breakpoint logic.
Introduce the concept of a "special breakpoint", which is essentially aJSC::Breakpoint
that is expected to pause at the next opportunity but isn't tied to a particular location.
As an example, whenever an event breakpoint is hit, instead of just pausing at the next
opportunity, the newly managedJSC::Breakpointis used as a "special breakpoint", allowing
for it's configuration (ie.g. condition, ignore count, actions, auto-continue) to be used.
- inspector/agents/InspectorDebuggerAgent.h:
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::objectGroupForBreakpointAction):
(Inspector::breakpointActionTypeForString): Added.
(Inspector::parseBreakpointOptions): Added.
(Inspector::InspectorDebuggerAgent::ProtocolBreakpoint::fromPayload): Added.
(Inspector::InspectorDebuggerAgent::ProtocolBreakpoint::ProtocolBreakpoint): Added.
(Inspector::InspectorDebuggerAgent::ProtocolBreakpoint::createDebuggerBreakpoint const): Added.
(Inspector::InspectorDebuggerAgent::ProtocolBreakpoint::matchesScriptURL const): Added.
(Inspector::InspectorDebuggerAgent::debuggerBreakpointFromPayload): Added.
(Inspector::InspectorDebuggerAgent::enable):
(Inspector::InspectorDebuggerAgent::disable):
(Inspector::InspectorDebuggerAgent::buildBreakpointPauseReason):
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::InspectorDebuggerAgent::didScheduleAsyncCall):
(Inspector::buildDebuggerLocation):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::didSetBreakpoint):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::schedulePauseAtNextOpportunity): Added.
(Inspector::InspectorDebuggerAgent::cancelPauseAtNextOpportunity): Added.
(Inspector::InspectorDebuggerAgent::schedulePauseForSpecialBreakpoint): Added.
(Inspector::InspectorDebuggerAgent::cancelPauseForSpecialBreakpoint): Added.
(Inspector::InspectorDebuggerAgent::pause):
(Inspector::InspectorDebuggerAgent::resume):
(Inspector::InspectorDebuggerAgent::didBecomeIdle):
(Inspector::InspectorDebuggerAgent::sourceMapURLForScript):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::willRunMicrotask):
(Inspector::InspectorDebuggerAgent::didRunMicrotask):
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakpointActionSound):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::clearInspectorBreakpointState):
(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState):
(Inspector::matches): Deleted.
(Inspector::buildObjectForBreakpointCookie): Deleted.
(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol): Deleted.
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement): Deleted.
(Inspector::InspectorDebuggerAgent::cancelPauseOnNextStatement): Deleted.
Create a privateProtocolBreakpointclass that holds the data sent by the frontend. This
is necessary because breakpoints in the frontend have a potentially one-to-many relationship
with breakpoints in the backend, as the same script can be loaded many times on a page. Each
of those scripts is independent, however, and can execute differently, meaning that the same
breakpoint for each script also needs a different state (e.g. ignore count). As such, the
ProtocolBreakpointis effectively a template that is actualized whenever a new script is
parsed that matches the URL of theProtocolBreakpointto create aJSC::Breakpointthat
is used by theJSC::Debugger.ProtocolBreakpointalso parses breakpoint configurations.
- inspector/InspectorEnvironment.h:
- inspector/JSGlobalObjectScriptDebugServer.h:
- inspector/JSGlobalObjectScriptDebugServer.cpp:
(Inspector::JSGlobalObjectScriptDebugServer::JSGlobalObjectScriptDebugServer):
(Inspector::JSGlobalObjectScriptDebugServer::attachDebugger):
(Inspector::JSGlobalObjectScriptDebugServer::detachDebugger):
(Inspector::JSGlobalObjectScriptDebugServer::runEventLoopWhilePaused):
- inspector/agents/InspectorAuditAgent.h:
- inspector/agents/InspectorAuditAgent.cpp:
(Inspector::InspectorAuditAgent::run):
- inspector/agents/InspectorRuntimeAgent.h:
- inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::setPauseOnExceptionsState):
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getPreview):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::getDisplayableProperties):
- inspector/agents/InspectorScriptProfilerAgent.cpp:
- inspector/agents/JSGlobalObjectDebuggerAgent.h:
Replace
Inspector::ScriptDebugServerwithJSC::Debugger.
- runtime/JSMicrotask.cpp:
(JSC::JSMicrotask::run):
Drive-by: r248894 mistakenly omitted the call to notify the debugger that the microtask ran.
- inspector/ScriptBreakpoint.h: Removed.
- inspector/ScriptDebugListener.h: Removed.
- inspector/ScriptDebugServer.h: Removed.
- inspector/ScriptDebugServer.cpp: Removed.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
Source/WebCore:
This allows developers to do things like:
- only pause when
window.event.typeis a certain value - ignore the first N pauses
- evaluate JavaScript whenever an event listener is invoked without pausing
Tests: inspector/dom/breakpoint-for-event-listener.html
inspector/dom-debugger/event-animation-frame-breakpoints.html
inspector/dom-debugger/event-interval-breakpoints.html
inspector/dom-debugger/event-listener-breakpoints.html
inspector/dom-debugger/event-timeout-breakpoints.html
- inspector/agents/InspectorDOMAgent.h:
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::setBreakpointForEventListener):
(WebCore::InspectorDOMAgent::removeBreakpointForEventListener):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::breakpointForEventListener):
(WebCore::InspectorDOMAgent::hasBreakpointForEventListener): Deleted.
- inspector/agents/InspectorDOMDebuggerAgent.h:
- inspector/agents/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::disable):
(WebCore::InspectorDOMDebuggerAgent::mainFrameNavigated):
(WebCore::InspectorDOMDebuggerAgent::setEventBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeEventBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::willHandleEvent):
(WebCore::InspectorDOMDebuggerAgent::didHandleEvent):
(WebCore::InspectorDOMDebuggerAgent::willFireTimer):
(WebCore::InspectorDOMDebuggerAgent::didFireTimer):
- inspector/agents/page/PageDOMDebuggerAgent.h:
- inspector/agents/page/PageDOMDebuggerAgent.cpp:
(WebCore::PageDOMDebuggerAgent::disable):
(WebCore::PageDOMDebuggerAgent::mainFrameNavigated):
(WebCore::PageDOMDebuggerAgent::willFireAnimationFrame):
(WebCore::PageDOMDebuggerAgent::didFireAnimationFrame):
(WebCore::PageDOMDebuggerAgent::setAnimationFrameBreakpoint):
- inspector/agents/worker/WorkerDOMDebuggerAgent.h:
- inspector/agents/worker/WorkerDOMDebuggerAgent.cpp:
(WebCore::WorkerDOMDebuggerAgent::setAnimationFrameBreakpoint):
Keep aJSC::Breakpointfor each event breakpoint instead of a simplebool, allowing for
configuration when the breakpoint is first set. When any of these breakpoints are hit, pass
it to theJSC::Debuggeras a "special breakpoint", which behaves the same as "pause ASAP"
but also supports a condition, an ignore count, actions, and auto-continue. Reset the hit
count for any of these "special breakpoints" that persist across Web Inspector sessions
when the main frame navigates.
- inspector/PageScriptDebugServer.h:
- inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::PageScriptDebugServer):
(WebCore::PageScriptDebugServer::attachDebugger):
(WebCore::PageScriptDebugServer::detachDebugger):
(WebCore::PageScriptDebugServer::didPause):
(WebCore::PageScriptDebugServer::didContinue):
(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
(WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):
(WebCore::PageScriptDebugServer::isContentScript const):
(WebCore::PageScriptDebugServer::reportException const):
- inspector/WorkerScriptDebugServer.h:
- inspector/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
(WebCore::WorkerScriptDebugServer::attachDebugger):
(WebCore::WorkerScriptDebugServer::detachDebugger):
(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
(WebCore::WorkerScriptDebugServer::reportException const):
- inspector/agents/page/PageDebuggerAgent.h:
- inspector/agents/page/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::sourceMapURLForScript):
ReplaceInspector::ScriptDebugServerwithJSC::Debugger.
- inspector/TimelineRecordFactory.h:
- inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createProbeSampleData):
- inspector/agents/InspectorTimelineAgent.h:
- inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::breakpointActionProbe):
ReplaceInspector::ScriptBreakpointwithJSC::Breakpoint.
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didHandleEvent):
(WebCore::InspectorInstrumentation::didFireTimer):
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didHandleEventImpl):
(WebCore::InspectorInstrumentation::didFireTimerImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::didFireAnimationFrameImpl):
- dom/EventTarget.cpp:
(WebCore::EventTarget::innerInvokeEventListeners):
- page/DOMTimer.cpp:
(WebCore::DOMTimer::fired):
When notifying Web Inspector that activity did occur, include all information previously
included when notifying Web Inspector that that activity was about to occur so that Web
Inspector can know whether a pause for the "special breakpoint" for that activity is still
scheduled and if so cancel it.
Source/WebInspectorUI:
This allows developers to do things like:
- only pause when
window.event.typeis a certain value - ignore the first N pauses
- evaluate JavaScript whenever an event listener is invoked without pausing
- UserInterface/Models/Breakpoint.js:
(WI.Breakpoint):
(WI.Breakpoint.prototype.toJSON):
(WI.Breakpoint.prototype.get special): Added.
(WI.Breakpoint.prototype.get removable): Added.
(WI.Breakpoint.prototype.get editable): Added.
(WI.Breakpoint.prototype.set condition):
(WI.Breakpoint.prototype.get ignoreCount):
(WI.Breakpoint.prototype.set ignoreCount):
(WI.Breakpoint.prototype.get autoContinue):
(WI.Breakpoint.prototype.set autoContinue):
(WI.Breakpoint.prototype.get actions):
(WI.Breakpoint.prototype.get probeActions):
(WI.Breakpoint.prototype.cycleToNextMode):
(WI.Breakpoint.prototype.createAction):
(WI.Breakpoint.prototype.recreateAction):
(WI.Breakpoint.prototype.removeAction):
(WI.Breakpoint.prototype.clearActions):
(WI.Breakpoint.prototype.remove): Added.
(WI.Breakpoint.prototype.optionsToProtocol): Added.
(WI.Breakpoint.prototype.breakpointActionDidChange):
(WI.Breakpoint.fromJSON): Deleted.
(WI.Breakpoint.prototype.get sourceCodeLocation): Deleted.
(WI.Breakpoint.prototype.get contentIdentifier): Deleted.
(WI.Breakpoint.prototype.get scriptIdentifier): Deleted.
(WI.Breakpoint.prototype.get target): Deleted.
(WI.Breakpoint.prototype.get identifier): Deleted.
(WI.Breakpoint.prototype.set identifier): Deleted.
(WI.Breakpoint.prototype.get resolved): Deleted.
(WI.Breakpoint.prototype.set resolved): Deleted.
(WI.Breakpoint.prototype.saveIdentityToCookie): Deleted.
(WI.Breakpoint.prototype._isSpecial): Deleted.
(WI.Breakpoint.prototype._sourceCodeLocationLocationChanged): Deleted.
(WI.Breakpoint.prototype._sourceCodeLocationDisplayLocationChanged): Deleted.
- UserInterface/Models/DOMBreakpoint.js:
(WI.DOMBreakpoint):
(WI.DOMBreakpoint.fromJSON): Added.
(WI.DOMBreakpoint.prototype.remove): Added.
(WI.DOMBreakpoint.prototype.toJSON):
(WI.DOMBreakpoint.deserialize): Deleted.
(WI.DOMBreakpoint.prototype.get disabled): Deleted.
(WI.DOMBreakpoint.prototype.set disabled): Deleted.
- UserInterface/Models/EventBreakpoint.js:
(WI.EventBreakpoint):
(WI.EventBreakpoint.fromJSON): Added.
(WI.EventBreakpoint.prototype.get special): Added.
(WI.EventBreakpoint.prototype.get editable): Added.
(WI.EventBreakpoint.prototype.remove): Added.
(WI.EventBreakpoint.prototype.saveIdentityToCookie):
(WI.EventBreakpoint.prototype.toJSON):
(WI.EventBreakpoint.deserialize): Deleted.
(WI.EventBreakpoint.prototype.get disabled): Deleted.
(WI.EventBreakpoint.prototype.set disabled): Deleted.
- UserInterface/Models/JavaScriptBreakpoint.js: Copied from UserInterface/Models/Breakpoint.js.
(WI.JavaScriptBreakpoint):
(WI.JavaScriptBreakpoint.fromJSON):
(WI.JavaScriptBreakpoint.prototype.toJSON):
(WI.JavaScriptBreakpoint.prototype.get sourceCodeLocation):
(WI.JavaScriptBreakpoint.prototype.get contentIdentifier):
(WI.JavaScriptBreakpoint.prototype.get scriptIdentifier):
(WI.JavaScriptBreakpoint.prototype.get target):
(WI.JavaScriptBreakpoint.prototype.get special): Added.
(WI.JavaScriptBreakpoint.prototype.get removable): Added.
(WI.JavaScriptBreakpoint.prototype.get editable): Added.
(WI.JavaScriptBreakpoint.prototype.get identifier):
(WI.JavaScriptBreakpoint.prototype.set identifier):
(WI.JavaScriptBreakpoint.prototype.get resolved):
(WI.JavaScriptBreakpoint.prototype.set resolved):
(WI.JavaScriptBreakpoint.prototype.remove): Added.
(WI.JavaScriptBreakpoint.prototype.saveIdentityToCookie):
(WI.JavaScriptBreakpoint.prototype._isSpecial):
(WI.JavaScriptBreakpoint.prototype._sourceCodeLocationLocationChanged):
(WI.JavaScriptBreakpoint.prototype._sourceCodeLocationDisplayLocationChanged):
- UserInterface/Models/URLBreakpoint.js:
(WI.URLBreakpoint):
(WI.URLBreakpoint.fromJSON): Added.
(WI.URLBreakpoint.prototype.get special): Added.
(WI.URLBreakpoint.prototype.remove): Added.
(WI.URLBreakpoint.prototype.toJSON):
(WI.URLBreakpoint.deserialize): Deleted.
(WI.URLBreakpoint.prototype.get disabled): Deleted.
(WI.URLBreakpoint.prototype.set disabled): Deleted.
RenameWI.BreakpointtoWI.JavaScriptBreakpointand useWI.Breakpointas a new common
base class for all breakpoint types, allowing more logic to be shared (e.g. disabled state).
Additionally, breakpoints are now able to
- determine whether or not they're
- special
- removable
- editable (i.e. configurable)
- remove themselves
without the caller needing to know what manager to consult with.
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager):
(WI.DOMManager.supportsEventListenerBreakpointConfiguration): Added.
(WI.DOMManager.prototype.setBreakpointForEventListener):
(WI.DOMManager.prototype.removeBreakpointForEventListener):
(WI.DOMManager.prototype._setEventBreakpoint): Added.
(WI.DOMManager.prototype._removeEventBreakpoint): Added.
(WI.DOMManager.prototype._handleEventBreakpointEditablePropertyChanged): Added.
(WI.DOMManager.prototype._handleEventBreakpointActionsChanged): Added.
(WI.DOMManager.prototype._updateEventBreakpoint): Deleted.
Keep track of configuration changes for specific listener breakpoints.
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager):
(WI.DOMDebuggerManager.prototype.initializeTarget):
(WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
(WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
(WI.DOMDebuggerManager.prototype.addEventBreakpoint):
(WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
(WI.DOMDebuggerManager.prototype.addURLBreakpoint):
(WI.DOMDebuggerManager.prototype.removeURLBreakpoint):
(WI.DOMDebuggerManager.prototype._commandArgumentsForEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._setEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._removeEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._handleEventBreakpointDisabledStateChanged): Added.
(WI.DOMDebuggerManager.prototype._handleEventBreakpointEditablePropertyChanged): Added.
(WI.DOMDebuggerManager.prototype._handleEventBreakpointActionsChanged): Added.
(WI.DOMDebuggerManager.prototype.isBreakpointSpecial): Deleted.
(WI.DOMDebuggerManager.prototype._updateEventBreakpoint): Deleted.
Keep track of configuration changes for special event breakpoints.
Store special event breakpoints insideWI.objectStores.eventBreakpoints.
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager):
(WI.DebuggerManager.prototype.addBreakpoint):
(WI.DebuggerManager.prototype.removeBreakpoint):
(WI.DebuggerManager.prototype.addProbesForBreakpoint): Added.
(WI.DebuggerManager.prototype.removeProbesForBreakpoint): Added.
(WI.DebuggerManager.prototype.updateProbesForBreakpoint): Added.
(WI.DebuggerManager.prototype._setBreakpoint):
(WI.DebuggerManager.prototype._breakpointEditablePropertyDidChange):
(WI.DebuggerManager.prototype._handleBreakpointActionsDidChange):
(WI.DebuggerManager.prototype.isBreakpointRemovable): Deleted.
(WI.DebuggerManager.prototype.isBreakpointSpecial): Deleted.
(WI.DebuggerManager.prototype.isBreakpointEditable): Deleted.
(WI.DebuggerManager.prototype._debuggerBreakpointActionType): Deleted.
(WI.DebuggerManager.prototype._debuggerBreakpointOptions): Deleted.
(WI.DebuggerManager.prototype._addProbesForBreakpoint): Deleted.
(WI.DebuggerManager.prototype._removeProbesForBreakpoint): Deleted.
(WI.DebuggerManager.prototype._updateProbesForBreakpoint): Deleted.
ReplaceWI.BreakpointwithWI.JavaScriptBreakpoint.
Probes now supportWI.EventBreakpointin addition toWI.JavaScriptBreakpoint.
- UserInterface/Controllers/BreakpointPopoverController.js:
(WI.BreakpointPopoverController.prototype.appendContextMenuItems):
(WI.BreakpointPopoverController.prototype._createPopoverContent):
Allow any breakpoint instead of onlyWI.JavaScriptBreakpoint.
Drive-by: the existingignoreCountvalue wasn't being used to populate the<input>.
- UserInterface/Views/BreakpointTreeElement.js:
(WI.BreakpointTreeElement.prototype.ondelete):
(WI.BreakpointTreeElement.prototype.get listenerSet): Added.
(WI.BreakpointTreeElement.prototype.updateStatus): Added.
(WI.BreakpointTreeElement.prototype.updateTitles): Added.
(WI.BreakpointTreeElement.prototype.get breakpoint): Deleted.
(WI.BreakpointTreeElement.prototype.get filterableData): Deleted.
(WI.BreakpointTreeElement.prototype._updateTitles): Deleted.
(WI.BreakpointTreeElement.prototype._updateStatus): Deleted.
(WI.BreakpointTreeElement.prototype._breakpointLocationDidChange): Deleted.
- UserInterface/Views/BreakpointTreeElement.css:
(.item.breakpoint .status > .status-image):
(.item.breakpoint.paused .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.paused .icon): Added.
(.item.breakpoint .status > .status-image.resolved): Deleted.
(body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus-within .item.breakpoint.selected .status > .status-image.resolved): Deleted.
(.item.breakpoint .subtitle.formatted-location): Deleted.
(.breakpoint-debugger-statement-icon .icon): Deleted.
(.breakpoint-exception-icon .icon): Deleted.
(.breakpoint-assertion-icon .icon): Deleted.
(.breakpoint-microtask-icon .icon): Deleted.
(.breakpoint-paused-icon .icon): Deleted.
(.breakpoint-generic-line-icon .icon): Deleted.
(.breakpoint-generic-line-icon .icon > span): Deleted.
(.data-updated.breakpoint-generic-line-icon .icon > span): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint-debugger-statement-icon .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint-exception-icon .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint-assertion-icon .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint-microtask-icon .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint-paused-icon .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint-generic-line-icon .icon): Deleted.
- UserInterface/Views/DOMBreakpointTreeElement.js:
(WI.DOMBreakpointTreeElement):
(WI.DOMBreakpointTreeElement.prototype.onattach): Deleted.
(WI.DOMBreakpointTreeElement.prototype.ondetach): Deleted.
(WI.DOMBreakpointTreeElement.prototype.ondelete): Deleted.
(WI.DOMBreakpointTreeElement.prototype.onenter): Deleted.
(WI.DOMBreakpointTreeElement.prototype.onspace): Deleted.
(WI.DOMBreakpointTreeElement.prototype.populateContextMenu): Deleted.
(WI.DOMBreakpointTreeElement.prototype._statusImageElementClicked): Deleted.
(WI.DOMBreakpointTreeElement.prototype._statusImageElementFocused): Deleted.
(WI.DOMBreakpointTreeElement.prototype._statusImageElementMouseDown): Deleted.
(WI.DOMBreakpointTreeElement.prototype._toggleBreakpoint): Deleted.
(WI.DOMBreakpointTreeElement.prototype._updateStatus): Deleted.
- UserInterface/Views/DOMBreakpointTreeElement.css:
(.item.breakpoint.dom.subtree-modified:not(.paused) .icon): Added.
(.item.breakpoint.dom.attribute-modified:not(.paused) .icon): Added.
(.item.breakpoint.dom.node-removed:not(.paused) .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.dom.subtree-modified:not(.paused) .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.dom.attribute-modified:not(.paused) .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.dom.node-removed:not(.paused) .icon): Added.
(.breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon): Deleted.
(.breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon): Deleted.
(.breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon): Deleted.
- UserInterface/Views/EventBreakpointTreeElement.js:
(WI.EventBreakpointTreeElement):
(WI.EventBreakpointTreeElement.prototype.onattach): Deleted.
(WI.EventBreakpointTreeElement.prototype.ondetach): Deleted.
(WI.EventBreakpointTreeElement.prototype.ondelete): Deleted.
(WI.EventBreakpointTreeElement.prototype.onenter): Deleted.
(WI.EventBreakpointTreeElement.prototype.onspace): Deleted.
(WI.EventBreakpointTreeElement.prototype.populateContextMenu): Deleted.
(WI.EventBreakpointTreeElement.prototype._statusImageElementClicked): Deleted.
(WI.EventBreakpointTreeElement.prototype._statusImageElementFocused): Deleted.
(WI.EventBreakpointTreeElement.prototype._statusImageElementMouseDown): Deleted.
(WI.EventBreakpointTreeElement.prototype._toggleBreakpoint): Deleted.
(WI.EventBreakpointTreeElement.prototype._updateStatus): Deleted.
- UserInterface/Views/EventBreakpointTreeElement.css:
(.item.breakpoint.event.animation-frame:not(.paused) .icon): Added.
(.item.breakpoint.event.interval:not(.paused) .icon): Added.
(.item.breakpoint.event.listener:not(.paused) .icon): Added.
(.item.breakpoint.event.timeout:not(.paused) .icon): Added.
(@media(prefers-color-scheme: dark) .item.breakpoint.event.animation-frame:not(.paused) .icon): Added.
(@media(prefers-color-scheme: dark) .item.breakpoint.event.interval:not(.paused) .icon): Added.
(@media(prefers-color-scheme: dark) .item.breakpoint.event.listener:not(.paused) .icon): Added.
(@media(prefers-color-scheme: dark) .item.breakpoint.event.timeout:not(.paused) .icon): Added.
(.breakpoint.event.breakpoint-for-animation-frame:not(.breakpoint-paused-icon) .icon): Deleted.
(.breakpoint.event.breakpoint-for-interval:not(.breakpoint-paused-icon) .icon): Deleted.
(.breakpoint.event.breakpoint-for-listener:not(.breakpoint-paused-icon) .icon): Deleted.
(.breakpoint.event.breakpoint-for-timeout:not(.breakpoint-paused-icon) .icon): Deleted.
(@media(prefers-color-scheme: dark) .breakpoint.event.breakpoint-for-animation-frame:not(.breakpoint-paused-icon) .icon): Deleted.
(@media(prefers-color-scheme: dark) .breakpoint.event.breakpoint-for-interval:not(.breakpoint-paused-icon) .icon): Deleted.
(@media(prefers-color-scheme: dark) .breakpoint.event.breakpoint-for-listener:not(.breakpoint-paused-icon) .icon): Deleted.
(@media(prefers-color-scheme: dark) .breakpoint.event.breakpoint-for-timeout:not(.breakpoint-paused-icon) .icon): Deleted.
- UserInterface/Views/JavaScriptBreakpointTreeElement.js: Copied from Source/WebInspectorUI/UserInterface/Views/BreakpointTreeElement.js.
(WI.JavaScriptBreakpointTreeElement):
(WI.JavaScriptBreakpointTreeElement.prototype.get filterableData):
(WI.JavaScriptBreakpointTreeElement.prototype.updateStatus): Added.
(WI.JavaScriptBreakpointTreeElement.prototype.updateTitles): Added.
(WI.JavaScriptBreakpointTreeElement.prototype._breakpointLocationDidChange):
- UserInterface/Views/JavaScriptBreakpointTreeElement.css: Copied from Source/WebInspectorUI/UserInterface/Views/BreakpointTreeElement.css.
(.item.breakpoint.javascript .status > .status-image): Added.
(.item.breakpoint.javascript .status > .status-image.resolved): Added.
(body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus-within .item.breakpoint.javascript.selected .status > .status-image.resolved): Added.
(.item.breakpoint.javascript .subtitle.formatted-location): Added.
(.item.breakpoint.javascript.line .icon): Added.
(.item.breakpoint.javascript.line .icon > span): Added.
(.data-updated.item.breakpoint.javascript.line .icon > span): Added.
(.item.breakpoint.javascript.debugger-statement .icon): Added.
(.item.breakpoint.javascript.exception .icon): Added.
(.item.breakpoint.javascript.assertion .icon): Added.
(.item.breakpoint.javascript.microtask .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.javascript.line .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.javascript.debugger-statement .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.javascript.exception .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.javascript.assertion .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.javascript.microtask .icon): Added.
- UserInterface/Views/URLBreakpointTreeElement.js:
(WI.URLBreakpointTreeElement):
(WI.URLBreakpointTreeElement.prototype.onattach): Deleted.
(WI.URLBreakpointTreeElement.prototype.ondetach): Deleted.
(WI.URLBreakpointTreeElement.prototype.ondelete): Deleted.
(WI.URLBreakpointTreeElement.prototype.onenter): Deleted.
(WI.URLBreakpointTreeElement.prototype.onspace): Deleted.
(WI.URLBreakpointTreeElement.prototype.populateContextMenu): Deleted.
(WI.URLBreakpointTreeElement.prototype._statusImageElementClicked): Deleted.
(WI.URLBreakpointTreeElement.prototype._statusImageElementFocused): Deleted.
(WI.URLBreakpointTreeElement.prototype._statusImageElementMouseDown): Deleted.
(WI.URLBreakpointTreeElement.prototype._toggleBreakpoint): Deleted.
(WI.URLBreakpointTreeElement.prototype._updateStatus): Deleted.
- UserInterface/Views/URLBreakpointTreeElement.css:
(.item.breakpoint.url .subtitle): Added.
(.item.breakpoint.url:not(.paused) .icon): Added.
(@media (prefers-color-scheme: dark) .item.breakpoint.url:not(.paused) .icon): Added.
(.breakpoint.url .subtitle): Deleted.
(.breakpoint.url:not(.breakpoint-paused-icon) .icon): Deleted.
(@media (prefers-color-scheme: dark) .breakpoint.url:not(.breakpoint-paused-icon) .icon): Deleted.
RenameWI.BreakpointTreeElementtoWI.JavaScriptBreakpointTreeElementand use
WI.BreakpointTreeElementas a new common base class for all breakpoint tree elements,
allowing more logic and styles to be shared (e.g. disabled state).
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype.closed):
(WI.SourcesNavigationSidebarPanel.prototype._insertDebuggerTreeElement):
(WI.SourcesNavigationSidebarPanel.prototype._compareJavaScriptBreakpointTreeElements): Added.
(WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
(WI.SourcesNavigationSidebarPanel.prototype._removeAllBreakpoints):
(WI.SourcesNavigationSidebarPanel.prototype._breakpointsBeneathTreeElement):
(WI.SourcesNavigationSidebarPanel.prototype._addIssue):
(WI.SourcesNavigationSidebarPanel.prototype._updatePauseReasonSection):
(WI.SourcesNavigationSidebarPanel.prototype._handleTreeSelectionDidChange):
(WI.SourcesNavigationSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):
(WI.SourcesNavigationSidebarPanel.prototype._populateCreateBreakpointContextMenu.addToggleForSpecialEventBreakpoint):
(WI.SourcesNavigationSidebarPanel.prototype._populateCreateBreakpointContextMenu):
(WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
(WI.SourcesNavigationSidebarPanel.prototype._compareBreakpointTreeElements): Deleted.
- UserInterface/Models/ProbeSet.js:
(WI.ProbeSet):
(WI.ProbeSet.prototype.createProbe):
(WI.ProbeSet.prototype.willRemove):
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype._processRecord):
- UserInterface/Views/ProbeSetDetailsSection.js:
(WI.ProbeSetDetailsSection):
- UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WI.ProbeDetailsSidebarPanel.prototype.inspect):
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor):
(WI.SourceCodeTextEditor.prototype.close):
(WI.SourceCodeTextEditor.prototype.textEditorBreakpointAdded):
- UserInterface/Views/TextResourceContentView.js:
(WI.TextResourceContentView.prototype.get supplementalRepresentedObjects):
(WI.TextResourceContentView.prototype._probeSetsChanged):
Probes now supportWI.EventBreakpointin addition toWI.JavaScriptBreakpoint.
- UserInterface/Views/ContentView.js:
(WI.ContentView.createFromRepresentedObject):
(WI.ContentView.resolvedRepresentedObjectForRepresentedObject):
(WI.ContentView.isViewable):
- UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForSourceCode):
ReplaceWI.BreakpointwithWI.JavaScriptBreakpoint.
- UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView):
ReplaceWI.DOMBreakpointwithWI.Breakpoint.
- UserInterface/Views/EventListenerSectionGroup.js:
(WI.EventListenerSectionGroup):
- UserInterface/Views/EventListenerSectionGroup.css:
(.event-listener-section > .content input[type="checkbox"] + .go-to-arrow): Added.
(.event-listener-section > .content input[type="checkbox"]:not(:checked) + .go-to-arrow): Added.
Add a go-to arrow next to the Breakpoint checkbox that reveals theWI.EventBreakpointin
the Sources Tab.
- UserInterface/Views/BreakpointActionView.js:
(WI.BreakpointActionView.prototype._appendActionButtonClicked):
Drive-by: minor code cleanup.
- UserInterface/Views/CallFrameTreeElement.js:
(WI.CallFrameTreeElement.prototype.populateContextMenu):
Drive-by: include source code location context menu items.
- UserInterface/Base/Setting.js:
- UserInterface/Main.html:
- UserInterface/Test.html:
LayoutTests:
- inspector/dom-debugger/resources/event-breakpoint-utilities.js:
(TestPage.registerInitializer.InspectorTest.EventBreakpoint.addBreakpointOptionsTestCases): Added.
(TestPage.registerInitializer.InspectorTest.EventBreakpoint.async teardown):
(TestPage.registerInitializer.InspectorTest.EventBreakpoint.createBreakpoint):
(TestPage.registerInitializer.InspectorTest.EventBreakpoint.removeBreakpoint):
- inspector/dom/breakpoint-for-event-listener.html:
- inspector/dom/breakpoint-for-event-listener-expected.txt:
- inspector/dom-debugger/event-animation-frame-breakpoints.html:
- inspector/dom-debugger/event-animation-frame-breakpoints-expected.txt:
- inspector/dom-debugger/event-interval-breakpoints.html:
- inspector/dom-debugger/event-interval-breakpoints-expected.txt:
- inspector/dom-debugger/event-listener-breakpoints.html:
- inspector/dom-debugger/event-listener-breakpoints-expected.txt:
- inspector/dom-debugger/event-timeout-breakpoints.html:
- inspector/dom-debugger/event-timeout-breakpoints-expected.txt:
Add tests for new event breakpoint configuration options.
- http/tests/inspector/debugger/debugger-test.js:
(TestPage.registerInitializer.InspectorTest.startTracingBreakpoints):
- http/tests/inspector/resources/probe-test.js:
(TestPage.registerInitializer.ProtocolTest.Probe.installTracingListeners):
- inspector/debugger/breakpoint-action-eval.html:
- inspector/debugger/breakpoint-action-log.html:
- inspector/debugger/breakpoint-columns.html:
- inspector/debugger/breakpoint-scope.html:
- inspector/debugger/debugger-stack-overflow.html:
- inspector/debugger/pause-reason.html:
- inspector/debugger/probe-manager-add-remove-actions.html:
- inspector/debugger/stepping/stepping-through-autoContinue-breakpoint.html:
- inspector/debugger/tail-deleted-frames-this-value.html:
- inspector/debugger/tail-recursion.html:
- inspector/worker/debugger-pause.html:
- inspector/worker/debugger-shared-breakpoint.html:
Update existing breakpoint tests to use new model objects.
- 10:32 AM Changeset in webkit [266073] by
-
- 2 edits in trunk/LayoutTests
Regression (r266028): platform/ios/ios/fast/coordinates/range-client-rects.html
https://bugs.webkit.org/show_bug.cgi?id=215772
Unreviewwed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:31 AM Changeset in webkit [266072] by
-
- 39 edits in trunk/Source
Web Inspector: remove "extra domains" concept now that domains can be added based on the debuggable type
https://bugs.webkit.org/show_bug.cgi?id=201150
<rdar://problem/56545911>
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/scripts/codegen/objc_generator_templates.py:
- inspector/augmentable/AugmentableInspectorController.h:
- inspector/JSGlobalObjectInspectorController.h:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::registerAlternateAgent): Added.
(Inspector::JSGlobalObjectInspectorController::appendExtraAgent): Deleted.
- inspector/InspectorAgentRegistry.h:
- inspector/InspectorAgentRegistry.cpp:
(Inspector::AgentRegistry::appendExtraAgent): Deleted.
- inspector/protocol/Inspector.json:
- inspector/agents/InspectorAgent.h:
- inspector/agents/InspectorAgent.cpp:
(Inspector::InspectorAgent::activateExtraDomain): Deleted.
(Inspector::InspectorAgent::activateExtraDomains): Deleted.
- inspector/scripts/tests/expected/command-targetType-matching-domain-debuggableType.json-result:
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/expected/definitions-with-mac-platform.json-result:
- inspector/scripts/tests/expected/domain-debuggableTypes.json-result:
- inspector/scripts/tests/expected/domain-targetType-matching-domain-debuggableType.json-result:
- inspector/scripts/tests/expected/domain-targetTypes.json-result:
- inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
- inspector/scripts/tests/expected/enum-values.json-result:
- inspector/scripts/tests/expected/event-targetType-matching-domain-debuggableType.json-result:
- inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
Rebase protocol tests.
Source/WebInspectorUI:
- UserInterface/Base/Object.js:
- UserInterface/Protocol/InspectorObserver.js:
(WI.InspectorObserver.prototype.activateExtraDomains):
- UserInterface/Protocol/Target.js:
(WI.Target.prototype.activateExtraDomain):
- UserInterface/Controllers/AppController.js:
(WI.AppController.prototype.activateExtraDomains):
- UserInterface/Controllers/AnimationManager.js:
(WI.AnimationManager.prototype.activateExtraDomain):
- UserInterface/Controllers/ApplicationCacheManager.js:
(WI.ApplicationCacheManager.prototype.activateExtraDomain):
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype.activateExtraDomain):
- UserInterface/Controllers/DOMStorageManager.js:
(WI.DOMStorageManager.prototype.activateExtraDomain):
- UserInterface/Controllers/DatabaseManager.js:
(WI.DatabaseManager.prototype.activateExtraDomain):
- UserInterface/Controllers/HeapManager.js:
(WI.HeapManager.prototype.activateExtraDomain):
- UserInterface/Controllers/IndexedDBManager.js:
(WI.IndexedDBManager.prototype.activateExtraDomain):
- UserInterface/Controllers/MemoryManager.js:
(WI.MemoryManager.prototype.activateExtraDomain):
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.prototype._extraDomainsActivated):
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype.activateExtraDomain):
- UserInterface/Base/Main.js:
(WI.activateExtraDomains):
- UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype._handleExtraDomainsActivated):
Add compatibility comments.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass):
(InspectorBackend.Domain):
Add FIXMEs.
- 10:30 AM Changeset in webkit [266071] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: remove legacy code for replacing the Canvas Tab with the Graphics Tab
https://bugs.webkit.org/show_bug.cgi?id=205827
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WI.loaded):
- 10:24 AM Changeset in webkit [266070] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: Styles: don't show swatches for properties that aren't used/apply
https://bugs.webkit.org/show_bug.cgi?id=215681
Reviewed by Brian Burg.
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._renderValue):
- 10:21 AM Changeset in webkit [266069] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: Styles: don't show non-inherited properties
https://bugs.webkit.org/show_bug.cgi?id=215682
Reviewed by Brian Burg.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get propertiesToRender):
- 10:17 AM Changeset in webkit [266068] by
-
- 1 edit4 adds in trunk/LayoutTests
Add a test showing the difference of behavior when closing a WebSocket connection between legacy WebSocket and NSURLSession WebSocket code paths
https://bugs.webkit.org/show_bug.cgi?id=215766
Reviewed by Alex Christensen.
Add a test showing the difference of behavior at connection close time in python websocket script.
This behavior was previously covered in http/tests/websocket/tests/hybi/close-on-* tests.
The test is written so that Chrome, Firefox and NSURLSession WebSocket code path generate all PASS.
Legacy WebSocket code path generates one FAIL.
- http/tests/websocket/tests/hybi/close-and-exceptions_wsh.py: Added.
- http/tests/websocket/tests/hybi/close-and-server-script-exception-expected.txt: Added.
- http/tests/websocket/tests/hybi/close-and-server-script-exception.html: Added.
- http/tests/websocket/tests/hybi/resources/close-and-server-script-exception-iframe.html: Added.
- 10:13 AM Changeset in webkit [266067] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 ] http/tests/websocket/tests/hybi/client-close-2.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215773
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:11 AM Changeset in webkit [266066] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: Styles: grey out properties that aren't used/apply
https://bugs.webkit.org/show_bug.cgi?id=215680
Reviewed by Brian Burg.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .name:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .name:not(:hover, .editing)): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .value:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .value:not(:hover, .editing)): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled):is(.invalid-name, .invalid-value, .other-vendor, .overridden) > .content > .name:not(.editing), body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled):is(.invalid-name, .invalid-value, .other-vendor, .overridden) > .content > .value-container > .value:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled):is(.invalid-name, .invalid-value, .other-vendor, .overridden) > .content > .name:not(:hover, .editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled):is(.invalid-name, .invalid-value, .other-vendor, .overridden) > .content > .value-container > .value:not(:hover, .editing)): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .value:not(.editing) .token-link, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .value:not(:hover, .editing) .token-link): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .value:not(.editing) .token-string, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .value:not(:hover, .editing) .token-string): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .value:not(.editing) .token-comment, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled, .invalid-name, .invalid-value, .other-vendor, .overridden) > .content .value:not(:hover, .editing) .token-comment): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .name:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .name:not(:hover, .editing)): Deleted.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .value:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .value:not(:hover, .editing)): Deleted.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .value:not(.editing) .token-link, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .value:not(:hover, .editing) .token-link): Deleted.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .value:not(.editing) .token-string, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .value:not(:hover, .editing) .token-string): Deleted.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .value:not(.editing) .token-comment, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content .value:not(:hover, .editing) .token-comment): Deleted.
Add additional:nots to existing rules to ensure that they don't conflict with a new rule
that changes the color of the.name/.valueto grey when the property is not applied/used.
- 10:01 AM Changeset in webkit [266065] by
-
- 2 edits in trunk/LayoutTests
webkit-test-runner: Add support for the reftest-wait class name
https://bugs.webkit.org/show_bug.cgi?id=186045
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 9:51 AM Changeset in webkit [266064] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Enable VP9D_SET_LOOP_FILTER_OPT for libvpx vp9 decoder
https://bugs.webkit.org/show_bug.cgi?id=215765
<rdar://problem/67677285>
Reviewed by Eric Carlson.
Following https://webrtc-review.googlesource.com/c/src/+/177335 upstream, let's enable VP9D_SET_LOOP_FILTER_OPT for improved performances.
- Source/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:
- 9:25 AM Changeset in webkit [266063] by
-
- 46 edits11 adds in trunk
[macOS] Show picker for date and datetime-local input types
https://bugs.webkit.org/show_bug.cgi?id=214946
Reviewed by Darin Adler and Wenson Hsieh.
Source/WebCore:
Date and datetime-local input types require a calendar picker to be presented when activated.
Consequently, BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent was modified to
create a DateTimeChooser and display a calendar upon activation. This object is destroyed
when the element is blurred, hiding the calendar.
There is currently no picker UI for month, week, and time input types. As a result,
handleDOMActivateEvent is a no-op on those input types.
Wrote an encoder and decoder for DateTimeChooserParameters, so that the picker can be
created with the correct values.
Tests: fast/forms/date/date-show-hide-picker.html
fast/forms/datetimelocal/datetimelocal-show-hide-picker.html
- WebCore.xcodeproj/project.pbxproj:
- html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::elementDidBlur):
(WebCore::BaseChooserOnlyDateAndTimeInputType::isPresentingAttachedView const):
(WebCore::BaseChooserOnlyDateAndTimeInputType::didChooseValue):
- html/BaseChooserOnlyDateAndTimeInputType.h:
- html/HTMLInputElement.cpp:
- html/MonthInputType.cpp:
(WebCore::MonthInputType::handleDOMActivateEvent):
- html/MonthInputType.h:
- html/TimeInputType.cpp:
(WebCore::TimeInputType::handleDOMActivateEvent):
- html/TimeInputType.h:
- html/WeekInputType.cpp:
(WebCore::WeekInputType::handleDOMActivateEvent):
- html/WeekInputType.h:
- loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::createDateTimeChooser):
- loader/EmptyClients.h:
- page/Chrome.cpp:
(WebCore::Chrome::createDateTimeChooser):
- page/Chrome.h:
- page/ChromeClient.h:
- platform/DateTimeChooser.h:
- platform/DateTimeChooserClient.h:
- platform/DateTimeChooserParameters.h: Added.
(WebCore::DateTimeChooserParameters::encode const):
(WebCore::DateTimeChooserParameters::decode):
Source/WebKit:
Created WKDateTimePicker as a wrapper around NSDatePicker. The picker is
displayed in its own NSWindow, ensuring the view is always above the page.
WebPageProxy and WKDateTimePicker communicate through WebDateTimePickerMac,
in order for the picker to be initialized with the correct initial, minimum,
and maximum date, and so that the chosen date can be sent back to the
WebProcess.
Added IPC messages to enable communication between the UIProcess and the
WebProcess necessary for showing and hiding the picker.
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/PageClient.h:
- UIProcess/WebDateTimePicker.cpp: Added.
(WebKit::WebDateTimePicker::WebDateTimePicker):
(WebKit::WebDateTimePicker::~WebDateTimePicker):
(WebKit::WebDateTimePicker::endPicker):
- UIProcess/WebDateTimePicker.h: Added.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showDateTimePicker):
(WebKit::WebPageProxy::endDateTimePicker):
(WebKit::WebPageProxy::didChooseDate):
(WebKit::WebPageProxy::didEndDateTimePicker):
(WebKit::WebPageProxy::closeOverlayedViews):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::createDateTimePicker):
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::createDateTimePicker):
- UIProcess/mac/WebDateTimePickerMac.h: Added.
- UIProcess/mac/WebDateTimePickerMac.mm: Added.
(WebKit::WebDateTimePickerMac::create):
(WebKit::WebDateTimePickerMac::~WebDateTimePickerMac):
(WebKit::WebDateTimePickerMac::WebDateTimePickerMac):
(WebKit::WebDateTimePickerMac::endPicker):
(WebKit::WebDateTimePickerMac::showDateTimePicker):
(WebKit::WebDateTimePickerMac::didChooseDate):
(-[WKDateTimePickerWindow initWithContentRect:styleMask:backing:defer:]):
(-[WKDateTimePickerWindow canBecomeKeyWindow]):
(-[WKDateTimePickerWindow hasKeyAppearance]):
(-[WKDateTimePickerWindow shadowOptions]):
(-[WKDateTimePicker initWithParams:inView:]):
(-[WKDateTimePicker showPicker:]):
(-[WKDateTimePicker invalidate]):
(-[WKDateTimePicker didChooseDate:]):
(-[WKDateTimePicker dateFormatStringForType:]):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createDateTimeChooser):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebDateTimeChooser.cpp: Added.
(WebKit::WebDateTimeChooser::WebDateTimeChooser):
(WebKit::WebDateTimeChooser::didChooseDate):
(WebKit::WebDateTimeChooser::didEndChooser):
(WebKit::WebDateTimeChooser::endChooser):
(WebKit::WebDateTimeChooser::showChooser):
- WebProcess/WebCoreSupport/WebDateTimeChooser.h: Added.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setActiveDateTimeChooser):
(WebKit::WebPage::didChooseDate):
(WebKit::WebPage::didEndDateTimePicker):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createDateTimeChooser):
Tools:
Added isShowingDateTimePicker testing hook in order to enable testing of the visibility of
the picker.
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::isShowingDateTimePicker const):
- WebKitTestRunner/mac/UIScriptControllerMac.h:
- WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::isShowingDateTimePicker const):
LayoutTests:
Added tests to verify that the picker is correctly shown and hidden for date and
datetime-local input types.
- fast/forms/date/date-show-hide-picker-expected.txt: Added.
- fast/forms/date/date-show-hide-picker.html: Added.
- fast/forms/datetimelocal/datetimelocal-show-hide-picker-expected.txt: Added.
- fast/forms/datetimelocal/datetimelocal-show-hide-picker.html: Added.
- platform/ios/TestExpectations:
- resources/ui-helper.js:
(window.UIHelper.isShowingDateTimePicker):
- 9:22 AM Changeset in webkit [266062] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Rename LineBox::baseline to alignment baseline
https://bugs.webkit.org/show_bug.cgi?id=214784
Reviewed by Antti Koivisto.
See https://www.w3.org/TR/css-inline-3/#alignment-baseline
Use the spec term. This helps to tell the dominant and the alignment baselines apart during line building.
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
- layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::LineBox):
(WebCore::Layout::LineBox::setAlignmentBaselineIfGreater):
(WebCore::Layout::LineBox::setAscentIfGreater):
(WebCore::Layout::LineBox::alignmentBaseline const):
(WebCore::Layout::LineBox::resetAlignmentBaseline):
(WebCore::Layout::LineBox::setBaselineIfGreater): Deleted.
(WebCore::Layout::LineBox::baseline const): Deleted.
(WebCore::Layout::LineBox::resetBaseline): Deleted.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::adjustBaselineAndLineHeight):
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::baseline const):
- 8:50 AM Changeset in webkit [266061] by
-
- 7 edits in trunk/Source
Non-unified build fixes, late August 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=215768
Unreviewed build fix.
Source/WebCore:
No new tests needed.
- Modules/webaudio/StereoPannerNode.cpp: Add missing headers AudioNodeInput.h,
AudioNodeOutput.h, and wtf/IsoMallocInlines.h.
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::visitAdditionalChildren):
Add JSC:: namespace to SlotVisitor parameter type.
- dom/SimpleRange.cpp: Add missing ShadowRoot.h header.
- history/CachedPage.cpp: Add missing FrameLoaderClient.h header.
Source/WebKit:
- UIProcess/WebURLSchemeTask.cpp: Add missing SharedBufferDataReference.h header.
- 8:42 AM Changeset in webkit [266060] by
-
- 2 edits in trunk/LayoutTests
WebGL conformance: Failures and Timeouts in suite 2.0.0/conformance2
https://bugs.webkit.org/show_bug.cgi?id=189672
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 8:02 AM Changeset in webkit [266059] by
-
- 12 edits in trunk/LayoutTests
http/tests/websocket/tests/hybi/close-on-* tests are not interoperable
https://bugs.webkit.org/show_bug.cgi?id=215692
Reviewed by Darin Adler.
Before the patch, tests were not passing in Chrome, Firefox and NSURLSession WebSocket code path.
This was due to the fact the web socket script is using try/finally and the closure of the connection is not raising an exception
while it is for Chrome, Firefox and NSURLSession WebSocket code path.
Change the WebSocket server script to more reliably send the socket message at closing time of the connection.
- http/tests/websocket/tests/hybi/close-on-navigate-new-location-expected.txt:
- http/tests/websocket/tests/hybi/close-on-navigate-new-location.html:
- http/tests/websocket/tests/hybi/close-on-unload-and-force-gc-expected.txt:
- http/tests/websocket/tests/hybi/close-on-unload-and-force-gc.html:
- http/tests/websocket/tests/hybi/close-on-unload-expected.txt:
- http/tests/websocket/tests/hybi/close-on-unload-reference-in-parent-expected.txt:
- http/tests/websocket/tests/hybi/close-on-unload-reference-in-parent.html:
- http/tests/websocket/tests/hybi/close-on-unload.html:
- http/tests/websocket/tests/hybi/close-on-unload_wsh.py:
(web_socket_transfer_data):
- http/tests/websocket/tests/hybi/send-after-close-on-unload-expected.txt:
- http/tests/websocket/tests/hybi/send-after-close-on-unload.html:
- 8:02 AM Changeset in webkit [266058] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk1 Debug ] inspector/animation/nameChanged.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=215767
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 7:57 AM Changeset in webkit [266057] by
-
- 7 edits in trunk
Cocoa WebSocketTask should expose WebSocket server extensions
https://bugs.webkit.org/show_bug.cgi?id=215696
Reviewed by Darin Adler.
Source/WebKit:
Send back to WebProcess the value of server WebSocket extensions.
- NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
(WebKit::WebSocketTask::didConnect):
LayoutTests:
Make the tests agnostic of using the legacy or standard deflate extension.
If using the standard deflate extensions, do not expect subparameters (this matches Chrome, Firefox and NSURLSession code path).
- http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt:
- http/tests/websocket/tests/hybi/deflate-frame-parameter.html:
- http/tests/websocket/tests/hybi/extensions-expected.txt:
- http/tests/websocket/tests/hybi/extensions.html:
- 7:50 AM Changeset in webkit [266056] by
-
- 12 edits in trunk/Source/WebCore
[LFC][IFC] Use the term 'baseline' to indicate alignment baseline
https://bugs.webkit.org/show_bug.cgi?id=214779
Reviewed by Antti Koivisto.
This patch is in preparation for decoupling the line box and the root inline box geometry.
Inline boxes have ascent/descent pairs, while line boxes have inline boxes and a baseline.
- layout/displaytree/DisplayPainter.cpp:
(WebCore::Display::paintInlineContent):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
- layout/inlineformatting/InlineFormattingContextQuirks.cpp:
(WebCore::Layout::InlineFormattingContext::Quirks::lineHeightConstraints const):
- layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::AscentAndDescent::height const):
(WebCore::Layout::LineBox::ascentAndDescent const):
(WebCore::Layout::LineBox::LineBox):
(WebCore::Layout::LineBox::InlineBox::InlineBox):
(WebCore::Layout::LineBox::setBaselineIfGreater):
(WebCore::Layout::LineBox::setAscentIfGreater):
(WebCore::Layout::LineBox::setDescentIfGreater):
(WebCore::Layout::LineBox::baseline const):
(WebCore::Layout::LineBox::resetBaseline):
(WebCore::Layout::LineBox::InlineBox::Baseline::height const): Deleted.
(WebCore::Layout::LineBox::setBaselineOffsetIfGreater): Deleted.
(WebCore::Layout::LineBox::baselineOffset const): Deleted.
(WebCore::Layout::LineBox::InlineBox::Baseline::Baseline): Deleted.
(WebCore::Layout::LineBox::InlineBox::Baseline::setAscent): Deleted.
(WebCore::Layout::LineBox::InlineBox::Baseline::setDescent): Deleted.
(WebCore::Layout::LineBox::InlineBox::Baseline::reset): Deleted.
(WebCore::Layout::LineBox::InlineBox::Baseline::ascent const): Deleted.
(WebCore::Layout::LineBox::InlineBox::Baseline::descent const): Deleted.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::alignContentVertically):
(WebCore::Layout::LineBuilder::adjustBaselineAndLineHeight):
(WebCore::Layout::LineBuilder::halfLeadingMetrics):
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::baseline const):
(WebCore::Layout::LineBuilder::baselineOffset const): Deleted.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):
- layout/tableformatting/TableFormattingContextGeometry.cpp:
(WebCore::Layout::TableFormattingContext::Geometry::usedBaselineForCell):
- layout/tableformatting/TableGrid.h:
(WebCore::Layout::TableGrid::Row::setBaseline):
(WebCore::Layout::TableGrid::Row::baseline const):
(WebCore::Layout::TableGrid::Cell::setBaseline):
(WebCore::Layout::TableGrid::Cell::baseline const):
(WebCore::Layout::TableGrid::Row::setBaselineOffset): Deleted.
(WebCore::Layout::TableGrid::Row::baselineOffset const): Deleted.
(WebCore::Layout::TableGrid::Cell::setBaselineOffset): Deleted.
(WebCore::Layout::TableGrid::Cell::baselineOffset const): Deleted.
- layout/tableformatting/TableLayout.cpp:
(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):
- 6:10 AM Changeset in webkit [266055] by
-
- 18 edits in trunk
Unreviewed. Fix GTK4 build
Source/WebCore:
- SourcesGTK.txt:
- platform/gtk/GtkUtilities.cpp:
(WebCore::monitorWorkArea):
- platform/gtk/GtkUtilities.h:
- platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenAvailableRect):
Source/WebKit:
- PlatformGTK.cmake:
- UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(webkitAuthenticationDialogInitialize):
- UIProcess/API/gtk/WebKitScriptDialogImpl.cpp:
(webkitScriptDialogImplConstructed):
(webkit_script_dialog_impl_class_init):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseEvent):
(webkit_web_view_base_class_init):
- UIProcess/API/gtk/WebKitWebViewDialog.cpp:
(webkitWebViewDialogConstructed):
(webkitWebViewDialogSetChild):
- UIProcess/Inspector/gtk/WebKitInspectorWindow.cpp:
(webkit_inspector_window_init):
- UIProcess/gtk/WebDataListSuggestionsDropdownGtk.cpp:
(WebKit::WebDataListSuggestionsDropdownGtk::show):
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::bindAccessibilityTree):
- UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
Tools:
- MiniBrowser/gtk/BrowserSearchBox.c:
- MiniBrowser/gtk/BrowserWindow.c:
- 5:29 AM Changeset in webkit [266054] by
-
- 4 edits in trunk
Make window.find not default the search string to undefined
https://bugs.webkit.org/show_bug.cgi?id=215757
Patch by Rob Buis <rbuis@igalia.com> on 2020-08-24
Reviewed by Darin Adler.
Source/WebCore:
Make window.find not default the search string to undefined, instead
use the null string. Before this change window.find() would find a
hit in a page containing the text string "undefined".
Test: fast/text/window-find.html
- page/DOMWindow.idl:
LayoutTests:
Add tests to verify window.find() does not use "undefined"
as text string. This also fixes the logic of the test to
not always output PASS at the end.
- fast/text/window-find.html:
- 2:55 AM Changeset in webkit [266053] by
-
- 2 edits in trunk/JSTests
Unreviewed, ignore RangeErrors when ICU is too old
Since ICU version is different (very sad), some of tests can throw an error.
- stress/intl-language-tag.js:
(let.shouldThrow):
(let.shouldNotThrow):
(suppressErrors):
(vm.icuVersion):
(shouldThrow): Deleted.
(shouldNotThrow): Deleted.
- 2:26 AM Changeset in webkit [266052] by
-
- 7 edits in trunk
RTCRtpSynchronizationSource.rtpTimestamp is not present
https://bugs.webkit.org/show_bug.cgi?id=215722
Patch by Justin Uberti <justin@uberti.name> on 2020-08-24
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Updated expectations file to indicate that tests checking for .rtpTimestamp now pass.
- LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getSynchronizationSources.https-expected.txt:
Source/WebCore:
Updated expected results in LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getSynchronizationSources.https-expected.txt.
- Modules/mediastream/RTCRtpContributingSource.idl:
- Modules/mediastream/RTCRtpContributingSource.idl:
- Modules/mediastream/RTCRtpSynchronizationSource.idl:
Minor modification to ensure JSRTCRtpSynchronizationSource.cpp gets regenerated.
- Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp:
(WebCore::fillRTCRtpContributingSource):
Aug 23, 2020:
- 6:51 PM Changeset in webkit [266051] by
-
- 15 edits2 adds in trunk
Programmatic selection of text in a text field causes the highlight overlay to spill out
https://bugs.webkit.org/show_bug.cgi?id=215647
<rdar://problem/67404979>
Reviewed by Darin Adler.
Source/WebCore:
See WebKit ChangeLog for more detail.
- html/HTMLTextFormControlElement.h: Export a helper function.
Source/WebKit:
UIKit consults the SPI method
-_selectionClipRecton WKContentView to determine the maximum bounds in which it
is allowed to show text selection UI (i.e. the text caret view, selection highlight views, and selection
grabbers). Normally, when contentEditable elements and editable text form controls are focused, we plumb the
bounds of the focused element to the UI process viafocusedElementRectin editor state's post layout data.
However, in this case, the selection is inside a readonly text field that is *not* focused; this causes us to
returnCGRectNullfrom-_selectionClipRect, which means that UIKit selection UI is not clipped at all and
instead overflows the bounds of the input element.
To fix this, rearrange some logic in
WebPage::getPlatformEditorStateinWebPageIOS.mmsuch that we compute
and send the selection clipping rect if the selection is inside a text form control, even if it is not the
focused element. In doing this, we also rename some confusingly-named members inEditorState::PostLayoutData
(see below for more detail).
Test: editing/selection/ios/select-all-in-readonly-input-does-not-overflow.html
- Platform/spi/ios/UIKitSPI.h:
Add a declaration for
-_selectionClipRect.
- Shared/EditorState.cpp:
(WebKit::EditorState::PostLayoutData::encode const):
(WebKit::EditorState::PostLayoutData::decode):
(WebKit::operator<<):
- Shared/EditorState.h:
Split the existing rect member
focusedElementRectinto two:selectionClipRecton iOS, and
selectionBoundingRecton macOS. Previously,focusedElementRectwas set to the focused element's bounding
rect on iOS (as expected), but on macOS, we set to the bounds of the ranged or caret selection; we proceed to
use this rect to mean the bounds of the selection anyways in macOS-specific code, so it makes more sense to just
move this into the macOS-specific section.
Additionally, after the below change in WebPageIOS,
focusedElementRectis no longer specific to the focused
element, so rename it instead toselectionClipRectinstead. InWKContentViewInteraction.mm, this rect is
effectively only used in two ways: as the selection clip rect for UIKit, and to determine if the selection would
be completely clipped anyways (in which case we suppress UIKit text interactions), soselectionClipRectis a
name that is suitable for both purposes.
- UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView _candidateRect]):
- UIProcess/Cocoa/WebViewImpl.mm:
Rename
focusedElementRecttoselectionBoundingRecton macOS.
(WebKit::WebViewImpl::handleRequestedCandidates):
- UIProcess/ios/WKContentViewInteraction.mm:
Rename
focusedElementRecttoselectionClipRecton iOS.
(WebKit::WKSelectionDrawingInfo::WKSelectionDrawingInfo):
(-[WKContentView _selectionClipRect]):
Change this to not require a focused element when returning the selection clip rect, and instead return the
editor state's selection clip rect as long as it is not empty.
(-[WKContentView _updateSelectionAssistantSuppressionState]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):
Refactor this code to compute and send selectionClipRect as long as the selection is inside a form control or
editing host (not just when there is a focused element). Also leave a drive-by FIXME about using the focused
element (instead of the selection container node) when computing the caret color.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::getPlatformEditorState const):
Tools:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::clipSelectionViewRectToContentView):
Add a helper function to clip UIKit selection UI rects (for carets, selection grabbers, and ranged selection
highlights) to the content view's (WKContentView's) bounds, as well as the selection clip rect if it is nonnull.
(WTR::UIScriptControllerIOS::selectionStartGrabberViewRect const):
(WTR::UIScriptControllerIOS::selectionEndGrabberViewRect const):
(WTR::UIScriptControllerIOS::selectionCaretViewRect const):
(WTR::UIScriptControllerIOS::selectionRangeViewRects const):
LayoutTests:
- editing/selection/ios/select-all-in-readonly-input-does-not-overflow-expected.txt: Added.
- editing/selection/ios/select-all-in-readonly-input-does-not-overflow.html: Added.
Add a new layout test to verify that the width of the selection view does not exceed the width of the readonly
input containing the selected text.
- resources/ui-helper.js:
(window.UIHelper.async waitForSelectionToAppear):
Adjust this UIHelper function to additionally resolve to the selection rects, so that it won't be necessary for
callers to ask for the selection view rects separately after waiting for selection views to appear.
- 6:30 PM Changeset in webkit [266050] by
-
- 4 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
- platform/wincairo/css1/text_properties/letter_spacing-expected.txt:
- platform/wincairo/fast/text/emphasis-expected.txt:
- 2:21 PM Changeset in webkit [266049] by
-
- 3 edits in trunk/LayoutTests
Avoid timeout when http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html fails
https://bugs.webkit.org/show_bug.cgi?id=215759
Reviewed by Darin Adler.
- http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html:
Finish the test if the test fails because the close callback is
called.
- platform/glib/TestExpectations: Update expectation.
- 10:06 AM Changeset in webkit [266048] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Introduce the root inline box
https://bugs.webkit.org/show_bug.cgi?id=214733
Reviewed by Antti Koivisto.
This is in preparation for having a dedicated line box for each line with inline boxes inside.
At this point we only use the root inline box to proxy the baseline handling.
See https://www.w3.org/TR/css-inline-3/#model
- layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::InlineBox::Baseline::height const):
(WebCore::Layout::LineBox::LineBox):
(WebCore::Layout::LineBox::InlineBox::InlineBox):
(WebCore::Layout::LineBox::setLogicalHeightIfGreater):
(WebCore::Layout::LineBox::baseline const):
(WebCore::Layout::LineBox::setBaselineOffsetIfGreater):
(WebCore::Layout::LineBox::setAscentIfGreater):
(WebCore::Layout::LineBox::setDescentIfGreater):
(WebCore::Layout::LineBox::baselineOffset const):
(WebCore::Layout::LineBox::resetBaseline):
(WebCore::Layout::LineBox::InlineBox::Baseline::Baseline):
(WebCore::Layout::LineBox::InlineBox::Baseline::setAscent):
(WebCore::Layout::LineBox::InlineBox::Baseline::setDescent):
(WebCore::Layout::LineBox::InlineBox::Baseline::reset):
(WebCore::Layout::LineBox::InlineBox::Baseline::ascent const):
(WebCore::Layout::LineBox::InlineBox::Baseline::descent const):
(WebCore::Layout::InlineBox::Baseline::height const): Deleted.
(WebCore::Layout::InlineBox::logicalRect const): Deleted.
(WebCore::Layout::InlineBox::scrollableOverflow const): Deleted.
(WebCore::Layout::InlineBox::logicalLeft const): Deleted.
(WebCore::Layout::InlineBox::logicalRight const): Deleted.
(WebCore::Layout::InlineBox::logicalTop const): Deleted.
(WebCore::Layout::InlineBox::logicalBottom const): Deleted.
(WebCore::Layout::InlineBox::logicalWidth const): Deleted.
(WebCore::Layout::InlineBox::logicalHeight const): Deleted.
(WebCore::Layout::InlineBox::resetDescent): Deleted.
(WebCore::Layout::InlineBox::setLogicalHeight): Deleted.
(WebCore::Layout::InlineBox::setLogicalWidth): Deleted.
(WebCore::Layout::InlineBox::setScrollableOverflow): Deleted.
(WebCore::Layout::InlineBox::moveHorizontally): Deleted.
(WebCore::Layout::InlineBox::expandHorizontally): Deleted.
(WebCore::Layout::InlineBox::shrinkHorizontally): Deleted.
(WebCore::Layout::InlineBox::expandVertically): Deleted.
(WebCore::Layout::InlineBox::shrinkVertically): Deleted.
(WebCore::Layout::InlineBox::isConsideredEmpty const): Deleted.
(WebCore::Layout::InlineBox::setIsConsideredEmpty): Deleted.
(WebCore::Layout::InlineBox::setIsConsideredNonEmpty): Deleted.
(WebCore::Layout::InlineBox::InlineBox): Deleted.
(WebCore::Layout::InlineBox::setLogicalHeightIfGreater): Deleted.
(WebCore::Layout::InlineBox::baseline const): Deleted.
(WebCore::Layout::InlineBox::setBaselineOffsetIfGreater): Deleted.
(WebCore::Layout::InlineBox::setAscentIfGreater): Deleted.
(WebCore::Layout::InlineBox::setDescentIfGreater): Deleted.
(WebCore::Layout::InlineBox::baselineOffset const): Deleted.
(WebCore::Layout::InlineBox::resetBaseline): Deleted.
(WebCore::Layout::InlineBox::Baseline::Baseline): Deleted.
(WebCore::Layout::InlineBox::Baseline::setAscent): Deleted.
(WebCore::Layout::InlineBox::Baseline::setDescent): Deleted.
(WebCore::Layout::InlineBox::Baseline::reset): Deleted.
(WebCore::Layout::InlineBox::Baseline::ascent const): Deleted.
(WebCore::Layout::InlineBox::Baseline::descent const): Deleted.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::halfLeadingMetrics):
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::lineBox const):
- layout/inlineformatting/LineLayoutContext.h:
- 6:53 AM Changeset in webkit [266047] by
-
- 14 edits in trunk/Source/WebCore
[LFC][IFC] Display::LineBox does not need ascent/descent geometry
https://bugs.webkit.org/show_bug.cgi?id=214720
Reviewed by Antti Koivisto.
Line box is just a rectangular area that contains all the inline boxes that form a single line.
It generally has a non-zero baseline (the root inline box's baseline), but it does not have ascent/descent geometry.
- layout/displaytree/DisplayLineBox.h:
(WebCore::Display::LineBox::baseline const):
(WebCore::Display::LineBox::LineBox):
(WebCore::Display::LineBox::Baseline::height const): Deleted.
(WebCore::Display::LineBox::Baseline::ascent const): Deleted.
(WebCore::Display::LineBox::Baseline::descent const): Deleted.
(WebCore::Display::LineBox::baselineOffset const): Deleted.
(WebCore::Display::LineBox::Baseline::Baseline): Deleted.
- layout/displaytree/DisplayPainter.cpp:
(WebCore::Display::paintInlineContent):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
- layout/inlineformatting/InlineFormattingContextQuirks.cpp:
(WebCore::Layout::InlineFormattingContext::Quirks::lineDescentNeedsCollapsing const):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::alignContentVertically):
(WebCore::Layout::LineBuilder::adjustBaselineAndLineHeight):
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::firstLineBaseline const):
(WebCore::LayoutIntegration::LineLayout::lastLineBaseline const):
(WebCore::LayoutIntegration::LineLayout::paint):
- layout/tableformatting/TableFormattingContextGeometry.cpp:
(WebCore::Layout::TableFormattingContext::Geometry::usedBaselineForCell):
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::layoutFormattingContextEnabled const):
(WebCore::RuntimeEnabledFeatures::layoutFormattingContextIntegrationEnabled const):
- rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::boundingBoxForRenderTreeDump const):
- rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Run::baseline const):
(WebCore::SimpleLineLayout::RunResolver::Run::baselineOffset const): Deleted.
- rendering/line/LineLayoutTraversal.h:
(WebCore::LineLayoutTraversal::Box::baseline const):
(WebCore::LineLayoutTraversal::Box::baselineOffset const): Deleted.
- rendering/line/LineLayoutTraversalComplexPath.h:
(WebCore::LineLayoutTraversal::ComplexPath::baseline const):
(WebCore::LineLayoutTraversal::ComplexPath::baselineOffset const): Deleted.
- rendering/line/LineLayoutTraversalDisplayRunPath.h:
(WebCore::LineLayoutTraversal::DisplayRunPath::baseline const):
(WebCore::LineLayoutTraversal::DisplayRunPath::baselineOffset const): Deleted.
- rendering/line/LineLayoutTraversalSimplePath.h:
(WebCore::LineLayoutTraversal::SimplePath::baseline const):
(WebCore::LineLayoutTraversal::SimplePath::baselineOffset const): Deleted.
- 6:40 AM Changeset in webkit [266046] by
-
- 2 edits in trunk/Source/WebCore
Do not use undefined default param in CSSStyleDeclaration.idl
https://bugs.webkit.org/show_bug.cgi?id=215753
Patch by Rob Buis <rbuis@igalia.com> on 2020-08-23
Reviewed by Darin Adler.
Do not use undefined default parameter value in CSSStyleDeclaration.idl, instead use no explicit default
parameter at all. This means a zero length String will be used, which will be more efficient when using
the cssPropertyID helper method, as well as less error-prone.
- css/CSSStyleDeclaration.idl:
- 5:45 AM Changeset in webkit [266045] by
-
- 4 edits2 adds in trunk
[LFC][IFC] Move all line height and baseline adjustment logic to LineBuilder::adjustBaselineAndLineHeight
https://bugs.webkit.org/show_bug.cgi?id=214474
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/layoutformattingcontext/inline-text-outside-of-inline-container-simple.html
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::adjustBaselineAndLineHeight):
- layout/inlineformatting/InlineLineBuilder.h:
LayoutTests:
- fast/layoutformattingcontext/inline-text-outside-of-inline-container-simple-expected.html: Added.
- fast/layoutformattingcontext/inline-text-outside-of-inline-container-simple.html: Added.
- 12:11 AM Changeset in webkit [266044] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, wrong merge resolution between r266031 and r263837
https://bugs.webkit.org/show_bug.cgi?id=209774
r263837 is landed after r266031 is configured. OSS buildbots didn't catch this since they are using old ICU headers.
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):