Timeline
May 18, 2016:
- 10:20 PM Changeset in webkit [201127] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Perf dashboard "Add pane" should list first by test, then by machine
https://bugs.webkit.org/show_bug.cgi?id=157880
Reviewed by Stephanie Lewis.
Reversed the order which tests and platforms are selected. Also split .pane-selector-container into #tests and
#platform for the ease of DOM node manipulations.
- public/v3/components/pane-selector.js:
(PaneSelector):
(PaneSelector.prototype._renderPlatformList): Renamed from _renderPlatformLists since there is a single list
for platforms. This list now disappears while a non-metric item is selected in the collection of test lists.
e.g. "Speedometer" instead of its "Score" metric. Remember the last metric we rendered to avoid churning.
(PaneSelector.prototype._renderTestLists): Render the top level tests once. The index of lists have been
decreased by one since test lists are now inside #tests instead of appearing after the platform list.
(PaneSelector.prototype._buildTestList): Don't filter tests since platform is chosen after tests now.
(PaneSelector.prototype._replaceList):
(PaneSelector.prototype._selectedItem): Don't reset the test path (specifies which subtest or metric is picked)
when a platform is selected since it happens after a test metric is chosen now.
(PaneSelector.prototype._clickedItem): Add a pane when a platform is clicked, not when a metric is clicked.
(PaneSelector.cssTemplate):
- 9:57 PM Changeset in webkit [201126] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Classes toggle wraps in some localizations
https://bugs.webkit.org/show_bug.cgi?id=157878
rdar://problem/26108859
Reviewed by Brian Burg.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
Add white-space: nowrap.
- 8:21 PM Changeset in webkit [201125] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: unable to switch between navigation tree outlines using up/down arrow keys
https://bugs.webkit.org/show_bug.cgi?id=157713
<rdar://problem/26287086>
Reviewed by Timothy Hatcher.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
Listen for TreeOutline focus changes, and associate trees and their DOM
elements for quick lookup when handling focus events.
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineDidFocus):
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
When selecting a tree element causes an element in a different tree outline
to be deselected, remember the old selection so that it can be restored
the next time the tree outline get the focus.
- 8:11 PM Changeset in webkit [201124] by
-
- 3 edits in trunk/Source/WebCore
Make LayoutUnit::operator bool() explicit.
https://bugs.webkit.org/show_bug.cgi?id=157871
Reviewed by Simon Fraser.
This is in preparation for getting LayoutUnit::operator int() removed.
No behaviour change.
- platform/LayoutUnit.h:
(WebCore::LayoutUnit::operator bool):
- rendering/RenderView.cpp:
(WebCore::RenderView::initializeLayoutState): Negative page height is invalid.
- 7:39 PM Changeset in webkit [201123] by
-
- 5 edits in trunk/Websites/perf.webkit.org
Analysis task should look for a git commit based on abridged hashes
https://bugs.webkit.org/show_bug.cgi?id=157877
<rdar://problem/26254374>
Reviewed by Chris Dumez.
Made /privileged-api/associate-commit look for commits using LIKE instead of an exact match.
Associate the commit when there is exactly one match.
- public/include/commit-log-fetcher.php:
(CommitLogFetcher::fetch_between):
- public/include/db.php:
(Database::escape_for_like): Extracted from CommitLogFetcher::fetch_between.
- public/privileged-api/associate-commit.php:
(main): Look for the commits using LIKE. Reject whenever there are multiple commits. We limit the number of
matches to two for performance when the user specifies something that almost thousands of commits: e.g. "1".
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage.prototype._associateCommit): Added human friendly error messages for mismatching commits.
- 6:27 PM Changeset in webkit [201122] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
Function with default parameter values that are arrow functions that capture this isn't working
https://bugs.webkit.org/show_bug.cgi?id=157786
<rdar://problem/26327329>
Reviewed by Geoffrey Garen.
To make the scopes ordered properly, I needed to initialize the arrow
function lexical environment before initializing default parameter values.
I also made the code easier to reason about by never reusing the function's
var lexical environment for the arrow function lexical environment. The
reason for this is that that code was wrong, and we just didn't have code to
that properly tested it. It was easy for that code to be wrong because
sometimes the function's lexical environment isn't the top-most scope
(namely, when a function's parameter list is non-simple) and sometimes
it is (when the function's parameter list is simple).
Also, because a function's default parameter values may capture the
'arguments' variable inside an arrow function, I needed to take care
to initialize the 'arguments' variable as part of whichever scope
is the top-most scope. It's either the function's var environment
if the parameter list is simple, or it's the function's parameter
environment if the parameter list is non-simple.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
(JSC::BytecodeGenerator::initializeParameters):
(JSC::BytecodeGenerator::initializeVarLexicalEnvironment):
(JSC::BytecodeGenerator::visibleNameForParameter):
- bytecompiler/BytecodeGenerator.h:
- tests/stress/arrow-functions-as-default-parameter-values.js: Added.
(assert):
(test):
(test.foo):
- tests/stress/op-push-name-scope-crashes-profiler.js:
(test):
- 6:01 PM Changeset in webkit [201121] by
-
- 2 edits in trunk/Source/WTF
StringBuilder::appendQuotedJSONString doesn't properly protect against the math it's doing. Make the math fit the assertion.
https://bugs.webkit.org/show_bug.cgi?id=157868
Reviewed by Benjamin Poulain.
appendQuotedJSONString was rounding up to the next power of two when resizing
its buffer. Lets call the allocation size X. If X > 231, then
roundUpToPowerOfTwo(X) == 0. This patch fixes this by making the
assertion reflect what the code is doing. We now allocate to a size
of X = std::max(maximumCapacityRequired , roundUpToPowerOfTwo(maximumCapacityRequired))
- wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::appendQuotedJSONString):
- 5:45 PM Changeset in webkit [201120] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Unreviewed build fix. Use --date-order so that every child commit appears after its parent.
Otherwise we'll hit a FailedToFindParentCommit error while submitting a commit that appears before its parent.
- tools/sync-commits.py:
(GitRepository._fetch_all_hashes):
- 5:20 PM Changeset in webkit [201119] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Fullscreen video playback broken in WK1 apps
https://bugs.webkit.org/show_bug.cgi?id=157847
<rdar://problem/25879521>
Reviewed by Jer Noble.
- platform/cocoa/WebVideoFullscreenModelVideoElement.h:
(WebCore::WebVideoFullscreenModelVideoElement::playbackSessionModel): New, model accessor.
- platform/cocoa/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::setWebVideoFullscreenInterface): Set model's playback interface.
(WebVideoFullscreenModelVideoElement::setVideoElement): Set model's video element.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::didCleanupFullscreen): Clear m_sessionModel.
(WebVideoFullscreenControllerContext::setVideoDimensions): This is called from both the UI and
Web threads, so dispatch to the UI thread when necessary.
(WebVideoFullscreenControllerContext::play): Call the model's playback session on the Web thread.
(WebVideoFullscreenControllerContext::pause): Ditto.
(WebVideoFullscreenControllerContext::togglePlayState): Ditto.
(WebVideoFullscreenControllerContext::beginScrubbing): Ditto.
(WebVideoFullscreenControllerContext::endScrubbing): Ditto.
(WebVideoFullscreenControllerContext::seekToTime): Ditto.
(WebVideoFullscreenControllerContext::fastSeek): Ditto.
(WebVideoFullscreenControllerContext::beginScanningForward): Ditto.
(WebVideoFullscreenControllerContext::beginScanningBackward): Ditto.
(WebVideoFullscreenControllerContext::endScanning): Ditto.
(WebVideoFullscreenControllerContext::selectAudioMediaOption): Ditto.
(WebVideoFullscreenControllerContext::selectLegibleMediaOption): Ditto.
(WebVideoFullscreenControllerContext::setUpFullscreen): Create and configure a session model.
(WebVideoFullscreenSessionModel::play): Pass call back to the controller.
(WebVideoFullscreenSessionModel::pause): Ditto.
(WebVideoFullscreenSessionModel::togglePlayState): Ditto.
(WebVideoFullscreenSessionModel::beginScrubbing): Ditto.
(WebVideoFullscreenSessionModel::endScrubbing): Ditto.
(WebVideoFullscreenSessionModel::seekToTime): Ditto.
(WebVideoFullscreenSessionModel::fastSeek): Ditto.
(WebVideoFullscreenSessionModel::beginScanningForward): Ditto.
(WebVideoFullscreenSessionModel::beginScanningBackward): Ditto.
(WebVideoFullscreenSessionModel::endScanning): Ditto.
(WebVideoFullscreenSessionModel::selectAudioMediaOption): Ditto.
(WebVideoFullscreenSessionModel::selectLegibleMediaOption): Ditto.
- 5:04 PM Changeset in webkit [201118] by
-
- 3 edits in trunk/Source/WebKit2
Add WKPreferencesRef getter/setter pair to set RTL mode
https://bugs.webkit.org/show_bug.cgi?id=157873
rdar://problem/26329970
Reviewed by Tim Horton.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetUserInterfaceDirectionPolicy):
(WKPreferencesGetUserInterfaceDirectionPolicy):
- UIProcess/API/C/WKPreferencesRef.h:
- 4:55 PM Changeset in webkit [201117] by
-
- 2 edits in trunk/Tools
Remove underline from Status Bubbles on dashboard
https://bugs.webkit.org/show_bug.cgi?id=157870
rdar://problem/26332321
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css: Reverted style
change made in http://trac.webkit.org/r200880
- 4:49 PM Changeset in webkit [201116] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Removed the erroneously committed debug code.
- tools/sync-commits.py:
(GitRepository.fetch_commit):
- 4:42 PM Changeset in webkit [201115] by
-
- 2 edits1 add1 delete in trunk/Websites/perf.webkit.org
Perf dashboard should have a script to sync git commits
https://bugs.webkit.org/show_bug.cgi?id=157867
Reviewed by Chris Dumez.
Added the support to pull from a Git repo to pull-svn.py and renamed it to sync-commits.py.
Added two classes SVNRepository and GitRepository which inherits from an abstract class, Repository.
The code that fetches commit and format revision number / git hash is specialized in each.
- Install.md:
- tools/pull-svn.py: Removed.
- tools/sync-commits.py: Renamed from Websites/perf.webkit.org/tools/pull-svn.py.
(main): Renamed --svn-config-json to --repository-config-json. Also made it robust against exceptions
inside fetch_commits_and_submit of each Repository class.
(load_repository): A factory function for SVNRepository and GitRepository.
(Repository): Added.
(Repository.init): Added.
(Repository.fetch_commits_and_submit): Extracted from standalone fetch_commits_and_submit.
(Repository.fetch_commit): Added. Implemented by a subclass.
(Repository.format_revision): Ditto.
(Repository.determine_last_reported_revision): Extracted from alonealone
determine_first_revision_to_fetch. The fallback to use "oldest" has been moved to SVNRepository's
fetch_commit since it doesn't work in Git.
(Repository.fetch_revision_from_dasbhoard): Extracted from fetch_revision_from_dasbhoard.
(SVNRepository): Added.
(SVNRepository.init): Added.
(SVNRepository.fetch_commit): Extracted from standalone fetch_commit_and_resolve_author and fetch_commit.
(SVNRepository._resolve_author_name): Renamed from resolve_author_name_from_account.
(SVNRepository.format_revision): Added.
(GitRepository): Added.
(GitRepository.init):
(GitRepository.fetch_commit): Added. Fetches the list of all git hashes if needed, and finds the next hash.
(GitRepository._find_next_hash): Added. Finds the first commit that appears after the specified hash.
(GitRepository._fetch_all_hashes): Added. Gets the list of all git hashs chronologically (old to new).
(GitRepository._run_git_command): Added.
(GitRepository.format_revision): Added. Use the first 8 characters of the hash.
- 4:25 PM Changeset in webkit [201114] by
-
- 6 edits in trunk/Source
Remove LayoutUnit::operator unsigned().
https://bugs.webkit.org/show_bug.cgi?id=157856
Reviewed by Simon Fraser.
Converting LayoutUnit values to unsigned is lossy. We should avoid
such implicit conversions.
No behaviour change.
- html/ImageInputType.cpp:
(WebCore::ImageInputType::height):
(WebCore::ImageInputType::width):
- page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
- platform/LayoutUnit.h:
(WebCore::LayoutUnit::operator unsigned): Deleted.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeColumnCountAndWidth):
- 4:09 PM Changeset in webkit [201113] by
-
- 49 edits in trunk/Source
Clean up CSS code
https://bugs.webkit.org/show_bug.cgi?id=157808
Reviewed by Chris Dumez.
Source/WebCore:
No new tests. Just cleaning up and modernizing code.
- css/BasicShapeFunctions.cpp:
(WebCore::convertToCenterCoordinate):
(WebCore::cssValueToBasicShapeRadius):
(WebCore::basicShapeForValue):
- css/BasicShapeFunctions.h:
- css/CSSAnimationTriggerScrollValue.h:
(WebCore::CSSAnimationTriggerScrollValue::create):
(WebCore::CSSAnimationTriggerScrollValue::startValue):
(WebCore::CSSAnimationTriggerScrollValue::CSSAnimationTriggerScrollValue):
- css/CSSAspectRatioValue.h:
- css/CSSBasicShapes.h:
- css/CSSBorderImage.cpp:
(WebCore::createBorderImageValue):
- css/CSSBorderImage.h:
- css/CSSBorderImageSliceValue.h:
(WebCore::CSSBorderImageSliceValue::create):
- css/CSSCalculationValue.h:
- css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::CSSCanvasValue):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForNinePieceImageSlice):
(WebCore::valueForNinePieceImageQuad):
(WebCore::valueForNinePieceImage):
(WebCore::zoomAdjustedPixelValue):
- css/CSSComputedStyleDeclaration.h:
- css/CSSFontFaceLoadEvent.cpp:
(WebCore::CSSFontFaceLoadEvent::CSSFontFaceLoadEvent):
- css/CSSFontFaceLoadEvent.h:
- css/CSSFontValue.h:
- css/CSSFunctionValue.h:
- css/CSSGradientValue.h:
(WebCore::CSSGradientValue::setFirstX):
(WebCore::CSSGradientValue::setFirstY):
(WebCore::CSSGradientValue::setSecondX):
(WebCore::CSSGradientValue::setSecondY):
(WebCore::CSSGradientValue::addStop):
(WebCore::CSSLinearGradientValue::create):
(WebCore::CSSLinearGradientValue::setAngle):
(WebCore::CSSRadialGradientValue::setFirstRadius):
(WebCore::CSSRadialGradientValue::setSecondRadius):
(WebCore::CSSRadialGradientValue::setShape):
(WebCore::CSSRadialGradientValue::setSizingBehavior):
(WebCore::CSSRadialGradientValue::setEndHorizontalSize):
(WebCore::CSSRadialGradientValue::setEndVerticalSize):
- css/CSSGroupingRule.cpp:
(WebCore::CSSGroupingRule::item):
(WebCore::CSSGroupingRule::cssRules):
- css/CSSKeyframesRule.cpp:
(WebCore::CSSKeyframesRule::cssRules):
- css/CSSParser.cpp:
(WebCore::CSSParser::addProperty):
(WebCore::CSSParser::rollbackLastProperties):
(WebCore::CSSParser::parseDashboardRegions):
(WebCore::CSSParser::parseClipShape):
(WebCore::CSSParser::parseBasicShapeCircle):
(WebCore::BorderImageParseContext::commitWebKitBorderImage):
(WebCore::BorderImageParseContext::commitBorderImage):
(WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
(WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
(WebCore::CSSParser::parseDeprecatedRadialGradient):
(WebCore::CSSParser::parseRadialGradient):
- css/CSSParser.h:
(WebCore::cssyylex):
- css/CSSPrimitiveValue.h:
- css/CSSProperty.cpp:
- css/CSSProperty.h:
(WebCore::CSSProperty::CSSProperty):
- css/CSSRule.h:
- css/CSSRuleList.h:
- css/CSSSegmentedFontFace.h:
- css/Counter.h:
(WebCore::Counter::create):
(WebCore::Counter::identifier):
(WebCore::Counter::listStyleIdent):
(WebCore::Counter::setIdentifier):
(WebCore::Counter::setListStyle):
(WebCore::Counter::setSeparator):
(WebCore::Counter::equals):
(WebCore::Counter::cloneForCSSOM):
(WebCore::Counter::Counter):
- css/Pair.h:
- css/Rect.h:
(WebCore::RectBase::bottom):
(WebCore::RectBase::left):
(WebCore::RectBase::setTop):
(WebCore::RectBase::setRight):
(WebCore::RectBase::setBottom):
(WebCore::RectBase::setLeft):
(WebCore::RectBase::equals):
- css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::strokeDashArrayToCSSValueList):
(WebCore::ComputedStyleExtractor::adjustSVGPaintForCurrentColor):
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertClipPath):
(WebCore::StyleBuilderConverter::convertShapeValue):
- css/StyleProperties.cpp:
(WebCore::StyleProperties::borderPropertyValue):
(WebCore::StyleProperties::getPropertyCSSValue):
(WebCore::StyleProperties::getPropertyCSSValueInternal):
(WebCore::MutableStyleProperties::setCustomProperty):
(WebCore::MutableStyleProperties::setProperty):
- css/StyleProperties.h:
(WebCore::StyleProperties::isEmpty):
(isType):
- css/StylePropertyShorthand.cpp:
- css/StylePropertyShorthand.h:
(WebCore::StylePropertyShorthand::StylePropertyShorthand):
(WebCore::StylePropertyShorthand::id):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::addKeyframeStyle):
(WebCore::StyleResolver::~StyleResolver):
(WebCore::StyleResolver::resolvedVariableValue):
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::cachedOrPendingFromValue):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::createFilterOperations):
(WebCore::StyleResolver::loadPendingImage):
- css/StyleResolver.h:
(WebCore::StyleResolver::hasViewportDependentMediaQueries):
(WebCore::StyleResolver::state):
(WebCore::checkRegionSelector):
- css/StyleSheetList.h:
- css/WebKitCSSFilterValue.cpp:
- css/WebKitCSSFilterValue.h:
- css/WebKitCSSTransformValue.cpp:
- css/WebKitCSSTransformValue.h:
- rendering/shapes/Shape.cpp:
Source/WebKit2:
- UIProcess/Cocoa/WebViewImpl.mm:
- 4:08 PM Changeset in webkit [201112] by
-
- 1 copy in tags/Safari-601.1.46.143
New tag.
- 4:01 PM Changeset in webkit [201111] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Checkbox disappears when unchecking CSS property with value containing a semicolon
https://bugs.webkit.org/show_bug.cgi?id=157862
<rdar://problem/16214480>
Reviewed by Timothy Hatcher.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker):
Modify regex to match CSS properties with url() and quoted values,
which can contain semicolons.
- 3:52 PM Changeset in webkit [201110] by
-
- 3 edits in trunk/Source/WebKit2
Disable default user gesture requirement for audio playback on Mac
https://bugs.webkit.org/show_bug.cgi?id=157820
Reviewed by Sam Weinig.
Disable the WebPreferences and matching WKWebViewConfiguration.mediaTypesRequiringUserActionForPlayback
settings on Mac (and other non-iOS ports).
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
- 3:49 PM Changeset in webkit [201109] by
-
- 3 edits2 adds in trunk
webkitEnterFullscreen() does not require a user gesture when RequireUserGestureForAudioRateChange is set.
https://bugs.webkit.org/show_bug.cgi?id=157803
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/video-play-audio-require-user-gesture.html
Refactor the setting of restrictions in the HTMLMediaElement constructor, and in so doing, only
relax the RequireUserGestureForFullscreen restriction if both videoPlaybackRequiresUserGesture()
and audioPlaybackRequiresUserGesture() settings are not set.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
LayoutTests:
- media/video-play-audio-require-user-gesture-expected.txt: Added.
- media/video-play-audio-require-user-gesture.html: Added.
- 3:45 PM Changeset in webkit [201108] by
-
- 2 edits in trunk/Source/WebKit2
Build fix when not using CredentialStorage with NetworkSession.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSession::clearCredentials):
- 3:40 PM Changeset in webkit [201107] by
-
- 2 edits in trunk/Source/WebKit2
Fix null-deref crash sporadically seen after http://trac.webkit.org/changeset/201098
No review.
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::deleteWebsiteData): Don't access m_idbServer directly, as calling
the idbServer() accessor is how you actually get your IDBServer created for you.
- 3:40 PM Changeset in webkit [201106] by
-
- 2 edits in trunk/Source/WebCore
Playback session sends audio and text track lists when media does not have audio or text tracks.
https://bugs.webkit.org/show_bug.cgi?id=157865
<rdar://problem/25992750>
Reviewed by Beth Dakin.
Only send across the CaptionUserPreferences-generated list of audio and text tracks if those
text tracks exist in the first place. This matches the behavior of the built-in controls.
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::updateLegibleOptions):
- 3:36 PM Changeset in webkit [201105] by
-
- 4 edits1 add in trunk
r199812 broke test262
https://bugs.webkit.org/show_bug.cgi?id=157595
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Added a reasonable limit to the size of the match result array to catch possible
infinite loops when matching.
Added a new tests that creates an infinite loop in RegExp.prototype.[Symbol.match]
by creating a subclass of RegExp where the base RegExp's global flag is false and
the subclass overrides .global with a getter that always returns true.
- builtins/RegExpPrototype.js:
(match):
- tests/stress/regress-157595.js: Added.
(MyRegExp):
(MyRegExp.prototype.get global):
(test):
(catch):
Tools:
Added a new run type, runOneLargeHeap, for tests that use a large amount of memory.
This run type will not run with the --memory-limited option. Without that option,
we'll only the default test variant.
- Scripts/run-jsc-stress-tests:
- 3:27 PM Changeset in webkit [201104] by
-
- 6 edits in trunk/Source/WebCore
Clean up / Modernize TextAutoSizingValue::adjustNodeSizes()
https://bugs.webkit.org/show_bug.cgi?id=157861
Reviewed by Alex Christensen.
Clean up / Modernize TextAutoSizingValue::adjustNodeSizes(), and
use tighter typing for autosizing nodes.
- dom/Document.cpp:
(WebCore::Document::addAutoSizingNode):
- dom/Document.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustComputedFontSizes):
- rendering/TextAutoSizing.cpp:
(WebCore::TextAutoSizingValue::addNode):
(WebCore::TextAutoSizingValue::adjustNodeSizes):
(WebCore::TextAutoSizingValue::reset):
- rendering/TextAutoSizing.h:
- 3:25 PM Changeset in webkit [201103] by
-
- 2 edits in trunk/Source/WebCore
Remove logging inadvertently committed in r201090.
- css/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext): Deleted.
- 3:16 PM Changeset in webkit [201102] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: ugly gaps in Call Trees data grid when expanding more than one level
https://bugs.webkit.org/show_bug.cgi?id=157829
<rdar://problem/26339922>
Reviewed by Timothy Hatcher.
Make a more specific CSS selector to avoid style conflicts.
- UserInterface/Views/DataGrid.css:
(.data-grid:not(.variable-height-rows) > .data-container > table.data > tbody > tr > td > div): Deleted.
(.data-grid:not(.variable-height-rows) > .data-container > table.data > tbody > tr > td > .cell-content):
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGridNode.prototype.createCell):
- 2:50 PM Changeset in webkit [201101] by
-
- 13 edits in trunk/Source
Web Inspector: InspectorFrontendAPI.setTimelineProfilingEnabled should not implicitly show Timelines tab
https://bugs.webkit.org/show_bug.cgi?id=157846
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
Currently, if the Web Inspector opens for an in-progress or finished automation session,
it will always show the Timelines tab, disregarding any previous user view state. This
is annoying and is a bad user experience when trying to debug the same test repeatedly.
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setTimelineProfilingEnabled): Don't implicitly show Timelines tab.
(InspectorFrontendAPI.showTimelines): Added. This is called explicitly when desired.
Source/WebKit2:
Add a separate ShowTimelines message to WebInspector and WebInspectorUI. Have the
start/stop profiling methods in public APIs explicitly call showTimelines() rather than
relying on InspectorFrontendAPI to do it.
- UIProcess/API/C/WKInspector.cpp:
(WKInspectorTogglePageProfiling):
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::showTimelines):
- UIProcess/WebInspectorProxy.h:
- WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
(WKBundleInspectorSetPageProfilingEnabled):
- WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::showTimelines):
- WebProcess/WebPage/WebInspector.h:
- WebProcess/WebPage/WebInspector.messages.in:
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::showTimelines):
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/WebInspectorUI.messages.in:
- 2:36 PM Changeset in webkit [201100] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r186569): media/restore-from-page-cache.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=147254
Unreviewed. Removing the flaky test expectation since the test is almost always passing now.
- platform/mac/TestExpectations:
- 2:04 PM Changeset in webkit [201099] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: DebuggerSidebarPanel doesn't need to help manage temporarily disabling breakpoints while capturing
https://bugs.webkit.org/show_bug.cgi?id=157854
Reviewed by Timothy Hatcher.
Duplicate the event listeners in DebuggerManager and move non-view-related
state updates out of DebuggerSidebarPanel's listeners into DebuggerManager's listeners.
This allows a test to exercise the temporary-disablement code paths during capturing.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.get breakpointsDisabledTemporarily):
Use this to make the code a bit more readable.
(WebInspector.DebuggerManager.prototype._startDisablingBreakpointsTemporarily):
(WebInspector.DebuggerManager.prototype._stopDisablingBreakpointsTemporarily):
(WebInspector.DebuggerManager.prototype.startDisablingBreakpointsTemporarily): Deleted.
(WebInspector.DebuggerManager.prototype.stopDisablingBreakpointsTemporarily): Deleted.
Make this private since it's not used by other classes anymore.
(WebInspector.DebuggerManager.prototype._timelineCapturingWillStart): Added.
(WebInspector.DebuggerManager.prototype._timelineCapturingStopped): Added.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._timelineRecordingWillStart): Deleted.
(WebInspector.DebuggerSidebarPanel.prototype._timelineRecordingStopped): Deleted.
(WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingWillStart): Added.
(WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingStopped): Added.
Make the listener names consistent with TimelineManager: timelineCapturing{WillStart,Stopped}.
- 1:42 PM Changeset in webkit [201098] by
-
- 35 edits3 adds in trunk
Modern IDB: Add support for server side closing of open database connections.
https://bugs.webkit.org/show_bug.cgi?id=157843
Reviewed by Alex Christensen.
Source/WebCore:
Test: storage/indexeddb/modern/handle-user-delete.html
In order to support deleting IndexedDB databases, the IDB server needs the ability to
"immediately" close a currently open IDB connection.
To do so cleanly, the server has to:
- Error out all requests it knows about
- Abort all transactions it knows about
- Tell the connection that it is being closed
- Wait for the connection to acknowledge that it was closed on the server
And then the client has to:
- Error out all requests it hasn't sent to the server
- Abort all transactions that haven't already been aborted by the server
- Send acknowledgement to the server that it has been closed.
Finally, because the status of a given request might be "in flight" somewhere between the
server and the client, some design assumptions change. This requires reworking some ASSERTS,
null checks, etc.
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::didCloseFromServer): Do the heavy lifting for the immediate close on
the client side.
- Modules/indexeddb/IDBDatabase.h:
- Modules/indexeddb/IDBDatabaseIdentifier.h:
(WebCore::IDBDatabaseIdentifier::isRelatedToOrigin):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::connectionClosedFromServer): Error out all outstanding operations
and fire the abort error on itself.
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::completeOperation):
(WebCore::IDBClient::IDBConnectionProxy::didCloseFromServer):
(WebCore::IDBClient::IDBConnectionProxy::confirmDidCloseFromServer):
(WebCore::IDBClient::IDBConnectionProxy::forgetActiveOperations):
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::didCloseFromServer):
(WebCore::IDBClient::IDBConnectionToServer::confirmDidCloseFromServer):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::didCloseFromServer):
- Modules/indexeddb/server/IDBConnectionToClient.h:
- Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::confirmDidCloseFromServer):
(WebCore::IDBServer::generateDeleteCallbackID):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
(WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesForOrigins):
(WebCore::IDBServer::IDBServer::didPerformCloseAndDeleteDatabases):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::handleCurrentOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDelete):
(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromServer):
(WebCore::IDBServer::UniqueIDBDatabase::confirmDidCloseFromServer):
(WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::isCurrentlyInUse):
(WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer):
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::activateTransactionInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::transactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTask):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTask):
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::doneWithHardClose):
(WebCore::IDBServer::errorOpenDBRequestForUserDelete):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete): Do the heavy lifting
for the immediate close on the server side.
(WebCore::IDBServer::UniqueIDBDatabase::performErrorCallback):
(WebCore::IDBServer::UniqueIDBDatabase::performKeyDataCallback):
(WebCore::IDBServer::UniqueIDBDatabase::performGetResultCallback):
(WebCore::IDBServer::UniqueIDBDatabase::performCountCallback):
(WebCore::IDBServer::UniqueIDBDatabase::storeCallback): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::storeCallbackOrFireError): If the database has been
hard stopped, immediately fire and error for the callback and return a 0-identifier to
reflect this.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::confirmDidCloseFromServer):
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
- Modules/indexeddb/shared/IDBError.cpp:
(WebCore::IDBError::toDOMError):
- Modules/indexeddb/shared/IDBError.h:
(WebCore::IDBError::userDeleteError):
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didCloseFromServer):
(WebCore::InProcessIDBServer::confirmDidCloseFromServer):
- Modules/indexeddb/shared/InProcessIDBServer.h:
- platform/CrossThreadCopier.cpp:
(WebCore::std::chrono::system_clock::time_point>::copy):
- platform/CrossThreadCopier.h:
Source/WebKit2:
- Implement the required IDB delegate code.
- Make DatabaseProcess::deleteWebsiteData call the right method in IDB server.
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::deleteWebsiteData):
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::didGetRecord):
(WebKit::WebIDBConnectionToClient::didCloseFromServer):
(WebKit::WebIDBConnectionToClient::confirmDidCloseFromServer):
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::confirmDidCloseFromServer):
(WebKit::WebIDBConnectionToServer::didStartTransaction):
(WebKit::WebIDBConnectionToServer::didCloseFromServer):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in:
LayoutTests:
- storage/indexeddb/modern/handle-user-delete-expected.txt: Added.
- storage/indexeddb/modern/handle-user-delete.html: Added.
- storage/indexeddb/modern/resources/handle-user-delete.js: Added.
- 1:25 PM WebKitGTK/2.12.x edited by
- (diff)
- 1:21 PM Changeset in webkit [201097] by
-
- 2 edits in trunk/Websites/bugs.webkit.org
CVE-2016-2803: [SECURITY] XSS vulnerability in dependency graphs via bug summary
<https://bugzilla.mozilla.org/show_bug.cgi?id=1253263>
Merge Bugzilla upstream master dd61903154fd363fb4e763d60aa155a507c2c3fc.
- showdependencygraph.cgi:
(CreateImagemap): Fix XSS vulnerability.
- 1:20 PM WebKitGTK/2.12.x edited by
- (diff)
- 1:01 PM Changeset in webkit [201096] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve console.takeHeapSnapshot documentation in console
https://bugs.webkit.org/show_bug.cgi?id=157853
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-18
Reviewed by Timothy Hatcher.
- UserInterface/Models/NativeFunctionParameters.js:
Mention optional label argument.
- 12:35 PM Changeset in webkit [201095] by
-
- 5 edits in trunk/Source
Versioning.
- 12:34 PM Changeset in webkit [201094] by
-
- 1 copy in tags/Safari-602.1.33
New tag.
- 12:32 PM Changeset in webkit [201093] by
-
- 2 edits in trunk/PerformanceTests
Make Animometer work in all browsers
https://bugs.webkit.org/show_bug.cgi?id=157855
rdar://problem/26338521
Reviewed by Jon Lee.
- Animometer/resources/runner/logo.svg: Use a symbol instead
of putting the id on the root svg. This works in all browsers.
- 12:29 PM Changeset in webkit [201092] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: race between frontend and backend both starting timeline recordings causes console assert
https://bugs.webkit.org/show_bug.cgi?id=157850
<rdar://problem/26349229>
Reviewed by Joseph Pecoraro.
If TimelineManager has created a fresh recording and the Timeline.autoCaptureStarted
event comes before Timeline.recordingStarted, then the manager will try to start the
same recording twice. In this scenario, the manager should just wait until the
Timeline.recordingStarted event comes, since it causes TimelineMangare to set up
the isCapturing flag and other state.
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype.startCapturing):
(WebInspector.TimelineManager.prototype.capturingStarted):
(WebInspector.TimelineManager.prototype.autoCaptureStarted):
Add a new flag, this._waitingForCapturingStartedEvent. If true, don't start the
recording in response to this event.
- 12:10 PM Changeset in webkit [201091] by
-
- 4 edits in trunk/LayoutTests
[OS X] Update platform/mac/fast/text/sticky-typesetting-features.html
https://bugs.webkit.org/show_bug.cgi?id=157851
Reviewed by Simon Fraser.
Kerning and ligatures are enabled by default now.
- platform/mac/fast/text/sticky-typesetting-features-expected.png:
- platform/mac/fast/text/sticky-typesetting-features-expected.txt:
- platform/mac/fast/text/sticky-typesetting-features.html:
- 12:06 PM Changeset in webkit [201090] by
-
- 14 edits3 adds in trunk
REGRESSION (r200534) Command-+ no longer zooms pages
https://bugs.webkit.org/show_bug.cgi?id=157826
rdar://problem/26334636
Reviewed by Dean Jackson.
Source/WebCore:
When text autosizing was enabled on Mac, we started to parse and respect
-webkit-text-size-adjust. Fix by cutting this off in CSSParser if the feature
is disabled.
Also fix InternalSettings to reset page and text zoom, since WebKit1 aliases
the zoom levels causing DRT to fail to reset them between tests.
Test: fast/text-autosizing/mac/text-size-adjust-text-zoom.html
- css/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::isTextAutosizingEnabled):
- css/CSSParser.h:
- css/CSSParserMode.h:
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::resetToConsistentState):
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues): Remove ENABLE() #ifdefs that do nothing (see http://webkit.org/b/157828).
LayoutTests:
Need to call internals.settings.setTextAutosizingEnabled(true) earlier in some tests.
- fast/text-autosizing/ios/line-height-text-autosizing.html:
- fast/text-autosizing/ios/percent-adjust-length-line-height.html:
- fast/text-autosizing/ios/percent-adjust-number-line-height.html:
- fast/text-autosizing/ios/percent-adjust-percent-line-height.html:
- fast/text-autosizing/mac/text-size-adjust-text-zoom-expected.html: Added.
- fast/text-autosizing/mac/text-size-adjust-text-zoom.html: Added.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 12:03 PM Changeset in webkit [201089] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/JavaScriptCore
Merge patch for rdar://problem/26350121.
- 11:59 AM Changeset in webkit [201088] by
-
- 2 edits in trunk/Source/WebCore
markAllDescendantsWithFloatsForLayout should not drill into blocks with
inline children. It was sufficient to mark ourselves as needing layout.
https://bugs.webkit.org/show_bug.cgi?id=157845
Reviewed by Simon Fraser.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
- 11:57 AM Changeset in webkit [201087] by
-
- 16 edits in trunk
[GTK] accessibility/meter-element.html is failing
https://bugs.webkit.org/show_bug.cgi?id=115633
Reviewed by Chris Fleizach.
Source/WebCore:
The meter's value description should be exposed in the same fashion
as (we should have been exposing) aria-valuetext, namely through the
"valuetext" AtkObject attribute. This exposure is now in place. Also
implement AccessibilityProgressIndicator::valueDescription() so that
the ports do not have to special-case meter in the platform wrappers.
Map the meter element to the correct role (ATK_ROLE_LEVEL_BAR), and
ignore a previously-included accessible object resulting from the
use of the title attribute on a meter. Finally, do not expose the
meter's title as the accessible name because the HTML spec suggests
authors can supply the numeric unit as the value of title.
No new test file as the failure was identified by meter-element.html.
Seven new test cases were added for additional coverage. Also updated
the ATK expectations for spinbutton-value.html to reflect that we are now
exposing the value of aria-valuetext.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::helpText):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForChildren):
(WebCore::AccessibilityNodeObject::visibleText):
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::valueDescription):
- accessibility/AccessibilityProgressIndicator.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
(atkRole):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
Tools:
Implement AccessibilityUIElement::valueDescription() and add mapping
from ATK_ROLE_LEVEL_BAR to AXProgressIndicator.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::valueDescription):
LayoutTests:
Seven new test cases were added to meter-element.html for additional
coverage. Also updated the ATK expectations for spinbutton-value.html
to reflect that we are now exposing the value of aria-valuetext.
- accessibility/meter-element.html: New test cases added.
- platform/gtk/TestExpectations: Unskip the previously-failing test.
- platform/gtk/accessibility/meter-element-expected.txt: Updated.
- platform/gtk/accessibility/spinbutton-value-expected.txt: Updated.
- platform/mac/accessibility/meter-element-expected.txt: Updated.
- 11:32 AM Changeset in webkit [201086] by
-
- 7 edits in trunk/Source/WebCore
Allow RenderStyles marked unique in matched properties cache
https://bugs.webkit.org/show_bug.cgi?id=157844
Reviewed by Andreas Kling.
Depending on content this can improve matched properties cache hit rate quite a bit and so reduce
time spent building styles.
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueContent):
Set the attr bit on render style.
- css/StyleResolver.cpp:
(WebCore::isCacheableInMatchedPropertiesCache):
Allow caching of styles marked "unique". It only means that they are not shareable by style
sharing code because there were some complex selectors in the rules used for building them. It
doesn't affect matched properties cache the cache how the properties were resolved.
We still need to test against "content: attr()" as that makes the style depend on the element
being matched. It now has a separate bit in RenderStyle.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setHasAttrContent):
Bit for "content: attr()". It also sets unique() to keep style sharing code happy.
(WebCore::requireTransformOrigin):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::hasAttrContent):
- rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
- rendering/style/StyleRareNonInheritedData.h:
- 10:46 AM Changeset in webkit [201085] by
-
- 5 edits4 adds in trunk/Source/JavaScriptCore
[ES6] Namespace object re-export should be handled as local export
https://bugs.webkit.org/show_bug.cgi?id=157806
Reviewed by Mark Lam.
We align the implementation of ExportEntry to the spec; remove Type::Namespace.
This Type::Namespace is used for re-exported namespace object binding. For example,
import * as namespace from "namespace.js"
export { namespace }
In the above case, we used ExportEntry(Type::Namespace). In this patch, we drop this
and use normal local export (Type::Local) instead because namespace object actually has
the local binding in the above module environment. And this handling strictly meets the
spec (Sec 15.2.1.16.1 step 11-a-ii-2-b).
And we also clean up the ExportEntry implementation; dropping unnecessary information.
This change fixes the test262/test/language/module-code/instn-star-equality.js crash.
- parser/ModuleAnalyzer.cpp:
(JSC::ModuleAnalyzer::exportVariable):
- runtime/JSModuleRecord.cpp:
(JSC::getExportedNames):
(JSC::JSModuleRecord::dump): Deleted.
- runtime/JSModuleRecord.h:
- tests/modules/namespace-re-export.js: Added.
- tests/modules/namespace-re-export/namespace-re-export-fixture.js: Added.
- tests/modules/namespace-re-export/namespace-re-export.js: Added.
- tests/modules/resources/assert.js:
(export.shouldNotBe):
- 10:25 AM Changeset in webkit [201084] by
-
- 2 edits in trunk/Source/WebCore
Fix the allinone-build on Linux in Source/WebCore/html/HTMLElementsAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=157800
Reviewed by Alex Christensen.
- html/HTMLElementsAllInOne.cpp:
- 10:19 AM Changeset in webkit [201083] by
-
- 2 edits in trunk/LayoutTests
Rebaseline inspector/debugger/command-line-api-exception.html after r201080
Unreviewed test gardening.
- inspector/debugger/command-line-api-exception-expected.txt:
- 9:33 AM Changeset in webkit [201082] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r197488): Incorrect start time in Rendering Frames timeline grid
https://bugs.webkit.org/show_bug.cgi?id=157840
<rdar://problem/26344937>
Reviewed by Brian Burg.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
The Rendering Frames timeline view needs a valid zero time.
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
Adjust ruler selection path component values by the zero time unless
the current view is the Rendering Frames timeline view.
- 9:30 AM Changeset in webkit [201081] by
-
- 18 edits in trunk
Modern IDB: Make TestRunner.clearAllDatabases also delete IndexedDB databases (once doing so is supported).
https://bugs.webkit.org/show_bug.cgi?id=157823
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No current behavior change, will be tested with b/157626's resolution).
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince): Stub this out for now.
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/shared/InProcessIDBServer.h:
Source/WebKit:
- Storage/WebDatabaseProvider.cpp:
(WebDatabaseProvider::deleteAllDatabases):
- Storage/WebDatabaseProvider.h:
Source/WebKit/mac:
- Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager deleteAllIndexedDatabases]):
- Storage/WebDatabaseManagerPrivate.h:
Source/WebKit2:
- CMakeLists.txt:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreRemoveAllIndexedDatabases):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
Tools:
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::clearAllDatabases):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearAllDatabases):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- 8:22 AM Changeset in webkit [201080] by
-
- 51 edits3 deletes in trunk
Sync DOM exception types with WebIDL and update promise rejections
https://bugs.webkit.org/show_bug.cgi?id=157792
Reviewed by Eric Carlson.
Source/WebCore:
Updating ExceptionCode with WebIDL latest exception types.
Updating promise rejection code to use those types as per the latest specifications.
Updating getUserMedia error handling by removing NavigatorUserMediaError which no long exists.
Covered by rebased tests.
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- Modules/mediastream/MediaDevices.h:
- Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::createAnswer):
(WebCore::MediaEndpointPeerConnection::setLocalDescription):
(WebCore::MediaEndpointPeerConnection::setRemoteDescription):
(WebCore::MediaEndpointPeerConnection::addIceCandidate):
(WebCore::MediaEndpointPeerConnection::getStats):
(WebCore::MediaEndpointPeerConnection::replaceTrack):
- Modules/mediastream/NavigatorUserMediaError.cpp: Removed.
- Modules/mediastream/NavigatorUserMediaError.h: Removed.
- Modules/mediastream/NavigatorUserMediaError.idl: Removed.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::queuedCreateOffer):
(WebCore::RTCPeerConnection::queuedCreateAnswer):
(WebCore::RTCPeerConnection::queuedSetLocalDescription):
(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
(WebCore::RTCPeerConnection::queuedAddIceCandidate):
- Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::replaceTrack):
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError):
(WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError):
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException):
- bindings/js/JSDOMBinding.h:
- bindings/js/JSDOMPromise.cpp:
(WebCore::DeferredWrapper::reject):
- bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::reject):
(WebCore::DOMPromise::reject):
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::load):
(WebCore::FontFaceSet::faceFinished):
- dom/DOMCoreException.cpp:
- dom/ExceptionCode.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::play):
LayoutTests:
- fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
- fast/inspector-support/uncaught-dom1-exception-expected.txt:
- fast/inspector-support/uncaught-dom3-exception-expected.txt:
- fast/inspector-support/uncaught-dom8-exception-expected.txt:
- fast/mediastream/MediaDevices-getUserMedia-expected.txt:
- fast/mediastream/MediaDevices-getUserMedia.html:
- fast/mediastream/delayed-permission-denied-expected.txt:
- fast/mediastream/delayed-permission-denied.html:
- fast/mediastream/error-expected.txt:
- fast/mediastream/error.html:
- fast/mediastream/getusermedia-expected.txt:
- fast/mediastream/mock-media-source-expected.txt:
- fast/regions/selection/crash-deselect-expected.txt:
- http/tests/media/media-stream/disconnected-frame-permission-denied-expected.txt:
- http/tests/media/media-stream/disconnected-frame-permission-denied.html:
- inspector/debugger/regress-133182-expected.txt:
- inspector/debugger/setPauseOnExceptions-all-expected.txt:
- inspector/debugger/setPauseOnExceptions-none-expected.txt:
- inspector/debugger/setPauseOnExceptions-uncaught-expected.txt:
- platform/efl/fast/dynamic/015-expected.txt:
- platform/gtk/fast/dynamic/015-expected.txt:
- platform/ios-simulator/fast/dynamic/015-expected.txt:
- platform/ios-simulator-wk2/editing/selection/caret-ltr-2-expected.txt:
- platform/ios-simulator-wk2/editing/selection/caret-ltr-2-left-expected.txt:
- platform/ios-simulator-wk2/editing/selection/caret-ltr-expected.txt:
- platform/ios-simulator-wk2/editing/selection/caret-ltr-right-expected.txt:
- platform/ios-simulator-wk2/editing/selection/caret-rtl-2-expected.txt:
- platform/ios-simulator-wk2/editing/selection/caret-rtl-2-left-expected.txt:
- platform/ios-simulator-wk2/editing/selection/caret-rtl-expected.txt:
- platform/ios-simulator-wk2/editing/selection/caret-rtl-right-expected.txt:
- platform/mac/fast/dynamic/015-expected.txt:
- platform/win/fast/dynamic/015-expected.txt:
- 7:52 AM Changeset in webkit [201079] by
-
- 4 edits in trunk/Source/WebKit2
REGRESSION(r200959): "Start Timeline Recording" menu item doesn't start recording
https://bugs.webkit.org/show_bug.cgi?id=157821
<rdar://problem/26335429>
Reviewed by Timothy Hatcher.
In r200959, WebInspectorProxy started sending start/stop profiling
messages directly to the frontend process to avoid the inspected page
process from implicitly showing the frontend. To compensate, the WebKit
API layer was changed to call show() in togglePageProfiling().
Unfortunately, this fix was not quite right, because the ordering of
the Show and StartPageProfiling messages is undefined. The latter has to bounce
from UI to inspected to inspector processes, so the frontend may try
to start profiling before the frontend is shown, causing it to be ignored.
This patch takes a different approach: just remove all implicit show()
calls in the inspected page processes, and bounce both the Show and
StartPageProfiling messages through the inspected page process to ensure
they are handled in order by the frontend process.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::togglePageProfiling):
Revert to sending to the inspected page process.
- WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
(WKBundleInspectorSetPageProfilingEnabled):
Add a call to show() now that the implementation doesn't do it implicitly.
- WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::startPageProfiling):
(WebKit::WebInspector::stopPageProfiling):
Don't implicitly show the inspector. These methods are only called
through the WKBundleInspector API and via IPC from WebInspectorProxy.
- 7:48 AM Changeset in webkit [201078] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] webaudio crash on ARM platforms
https://bugs.webkit.org/show_bug.cgi?id=157838
Reviewed by Michael Catanzaro.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcConstructed): Explicitely cast the integer value
of the max-bytes property to guint64 which is the expected type of
this property. The compiler can't guess this on its own.
- 7:39 AM Changeset in webkit [201077] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] webaudio playback improvements
https://bugs.webkit.org/show_bug.cgi?id=155228
Reviewed by Michael Catanzaro.
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::autoAudioSinkChildAddedCallback): Fix sink buffer-time
to 100ms to reduce playback latency.
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
Connect to child-added signal of autoaudiosink to be notified when
a real sink is added into the bin.
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcConstructed): Fine-tune blocksize of appsrc
according to the buffer size already configured on the src element.
- 7:30 AM Changeset in webkit [201076] by
-
- 5 edits in trunk
[GStreamer] Use FakeSink to get a decoded texture from a pipeline
https://bugs.webkit.org/show_bug.cgi?id=153641
Reviewed by Philippe Normand.
.:
- Source/cmake/FindGStreamer.cmake: Bump gst-gl version to 1.8.0
Source/WebCore:
Relying on GstGLImageSink to use GStreamerGL brings a lot of overheads such as
window handling, context switching and overlay handling which are not needed in
our case.
This patch replaces GstGLImageSink with a custom GstBin which has a
GstGLUpload, GstGLColorConvert, and GstFakeSink.
GstFakeSink sends decoded frames via handoff signal from the vqueue thread of
GStreamer. Previously, GstGLImageSink passes frames through GStreamer's GL
thread, which adds additional overhead.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::GstVideoFrameHolder::~GstVideoFrameHolder): Modified to
unmap GstVideoFrame without async call. GstGLMemory will unmap itself
in gl-thread.
(WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL): Split
out creating of the gst-gl video sink into the separte method.
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Remove assertion
for the threaded compositor. It can be called by focusing event.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 7:21 AM Changeset in webkit [201075] by
-
- 2 edits in trunk/Source/WebCore
Resolve !important properties from different shadow trees in a single pass.
https://bugs.webkit.org/show_bug.cgi?id=157836
Reviewed by Andreas Kling.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::CascadedProperties::addImportantMatches):
Instead of doing multiple passes over increasing tree context ordinals collect matches with
non-zero ordinals to a vector and sort it to ascending order.
- 6:30 AM WebKitGTK/2.12.x edited by
- (diff)
- 2:15 AM Changeset in webkit [201074] by
-
- 2 edits in trunk/Source/WebCore
Fix the allinone-build after r198669
https://bugs.webkit.org/show_bug.cgi?id=157798
Reviewed by Michael Catanzaro.
- CMakeLists.txt: Use DerivedSources.cpp only on Windows, it's broken everywhere else.
- 1:41 AM Changeset in webkit [201073] by
-
- 7 edits in trunk
Cascading order for !important properties in ::slotted and ::host rules is incorrect
https://bugs.webkit.org/show_bug.cgi?id=157789
<rdar://problem/26318781>
Reviewed by Andreas Kling.
LayoutTests/imported/w3c:
- csswg-test/css-scoping-1/shadow-cascade-order-001-expected.txt: This now passes.
Source/WebCore:
https://drafts.csswg.org/css-scoping-1/#shadow-cascading
"When comparing two declarations that have different tree contexts, then for normal rules the declaration earlier
in the shadow-including tree order wins, and for important rules the declaration coming later in the shadow-including
tree order wins."
- css/ElementRuleCollector.cpp:
(WebCore::MatchRequest::MatchRequest):
(WebCore::ElementRuleCollector::ElementRuleCollector):
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::addMatchedRule):
(WebCore::ElementRuleCollector::clearMatchedRules):
(WebCore::ElementRuleCollector::addElementStyleProperties):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
Pass the tree context ordinal onwards so we can implement the order reversal semantics for !important properties.
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchHostPseudoClassRules):
(WebCore::ElementRuleCollector::matchSlottedPseudoElementRules):
Don't flush the matched rules immediately to get the right ordering. Instead compute tree context ordinal
that is then used as a sorting criteria.
(WebCore::ElementRuleCollector::collectSlottedPseudoElementRulesForSlot):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::compareRules):
Sort regular rules so that earlier shadow trees win.
(WebCore::ElementRuleCollector::sortMatchedRules):
- css/ElementRuleCollector.h:
- css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::MatchResult::addMatchedProperties):
(WebCore::StyleResolver::CascadedProperties::addMatch): Added.
Add a helper.
(WebCore::StyleResolver::CascadedProperties::addNormalMatches):
Split normal and important to different functions for clarity.
(WebCore::StyleResolver::CascadedProperties::addImportantMatches):
For !important properties a later shadow tree wins. Do multiple passes to apply in correct order if needed.
- css/StyleResolver.h:
(WebCore::StyleResolver::MatchResult::matchedProperties):
- 12:12 AM Changeset in webkit [201072] by
-
- 45 edits1 copy19 adds in trunk
AX: [ATK] Use WebCore Accessibility's AccessibilityText for AtkObject name and description
https://bugs.webkit.org/show_bug.cgi?id=157822
Reviewed by Chris Fleizach.
Source/WebCore:
Remove the old code which was overriding WebCore Accessibility and always use
AccessibilityText.
If the AccessibilityText's textSource is HelpText or SummaryText, it should be exposed
as the AtkObject description. If the textSource is TitleTagText and there is no other
text alternative, the value should also be exposed in this fashion. Note that AtkObject's
description property is equivalent to AXAPI's AXHelp property.
If the AccessibilityText's textSource is anything other than the above, the first
non-empty value should be exposed as the AtkObject name. Depending on the source of
the name content, AtkObject's name property can be the equivalent of AXAPI's AXTitle.
However, most of the time, AtkObject's name property is equivalent to AXAPI's
AXDescription property.
By making these changes, what WebKit exposes for ATK is now extremely similar to what
WebKit exposes on the Mac (modulo the property names) and also with what is defined in
the HTML Accessibility and Accessible Name and Description Computation API mappings specs.
Now that the exposure is correct, the Layout Tests needed to be adjusted accordingly because
asking for the "AXDescription" gives you the AXDescription on the Mac and the AtkObject
description in GNU/Linux. But as indicated above, what ATK calls a "description" is what
the Mac calls "help."
Ultimately our Layout Tests and/or our platform TestRunner API should be modified to deal
with these differences more gracefully. (Bug https://bugs.webkit.org/show_bug.cgi?id=157187
has been opened for that task.) In the meantime, the existing tests have been given platform
checks to ask for the right property on each platform. This was done in such a way as to not
require other (non-ATK) platforms change their current expectations files.
- accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetName):
(webkitAccessibleGetDescription):
Tools:
Fix AccessibilityUIElement::helpText() so that it returns an empty string rather than
nullptr upon failure.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::helpText):
LayoutTests:
Now that the exposure is correct, the Layout Tests needed to be adjusted accordingly because asking
for the "AXDescription" gives you the AXDescription on the Mac and the AtkObject description in
GNU/Linux. But what the Mac calls a "description" is what ATK calls a "name." What ATK calls a
"description" is what the Mac calls "help."
Ultimately our Layout Tests and/or our platform TestRunner API should be modified to deal with
with these differences more gracefully. (Bug https://bugs.webkit.org/show_bug.cgi?id=157187 has
been opened for that task.) In the meantime, the existing tests have been given platform checks
to ask for the right property on each platform. This was done in such a way as to not require
other (non-ATK) platforms change their current expectations files.
In addition to the above, three previously-failing tests were corrected and are now passing.
- accessibility/alt-tag-on-image-with-nonimage-role.html:
- accessibility/aria-help.html:
- accessibility/aria-label.html:
- accessibility/aria-labeled-with-hidden-node.html:
- accessibility/aria-labelledby-on-input.html:
- accessibility/aria-labelledby-overrides-aria-labeledby.html:
- accessibility/aria-labelledby-overrides-label.html:
- accessibility/aria-labelledby-stay-within.html:
- accessibility/aria-labelledby-with-descendants.html:
- accessibility/aria-namefrom-author.html:
- accessibility/aria-option-role.html:
- accessibility/canvas-description-and-role.html:
- accessibility/empty-image-with-title.html:
- accessibility/fieldset-element.html:
- accessibility/focusable-div.html:
- accessibility/gtk/no-notification-for-unrendered-iframe-children-expected.txt:
- accessibility/gtk/no-notification-for-unrendered-iframe-children.html:
- accessibility/gtk/title-and-alt-expected.txt:
- accessibility/gtk/title-and-alt.html:
- accessibility/help-text.html:
- accessibility/img-alt-tag-only-whitespace-expected.txt:
- accessibility/img-alt-tag-only-whitespace.html:
- accessibility/img-aria-button-alt-tag.html:
- accessibility/img-fallsback-to-title.html:
- accessibility/input-image-alt.html:
- accessibility/loading-iframe-sends-notification.html:
- accessibility/media-element.html:
- accessibility/radio-button-title-label.html:
- accessibility/self-referencing-aria-labelledby.html:
- accessibility/svg-bounds.html:
- platform/gtk/TestExpectations:
- platform/gtk/accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Added.
- platform/gtk/accessibility/aria-help-expected.txt:
- platform/gtk/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added.
- platform/gtk/accessibility/aria-labeled-with-hidden-node-expected.txt: Added.
- platform/gtk/accessibility/aria-labelledby-on-input-expected.txt: Added.
- platform/gtk/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added.
- platform/gtk/accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Added.
- platform/gtk/accessibility/aria-labelledby-overrides-label-expected.txt: Added.
- platform/gtk/accessibility/aria-labelledby-with-descendants-expected.txt: Added.
- platform/gtk/accessibility/aria-namefrom-author-expected.txt: Added.
- platform/gtk/accessibility/aria-option-role-expected.txt: Added.
- platform/gtk/accessibility/aria-switch-text-expected.txt:
- platform/gtk/accessibility/canvas-description-and-role-expected.txt: Added.
- platform/gtk/accessibility/empty-image-with-title-expected.txt: Added.
- platform/gtk/accessibility/fieldset-element-expected.txt: Added.
- platform/gtk/accessibility/focusable-div-expected.txt: Added.
- platform/gtk/accessibility/help-text-expected.txt: Added.
- platform/gtk/accessibility/image-link-expected.txt:
- platform/gtk/accessibility/image-map1-expected.txt:
- platform/gtk/accessibility/image-map2-expected.txt:
- platform/gtk/accessibility/image-with-alt-and-map-expected.txt:
- platform/gtk/accessibility/img-alt-tag-only-whitespace-expected.txt: Added.
- platform/gtk/accessibility/img-aria-button-alt-tag-expected.txt: Added.
- platform/gtk/accessibility/img-fallsback-to-title-expected.txt:
- platform/gtk/accessibility/input-image-alt-expected.txt: Added.
- platform/gtk/accessibility/media-element-expected.txt:
- platform/gtk/accessibility/radio-button-title-label-expected.txt:
- platform/gtk/accessibility/self-referencing-aria-labelledby-expected.txt: Added.
- platform/gtk/accessibility/svg-bounds-expected.txt: Added.
May 17, 2016:
- 8:39 PM Changeset in webkit [201071] by
-
- 3 edits in trunk/Source/WebCore
Add LayerListMutationDetector to hittesting.
https://bugs.webkit.org/show_bug.cgi?id=157758
Reviewed by Simon Fraser.
Hittesting is supposed to be readonly.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
- rendering/RenderLayer.h:
(WebCore::RenderLayer::clearZOrderLists):
- 8:29 PM Changeset in webkit [201070] by
-
- 10 edits in trunk/Source/WebCore
Remove toJS template methods taking const Ref and const RefPtr
https://bugs.webkit.org/show_bug.cgi?id=157791
Reviewed by Chris Dumez.
Updating toJS template method taking a const Ref<T>& to take a Ref<T>&&.
Updating toJS template method taking a const RefPtr<T>& to take a RefPtr<T>&&.
Updating binding generator to generate rvalue references.
Covered by existing tests.
- bindings/js/JSDOMBinding.h:
(WebCore::toJS):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDefinition):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::construct):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
- 7:53 PM Changeset in webkit [201069] by
-
- 2 edits in trunk/LayoutTests
LayoutTest inspector/debugger/tail-recursion.html failing on WK2 debug
https://bugs.webkit.org/show_bug.cgi?id=157801
Rubber-stamped by Joseph Pecoraro.
- inspector/debugger/tail-recursion.html:
- 7:26 PM Changeset in webkit [201068] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: NavigationSidebarPanel should coordinate item selection between its tree outlines
https://bugs.webkit.org/show_bug.cgi?id=157813
<rdar://problem/26331779>
Reviewed by Timothy Hatcher.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
Deselecting elements in other tree outlines is now done in the base class.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
Listen for selection changed events on all content tree outlines.
(WebInspector.NavigationSidebarPanel.prototype.treeElementAddedOrChanged):
Moved stub from the public section to the protected section.
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
Deselect tree elements in any content tree outline that is not the
parent of the selected element.
(WebInspector.NavigationSidebarPanel.prototype._treeSelectionDidChange): Deleted.
Rename _contentTreeOutlineTreeSelectionDidChange, to prevent being
shadowed by subclasses with _treeSelectionDidChange event handlers.
- 7:14 PM Changeset in webkit [201067] by
-
- 3 edits2 adds in trunk
AX: Adding children incorrectly when there are nested inline continuations
https://bugs.webkit.org/show_bug.cgi?id=157818
Reviewed by Chris Fleizach.
Source/WebCore:
When getting the inline element continuation's next sibling, if we fall back on to the parent
case, we might end up adding the same node repeatedly. Fixed it by skipping this case.
Test: accessibility/mac/nested-inline-elements-children.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::nextSibling):
LayoutTests:
- accessibility/mac/nested-inline-elements-children-expected.txt: Added.
- accessibility/mac/nested-inline-elements-children.html: Added.
- 7:11 PM Changeset in webkit [201066] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSC should detect the right default locale even when it's not embedded in WebCore
https://bugs.webkit.org/show_bug.cgi?id=157755
rdar://problem/24665424
Reviewed by Keith Miller.
This makes JSC try to use WTF's platform user preferred language detection if the DOM did
not register a defaultLanguage callback. The result is that when JSC runs standalone it
will detect the platform user preferred language almost the same way as when it's embedded
in WebCore. The only difference is that WebCore may have its own additional overrides via
the WK API. But in the absence of overrides, WebCore uses the same WTF logic that JSC falls
back to.
We first found this bug because on iOS, the intl tests would fail because ICU would report
a somewhat bogus locale on that platform. Prior to this change, standalone JSC would fall
back to ICU's locale detection. It turns out that the ICU default locale is also bogus on
OS X, just less so. For example, setting things to Poland did not result in the jsc shell
printing dates Polish-style. Now it will print them Polish-style if your system preferences
say so. Also, the tests don't fail on iOS anymore.
- runtime/IntlObject.cpp:
(JSC::defaultLocale):
- 7:07 PM Changeset in webkit [201065] by
-
- 12 edits in trunk
Add media query support for wide gamut displays on Mac
https://bugs.webkit.org/show_bug.cgi?id=157824
<rdar://problem/26333137>
Reviewed by Simon Fraser.
Source/WebCore:
Implement the Mac version of the color-gamut media query
by filling out the screenSupportsExtendedColor function.
On Yosemite, we always return false. On El Capitan, we
can check the ColorProfile via ColorSync to see if the
screen is wide gamut.
There is already a test in fast/media/mq-color-gamut.html
- css/MediaQueryEvaluator.cpp:
(WebCore::color_gamutMediaFeatureEval): Pass the mainFrame's view
to screenSupportsExtendedColor, so that it can fetch the NSScreen.
- platform/PlatformScreen.h: screenSupportsExtendedColor now takes
an optional Widget parameter.
- platform/ios/PlatformScreenIOS.mm:
(WebCore::screenSupportsExtendedColor): Add empty parameter.
- platform/mac/PlatformScreenMac.mm:
(WebCore::screenSupportsExtendedColor): Get the NSWindow, then the
NSScreen, then the ColorSpace, then the ColorSyncProfile, and
check if it is a wide gamut profile.
- platform/spi/cg/CoreGraphicsSPI.h: Add the SPI declarations.
LayoutTests:
Remove the check for sRGB, since it is confusingly false
on browsers that don't implement this query, and is likely
to be dropped from the specification.
Also, make the text readable.
- fast/media/mq-color-gamut-expected.html:
- fast/media/mq-color-gamut.html:
- 6:26 PM Changeset in webkit [201064] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, fix Darin's post-mortem review comments for r201052.
- rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::findLegend):
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):
- 6:05 PM Changeset in webkit [201063] by
-
- 5 edits in branches/safari-602.1.32-branch/Source
Versioning.
- 6:04 PM Changeset in webkit [201062] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 6:04 PM Changeset in webkit [201061] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 5:44 PM Changeset in webkit [201060] by
-
- 1 copy in tags/Safari-601.7.3
New tag.
- 5:43 PM Changeset in webkit [201059] by
-
- 1 copy in tags/Safari-601.1.46.142
New tag.
- 5:14 PM Changeset in webkit [201058] by
-
- 1 copy in tags/Safari-602.1.32.3
New tag.
- 5:13 PM Changeset in webkit [201057] by
-
- 1 edit1 delete in trunk/Source/WebInspectorUI
Web Inspector: Remove TimelineSidebarPanel.js as it's no longer referenced anywhere
https://bugs.webkit.org/show_bug.cgi?id=157819
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineSidebarPanel.js: Removed.
Removed unused file.
- 4:24 PM Changeset in webkit [201056] by
-
- 12 edits2 adds in trunk
Make handleAcceptedCandidate a public function
https://bugs.webkit.org/show_bug.cgi?id=157763
-and corresponding-
rdar://problem/26206397
Reviewed by Tim Horton.
Source/WebCore:
Define handleAcceptedCandidateWithSoftSpaces on EditorClient so that it can
be invoked on any EditorClient.
- loader/EmptyClients.h:
- page/EditorClient.h:
(WebCore::EditorClient::handleAcceptedCandidateWithSoftSpaces):
Source/WebKit/mac:
This patch re-names handleAcceptedCandidate to
handleAcceptedCandidateWithSoftSpaces. The function now takes a
WebCore::TextCheckingResult instead of an NSTextCheckingResult and it can be
called from outside of WebEditorClient.
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleRequestedCandidates):
(WebEditorClient::handleAcceptedCandidateWithSoftSpaces):
(textCheckingResultFromNSTextCheckingResult): Deleted.
(WebEditorClient::handleAcceptedCandidate): Deleted.
Move showCandidates to WebViewPrivate so that it can be overridden by a test.
- WebView/WebViewInternal.h:
- WebView/WebViewPrivate.h:
Source/WebKit2:
This patch makes handleAcceptedCandidate a public member of WebViewImpl
instead of a private member.
- UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::createWeakPtr):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/autofocused-text-input.html: Added.
- TestWebKitAPI/Tests/mac/ViewWithEditableAreaLeak.mm: Added.
(-[DoNotLeakWebView dealloc]):
(-[DoNotLeakWebView showCandidates:forString:inRect:forSelectedRange:view:completionHandler:]):
(-[DoNotLeakFrameLoadDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::TEST):
- 4:22 PM Changeset in webkit [201055] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed debug build fix after r201052.
- rendering/svg/RenderSVGText.cpp:
(WebCore::findPreviousAndNextAttributes): Deleted.
- 4:14 PM Changeset in webkit [201054] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit/mac
Merge r200867. rdar://problem/26253396
- 3:52 PM Changeset in webkit [201053] by
-
- 3 edits3 adds in trunk
REGRESSION(r192855): Math.random() always produces the same first 7 decimal points the first two invocations
https://bugs.webkit.org/show_bug.cgi?id=157805
<rdar://problem/26327851>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-17
Reviewed by Geoffrey Garen.
Source/WTF:
- wtf/WeakRandom.h:
(WTF::WeakRandom::setSeed):
Advance once to randomize the 32bit seed across the 128bit state
and avoid re-using 64bits of state in the second advance.
LayoutTests:
- js/dom/math-random-initial-values-expected.txt: Added.
- js/dom/math-random-initial-values.html: Added.
- js/resources/math-random-initial-values-iframe.html: Added.
Test that less then 5% of the time, early Math.random invocations
produce very similiar values. Before this change we were failing
100%, but after we see similiar values mostly around 0-3%.
- 3:39 PM Changeset in webkit [201052] by
-
- 22 edits in trunk/Source/WebCore
Use RenderChildIterator more for traversing a renderer's children
https://bugs.webkit.org/show_bug.cgi?id=157811
Reviewed by Antti Koivisto.
Use RenderChildIterator more for traversing a renderer's children.
- inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
- inspector/InspectorLayerTreeAgent.h:
- rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
- rendering/InlineIterator.h:
(WebCore::isEmptyInline):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addFocusRingRects):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::positionForPoint):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::updateOutlineAutoAncestor):
- rendering/RenderElement.h:
- rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::findLegend):
- rendering/RenderFieldset.h:
- rendering/RenderInline.cpp:
(WebCore::RenderInline::generateCulledLineBoxRects):
(WebCore::RenderInline::culledInlineFirstLineBox):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
(WebCore::RenderInline::dirtyLineBoxes):
- rendering/RenderListItem.cpp:
(WebCore::getParentOfFirstLineBox):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::setFlowThreadStateIncludingDescendants):
(WebCore::RenderObject::addAbsoluteRectForLayer):
(WebCore::RenderObject::paintingRootRect):
(WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants):
(WebCore::RenderObject::invalidateFlowThreadContainingBlockIncludingDescendants):
(WebCore::RenderObject::updateDragState):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::firstColumn):
- rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clearPreferredLogicalWidthsDirtyBits):
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
- rendering/RenderTreeAsText.cpp:
(WebCore::write):
- rendering/svg/RenderSVGText.cpp:
(WebCore::findPreviousAndNextAttributes):
(WebCore::RenderSVGText::subtreeChildWasAdded):
(WebCore::RenderSVGText::subtreeChildWillBeRemoved):
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::updateObjectBoundingBox):
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
(WebCore::SVGRenderSupport::layoutChildren):
- rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
(WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
- rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::walkTree):
- 3:34 PM Changeset in webkit [201051] by
-
- 17 edits in trunk
Remove ES6_GENERATORS flag
https://bugs.webkit.org/show_bug.cgi?id=157815
<rdar://problem/26332894>
Reviewed by Geoffrey Garen.
This flag isn't needed. Generators are enabled everywhere and
part of a stable specification.
.:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Source/cmake/tools/vsprops/FeatureDefines.props:
- Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionDeclaration): Deleted.
(JSC::Parser<LexerType>::parseClass): Deleted.
(JSC::Parser<LexerType>::parseExportDeclaration): Deleted.
(JSC::Parser<LexerType>::parseAssignmentExpression): Deleted.
(JSC::Parser<LexerType>::parseProperty): Deleted.
(JSC::Parser<LexerType>::parseFunctionExpression): Deleted.
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
- 3:27 PM Changeset in webkit [201050] by
-
- 2 edits in trunk/Source/bmalloc
REGRESSION: JetStream crashes on some iPhones
https://bugs.webkit.org/show_bug.cgi?id=157814
Reviewed by Michael Saboff.
- bmalloc/Sizes.h: Reduce smallMax to 32kB.
Previous justification for 64kB was:
- bmalloc/Sizes.h: Upped smallMax to 64kB. Upping to 32kB is pretty reasonable, since sizes between 16kB and 32kB share page sizes. I went all the way up to 64kB because the GC uses 64kB blocks, and also just for extra padding to ensure that large allocations are indeed rare.
It turns out that the bump to 64kB substantially increases our memory
high water mark on JetStream, leading to jetsam crashes. Also, there
doesn't seem to be a practical performance problem to putting objects in
the (32kB - 64kB) range in the large allocator.
- 3:19 PM Changeset in webkit [201049] by
-
- 40 edits5 deletes in trunk
Rollout r200426 since it causes PLT regressions.
https://bugs.webkit.org/show_bug.cgi?id=157812
Unreviewed rollout of r200426 since the bots see a ~.6% PLT regression from the patch.
- 3:04 PM Changeset in webkit [201048] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: inspector tests should redirect and log console.trace() calls in test output
https://bugs.webkit.org/show_bug.cgi?id=157802
<rdar://problem/26325671>
Reviewed by Timothy Hatcher.
- UserInterface/Test/FrontendTestHarness.js:
(FrontendTestHarness.prototype.redirectConsoleToTestOutput.createProxyConsoleHandler):
Remove bind() that is now unnecessary. Also redirect console.warn.
(FrontendTestHarness.prototype.redirectConsoleToTestOutput):
For console.trace(), throw and catch a dummy Error to get a stack trace.
Do some post processing on it to remove useless frames and sanitize file paths.
- 2:38 PM Changeset in webkit [201047] by
-
- 5 edits3 adds in trunk
Web Inspector: Filtering huge data grids should yield occasionally so the UI remains responsive
https://bugs.webkit.org/show_bug.cgi?id=157702
<rdar://problem/26282898>
Based on a patch by Matt Baker <Matt Baker> on 2016-05-16
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
This patch adds a new class, YieldableTask, for processing large
data sets without starving the runloop. A yieldable task takes a delegate,
an iterator that produces the items to be processed by the delegate, and
the "work interval" time slice and "idle interval" to wait between time slices.
It works by usingyieldto suspend processing when the current time
slice is exceeded, and setting a timeout to wait out the idle interval.
The iterator is responsible for deciding a good traversal order for items,
and the delegate is responsible for processing each item in turn. Tasks
cannot be reused once cancelled or processing completes.
Change DataGrid to use a yieldable task for filtering data grid nodes.
When the filtering criteria changes, cancel the task and run a new task.
- UserInterface/Base/YieldableTask.js: Added.
(WebInspector.YieldableTask.prototype.get processing):
(WebInspector.YieldableTask.prototype.get cancelled):
(WebInspector.YieldableTask.prototype.get idleInterval):
(WebInspector.YieldableTask.prototype.get workInterval):
Add getters.
(WebInspector.YieldableTask.prototype.start.createIteratorForProcessingItems):
(WebInspector.YieldableTask.prototype.start):
Set up an iterator that cranks through items to be processed until the
time slice is exceeded. Check to see if the task is cancelled before and
after calling out to the delegate to perform processing on the item.
(WebInspector.YieldableTask.prototype.cancel):
Set the cancel flag. Tell the delegate the task is finished soon.
(WebInspector.YieldableTask.prototype._processPendingItems):
Request the next item from the cranking iterator so it tries to process
more items. If it yields but still has more items to process, set a timeout
and continue processing more items after the idle interval.
(WebInspector.YieldableTask.prototype._willYield): Notify the delegate.
(WebInspector.YieldableTask.prototype._didFinish): Clear state and notify.
(WebInspector.YieldableTask):
- UserInterface/Main.html:
- UserInterface/Test.html: Add new file.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.filterDidChange):
Cancel the currently running filter task, if any exists.
(WebInspector.DataGrid.prototype._updateFilter.createIteratorForNodesToBeFiltered):
(WebInspector.DataGrid.prototype._updateFilter):
Set up and start a new filtering task when the filter updates.
(WebInspector.DataGrid.prototype.yieldableTaskWillProcessItem):
(WebInspector.DataGrid.prototype.yieldableTaskDidYield):
(WebInspector.DataGrid.prototype.yieldableTaskDidFinish):
Batch up notifications about filtered nodes changing since this can
cause a lot of unnecessary work by event listeners.
LayoutTests:
Add tests for new Inspector utility class YieldableTask.
- inspector/unit-tests/yieldable-task-expected.txt: Added.
- inspector/unit-tests/yieldable-task.html: Added.
- 2:35 PM Changeset in webkit [201046] by
-
- 4 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200631.
- 2:35 PM Changeset in webkit [201045] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200628.
- 2:35 PM Changeset in webkit [201044] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit/mac
Merge r200800.
- 2:28 PM Changeset in webkit [201043] by
-
- 3 edits in trunk/Source/WebCore
BitmapImage::destroyDecodedDataIfNecessary() should only count frames with image data
https://bugs.webkit.org/show_bug.cgi?id=157779
Reviewed by Tim Horton.
BitmapImage::destroyDecodedDataIfNecessary() throws away all frames of an image if the
decoded frame size exceeds a threshold. However, it counts all frames, whether or not
they have an image (some frames may only have metadata, but m_frameBytes still returns
height*width*4).
Fix by only count m_frameBytes for frames that have an image.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
- platform/graphics/BitmapImage.h:
(WebCore::FrameData::FrameData):
(WebCore::FrameData::usedFrameBytes):
- 2:24 PM Changeset in webkit [201042] by
-
- 2 edits in trunk/Source/WebKit2
Temporarily enable Experimental Features
https://bugs.webkit.org/show_bug.cgi?id=157810
<rdar://problem/26330804>
Reviewed by Anders Carlsson.
We currently don't have good UI for enabling these features,
which would mean Safari Technology Preview users would
never be able to turn them on… unless we enable them by
default temporarily.
- Shared/WebPreferencesDefinitions.h:
- 2:17 PM Changeset in webkit [201041] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Add a subtitle under platform name in the summary page
https://bugs.webkit.org/show_bug.cgi?id=157809
Reviewed by Chris Dumez.
Add a description beneath the platform names.
- public/v3/pages/summary-page.js:
(SummaryPage.prototype._constructTable): Add a br and a span if subtitle is present.
(SummaryPage.cssTemplate): Added CSS rules for .subtitle.
- 2:02 PM Changeset in webkit [201040] by
-
- 23 edits in trunk/Source/WebCore
Optimize layer repaint rect computation and painting.
https://bugs.webkit.org/show_bug.cgi?id=157631
Reviewed by Zalan Bujtas.
This patch changes the computation of repaint rects to be for self-painting layers
only. In addition, hasBoxDecorations() has been changed to hasVisibleBoxDecorations(),
and it will no longer be set for transparent borders.
For scrolling layer position updating, visually empty layers have their repaint rects
cleared, and we don't compute repaint rects during the scroll. We would like to do this
all the time, but computeRepaintRects can be called at times when the visually empty
state is stale/unknown. For now we limit it to scrolling, since we know that the layer's
visually empty state is correct.
- rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBoxDecorations):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::layoutRunsAndFloats):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::paintBoxDecorations):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::hasVisibleBoxDecorationStyle):
(WebCore::RenderBoxModelObject::updateFromStyle):
(WebCore::RenderBoxModelObject::hasBoxDecorationStyle): Deleted.
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
(WebCore::mustRepaintBackgroundOrBorder):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::styleDidChange):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::repaintRectIncludingNonCompositingDescendants):
(WebCore::RenderLayer::computeRepaintRects):
(WebCore::RenderLayer::clearRepaintRects):
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDrawsContent):
(WebCore::RenderLayerBacking::compositingOpacity):
(WebCore::hasVisibleBoxDecorations):
(WebCore::canCreateTiledImage):
(WebCore::hasVisibleBoxDecorationsOrBackgroundImage):
(WebCore::supportsDirectBoxDecorationsComposition):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::containsPaintedContent):
(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
(WebCore::hasBoxDecorations): Deleted.
(WebCore::hasBoxDecorationsOrBackgroundImage): Deleted.
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange):
- rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::setObjectStyleInRegion):
- rendering/RenderObject.h:
(WebCore::RenderObject::hasVisibleBoxDecorations):
(WebCore::RenderObject::setFloating):
(WebCore::RenderObject::setInline):
(WebCore::RenderObject::computeBackgroundIsKnownToBeObscured):
(WebCore::RenderObject::setSelectionStateIfNeeded):
(WebCore::RenderObject::setHasVisibleBoxDecorations):
(WebCore::RenderObject::invalidateBackgroundObscurationStatus):
(WebCore::RenderObject::hasBoxDecorations): Deleted.
(WebCore::RenderObject::setHasBoxDecorations): Deleted.
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::paintObject):
(WebCore::RenderTable::paintBoxDecorations):
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleDidChange):
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
- rendering/style/BorderData.h:
(WebCore::BorderData::hasBorder):
(WebCore::BorderData::hasVisibleBorder):
(WebCore::BorderData::hasFill):
(WebCore::BorderData::hasBorderRadius):
- rendering/style/RenderStyle.h:
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::styleDidChange):
- 1:38 PM Changeset in webkit [201039] by
-
- 4 edits1 add in trunk
Add test262 harness support code
https://bugs.webkit.org/show_bug.cgi?id=157797
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This patch adds some new tooling needed to run Test262 with the jsc
CLI. There were three options that needed to be added for Test262:
1) "--test262-async" This option overrides the print function in the test runner to look for
'Test262:AsyncTestComplete' instead of printing the passed text. If test262-async mode is on
and that string is not passed then the test is marked as failing.
2) "--strict-file=<file>" This option appends
"use strict";\nto the beginning of the
passed file before passing the source code to the VM. This option can, in theory, be passed
multiple times.
3) "--exception=<name>" This option asserts that at the end of the last script file passed
the VM has an uncaught exception with its name property equal to the passed name.
- jsc.cpp:
(Script::Script):
(fillBufferWithContentsOfFile):
(functionPrint):
(checkUncaughtException):
(runWithScripts):
(printUsageStatement):
(CommandLine::parseArguments):
(runJSC):
Tools:
The import-test262-tests script is used to generate the yaml file used to run test262. It
takes a path to the local copy of the Test262 repository as well as an optional path to file
containing a list of failures. This script currently just creates the yaml file used to run
the script. It does not relocate the test files into our tests directory. In the future I
plan to add that feature but it didn't seem essential for the first iteration. Since many
test262 tests need to be run in both strict and non-strict mode, import-test262-tests
creates two separate runs for those tests. This enables us to distinguish between failures
in only one of the two modes.
This patch also updates the run-jsc-stress-tests Script to run tests from Test262. In order
to do so two new run commands were needed runTest262 and prepareTest262Fixture. runTest262
takes an actual test file along with the metadata associated with it. prepareTest262Fixture
takes a fixture file (used by module tests for importing) and makes sure that file is
properly relocated to the test runner directory.
The proccess I used to import the tests was to first run import-test262-tests to create a
yaml for all the tests (import-test262-tests assumes all tests pass if to failures file is
passed). Then I ran the generated yaml file with "run-jsc-stress-tests -v -c 1" piping the
output to a file and collected all the lines with "FAIL" in it. Finally, I reran
import-test262-tests with the new failure file to create the final yaml.
- Scripts/import-test262-tests: Added.
- Scripts/run-jsc-stress-tests:
- 12:38 PM Changeset in webkit [201038] by
-
- 64 edits1 copy6 moves1 add in trunk/Source
WTF should know about Language
https://bugs.webkit.org/show_bug.cgi?id=157756
Source/JavaScriptCore:
Reviewed by Geoffrey Garen.
Teach our scripts that a ObjC class beginning with WTF is totally cool.
- JavaScriptCore.xcodeproj/project.pbxproj:
Source/WebCore:
Reviewed by Geoffrey Garen.
No new tests because this does not change behavior.
This change is all about moving some language functionality to WTF. Quoting the WTF
ChangeLog, this contains two changes:
- Move everything that WebCore's logic for getting the platform user preferred language depended on into WTF. This means CFBundleSPI.h and BlockObjCExceptions.h|cpp.
- Move WebCore::platformUserPreferredLanguages() to WTF::platformUserPreferredLanguages(). This is needed by https://bugs.webkit.org/show_bug.cgi?id=157755, which will make JSC use this to detect the platform user preferred language when running standalone.
The changes in WebCore are mostly about rewiring #includes and #imports and removing the
code that we moved to WTF. But there is one logic change: previously,
platformUserPreferredLanguages() would call WebCore::languageDidChange(). It can't do that
directly anymore, but WTF gives WebCore some API for registering the callback. So in
Language.cpp we now register languageDidChange anytime we do something that would
necessitate it, like calling platformUserPreferredLanguages(). This also registers the
callback inside addLanguageChangeObserver(), since it's possible for that to be called
after JSC had called platformUserPreferredLanguages() but before WebCore does so.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- PlatformWin.cmake:
- WebCore.xcodeproj/project.pbxproj:
- bindings/objc/DOMCustomXPathNSResolver.mm:
- editing/ios/EditorIOS.mm:
- editing/mac/DictionaryLookup.mm:
- editing/mac/EditorMac.mm:
- page/CaptionUserPreferencesMediaAF.cpp:
- page/ios/EventHandlerIOS.mm:
- page/ios/FrameIOS.mm:
- page/mac/ChromeMac.mm:
- page/mac/EventHandlerMac.mm:
- platform/Language.cpp:
(WebCore::registerLanguageDidChangeCallbackIfNecessary):
(WebCore::observerMap):
(WebCore::addLanguageChangeObserver):
(WebCore::overrideUserPreferredLanguages):
(WebCore::userPreferredLanguages):
- platform/Language.h:
- platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
- platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
- platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
- platform/graphics/cocoa/FontCocoa.mm:
- platform/graphics/mac/ColorMac.mm:
- platform/graphics/mac/GraphicsContext3DMac.mm:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
- platform/ios/PlatformSpeechSynthesizerIOS.mm:
- platform/ios/ScrollViewIOS.mm:
- platform/ios/WidgetIOS.mm:
- platform/mac/BlockExceptions.h: Removed.
- platform/mac/BlockExceptions.mm: Removed.
- platform/mac/CursorMac.mm:
- platform/mac/Language.mm: Removed.
- platform/mac/ScrollAnimatorMac.mm:
- platform/mac/ScrollViewMac.mm:
- platform/mac/ScrollbarThemeMac.mm:
- platform/mac/ThemeMac.mm:
- platform/mac/WidgetMac.mm:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
- platform/network/mac/CookieJarMac.mm:
- platform/network/mac/ResourceErrorMac.mm:
- platform/network/mac/ResourceHandleMac.mm:
- platform/spi/cf/CFBundleSPI.h: Removed.
- platform/unix/LanguageUnix.cpp: Removed.
- platform/win/LanguageWin.cpp: Removed.
Source/WebKit/mac:
Reviewed by Geoffrey Garen.
Rewires a bunch of includes/imports.
- WebCoreSupport/PopupMenuMac.mm:
- WebCoreSupport/WebChromeClient.mm:
- WebCoreSupport/WebFrameLoaderClient.mm:
- WebCoreSupport/WebGeolocationClient.mm:
- WebCoreSupport/WebNotificationClient.mm:
- WebCoreSupport/WebPlatformStrategies.mm:
- WebCoreSupport/WebUserMediaClient.mm:
- WebCoreSupport/WebVisitedLinkStore.mm:
- WebView/WebHTMLView.mm:
Source/WebKit2:
Reviewed by Geoffrey Garen and Alexey Proskuryakov.
Rewires a bunch of includes/imports.
- Shared/mac/RemoteLayerTreePropertyApplier.mm:
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
- WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
Source/WTF:
Reviewed by Geoffrey Garen.
This contains two changes:
- Move everything that WebCore's logic for getting the platform user preferred language depended on into WTF. This means CFBundleSPI.h and BlockObjCExceptions.h|cpp.
- Move WebCore::platformUserPreferredLanguages() to WTF::platformUserPreferredLanguages(). This is needed by https://bugs.webkit.org/show_bug.cgi?id=157755, which will make JSC use this to detect the platform user preferred language when running standalone.
Moving the dependencies accounts for a huge chunk of this change, since we have to rewire
all of the references to those headers in all of WebKit.
Moving platformUserPreferredLanguages() is mostly easy except for the weird callback.
That function would call languageDidChange(), which needs to stay in WebCore. So, this
gives WebCore the ability to register a languageDidChange callback. Other than this new
logic, the code being added to WTF is just being lifted out of WebCore.
- WTF.xcodeproj/project.pbxproj:
- wtf/BlockObjCExceptions.h: Added.
- wtf/BlockObjCExceptions.mm: Added.
(ReportBlockedObjCException):
- wtf/PlatformEfl.cmake:
- wtf/PlatformGTK.cmake:
- wtf/PlatformJSCOnly.cmake:
- wtf/PlatformMac.cmake:
- wtf/PlatformUserPreferredLanguages.h: Added.
- wtf/PlatformUserPreferredLanguagesMac.mm: Added.
(WTF::setPlatformUserPreferredLanguagesChangedCallback):
(WTF::preferredLanguages):
(+[WTFLanguageChangeObserver languagePreferencesDidChange:]):
(WTF::httpStyleLanguageCode):
(WTF::isValidICUCountryCode):
(WTF::platformUserPreferredLanguages):
- wtf/PlatformUserPreferredLanguagesUnix.cpp: Added.
(WTF::setPlatformUserPreferredLanguagesChangedCallback):
(WTF::platformLanguage):
(WTF::platformUserPreferredLanguages):
- wtf/PlatformUserPreferredLanguagesWin.cpp: Added.
(WTF::setPlatformUserPreferredLanguagesChangedCallback):
(WTF::localeInfo):
(WTF::platformLanguage):
(WTF::platformUserPreferredLanguages):
- wtf/PlatformWin.cmake:
- wtf/spi/cf: Added.
- wtf/spi/cf/CFBundleSPI.h: Added.
- 12:12 PM Changeset in webkit [201037] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200975. rdar://problem/24529203
- 12:04 PM Changeset in webkit [201036] by
-
- 2 edits in trunk/Source/WebCore
Tidy unused parameters with build flags in isValidKeywordPropertyAndValue
https://bugs.webkit.org/show_bug.cgi?id=157780
<rdar://problem/26327312>
Reviewed by Alex Christensen.
CSS_COMPOSITING and CSS_REGIONS aren't runtime flags any more, so
don't need a parser context. Meanwhile CSS_GRID_LAYOUT does, even
though it wasn't in the condition for the UNUSED_PARAM.
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
- 11:57 AM WebInspectorDebugging edited by
- How to disable combining test resources. (diff)
- 11:49 AM Changeset in webkit [201035] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200974. rdar://problem/26304845
- 11:49 AM Changeset in webkit [201034] by
-
- 3 edits2 adds in branches/safari-602.1.32-branch
Merge r200976. rdar://problem/26231897
- 11:49 AM Changeset in webkit [201033] by
-
- 10 edits1 move3 adds in branches/safari-602.1.32-branch
Merge r200939. rdar://problem/26180740
- 11:49 AM Changeset in webkit [201032] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200918. rdar://problem/26230168
- 11:49 AM Changeset in webkit [201031] by
-
- 8 edits2 adds in branches/safari-602.1.32-branch
Merge r200908. rdar://problem/26273173
- 11:49 AM Changeset in webkit [201030] by
-
- 13 edits in branches/safari-602.1.32-branch
Merge r200876. rdar://problem/26180300
- 11:49 AM Changeset in webkit [201029] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200891. rdar://problem/26269611
- 11:49 AM Changeset in webkit [201028] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200877. rdar://problem/26269611
- 11:49 AM Changeset in webkit [201027] by
-
- 9 edits in branches/safari-602.1.32-branch/Source
Merge r200874. rdar://problem/26269611
- 11:48 AM Changeset in webkit [201026] by
-
- 2 edits in branches/safari-602.1.32-branch/Tools
Merge r200670.
- 11:48 AM Changeset in webkit [201025] by
-
- 2 edits in branches/safari-602.1.32-branch/Tools
Merge r200669.
- 11:48 AM Changeset in webkit [201024] by
-
- 4 edits in branches/safari-602.1.32-branch/Source/WebKit2
Merge r200668.
- 11:31 AM Changeset in webkit [201023] by
-
- 2 edits in trunk/Source/WebCore
Regression(r177786): GlyphMetricsMap<T>::locatePageSlowCase() fills existing pages with unknown metrics
https://bugs.webkit.org/show_bug.cgi?id=157749
Reviewed by Antti Koivisto.
After r177786, GlyphMetricsMap<T>::locatePageSlowCase() would unconditionally fill
pages with unknown metrics. This patch updates the code to do so only if the page
is new, thus restoring the pre-r177786 behavior.
- platform/graphics/GlyphMetricsMap.h:
(WebCore::GlyphMetricsMap::metricsForGlyph):
(WebCore::GlyphMetricsMap::setMetricsForGlyph):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::GlyphMetricsPage):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::fill):
(WebCore::GlyphMetricsMap::locatePage):
(WebCore::GlyphMetricsMap<T>::locatePageSlowCase):
(WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph): Deleted.
(WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph): Deleted.
(WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex): Deleted.
(WebCore::GlyphMetricsMap<float>::unknownMetrics): Deleted.
(WebCore::GlyphMetricsMap<FloatRect>::unknownMetrics): Deleted.
- 11:20 AM Changeset in webkit [201022] by
-
- 5 edits in trunk
console namespace breaks putting properties on console.proto
https://bugs.webkit.org/show_bug.cgi?id=157782
<rdar://problem/26250526>
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Some websites currently depend on console.proto existing and being
a separate object from Object.prototype. This patch adds back a basic
console.proto object, but all the console functions are left on
the ConsoleObject itself.
- runtime/JSGlobalObject.cpp:
(JSC::createConsoleProperty):
LayoutTests:
- js/console-expected.txt:
- js/console.html:
- 11:00 AM WebInspectorDebugging edited by
- (diff)
- 10:58 AM Changeset in webkit [201021] by
-
- 17 edits in branches/safari-602.1.32-branch/Source
Merge r200819. rdar://problem/26235373
- 10:49 AM WebInspectorDebugging edited by
- Instructions about debug logging for WKTR (diff)
- 10:36 AM Changeset in webkit [201020] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, rolling out r201017.
https://bugs.webkit.org/show_bug.cgi?id=157799
Rebaselining the test was not the right solution. (Requested
by ryanhaddad on #webkit).
Reverted changeset:
"Rebaseline inspector/debugger/tail-recursion.html"
http://trac.webkit.org/changeset/201017
Patch by Commit Queue <commit-queue@webkit.org> on 2016-05-17
- 10:33 AM Changeset in webkit [201019] by
-
- 9 edits in trunk/Source/WebInspectorUI
Web Inspector: breakpoints in sourceURL named scripts are not persisted
https://bugs.webkit.org/show_bug.cgi?id=157714
<rdar://problem/26287099>
Reviewed by Joseph Pecoraro.
The Inspector frontend doesn't try to persist a breakpoint that
lacks a URL, even if the breakpoint has a sourceURL. Similarly, for
breakpoints without a URL, the frontend asks the backend to create
the breakpoint for a specific script identifier rather than a
URL-based breakpoint. This prevents breakpoints in injected scripts
from being resolved if the page is reloaded.
The Inspector backend knows how to resolve URL-based breakpoints
by matching against the script's URL or sourceURL, so we just need
to teach the frontend when either is appropriate to use.
This patch adds SourceCode.contentIdentifier, which is roughly
url || sourceURLfor content that is not emphemeral, such as
console evaluations. Change breakpoint and debugger code to use
contentIdentifierrather thanurl, and pass contentIdentifier
to the backend when setting a breakpoint by URL.
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
(WebInspector.DebuggerManager.prototype.scriptsForURL):
(WebInspector.DebuggerManager.prototype.get searchableScripts):
(WebInspector.DebuggerManager.prototype.removeBreakpoint):
(WebInspector.DebuggerManager.prototype.reset):
(WebInspector.DebuggerManager.prototype.scriptDidParse):
(WebInspector.DebuggerManager.prototype._setBreakpoint):
(WebInspector.DebuggerManager.prototype._saveBreakpoints):
(WebInspector.DebuggerManager.prototype._associateBreakpointsWithSourceCode):
- UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.get contentIdentifier):
(WebInspector.Breakpoint.prototype.get info):
(WebInspector.Breakpoint.prototype.saveIdentityToCookie):
(WebInspector.Breakpoint.prototype.get url): Deleted.
Replace uses of Breakpoint.prototype.get url with
contentIdentifier inside the class and at all callsites.
- UserInterface/Models/Script.js:
(WebInspector.Script.prototype.get contentIdentifier):
Added. Use the URL, or the sourceURL unless the script is
ephemeral and only run once, like as a console evaluation.
- UserInterface/Models/SourceCode.js:
(WebInspector.SourceCode.prototype.get url): Added.
All subclasses already override this getter. Add it here so that
the default implementation of contentIdentifier can use it.
(WebInspector.SourceCode.prototype.get contentIdentifier): Added.
- UserInterface/Views/BreakpointTreeElement.js:
(WebInspector.BreakpointTreeElement.prototype.get filterableData):
- UserInterface/Views/ProbeSetDetailsSection.js:
(WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._matchesBreakpoint):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
- 10:07 AM Changeset in webkit [201018] by
-
- 5 edits in trunk/Source/WebCore
Fix the !ENABLE(WEB_TIMING) build after r200887
https://bugs.webkit.org/show_bug.cgi?id=157796
Reviewed by Chris Dumez.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/DocumentThreadableLoader.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
- loader/cache/CachedResourceLoader.h:
- 10:03 AM Changeset in webkit [201017] by
-
- 2 edits in trunk/LayoutTests
Rebaseline inspector/debugger/tail-recursion.html
Unreviewed test gardening.
- inspector/debugger/tail-recursion-expected.txt:
- 9:40 AM Changeset in webkit [201016] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK+ and EFL bulid fix; make the audio playback user gesture requirement
Cocoa-only.
- Shared/WebPreferencesDefinitions.h:
- 9:21 AM Changeset in webkit [201015] by
-
- 3 edits3 adds in trunk
REGRESSION(r54729): Line breaking in complex mixed-direction text is inconsistent across page refreshes
https://bugs.webkit.org/show_bug.cgi?id=157783
<rdar://problem/22908924>
Reviewed by Zalan Bujtas.
Source/WebCore:
mappedIndices is uninitialized.
Test: fast/text/complex-mixed-direction-line-breaking.html
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
LayoutTests:
- fast/text/complex-mixed-direction-line-breaking-expected.html: Added.
- fast/text/complex-mixed-direction-line-breaking.html: Added.
- fast/text/resources/Gulf-regular.ttf: Added.
- 6:43 AM Changeset in webkit [201014] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, dump more information when math-pow-stable-results.js failed
https://bugs.webkit.org/show_bug.cgi?id=157168
- tests/stress/math-pow-stable-results.js:
- 4:54 AM WebKitGTK/2.12.x edited by
- (diff)
- 3:20 AM Changeset in webkit [201013] by
-
- 21 edits in trunk/Source
DOMPromise should only restrict the resolution type
https://bugs.webkit.org/show_bug.cgi?id=157307
Reviewed by Darin Adler.
Source/WebCore:
Removing from DOMPromise the rejection template parameter.
Supported rejection types are integers (Exception codes) and DOM objects (DOMError typically).
Updated DeferredWrapper to accept Ref<>&& and RefPtr<>&&.
Relanding without touching JSDOMBinding.h as this seemed to be impacting performances.
Changes also allow in most cases to remove the need for explictly declaring the
rejection/resolution type.
Minor refactoring of FontFaceSet promise handling to use DOMPromise in lieu of DeferredWrapper.
Covered by existing tests.
Changes should not be visible from user scripts.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::consume):
(WebCore::FetchBody::consumeText):
(WebCore::blobFromArrayBuffer):
(WebCore::FetchBody::loadingFailed):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::formData):
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):
- Modules/fetch/FetchResponse.h:
- Modules/mediastream/MediaDevices.h:
- Modules/mediastream/PeerConnectionBackend.h:
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::didCreateStream):
- Modules/streams/ReadableStreamSource.h:
- Modules/webaudio/AudioContext.h:
- bindings/js/JSDOMPromise.cpp:
(WebCore::fulfillPromiseWithJSON):
- bindings/js/JSDOMPromise.h:
(WebCore::TypeInspector::decltype):
(WebCore::TypeInspector::testIsVector):
(WebCore::TypeInspector::testIsRefOrRefPtr):
(WebCore::DeferredWrapper::resolve):
(WebCore::DeferredWrapper::reject):
(WebCore::DOMPromise::resolve):
(WebCore::DOMPromise::reject):
(WebCore::DeferredWrapper::resolveWithValue):
(WebCore::DeferredWrapper::rejectWithValue):
(WebCore::callPromiseFunction):
- bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::JSSubtleCrypto::importKey):
(WebCore::JSSubtleCrypto::unwrapKey):
- css/FontFace.h:
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::PendingPromise::PendingPromise):
(WebCore::FontFaceSet::load):
(WebCore::FontFaceSet::registerReady):
- css/FontFaceSet.h:
- html/HTMLMediaElement.h:
Source/WTF:
- wtf/Ref.h: Adding static constexpr to ease detection of Ref for templates.
- wtf/RefPtr.h: Ditto.
- 1:47 AM Changeset in webkit [201012] by
-
- 3 edits2 adds in branches/safari-602.1.32-branch
Merge r200872. rdar://problem/25993225
- 1:47 AM Changeset in webkit [201011] by
-
- 15 edits1 add1 delete in branches/safari-602.1.32-branch/Source
Merge r200866. rdar://problem/26253396
- 1:47 AM Changeset in webkit [201010] by
-
- 4 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200793. rdar://problem/26251756
- 1:47 AM Changeset in webkit [201009] by
-
- 2 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200792. rdar://problem/26253394
- 1:47 AM Changeset in webkit [201008] by
-
- 4 edits in branches/safari-602.1.32-branch/Source/WebCore
Merge r200788. rdar://problem/26143008
- 1:47 AM Changeset in webkit [201007] by
-
- 7 edits in branches/safari-602.1.32-branch/Source/WebInspectorUI
Merge r200708. rdar://problem/26228913
- 1:47 AM Changeset in webkit [201006] by
-
- 3 edits2 adds in branches/safari-602.1.32-branch
Merge r200688. rdar://problem/26013966
- 1:47 AM Changeset in webkit [201005] by
-
- 3 edits2 adds in branches/safari-602.1.32-branch
Merge r200803. rdar://problem/17779042
- 1:47 AM Changeset in webkit [201004] by
-
- 3 edits in branches/safari-602.1.32-branch/LayoutTests
Merge r200674. rdar://problem/17779042
- 1:46 AM Changeset in webkit [201003] by
-
- 2 edits in branches/safari-602.1.32-branch/LayoutTests
Merge r200646. rdar://problem/17779042
- 1:46 AM Changeset in webkit [201002] by
-
- 8 edits6 adds in branches/safari-602.1.32-branch
Merge r200601. rdar://problem/17779042
- 1:46 AM Changeset in webkit [201001] by
-
- 5 edits2 adds in branches/safari-602.1.32-branch
Merge r200778. rdar://problem/25840861