Timeline



Feb 19, 2015:

11:41 PM Changeset in webkit [180395] by dburkart@apple.com
  • 5 edits in branches/safari-600.5-branch

Merged r180128. <rdar://19850739>

11:35 PM Changeset in webkit [180394] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Array.from test fix.

Unreviewed.

Remove document.querySelectorAll use, as there is no DOM when running js tests
in run-javascriptcore-tests.

  • js/array-from-expected.txt:
  • js/script-tests/array-from.js:
11:28 PM Changeset in webkit [180393] by dburkart@apple.com
  • 5 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r180115. <rdar://19850758>

11:18 PM Changeset in webkit [180392] by dburkart@apple.com
  • 8 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r180094. <rdar://19850716>

11:04 PM Changeset in webkit [180391] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

11:01 PM Changeset in webkit [180390] by dburkart@apple.com
  • 10 edits in branches/safari-600.5-branch/Source

Merged r180076. <rdar://19850750>

10:45 PM Changeset in webkit [180389] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.3

New tag.

10:33 PM Changeset in webkit [180388] by saambarati1@gmail.com
  • 8 edits in trunk

Web Inspector: merge in upstream Esprima to support parsing more of ES6
https://bugs.webkit.org/show_bug.cgi?id=141215

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

This patch merges in a new esprima that has some ES6 support.
Specifically, the ES6 support ScriptSyntaxTree now has is:

  • ForOf loops
  • Object destructuring
  • Array destructuring

ScriptSyntaxTree now uses Symbols for identifying AST node types
instead of strings. This will prevent any direct usage of strings
for node types instead of a direct property access off the
ScriptSyntaxTree constructor.

This patch also does some gardening work:

  • TypeTokenAnnotator only walks over the incoming type information data once to be more efficient.
  • TypeTokenView is now smarter about updating its associated DOM node only if its display name has changed.
  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):

  • UserInterface/External/Esprima/esprima.js:

(.):

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype.gatherIdentifiersInVariableDeclaration):
(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView.prototype.update):

LayoutTests:

  • inspector/model/parse-script-syntax-tree-expected.txt:
  • inspector/model/parse-script-syntax-tree.html:
10:31 PM Changeset in webkit [180387] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r180063. <rdar://19812938>

10:14 PM Changeset in webkit [180386] by shiva.jm@samsung.com
  • 3 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/WebProcess and UIProcess module.
https://bugs.webkit.org/show_bug.cgi?id=141794.

Reviewed by Anders Carlsson.

Fix build warning by using UNUSED_PARAM macro.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeWebProcessAccessType):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::deleteWebsiteData):

10:06 PM Changeset in webkit [180385] by dburkart@apple.com
  • 7 edits in branches/safari-600.5-branch/Source

Merged r180062. <rdar://19812938>

9:53 PM Changeset in webkit [180384] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Use of Array.from for NodeList/Arguments to Array conversion
https://bugs.webkit.org/show_bug.cgi?id=141819

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-19
Reviewed by Timothy Hatcher.

Array.from is clearer than Array.prototype.slice.call(arrayLike).

  • UserInterface/Base/Test.js:

(.console.logType):

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Command.prototype.promise):
(InspectorBackend.Command.prototype._invokeWithArguments):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._allMessages):

9:40 PM Changeset in webkit [180383] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179956. <rdar://19812935>

9:37 PM Changeset in webkit [180382] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179937. <rdar://19812932>

9:30 PM Changeset in webkit [180381] by dburkart@apple.com
  • 1 edit
    3 copies in branches/safari-600.5-branch/LayoutTests

Merged r179936. <rdar://19812932>

9:25 PM Changeset in webkit [180380] by dburkart@apple.com
  • 7 edits
    4 copies
    2 deletes in branches/safari-600.5-branch

Merged r179933. <rdar://19812926>

6:37 PM Changeset in webkit [180379] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Make EnvironmentVariables::appendValue() handle the case where the existing value is an empty string.
https://bugs.webkit.org/show_bug.cgi?id=141818.

Patch by Remy Demarest <rdemarest@apple.com> on 2015-02-19
Reviewed by Dan Bernstein.

  • UIProcess/Launcher/mac/EnvironmentVariables.cpp:

(WebKit::EnvironmentVariables::appendValue): If the existing value is an empty string, replace it rather than
append to it.

6:36 PM Changeset in webkit [180378] by dbates@webkit.org
  • 2 edits in trunk/Tools

REGRESSION (r180239): run-webkit-test fails to boot simulator device that was booted by previous test run
https://bugs.webkit.org/show_bug.cgi?id=141815
<rdar://problem/19893933>

Reviewed by Simon Fraser.

Fixes an issue where run-webkit-tests would fail to boot the WebKit Tester simulator device if it
was booted by iOS Simulator in a previous run of run-webkit-test.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.check_sys_deps): Added logic moved from IOSSimulatorPort.setup_test_run().
(IOSSimulatorPort.setup_test_run): Moved logic to quit the iOS Simulator app and wait for the
testing device to be in the shutdown state from here to IOSSimulatorPort.check_sys_deps().

5:41 PM Changeset in webkit [180377] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.5-branch

Merged r179877. <rdar://19850766>

5:36 PM Changeset in webkit [180376] by mmaxfield@apple.com
  • 7 edits
    4 adds in trunk/LayoutTests

Updating more tests after r177774
https://bugs.webkit.org/show_bug.cgi?id=141817

Reviewed by NOBODY (As per ap's request).

These tests aren't actually flakey, and simply need updated results.

Some of the SVG tests were actually flakey, but for a different reason.

  • platform/mac-mavericks/css3/selectors3/html/css3-modsel-161-expected.txt: Added.
  • platform/mac-mavericks/css3/selectors3/xhtml/css3-modsel-161-expected.txt: Added.
  • platform/mac-mavericks/css3/selectors3/xml/css3-modsel-161-expected.txt: Added.
  • platform/mac-mavericks/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt: Added
  • platform/mac-wk2/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/fast/block/margin-collapse/103-expected.txt:
  • platform/mac/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt:
5:31 PM Changeset in webkit [180375] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.5-branch

Merged r179776. <rdar://19850771>

5:25 PM Changeset in webkit [180374] by dburkart@apple.com
  • 3 edits
    3 copies in branches/safari-600.5-branch

Merged r178224. <rdar://19861714>

5:10 PM Changeset in webkit [180373] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Follow-up fix to r180371. formatParameterAsValue expects full object, not just a description.

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatParameter):

4:42 PM Changeset in webkit [180372] by commit-queue@webkit.org
  • 3 edits in trunk/Source/bmalloc

Unreviewed, rolling out r180363.
https://bugs.webkit.org/show_bug.cgi?id=141814

Caused >50 crashes when running LayoutTests in GuardMalloc or
ASAN modes. (Requested by jernoble on #webkit).

Reverted changeset:

"bmalloc should implement malloc introspection (to stop false-
positive leaks when MallocStackLogging is off)"
https://bugs.webkit.org/show_bug.cgi?id=141802
http://trac.webkit.org/changeset/180363

4:37 PM Changeset in webkit [180371] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Introduce FormattedValue helpers and use them in Console/ObjectTree
https://bugs.webkit.org/show_bug.cgi?id=141812

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-19
Reviewed by Timothy Hatcher.

There were a few different ways to get styled values. Try to consolidate them
all in FormattedValue. That is also a convenient place to have the styles.

  • UserInterface/Main.html:
  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsValue):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):

(WebInspector.ConsoleMessageImpl.prototype._userProvidedColumnNames):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
(WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement): Deleted.
Fix console.table after renaming ObjectPreview.properties to ObjectPreview.propertyPreviews.
Also, use FormattedValue to create the value elements. Also, remove class
"source-code" as I do not see it actually being used in a meaningful way.

  • UserInterface/Views/FormattedValue.css: Added.

(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
(.formatted-number):
(.formatted-string, .formatted-regexp):
(.formatted-string):
(.formatted-regexp):
(.formatted-symbol):
(.formatted-null, .formatted-undefined):

  • UserInterface/Views/FormattedValue.js: Added.

(WebInspector.FormattedValue.classNameForTypes):
(WebInspector.FormattedValue.classNameForObject):
(WebInspector.FormattedValue.createLinkifiedElementString):
(WebInspector.FormattedValue.createElementForTypesAndValue):
(WebInspector.FormattedValue.createElementForRemoteObject):
(WebInspector.FormattedValue.createElementForObjectPreview):
(WebInspector.FormattedValue.createElementForPropertyPreview):
Styles and formatted value element creation.

  • UserInterface/Views/LogContentView.css:

(.expandable.source-code): Deleted.
Remove ".source-code". I do not see it actually being used in a meaningful way.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
(WebInspector.ObjectPreviewView.prototype._appendValuePreview):
(WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview): Deleted.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString): Deleted.

  • UserInterface/Views/ObjectTreeView.css:

(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap): Deleted.
(.formatted-number): Deleted.
(.formatted-string, .formatted-regexp): Deleted.
(.formatted-string): Deleted.
(.formatted-regexp): Deleted.
(.formatted-symbol): Deleted.
(.formatted-null, .formatted-undefined): Deleted.

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView.classNameForObject): Deleted.
Extract styles and value formatting to FormattedValue helpers.

4:20 PM Changeset in webkit [180370] by dino@apple.com
  • 9 edits
    4 adds in trunk

ES6: Implement Array.from()
https://bugs.webkit.org/show_bug.cgi?id=141054
<rdar://problem/19654521>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Implement the Array.from() ES6 method
as defined in Section 22.1.2.1 of the specification.

Given that we can't rely on the built-in
global functions or objects to be untainted,
I had to expose a few of them directly to
the function via private names. In particular:

  • Math.floor -> @floor
  • Math.abs -> @abs
  • Number -> @Number
  • Array -> @Array
  • isFinite -> @isFinite
  • builtins/ArrayConstructor.js: Added.

(from): Implementation of Array.from in JavaScript.

  • runtime/ArrayConstructor.cpp: Add "from" to the lookup

table for the constructor object.

  • runtime/CommonIdentifiers.h: Add the private versions

of the identifiers listed above.

  • runtime/JSGlobalObject.cpp: Add the implementations of

those identifiers to the global object (using their
private names).
(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalPrivateFuncAbs): Implementation of the abs function.
(JSC::globalPrivateFuncFloor): Implementation of the floor function.

  • runtime/JSGlobalObjectFunctions.h:

LayoutTests:

Test for Array.from(). The test has
one expected failure: using from() on a
Set object, which will be addressed in
a followup:
https://bugs.webkit.org/show_bug.cgi?id=141055

  • js/array-from-expected.txt: Added.
  • js/array-from.html: Added.
  • js/script-tests/array-from.js: Added.
  • js/Object-getOwnPropertyNames.html: Update results for the new value on the constructor.
4:13 PM Changeset in webkit [180369] by jer.noble@apple.com
  • 8 edits
    2 adds in branches/safari-600.1.4.15-branch/LayoutTests

Unreviewed gardening; rebaseline tests on safari-600.1.4.15-branch

  • css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
  • css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
  • css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
  • platform/mac/css2.1/t1202-counter-04-b-expected.png:
  • platform/mac/css2.1/t1202-counter-04-b-expected.txt:
  • platform/mac/css2.1/t1202-counters-04-b-expected.png:
  • platform/mac/css2.1/t1202-counters-04-b-expected.txt:
  • platform/mac/fast/text/vertical-no-sideways-expected.png: Added.
  • platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.
3:05 PM Changeset in webkit [180368] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update fast/text/glyph-reordering.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141775

Reviewed by Dan Bernstein.

  • fast/text/glyph-reordering.html:
  • platform/mac/TestExpectations:
2:56 PM Changeset in webkit [180367] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Rename SOFT_LINK_FUNCTION_{DECL,IMPL}() to SOFT_LINK_FUNCTION_{HEADER,SOURCE}()

Rubber-stamped by Brent Fulgham.

"HEADER" and "SOURCE" seem clearer than "DECL" and "IMPL", and
Brent agreed when I talked to him in person.

  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • platform/mac/SoftLinking.h:
  • platform/win/SoftLinking.h:
  • Do the rename.
2:42 PM Changeset in webkit [180366] by ddkilzer@apple.com
  • 19 edits
    1 add in trunk/Source/WebCore

Move more CoreMedia soft-linked functions to CoreMediaSoftLink.{cpp,h}
<http://webkit.org/b/141791>

Reviewed by Alexey Proskuryakov.

  • Configurations/WebCore.unexp:
  • Remove five more symbols.
  • Modules/plugins/QuickTimePluginReplacement.mm:
  • Remove all local soft-links and include CoreMediaSoftLink.h. Note that SOFT_LINK_FRAMEWORK_OPTIONAL() should not have been used here since we didn't use the optional function soft-link method.
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/WebCoreCFNetwork.props:
  • WebCore.xcodeproj/project.pbxproj:
  • Add CoreMediaSPI.h to the project.
  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • Add three cross-platform symbols, five Cocoa-only symbols, and two Windows-only symbols (based on current usage, not availability on each platform).
  • Include CoreMediaSPI.h header.
  • Include <CoreMedia/CoreMedia.h> instead of just CMTime.h.
  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
  • Remove all CoreMedia soft-linked functions. Constants remain.
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • Remove one CoreMedia soft-linked method.
  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
  • Remove all CoreMedia soft-linked funtions. With this change, we are already realizing space savings for duplicate SOFT_LINK_FRAMEWORK() calls. (On Windows, there was code generated for many unused functions included by CoreMediaSoftLinking.h.)
  • platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h:
  • Remove all CoreMedia soft-linked funtions. Constants remain.
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • Remove duplicate header included by CoreMediaSoftLink.h.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • Remove all CoreMedia soft-linked funtions. Constants remain.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • Remove three CoreMedia soft-linked methods.
  • platform/mac/PlatformClockCM.mm:
  • Remove two CoreMedia soft-linked methods.
  • platform/mac/SerializedPlatformRepresentationMac.mm:
  • Remove only CoreMedia soft-linked funtion. It wasn't even used.
  • platform/mediastream/mac/AVVideoCaptureSource.mm:
  • Remove two CoreMedia soft-linked method.
  • platform/spi/cf/CoreMediaSPI.h:
  • Add for SPI from CMNotificationCenter.h.
2:18 PM Changeset in webkit [180365] by rniwa@webkit.org
  • 7 edits in trunk/Websites/perf.webkit.org

Relationship between A/B testing results are unclear
https://bugs.webkit.org/show_bug.cgi?id=141810

Reviewed by Andreas Kling.

Show a "reference chart" indicating which two points have been tested in each test group pane.

Now the chart shown at the top of an analysis task page is called the "overview pane", and we use the pane
and the domain used in this chart to show charts in each test group.

Also renamed an array of revisions used in the A/B test results tables from 'revisions' to 'revisionList'.

  • public/v2/analysis.js:

(App.TestGroup._fetchTestResults): Renamed from _fetchChartData. Set 'testResults' instead of 'chartData'
since this is the results of A/B testing results, not the data for charts shown next to them.

  • public/v2/app.css: Added CSS rules for reference charts.
  • public/v2/app.js:

(App.AnalysisTaskController.paneDomain): Set 'overviewPane' and 'overviewDomain' on each test group pane.
(App.TestGroupPane._populate): Updated per 'chartData' to 'testResults' rename.
(App.TestGroupPane._updateReferenceChart): Get the chart data via the overview pane and find points that
identically matches root sets. If one of configuration used a set of revisions for which no measurement
was made in the original chart, don't show the reference chart as that would be misleading / confusing.
(App.TestGroupPane._computeRepositoryList): Updated per 'chartData' to 'testResults' rename.
(App.TestGroupPane._createConfigurationSummary): Ditto. Also renamed 'revisions' to 'revisionList'.
In addition, renamed 'buildNumber' to 'buildLabel' and prefixed it with "Build ".

  • public/v2/data.js:

(Measurement.prototype.revisionForRepository): Added.
(Measurement.prototype.commitTimeForRepository): Cleanup.
(TimeSeries.prototype.findPointByRevisions): Added. Finds a point based on a set of revisions.

  • public/v2/index.html: Added the reference chart. Streamlined the status label for each build request

by including the build number in the title attribute instead of in the markup.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._updateDomain): Fixed a typo introduced as a consequence of r179913.
(App.InteractiveChartComponent._computeYAxisDomain): Expand the y-axis to show the highlighted points.
(App.InteractiveChartComponent._highlightedItemsChanged): Adjust the y-axis as needed.

1:42 PM Changeset in webkit [180364] by hyatt@apple.com
  • 8 edits
    2 adds in trunk

Fix for unsplittable content being paginated by columns.

1:38 PM Changeset in webkit [180363] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

Fixed a last-minute type.

The macro is OS, not PLATFORM.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.h:
1:25 PM Changeset in webkit [180362] by andersca@apple.com
  • 13 edits in trunk/Source/WebKit2

Make C SPI objects and modern API objects toll-free bridged
https://bugs.webkit.org/show_bug.cgi?id=141808

Reviewed by Tim Horton.

  • Shared/API/APIObject.h:

(API::Object::wrap):
(API::Object::unwrap):
Add default implementations of wrap and unwrap. These just cast.

  • Shared/API/c/WKArray.cpp:

(WKArrayCreate):
(WKArrayCreateAdoptingValues):
(WKArrayGetItemAtIndex):

  • Shared/API/c/WKDictionary.cpp:

(WKDictionaryGetItemForKey):
Add toImpl and toAPI where necessary.

  • Shared/API/c/WKSharedAPICast.h:

Add API::Object::wrap in toAPI and unwrap in toImpl.

  • Shared/API/c/WKType.cpp:

(WKGetTypeID):
(WKRetain):
(WKRelease):
Add missing toImpl calls.

  • Shared/Cocoa/APIObject.mm:

(API::Object::wrap):
Return the APIObject Objective-C wrapper.

(API::Object::unwrap):
Return the API::Object from the Objective-C object.

  • Shared/Cocoa/WKObject.h:

Add wrap and unwrap declarations.

  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/WKPageConfigurationRef.cpp:
  • UIProcess/API/C/WKPageGroup.cpp:
  • UIProcess/API/C/WKUserContentControllerRef.cpp:

Add missing includes; toImpl now requires a complete type.

1:09 PM Changeset in webkit [180361] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove unused forward declaration from WKWebViewInternal.h
https://bugs.webkit.org/show_bug.cgi?id=141806

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:

The use of WebCore::Highlight moved to WKContentView.

1:08 PM Changeset in webkit [180360] by benjamin@webkit.org
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

Refine the FTL part of ArithPow
https://bugs.webkit.org/show_bug.cgi?id=141792

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-19
Reviewed by Filip Pizlo.

This patch refines the FTL lowering of ArithPow. This was left out
of the original patch to keep it simpler.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileArithPow):
Two improvements here:
1) Do not generate the NaN check unless we know the exponent might be a NaN.
2) Use one BasicBlock per check with the appropriate weight. Now that we have

one branch per test, move the Infinity check before the check for 1 since
it is the less common case.

  • tests/stress/math-pow-becomes-custom-function.js: Added.

Test for changing the Math.pow() function after it has been optimized.

  • tests/stress/math-pow-nan-behaviors.js:

The previous tests were only going as far as the DFGAbstractInterpreter
were the operations were replaced by the equivalent constant.

I duplicated the test functions to also test the dynamic behavior of DFG
and FTL.

  • tests/stress/math-pow-with-constants.js:

Add cases covering exponent constants. LLVM removes many value
checks for those.

  • tests/stress/math-pow-with-never-NaN-exponent.js: Added.

Test for the new optimization removing the NaN check.

12:42 PM Changeset in webkit [180359] by ggaren@apple.com
  • 5 edits
    2 adds in trunk/Source/bmalloc

bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

This patch does the bare minimum to stop false positive leaks from
being reported by the Darwin leaks tool. We register each super chunk
as a single object, and then request that the leaks tool scan it.

  • bmalloc.xcodeproj/project.pbxproj: Added an abstraction for the malloc

zone introspection API.

  • bmalloc/Algorithm.h: Missing #include.
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h: Adopt the new abstraction.
  • bmalloc/Zone.cpp: Added.

(bmalloc::remoteRead): Helper for reading an object out of another process.
(bmalloc::Zone::enumerator):
(bmalloc::Zone::Zone): Register a malloc zone so that we will participate
in introspection.

  • bmalloc/Zone.h: Added.

(bmalloc::Zone::superChunks):
(bmalloc::Zone::addSuperChunk): Use a non-dynamically-allocated vector
since our dynamic allocations will not be scanned by leaks since they
will have the malloc VM tag.

12:36 PM Changeset in webkit [180358] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Disable DOM Tree Editing / Styles Editing of Shadow DOM Nodes
https://bugs.webkit.org/show_bug.cgi?id=141793

Unreviewed follow-up. Fix prototypes.

  • UserInterface/Views/ObjectPreviewView.js:
  • UserInterface/Views/ObjectTreeView.js:
12:28 PM Changeset in webkit [180357] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Use the real implementation type in our API cast traits
https://bugs.webkit.org/show_bug.cgi?id=141805

Reviewed by Sam Weinig.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toURLRef):
(WebKit::toAPI): Deleted.
(WebKit::toImpl): Deleted.

  • UIProcess/GenericCallback.h:
12:25 PM Changeset in webkit [180356] by Joseph Pecoraro
  • 13 edits
    11 adds in trunk

Web Inspector: Create Separate Model and View Objects for RemoteObjects / ObjectPreview / PropertyDescriptor
https://bugs.webkit.org/show_bug.cgi?id=141696

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/Main.html:

Add new files.

  • UserInterface/Models/CollectionEntry.js: Added.

(WebInspector.CollectionEntry):
(WebInspector.CollectionEntry.fromPayload):
(WebInspector.CollectionEntry.prototype.get key):
(WebInspector.CollectionEntry.prototype.get value):

  • UserInterface/Models/CollectionEntryPreview.js: Added.

(WebInspector.CollectionEntryPreview):
(WebInspector.CollectionEntryPreview.fromPayload):
(WebInspector.CollectionEntryPreview.prototype.get keyPreview):
(WebInspector.CollectionEntryPreview.prototype.get valuePreview):

  • UserInterface/Models/ObjectPreview.js: Added.

(WebInspector.ObjectPreview):
(WebInspector.ObjectPreview.fromPayload):
(WebInspector.ObjectPreview.prototype.get type):
(WebInspector.ObjectPreview.prototype.get subtype):
(WebInspector.ObjectPreview.prototype.get description):
(WebInspector.ObjectPreview.prototype.get lossless):
(WebInspector.ObjectPreview.prototype.get overflow):
(WebInspector.ObjectPreview.prototype.get properties):
(WebInspector.ObjectPreview.prototype.get entries):

  • UserInterface/Models/PropertyPreview.js: Added.

(WebInspector.PropertyPreview):
(WebInspector.PropertyPreview.fromPayload):
(WebInspector.PropertyPreview.prototype.get name):
(WebInspector.PropertyPreview.prototype.get type):
(WebInspector.PropertyPreview.prototype.get subtype):
(WebInspector.PropertyPreview.prototype.get value):
(WebInspector.PropertyPreview.prototype.get valuePreview):

  • UserInterface/Models/PropertyDescriptor.js: Added.

(WebInspector.PropertyDescriptor.fromPayload):
(WebInspector.PropertyDescriptor.prototype.get name):
(WebInspector.PropertyDescriptor.prototype.get value):
(WebInspector.PropertyDescriptor.prototype.get writable):
(WebInspector.PropertyDescriptor.prototype.get configurable):
(WebInspector.PropertyDescriptor.prototype.get enumerable):
(WebInspector.PropertyDescriptor.prototype.get isOwnProperty):
(WebInspector.PropertyDescriptor.prototype.get wasThrown):
(WebInspector.PropertyDescriptor.prototype.get isInternalProperty):
(WebInspector.PropertyDescriptor.prototype.hasValue):
(WebInspector.PropertyDescriptor.prototype.hasGetter):
(WebInspector.PropertyDescriptor.prototype.hasSetter):
New Model objects for different Protocol types.
The only customizations right now are compatibility modifications
and PropertyDescriptor's "hasValue", "hasGetter", and "hasSetter"
functions to return reliable checks based on the descriptors contents.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.resolveNode):
(WebInspector.RemoteObject.prototype.get value):
(WebInspector.RemoteObject.prototype._isSymbol):
(WebInspector.RemoteObject.prototype.isCollectionType):
(WebInspector.RemoteObject.prototype.isWeakCollection):
(WebInspector.RemoteObject.prototype.getCollectionEntries):
(WebInspector.RemoteObject.prototype.arrayLength):
Clean up the existing code to enforce more checks and use our
style of member variables and public accessors.

(WebInspector.RemoteObject.prototype.getOwnPropertyDescriptors):
(WebInspector.RemoteObject.prototype.getOwnAndGetterPropertyDescriptors):
(WebInspector.RemoteObject.prototype.getAllPropertyDescriptors):
(WebInspector.RemoteObject.prototype.callback):
Provide a new way of getting properties that returns Model objects
instead of raw protocol types.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
Always include a preview when possible. Now, when forced to be an object,
force expansion even if the preview is lossless.

(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
Use an ObjectTreeView instead of ObjectPropertiesSection.

(WebInspector.ConsoleMessageImpl.prototype._appendPreview): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendValuePreview): Deleted.
This code is moved into ObjectPreviewView.

  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
(WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
These types are now converted to Model types in Model objects, so do not do it here.

  • UserInterface/Views/ObjectPreviewView.css: Added.

(.object-preview):
(.object-preview.lossless):
(.object-preview .name):

  • UserInterface/Views/ObjectPreviewView.js: Added.

(WebInspector.ObjectPreviewView):
(WebInspector.ObjectPreviewView.prototype.get preview):
(WebInspector.ObjectPreviewView.prototype.get element):
(WebInspector.ObjectPreviewView.prototype.get mode):
(WebInspector.ObjectPreviewView.prototype.get lossless):
(WebInspector.ObjectPreviewView.prototype._numberOfPropertiesToShowInMode):
(WebInspector.ObjectPreviewView.prototype._appendPreview):
(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
(WebInspector.ObjectPreviewView.prototype._appendValuePreview):
(WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview):
An ObjectPreviewView can create a full/brief view given a ObjectPreview.
The view will contain formatted values everywhere possible.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js: Added.

(WebInspector.ObjectTreePropertyTreeElement):
(WebInspector.ObjectTreePropertyTreeElement.prototype.get property):
(WebInspector.ObjectTreePropertyTreeElement.prototype.onpopulate):
(WebInspector.ObjectTreePropertyTreeElement.prototype.onattach):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAPIStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString):
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
(WebInspector.ObjectTreePropertyTreeElement.prototype.mode):
(WebInspector.ObjectTreePropertyTreeElement.prototype):

  • UserInterface/Views/ObjectTreeView.js: Added.

(WebInspector.ObjectTreeView):
(WebInspector.ObjectTreeView.classNameForObject):
(WebInspector.ObjectTreeView.ComparePropertyDescriptors):
(WebInspector.ObjectTreeView.prototype.get object):
(WebInspector.ObjectTreeView.prototype.get element):
(WebInspector.ObjectTreeView.prototype.get expanded):
(WebInspector.ObjectTreeView.prototype.expand):
(WebInspector.ObjectTreeView.prototype.collapse):
(WebInspector.ObjectTreeView.prototype.update):
(WebInspector.ObjectTreeView.prototype._updateProperties):
(WebInspector.ObjectTreeView.prototype._handlePreviewOrTitleElementClick):
Re-implementation of ObjectPropertiesSection for our Model objects
without "Section" semantics / dependencies. An ObjectTree will creates
an expandable tree for a RemoteObject. The top level clickable item
will be an ObjectPreview if possible, otherwise just a title element.

  • UserInterface/Views/ObjectTreeView.css: Added.

(.object-tree):
(.object-tree > .title):
(.object-tree > :matches(.title, .object-preview)::before):
(.object-tree.expanded > :matches(.title, .object-preview)::before):
(.object-tree.lossless-preview > :matches(.title, .object-preview)::before):
(.object-tree-outline):
(.object-tree.expanded > .object-tree-outline):
(.object-tree-outline li):
(.object-tree-outline li.parent):
(.object-tree-outline li.parent::before):
(.object-tree-outline li.parent.expanded::before):
(.object-tree-outline ol):
(.object-tree-outline ol.expanded):
(.object-tree-outline li .empty-message):
(.object-tree-property .name):
(.object-tree-property .name.not-enumerable):
(.object-tree-property .value.error):
(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
(.formatted-number):
(.formatted-string, .formatted-regexp):
(.formatted-string):
(.formatted-regexp):
(.formatted-symbol):
(.formatted-null, .formatted-undefined):
(.console-group-messages .object-tree:not(.lossless-preview)):
(.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
(.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)::before):
(.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree):
(.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline):
All styles for ObjectTree / ObjectPreview. Independent from
other styles in the inspector. Most of this is a copy of
the styles applied to ObjectPropertiesSection, renamed.

  • UserInterface/Views/ObjectTreeCollectionTreeElement.js: Added.

(WebInspector.ObjectTreeCollectionTreeElement):
(WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.get remoteObject):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand.callback):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.oncollapse):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.ondetach):
(WebInspector.ObjectTreeCollectionTreeElement.prototype._trackWeakEntries):
(WebInspector.ObjectTreeCollectionTreeElement.prototype._untrackWeakEntries):
(WebInspector.ObjectTreeCollectionEntryTreeElement):
(WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onpopulate):
(WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onattach):
(WebInspector.ObjectTreeEmptyCollectionTreeElement):
Essentially a copy of ObjectPropertiesSection Collection handling using
the ObjectTree class names.

  • UserInterface/Views/TreeOutlineDataGridSynchronizer.js:

Fix prototype typo.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object-get-properties-expected.txt:
  • inspector/model/remote-object-get-properties.html:
  • inspector/model/remote-object-weak-collection-expected.txt:
  • inspector/model/remote-object-weak-collection.html:

Update tests and results to use our Model objects and not
raw protocol types.

12:06 PM Changeset in webkit [180355] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

check-webkit-style: do not warn about missing primary header for *SoftLink.cpp files
<http://webkit.org/b/141799>

Reviewed by Alex Christensen.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_IncludeState.check_next_include_order): Don't emit a warning
if the primary header exists and the source file name ends with
"SoftLink.cpp". Add 'filename' argument to method.
(check_include_line): Pass in 'filename'.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(OrderOfIncludesTest.test_check_next_include_orderno_config):
(OrderOfIncludesTest.test_check_next_include_order
no_self):
(OrderOfIncludesTest.test_check_next_include_orderlikely_then_config):
(OrderOfIncludesTest.test_check_next_include_order
other_then_config):
(OrderOfIncludesTest.test_check_next_include_orderconfig_then_other_then_likely):

  • Add test filename arguments for calls to check_next_include_order().

(OrderOfIncludesTest.test_primary_header): Add test for a file
name ending in "SoftLink.cpp".

11:48 AM Changeset in webkit [180354] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Remove the stray storage manager from WebProcessPool
https://bugs.webkit.org/show_bug.cgi?id=141800

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView _applicationWillTerminate:]): Deleted.
Remove code that calls applicationWillTerminate on the WebPageProxy.

  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):
Get the storage manager from the website data store.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
Remove storage manager calls.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::applicationWillTerminate): Deleted.

  • UIProcess/WebProcessPool.h:

Remove storage manager code.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::storageManager):
Add getter.

11:43 AM Changeset in webkit [180353] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[iOS] Fix inefficiencies in ResourceResponse::platformLazyInit()
https://bugs.webkit.org/show_bug.cgi?id=141744

Reviewed by Alexey Proskuryakov.

Fix inefficiencies in iOS's ResourceResponse::platformLazyInit()
implementation, similarly to what was already done for Mac in:
<http://trac.webkit.org/changeset/174717>

The following changes were made:

  • Add missing "initLevel == AllFields" check before initializing uncommon fields. This bug was causing us to initialize uncommon fields even if called with 'CommonFieldsOnly' initLevel.
  • Bypass the first pass populating common HTTP headers in m_httpHeaderFields if the initLevel is AllFields. If called with AllFields initLevel, we will end up populating all HTTP headers later on so this first pass is redundant.
  • Use C++11 range loop to iterator over commonHeaderFields array for readability.
  • Use CFDictionaryApplyFunction() to populate m_httpHeaderFields for the CFDictionaryRef containing the headers instead of creating copies of keys and values using CFDictionaryGetKeysAndValues() and then iterating over those. This avoids allocating Vectors for keys / values and avoids unnecessary copying.
11:34 AM Changeset in webkit [180352] by bshafiei@apple.com
  • 3 edits
    3 copies in branches/safari-600.4.10-branch

Merged r178224. rdar://problem/19890075

11:32 AM Changeset in webkit [180351] by bshafiei@apple.com
  • 3 edits in branches/safari-600.4.10-branch

Merged r175641. rdar://problem/19889872

11:07 AM Changeset in webkit [180350] by Csaba Osztrogonác
  • 2 edits
    2 adds in trunk/Source/WebKit2

[WK2] Unreviewed buildfix for non-Cocoa platforms.

  • CMakeLists.txt:
  • UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp: Added.

(WebKit::WebsiteDataStore::platformInitialize): Added.
(WebKit::WebsiteDataStore::platformDestroy): Added.

10:45 AM Changeset in webkit [180349] by andersca@apple.com
  • 4 edits
    2 adds in trunk/Source/WebKit2

WebsiteDataStore should ensure that local storage is written before exiting
https://bugs.webkit.org/show_bug.cgi?id=141798

Reviewed by Sam Weinig.

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: Added.

(WebKit::dataStoresWithStorageManagers):
(WebKit::WebsiteDataStore::platformInitialize):
(WebKit::WebsiteDataStore::platformDestroy):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::~WebsiteDataStore):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebKit2.xcodeproj/project.pbxproj:
10:41 AM Changeset in webkit [180348] by enrica@apple.com
  • 1 edit
    15 adds in trunk/Tools

Add new tool to test editable Webviews.
https://bugs.webkit.org/show_bug.cgi?id=141772

Reviewed by Tim Horton.

Adding WebEditingTester, a Cocoa application to
test WK1 and Wk2 views in editable mode.

  • WebEditingTester: Added.
  • WebEditingTester/AppDelegate.h: Added.
  • WebEditingTester/AppDelegate.m: Added.

(-[WebEditingAppDelegate init]):
(defaultConfiguration):
(-[WebEditingAppDelegate applicationDidFinishLaunching:]):
(-[WebEditingAppDelegate applicationWillTerminate:]):
(-[WebEditingAppDelegate newEditor:]):
(-[WebEditingAppDelegate showOperations:]):
(-[WebEditingAppDelegate useWebKit2ByDefault]):
(-[WebEditingAppDelegate toggleUseWK2ByDefault:]):
(-[WebEditingAppDelegate validateMenuItem:]):

  • WebEditingTester/Info.plist: Added.
  • WebEditingTester/MainMenu.xib: Added.
  • WebEditingTester/WK1WebDocumentController.h: Added.
  • WebEditingTester/WK1WebDocumentController.m: Added.

(-[WK1WebDocumentController awakeFromNib]):
(-[WK1WebDocumentController loadContent]):
(-[WK1WebDocumentController dealloc]):
(-[WK1WebDocumentController pasteAsMarkup:]):

  • WebEditingTester/WK2WebDocumentController.h: Added.
  • WebEditingTester/WK2WebDocumentController.m: Added.

(-[WK2WebDocumentController initWithConfiguration:]):
(-[WK2WebDocumentController pasteAsMarkup:]):
(-[WK2WebDocumentController awakeFromNib]):
(-[WK2WebDocumentController dealloc]):
(-[WK2WebDocumentController loadContent]):

  • WebEditingTester/WebDocument.xib: Added.
  • WebEditingTester/WebDocumentController.h: Added.
  • WebEditingTester/WebDocumentController.m: Added.

(-[WebDocumentController initWithWindow:]):
(-[WebDocumentController windowDidLoad]):
(-[WebDocumentController defaultEditingSource]):
(-[WebDocumentController applicationTerminating]):
(-[WebDocumentController loadContent]):

  • WebEditingTester/WebEditingTester.xcodeproj: Added.
  • WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Added.
  • WebEditingTester/main.m: Added.

(main):

10:36 AM Changeset in webkit [180347] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Sufficiently small media controls should remove toolbar elements
https://bugs.webkit.org/show_bug.cgi?id=141780
<rdar://problem/16548548>
<rdar://problem/17598778>
<rdar://problem/18351963>

Reviewed by Eric Carlson.

Implement some logic where elements on the media controls are
hidden when there isn't enough room. We start by dropping
the scrubber, then the various buttons on the right hand
side.

This solution isn't perfect. If we had perfection, it would
be because we get resize events and respond accordingly. Instead
we check the size when the user has pinch-zoomed, or when
we start/stop playing.

This is going to cause some extra layout, because we need
to know the size of things before we can work out which
bits to hide.

  • Modules/mediacontrols/mediaControlsiOS.css:

(::-webkit-media-controls): Remove the minimum width. This can
cause the controls to get clipped.
(audio::-webkit-media-controls-spacer): Add this empty element to
replace the scrubber when it is hidden.
(audio::-webkit-media-controls-timeline-container):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS): Remember our size so we don't churn.
(ControllerIOS.prototype.createControls): Create a new spacer element.
(ControllerIOS.prototype.configureInlineControls):
(ControllerIOS.prototype.showControls): Check if we need to hide stuff.
(ControllerIOS.prototype.updateControls):
(ControllerIOS.prototype.setPlaying): Ditto.
(ControllerIOS.prototype.set pageScaleFactor): Ditto.
(ControllerIOS.prototype.scheduleUpdateLayoutForDisplayedWidth): Trigger an update
asap. In this case it's probably ok to be in a bad state for a frame, or
we are inside setup and we know that we'll layout soon.
(ControllerIOS.prototype.updateLayoutForDisplayedWidth): The actual code
that hides elements.

8:47 AM Changeset in webkit [180346] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Disable media tests due to bot failures.

  • platform/win/TestExpectations:
7:46 AM Changeset in webkit [180345] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r180279): It broke 20 tests on ARM Linux
https://bugs.webkit.org/show_bug.cgi?id=141771

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation): Align 64-bit values to respect ARM EABI.

7:39 AM Changeset in webkit [180344] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: DOMTree / Node Details Sidebar do not update as <input> content changes
https://bugs.webkit.org/show_bug.cgi?id=141790

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-19
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._characterDataModified):
Update Node "Value" details if character data changes.

  • UserInterface/Views/DOMTreeUpdater.js:

(WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
Update the title of the parent. If the parent had a single text node child
and now doesn't, it will need to update its display.

7:36 AM Changeset in webkit [180343] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Disable DOM Tree Editing / Styles Editing of Shadow DOM Nodes
https://bugs.webkit.org/show_bug.cgi?id=141793

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-19
Reviewed by Timothy Hatcher.

Currently the backend disallows editing of Shadow DOM nodes,
so the frontend should not provide options that do not work.
Long term we should allow editing Shadow DOM nodes.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WebInspector.CSSStyleDeclaration.prototype.get editable):
Inline styles on a Shadow DOM node are not editable.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.ondelete):
(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
(WebInspector.DOMTreeElement.prototype._populateTextContextMenu):
(WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
(WebInspector.DOMTreeElement.prototype._startEditing):
Disable context menus and keyboard shortcuts on Shadow DOM nodes.
Only Context Menu item we keep is "Copy as HTML".

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline.prototype._contextMenuEventFired):
(WebInspector.DOMTreeOutline.prototype.populateContextMenu):
Eliminate double look-up.

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
Do not add the New Rule Button to the Styles Sidebar of Shadow DOM Nodes.
Instead this will just be an empty divider.

12:40 AM Changeset in webkit [180342] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebCore

Move the software-only ImageBuffer::m_context to ImageBufferData
https://bugs.webkit.org/show_bug.cgi?id=141784

Reviewed by Simon Fraser.

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context):

  • platform/graphics/cairo/ImageBufferDataCairo.h:
  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context):

  • platform/graphics/cg/ImageBufferDataCG.h:

Move m_context to ImageBufferData in the software-only section;
for accelerated contexts, the GraphicsContext is owned by the IOSurface wrapper.
This will make it harder for ImageBuffer to make the mistake of using
m_context blindly without thinking when it will often be null.

12:36 AM Changeset in webkit [180341] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

12:34 AM Changeset in webkit [180340] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.2

New tag.

Feb 18, 2015:

11:37 PM Changeset in webkit [180339] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Clean up / modernize test introduced in r180337.
https://bugs.webkit.org/show_bug.cgi?id=141788

Reviewed by Andreas Kling.

  • fast/history/page-cache-clearing-expected.txt:
  • fast/history/page-cache-clearing.html:
10:17 PM Changeset in webkit [180338] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed Windows build fix after r180337.

Export a couple of symbols.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
10:07 PM Changeset in webkit [180337] by akling@apple.com
  • 6 edits
    2 adds in trunk

REGRESSION(r179347): Clearing the PageCache no longer clears the PageCache.
<https://webkit.org/b/141788>

Reviewed by Anders Carlsson.

Source/WebCore:

Once again we've fallen into the TemporaryChange trap:

TemporaryChange<unsigned>(m_member, temporaryValue);

The code above doesn't actually do anything. Since the TemporaryChange local is not named,
it immediately goes out of scope and restores the original value of m_member.

Unless someone knows a C++ trick to prevent these, we'll need to add a style checker pass
to catch bugs like this. Whatever we do will be done separately from this bug.

Test: fast/history/page-cache-clearing.html

  • history/PageCache.cpp:

(WebCore::PageCache::pruneToSizeNow): Name the local so it lives longer.

  • testing/Internals.cpp:

(WebCore::Internals::clearPageCache):
(WebCore::Internals::pageCacheSize):

  • testing/Internals.h:
  • testing/Internals.idl: Add a way to clear the page cache and query its size from

window.internals to facilitate writing a simple test for this bug.

LayoutTests:

Add a simple test that navigates to a temporary page which immediately does a history.back
navigation. Upon returning to the first page, check that the page cache now has 1 entry,
and that clearing the page cache makes that entry go away.

  • fast/history/page-cache-clearing-expected.txt: Added.
  • fast/history/page-cache-clearing.html: Added.
9:23 PM Changeset in webkit [180336] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Roll out r180280.

Crashes under IDBDatabase::closeConnection.
https://bugs.webkit.org/show_bug.cgi?id=141745
rdar://problem/19816412

  • Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::closeConnection):
8:24 PM Changeset in webkit [180335] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expected result of fast/forms/text-control-intrinsic-widths.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141685

Updating Yosemite results to match bots.

  • platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
7:58 PM Changeset in webkit [180334] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Missing Divider line between console.log and console evaluation
https://bugs.webkit.org/show_bug.cgi?id=141770

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-02-18
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-item):
(.console-message): Deleted.

6:41 PM Changeset in webkit [180333] by rniwa@webkit.org
  • 13 edits in trunk/Websites/perf.webkit.org

Analysis task pages are unusable
https://bugs.webkit.org/show_bug.cgi?id=141786

Reviewed by Andreas Kling.

This patch makes following improvements to analysis task pages:

  1. Making the main chart interactive. This change required the use of App.Pane as well as moving the code to

compute the data for the details pane from PaneController.

  1. Moving the form to add a new test group to the top of test groups instead of the bottom of them.
  2. Grouping the build requests in each test group by root sets instead of the order by which they were ran.

This change required the creation of App.TestGroupPane as well as its methods.

  1. Show a box plot for each root set configuration as well as each build request. This change required

App.BoxPlotComponent.

  1. Show revisions of each repository (e.g. WebKit) for each root set and build request.
  • public/api/build-requests.php:

(main): Update per the rename of BuildRequestsFetcher::root_sets to BuildRequestsFetcher::root_sets_by_id.

  • public/api/test-groups.php:

(main): Include root sets and roots in the response.
(format_test_group):

  • public/include/build-requests-fetcher.php:

(BuildRequestsFetcher::root_sets_by_id): Renamed from root_sets.
(BuildRequestsFetcher::root_sets): Added.
(BuildRequestsFetcher::roots): Added.
(BuildRequestsFetcher::fetch_roots_for_set): Takes a boolean argument $resolve_ids. This flag is only set to
true in /api/build-requests/ (as done prior to this patch) to use repository names as identifiers since
tools/sync-with-buildbot.py can't convert repository names to their ids.

  • public/v2/analysis.js:

(App.Root): Added.
(App.RootSet): Added.
(App.RootSet.revisionForRepository): Added.
(App.TestGroup.rootSets): Deleted the code to compute root set ids from build requests now that the JSON
response at /api/test-groups will include them.
(App.BuildRequest): Ditto. Also deleted 'configLetter' property, which has been moved to a proxy created by
_createConfigurationSummary.
(App.BuildRequest.statusLabel): Use 'Completed' as the human readable label for 'completed' status.
(App.BuildRequest.aggregateStatuses): Added. Generates a human readable status for a set of build requests.

  • public/v2/app.css: Updated style rules for analysis task pages.
  • public/v2/app.js:

(App.Pane): This class is now used in analysis task pages to make the main chart interactive.
(App.Pane._updateDetails): Moved from App.PaneController.

(App.PaneController._updateCanAnalyze): Updated the code per the move of selectedPoints.

(App.AnalysisTaskController): Added 'details'.
(App.AnalysisTaskController._taskUpdated):
(App.AnalysisTaskController.paneDomain):Renamed from _fetchedRuns.
(App.AnalysisTaskController.updateTestGroupPanes): Added. Creates App.TestGroupPane for each test group.
(App.AnalysisTaskController.actions.toggleShowRequestList): Added.

(App.TestGroupPane): Added.
(App.TestGroupPane._populate): Added. Group build requests by root sets and create a summary for each group.
(App.TestGroupPane._computeRepositoryList): Added. Returns a sorted list of repositories which is the union
of all repositories appearing in root sets and builds associated with A/B testing results.
(App.TestGroupPane._groupRequestsByConfigurations): Added. Groups build requests by root sets.
(App.TestGroupPane._createConfigurationSummary): Added. Creates a summary for a group of build requests that
use the same root set. We start by wrapping "raw" build requests in a proxy with formatted values,
build numbers, etc... obtained from the fetched chart data. The list of revisions shown in the group summary
is a union of revisions in the root set and the first build request in the group. We null-out revision info
for a build request if it is identical to the one in the summary. The range of values is expanded as needed
by the values in the group as well as 95% percentile confidence interval.

(App.BoxPlotComponent): Added. Controls a box plot shown for each test group summary and build request.
(App.BoxPlotComponent.didInsertElement): Added. Inserts a SVG element as well as two indicator rects to show
the mean and the confidence interval.
(App.BoxPlotComponent._updateBars): Added. Updates the dimensions of the indicator rects.
(App.BoxPlotComponent.valueChanged): Added. Computes the relative dimensions of the indicator rects and
calls _updateBars to update the rects.

  • public/v2/chart-pane.css: Added some style rules to be used in the details pane in analysis task pages.
  • public/v2/data.js:

(Measurement.prototype.formattedRevisions):
(Measurement.formatRevisionRange): Renamed from Measurement.prototype._formatRevisionRange so that it can be
called in _createConfigurationSummary.

  • public/v2/index.html: Updated the templates for analysis task pages. Moved the form to create a new test

group above all test groups, and replaced the list of data points by "details" pane used in the charts page.
Also made the fetching of chartData no longer block showing of test groups.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._updateDomain): Added an early exit to fix a newly revealed race condition.
(App.InteractiveChartComponent._domainChanged): Ditto.
(App.InteractiveChartComponent._updateSelectionToolbar): Made it respect 'zoomable' boolean property.

  • public/v2/js/statistics.js:

(Statistics.min): Added.
(Statistics.max): Added.

  • public/v2/manifest.js:

(App.Manifest.fetchRunsWithPlatformAndMetric): Added formatWithDeltaAndUnit to be used in _createConfigurationSummary.

5:12 PM Changeset in webkit [180332] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Remove BytecodeGenerator's numberMap, it is dead code
https://bugs.webkit.org/show_bug.cgi?id=141779

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-18
Reviewed by Filip Pizlo.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitLoad): Deleted.

  • bytecompiler/BytecodeGenerator.h:

The JSValueMap seems better in every way.

The emitLoad() taking a double was the only way to use numberMap
and that code has no caller.

4:39 PM Changeset in webkit [180331] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Fix NetworkCache build
https://bugs.webkit.org/show_bug.cgi?id=141778

Reviewed by Antti Koivisto.

Add missing header include to use round_page() on iOS.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
4:37 PM Changeset in webkit [180330] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS Simulator build after r180308.

  • platform/graphics/cg/ImageBufferDataCG.h:
4:37 PM Changeset in webkit [180329] by Lucas Forschler
  • 3 edits in branches/safari-600.4.10-branch/Source/WebCore

Merge patch for rdar://problem/19585765.

4:30 PM Changeset in webkit [180328] by Alan Bujtas
  • 4 edits
    2 adds in trunk

REGRESSION(r174761) Dangling spanner pointer in RenderMultiColumnSpannerPlaceholder.
https://bugs.webkit.org/show_bug.cgi?id=138224

Reviewed by Dave Hyatt.

It's wrong to call flowThreadRelativeWillBeRemoved(child).
RenderMultiColumnFlowThread::removeFlowChildInfo() does not mean that the child is actually about to be removed.
Should this introduce any regressions, we need to deal with those separately.

Source/WebCore:

Test: fast/multicol/crash-when-spanner-gets-moved-around.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::removeFlowChildInfo): Deleted.

  • rendering/RenderMultiColumnFlowThread.h:

LayoutTests:

  • fast/multicol/crash-when-spanner-gets-moved-around-expected.txt: Added.
  • fast/multicol/crash-when-spanner-gets-moved-around.html: Added.
4:27 PM Changeset in webkit [180327] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Many flakey tests for webkit.org/b/139968 do not appear to be flakey
https://bugs.webkit.org/show_bug.cgi?id=141762

Reviewed by Jer Noble.

Removing them from TestExpectations.

  • platform/mac/TestExpectations:
4:27 PM Changeset in webkit [180326] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r180147. rdar://problem/19850650

4:23 PM Changeset in webkit [180325] by Lucas Forschler
  • 4 edits in branches/safari-600.4.10-branch/Source/JavaScriptCore

Merge patch from rdar://problem/19828518

4:20 PM Changeset in webkit [180324] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] CFData leak in CDMSessionAVFoundationCF
https://bugs.webkit.org/show_bug.cgi?id=141765
<rdar://problem/141765>

Reviewed by Joseph Pecoraro.

  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:

(WebCore::CDMSessionAVFoundationCF::generateKeyRequest): use 'adoptCF'
so we don't double-increment the retain count.

4:06 PM Changeset in webkit [180323] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.4.10-branch

Merged r179963. rdar://problem/19771718

4:02 PM Changeset in webkit [180322] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r179969. rdar://problem/19738568

3:59 PM Changeset in webkit [180321] by mmaxfield@apple.com
  • 3 edits
    1 copy in trunk/LayoutTests

Update expected result of fast/forms/text-control-intrinsic-widths.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141685

Reviewed by Alexey Proskuryakov.

Text metrics have changed.

  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/mac-mavericks/fast/forms/text-control-intrinsic-widths-expected.txt:
3:59 PM Changeset in webkit [180320] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r179968. rdar://problem/19738568

3:55 PM Changeset in webkit [180319] by jonowells@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Inspecting a page where resources are in folders forces folder organization on every subsequent page
https://bugs.webkit.org/show_bug.cgi?id=141397

Reviewed by Timothy Hatcher.

When removeChildren is called on an instance of a FolderizedTreeElement, the element's _groupedIntoFolders flag
will now be set to false. This will prevent unnecessary folderization upon a frame navigation. Also during an
onpopulate event, addChildForRepresentedObject is called repeatedly and much of the work done during each call
was unnecessary. That work has now been partially removed and partially relocated to a function that is only
called at the beginning of an onpopulate event.

  • UserInterface/Views/FolderizedTreeElement.js:

(WebInspector.FolderizedTreeElement.prototype.set removeChildren): Set _groupedIntoFolders to false.
(WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject): Remove unnecessary treeOutline
emptiness check, and move _shouldGroupIntoFolders() check to new function prepareToPopulate().
(WebInspector.FolderizedTreeElement.prototype.prepareToPopulate): Create.
(WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue): Call prepareToPopulate().

  • UserInterface/Views/FrameTreeElement.js:

(WebInspector.FrameTreeElement.prototype.onpopulate): Call prepareToPopulate().

  • UserInterface/Views/GeneralTreeElement.js: Drive-by inheritance style fix.
  • UserInterface/Views/ResourceTreeElement.js: Drive-by inheritance style fix.
3:54 PM Changeset in webkit [180318] by Lucas Forschler
  • 6 edits
    2 copies in branches/safari-600.4.10-branch

Merged r179959. rdar://problem/19738563

3:52 PM Changeset in webkit [180317] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Rollout r180247 & r180249 from trunk
https://bugs.webkit.org/show_bug.cgi?id=141773

Reviewed by Filip Pizlo.

Theses changes makes sense to fix the crash reported in https://bugs.webkit.org/show_bug.cgi?id=141730
only for branches. The change to fail the FTL compile but continue running is not comprehensive
enough for general use on trunk.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileUpsilon):
(JSC::FTL::LowerDFGToLLVM::compilePhi):
(JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
(JSC::FTL::LowerDFGToLLVM::compileValueRep):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compilePutLocal):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileArithAbs):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compare):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::opposite):
(JSC::FTL::LowerDFGToLLVM::lowJSValue):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::isArrayType):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::setInt52):
(JSC::FTL::lowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::loweringFailed): Deleted.

  • ftl/FTLLowerDFGToLLVM.h:
3:50 PM Changeset in webkit [180316] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.4.10-branch

Merged r179953. rdar://problem/19738528

3:42 PM Changeset in webkit [180315] by Lucas Forschler
  • 4 edits in branches/safari-600.4.10-branch/Source/WebKit2

Merged r179952. rdar://problem/19771726

3:38 PM Changeset in webkit [180314] by Lucas Forschler
  • 6 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r179531. rdar://problem/19738579

3:35 PM Changeset in webkit [180313] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove input and output files from "Make Frameworks Symbolic Link" step
https://bugs.webkit.org/show_bug.cgi?id=141769

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
3:31 PM Changeset in webkit [180312] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/WebKit

Merged r179992. rdar://problem/19585768

3:22 PM Changeset in webkit [180311] by Brent Fulgham
  • 3 edits
    1 move
    1 add in trunk/LayoutTests

[Win] More unreviewed Windows gardening.

  • platform/win/TestExpectations:
  • platform/win/accessibility/press-targets-center-point-expected.txt: Added.
  • platform/win/fast/frames/frame-scrolling-attribute-exepected.txt: Removed.
  • platform/win/fast/frames/frame-scrolling-attribute-expected.txt: Copied from platform/win/fast/frames/frame-scrolling-attribute-exepected.txt.
  • platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
3:19 PM Changeset in webkit [180310] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r178426. rdar://problem/19585771

3:14 PM Changeset in webkit [180309] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/JavaScriptCore

Merged r179329. rdar://problem/19738498

3:05 PM Changeset in webkit [180308] by timothy_horton@apple.com
  • 13 edits in trunk/Source

Adopt WebCore::IOSurface in ImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=141751

Reviewed by Simon Fraser.

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::createIOSurface): Deleted.
(WebCore::ImageBuffer::ImageBuffer):
Make use of cachedCGColorSpace.
Make use of WebCore::IOSurface.
Remove the unused size argument from ImageBufferDataCG.
Clear the IOSurface once we've allocated it; WebCore::IOSurface doesn't
do this for us, unlike wkIOSurfaceContextCreate.
Apply the flipping and scale factor to whichever context we made.
We don't need to setIsAcceleratedContext anymore because it's always
false for software contexts, and WebCore::IOSurface will set it for
any accelerated contexts.

(WebCore::ImageBuffer::context):
If we are IOSurface-backed, return WebCore::IOSurface's GraphicsContext.

(WebCore::ImageBuffer::flushContext):
Make use of context(); m_context is now null for accelerated ImageBuffers.

(WebCore::ImageBuffer::copyNativeImage):
Adopt in-line with the Create functions for clarity. Make use of
IOSurface::createImage instead of wkIOSurfaceContextCreateImage.

(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
(WebCore::ImageBuffer::putByteArray):
(WebCore::ImageBuffer::toDataURL):
Make use of context(); m_context is now null for accelerated ImageBuffers.

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::ImageBufferData):
Indentation fix, and use nullptr.

(WebCore::convertScanline):
Grammar fix (is -> are).

(WebCore::ImageBufferData::getData):
(WebCore::ImageBufferData::putData):
Grab the IOSurfaceRef from the IOSurface wrapper. Eventually these things
should be made more convenient by the wrapper.

  • platform/graphics/cg/ImageBufferDataCG.h:

Drop the unused size argument from the constructor.
Reorganize and label the various members which are only used
for a particular type of ImageBufferDataCG.

  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::ensureGraphicsContext):
IOSurface-backed GraphicsContexts are always considered accelerated.

(IOSurface::create):
(IOSurface::IOSurface):
Add a constructor that take an extra size to use when making the CGContext;
it can only be less than the actual backing IOSurface size.
This is needed for r160121.

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Remove old WKSI IOSurface-related functions.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):
Remove old WKSI IOSurface-related functions.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):
Remove old WKSI IOSurface-related functions.

3:02 PM Changeset in webkit [180307] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r178363. rdar://problem/19738547

2:56 PM Changeset in webkit [180306] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/JavaScriptCore

Merged r178311. rdar://problem/19738492

2:52 PM Changeset in webkit [180305] by Lucas Forschler
  • 5 edits
    5 copies in branches/safari-600.4.10-branch

Merged r178038. rdar://problem/19738519

2:49 PM Changeset in webkit [180304] by Lucas Forschler
  • 27 edits in branches/safari-600.4.10-branch

Merged r177849. rdar://problem/19585778

2:45 PM Changeset in webkit [180303] by Lucas Forschler
  • 4 edits
    4 copies in branches/safari-600.4.10-branch

Merged r177165. rdar://problem/19738587

2:42 PM Changeset in webkit [180302] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r177089. rdar://problem/19738540

2:39 PM Changeset in webkit [180301] by commit-queue@webkit.org
  • 62 edits in trunk/Source/WebCore

Prepare to use WEBCORE_EXPORT on Windows.
https://bugs.webkit.org/show_bug.cgi?id=141735

Patch by Alex Christensen <achristensen@webkit.org> on 2015-02-18
Reviewed by Brent Fulgham.

  • bindings/js/GCController.h:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.cpp:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.cpp:
  • bindings/scripts/test/JS/JSreadonly.h:
  • bridge/runtime_method.h:
  • bridge/runtime_object.h:
  • dom/make_names.pl:

(printNamesHeaderFile):

  • history/HistoryItem.h:
  • loader/FrameLoader.h:
  • loader/LoaderStrategy.h:
  • loader/ResourceLoadScheduler.h:
  • loader/icon/IconDatabase.h:
  • loader/icon/IconDatabaseBase.h:
  • page/DatabaseProvider.h:
  • page/Page.h:
  • page/PageConsoleClient.h:
  • page/PageOverlay.h:
  • platform/FileSystem.h:
  • platform/MemoryPressureHandler.h:
  • platform/ThreadGlobalData.h:
  • platform/URL.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/network/BlobDataFileReference.h:
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.h:
  • platform/sql/SQLiteDatabase.h:
  • rendering/ScrollBehavior.h:
  • rendering/break_lines.h:

Add and move some WEBCORE_EXPORT macros.

2:38 PM Changeset in webkit [180300] by Lucas Forschler
  • 4 edits
    1 copy in branches/safari-600.4.10-branch

Merged r176899. rdar://problem/19585775

2:35 PM Changeset in webkit [180299] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r176750. rdar://problem/19738583

2:28 PM Changeset in webkit [180298] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r175771. rdar://problem/19738509

2:25 PM Changeset in webkit [180297] by andersca@apple.com
  • 2 edits
    1 move in trunk/Source/WebCore

Rename LocalizedStringsMac.cpp to LocalizedStringsCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=141767

Reviewed by Tim Horton.

Also, move it to platform/cocoa instead of platform/mac.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/cocoa/LocalizedStringsCocoa.mm: Renamed from Source/WebCore/platform/mac/LocalizedStringsMac.cpp.
2:25 PM Changeset in webkit [180296] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening; add expectation for WK2-only failing test.

  • platform/mac-wk2/TestExpectations:
2:24 PM Changeset in webkit [180295] by Lucas Forschler
  • 10 edits in branches/safari-600.4.10-branch

Merged r174712. rdar://problem/19738635

2:23 PM Changeset in webkit [180294] by Antti Koivisto
  • 9 edits
    2 moves in trunk/Source/WebCore

Rename FontGlyphs to FontCascadeFonts
https://bugs.webkit.org/show_bug.cgi?id=141754

Reviewed by Andreas Kling.

"It is better than Impl."

The purpose of the class to own to create and own the realized Font instances and the associated caches
for FontCascade instances.

2:15 PM Changeset in webkit [180293] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

iBooks immediate action blacklist should not even create the gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=141768
-and corresponding-
rdar://problem/19806770

Reviewed by Tim Horton.

Move the runtime-application check to the point where the gesture recognizer is
created so that we can avoid doing so.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:processPool:configuration:webView:]):

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _updateImmediateActionItem]):

1:53 PM Changeset in webkit [180292] by Brent Fulgham
  • 4 edits
    2 adds in trunk/LayoutTests

[Win] More gardening (Unreviewed).

  • platform/win/TestExpectations:
  • platform/win/fast/frames/frame-scrolling-attribute-exepected.txt:
  • platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/masking-path-04-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt: Added.
1:47 PM Changeset in webkit [180291] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Unreviewed, rolling out r180286.
https://bugs.webkit.org/show_bug.cgi?id=141766

Caused >50 crashed LayoutTests (Requested by jernoble on
#webkit).

Reverted changeset:

"Page::userContentController() should return a reference, not
a pointer"
https://bugs.webkit.org/show_bug.cgi?id=141764
http://trac.webkit.org/changeset/180286

1:41 PM Changeset in webkit [180290] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

1:37 PM Changeset in webkit [180289] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.19

New tag.

1:19 PM Changeset in webkit [180288] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Run JSC tests on ARM EFL bots
https://bugs.webkit.org/show_bug.cgi?id=141165

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunJavaScriptCoreTests.countFailures):
(RunRemoteJavaScriptCoreTests):
(RunRemoteJavaScriptCoreTests.start):
(BuildAndRemoteJSCTestsFactory):
(BuildAndRemoteJSCTestsFactory.init):

1:15 PM March 2015 Meeting edited by dino@apple.com
(diff)
1:13 PM Changeset in webkit [180287] by ddkilzer@apple.com
  • 13 edits
    2 adds in trunk/Source/WebCore

Consolidate soft-linked CMTimeMakeWithSeconds() function
<http://webkit.org/b/141655>

Reviewed by Brent Fulgham.

  • Configurations/WebCore.unexp: Remove workaround for

CMTimeMakeWithSeconds() weak external.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • Add CoreMediaSoftLink.{cpp,h} to the project.
  • platform/cf/CoreMediaSoftLink.cpp: Add.
  • platform/cf/CoreMediaSoftLink.h: Add.
  • Implement new strategy where code for soft-linking is only in one place, and the header can simply be included wherever a soft-linked method is needed.
  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • platform/mac/PlatformClockCM.mm:
  • Remove old soft-linking strategy and include CoreMediaSoftLink.h.
  • platform/mac/SoftLinking.h:

(SOFT_LINK_FUNCTION_DECL): Add. New macro function used for
header declaration. Split out from SOFT_LINK() macro. Also
stop violating C++ standards by redeclaring an inline function
with the exact same signature as an extern "C" function. This
now matches what we do on Windows (where Visual C++ already
prevented these shenanigans).
(SOFT_LINK_FUNCTION_IMPL): Add. New macro function used for
source implementation. Split out the from SOFT_LINK() macro.

  • platform/win/SoftLinking.h:

(SOFT_LINK_FRAMEWORK): Map mac/SoftLinking.h macro name to
Windows macros so we can simplify CoreMediaSoftLink.{cpp,h}.
(SOFT_LINK_FUNCTION_DECL): Add.
(SOFT_LINK_FUNCTION_IMPL): Add.

  • New macro functions split out from SOFT_LINK_DLL_IMPORT() macro for header declaration and source implementation.
  • We assume the cdecl calling convention because that's what all Apple libraries use, and so we are able to use the exact same macro function on both Mac and Windows to simplify CoreMediaSoftLink.{cpp,h}.
12:51 PM Changeset in webkit [180286] by beidson@apple.com
  • 11 edits in trunk/Source

Page::userContentController() should return a reference, not a pointer
https://bugs.webkit.org/show_bug.cgi?id=141764

Reviewed by Jer Noble.

Source/WebCore:

No new tests (No behavior change)

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld):

  • page/Frame.cpp:

(WebCore::Frame::injectUserScripts):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::setUserContentController):

  • page/Page.h:

(WebCore::Page::userContentController):

  • page/UserMessageHandlersNamespace.cpp:

(WebCore::UserMessageHandlersNamespace::handler):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView setGroupName:]):

12:42 PM Changeset in webkit [180285] by roger_fong@apple.com
  • 9 edits in trunk/Source/WebCore

WebGL2: Promote various WebGL1 extensions to core for WebGL2.
https://bugs.webkit.org/show_bug.cgi?id=141446
<rdar://problem/19633715>

Reviewed by Brent Fulham.

Tests covered by WebGL2 conformance tests.

This patch promotes the following WebGL1 extensions to core in WebGL2:
OES_element_index_uint
EXT_sRGB
EXT_blend_minmax
EXT_frag_depth
EXT_shader_texture_lod
OES_standard_derivatives

The latter 3 are enabled by default now for GLSL1, though we will get these extensions
for free when GLSL3 becomes available.

WebGL2 binding code should actually fall back to base implementation for getFramebufferAttachmentParameter.

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::JSWebGL2RenderingContext::getFramebufferAttachmentParameter): Deleted.

  • html/canvas/WebGL2RenderingContext.idl: Ditto.
  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension): Enable WEBGL_lose_context as an extension again.
It was not promoted to core as I originally thought it had been.
(WebCore::WebGL2RenderingContext::getSupportedExtensions): Ditto.
(WebCore::WebGL2RenderingContext::WebGL2RenderingContext): Promote the 3 shader extensions for GLSL1 to core.
(WebCore::WebGL2RenderingContext::initializeShaderExtensions): Ditto.
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter): Promote SRGB extension to core.
(WebCore::WebGL2RenderingContext::renderbufferStorage): Ditto.
(WebCore::WebGL2RenderingContext::hint): Ditto.
(WebCore::WebGL2RenderingContext::validateTexFuncFormatAndType): Ditto.
(WebCore::WebGL2RenderingContext::validateIndexArrayConservative): Promote OES_element_index_uint extension to core.
(WebCore::WebGL2RenderingContext::validateDrawElements): Ditto.
(WebCore::WebGL2RenderingContext::validateBlendEquation): Promote EXT_blend_minmax extension to core.

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

(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Copied form WebGLRenderingContextBase.
(WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
(WebCore::WebGLRenderingContext::hint): Ditto.
(WebCore::WebGLRenderingContext::validateIndexArrayConservative): Ditto.
(WebCore::WebGLRenderingContext::validateDrawElements): Ditto.
(WebCore::WebGLRenderingContext::validateBlendEquation): Ditto.

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

(WebCore::WebGLRenderingContextBase::validateIndexArrayConservative): Deleted.
(WebCore::WebGLRenderingContextBase::validateDrawElements): Deleted.
(WebCore::WebGLRenderingContextBase::getExtension): Deleted.
(WebCore::WebGLRenderingContextBase::getFramebufferAttachmentParameter): Deleted.
(WebCore::WebGLRenderingContextBase::hint): Deleted.
(WebCore::WebGLRenderingContextBase::renderbufferStorage): Deleted.
(WebCore::WebGLRenderingContextBase::validateBlendEquation): Deleted.

  • html/canvas/WebGLRenderingContextBase.h:
12:15 PM Changeset in webkit [180284] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.4.10-branch

Merged r174085. rdar://problem/19738573

12:10 PM Changeset in webkit [180283] by Lucas Forschler
  • 7 edits
    2 copies in branches/safari-600.4.10-branch

Merged r173806. rdar://problem/19850795

12:08 PM Changeset in webkit [180282] by achristensen@apple.com
  • 6 edits in trunk

Streamline unexported function build fixes
https://bugs.webkit.org/show_bug.cgi?id=141761

Patch by Alexey Proskuryakov <ap@apple.com> on 2015-02-18
Reviewed by Alex Christensen.

Source/WebCore:

  • Configurations/WebCore.unexp: Added some functions for symbols only used on newer

OS versions. Removed a special case for NodeList, to handle it uniformly with Node.

  • Configurations/WebCore.xcconfig: Made the unexported list unconditional, because

it's not only Xcode 5 that is affected.

  • bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): We already had a hack for

Node, NodeList needs an exactly the same one. Also updated the comments.

Tools:

  • Scripts/check-for-weak-vtables-and-externals: (readXcode5SymbolsToIgnore): Deleted.

We don't need to ignore symbols that are not exported due to the .unexp file.

12:05 PM Changeset in webkit [180281] by Chris Dumez
  • 23 edits in trunk/Source

Access FontCache global instance via singleton() static member function
https://bugs.webkit.org/show_bug.cgi?id=141726

Reviewed by Daniel Bates.

Access FontCache global instance via singleton() static member function,
as per coding style.

11:57 AM Changeset in webkit [180280] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Crashes under IDBDatabase::closeConnection.
https://bugs.webkit.org/show_bug.cgi?id=141745
rdar://problem/19816412

Reviewed by David Kilzer.

  • Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::closeConnection):

Add a missing protector.

11:55 AM Changeset in webkit [180279] by fpizlo@apple.com
  • 78 edits
    14 adds in trunk

DFG should really support varargs
https://bugs.webkit.org/show_bug.cgi?id=141332

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

This adds comprehensive vararg call support to the DFG and FTL compilers. Previously, if a
function had a varargs call, then it could only be compiled if that varargs call was just
forwarding arguments and we were inlining the function rather than compiling it directly. Also,
only varargs calls were dealt with; varargs constructs were not.

This lifts all of those restrictions. Every varargs call or construct can now be compiled by both
the DFG and the FTL. Those calls can also be inlined, too - provided that profiling gives us a
sensible bound on arguments list length. When we inline a varargs call, the act of loading the
varargs is now made explicit in IR. I believe that we have enough IR machinery in place that we
would be able to do the arguments forwarding optimization as an IR transformation. This patch
doesn't implement that yet, and keeps the old bytecode-based varargs argument forwarding
optimization for now.

There are three major IR features introduced in this patch:

CallVarargs/ConstructVarargs: these are like Call/Construct except that they take an arguments
array rather than a list of arguments. Currently, they splat this arguments array onto the stack
using the same basic technique as the baseline JIT has always done. Except, these nodes indicate
that we are not interested in doing the non-escaping "arguments" optimization.

CallForwardVarargs: this is a form of CallVarargs that just does the non-escaping "arguments"
optimization, aka forwarding arguments. It's somewhat lazy that this doesn't include
ConstructForwardVarargs, but the reason is that once we eliminate the lazy tear-off for
arguments, this whole thing will have to be tweaked - and for now forwarding on construct is just
not important in benchmarks. ConstructVarargs will still do forwarding, just not inlined.

LoadVarargs: loads all elements out of an array onto the stack in a manner suitable for a varargs
call. This is used only when a varargs call (or construct) was inlined. The bytecode parser will
make room on the stack for the arguments, and will use LoadVarars to put those arguments into
place.

In the future, we can consider adding strength reductions like:

  • If CallVarargs/ConstructVarargs see an array of known size with known elements, turn them into Call/Construct.


  • If CallVarargs/ConstructVarargs are passed an unmodified, unescaped Arguments object, then turn them into CallForwardVarargs/ConstructForwardVarargs.


  • If LoadVarargs sees an array of known size, then turn it into a sequence of GetByVals and PutLocals.


  • If LoadVarargs sees an unmodified, unescaped Arguments object, then turn it into something like LoadForwardVarargs.


  • If CallVarargs/ConstructVarargs/LoadVarargs see the result of a splice (or other Array prototype function), then do the splice and varargs loading in one go (maybe via a new node type).

(JSC::MacroAssembler::rshiftPtr):
(JSC::MacroAssembler::urshiftPtr):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::urshift64):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::urshift64):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::shrq_i8r):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::CallLinkInfo):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::setProvenConstantCallee):
(JSC::CallLinkStatus::dump):

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::maxNumArguments):
(JSC::CallLinkStatus::setIsProved): Deleted.

  • bytecode/CodeOrigin.cpp:

(WTF::printInternal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::varargsKindFor):
(JSC::InlineCallFrame::specializationKindFor):
(JSC::InlineCallFrame::isVarargs):
(JSC::InlineCallFrame::isNormalCall): Deleted.

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • bytecode/ValueRecovery.cpp:

(JSC::ValueRecovery::dumpInContext):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleVarargsCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleMinMax):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::removeLastNodeFromGraph): Deleted.
(JSC::DFG::ByteCodeParser::undoFunctionChecks): Deleted.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGCapabilities.h:

(JSC::DFG::functionCapabilityLevel):
(JSC::DFG::mightCompileFunctionFor):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.cpp:

(WTF::printInternal):

  • dfg/DFGCommon.h:

(JSC::DFG::canInline):
(JSC::DFG::leastUpperBound):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::isLiveInBytecode):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::valueProfileFor): Deleted.
(JSC::DFG::Graph::methodOfGettingAValueProfileFor): Deleted.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileExceptionHandlers):
(JSC::DFG::JITCompiler::link):

  • dfg/DFGMayExit.cpp:

(JSC::DFG::mayExit):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasCallVarargsData):
(JSC::DFG::Node::callVarargsData):
(JSC::DFG::Node::hasLoadVarargsData):
(JSC::DFG::Node::loadVarargsData):
(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::dumpAndVerifyGraph):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
(JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::isFlushed):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):
(JSC::DFG::StackLayoutPhase::assign):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateCPS):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::functionType):
(JSC::FTL::buildCall):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfCall):
(JSC::FTL::sizeOfCallVarargs):
(JSC::FTL::sizeOfCallForwardVarargs):
(JSC::FTL::sizeOfConstructVarargs):
(JSC::FTL::sizeOfIn):
(JSC::FTL::sizeOfICFor):
(JSC::FTL::sizeOfCheckIn): Deleted.

  • ftl/FTLInlineCacheSize.h:
  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::JSCall):

  • ftl/FTLJSCallBase.cpp:
  • ftl/FTLJSCallBase.h:
  • ftl/FTLJSCallVarargs.cpp: Added.

(JSC::FTL::JSCallVarargs::JSCallVarargs):
(JSC::FTL::JSCallVarargs::numSpillSlotsNeeded):
(JSC::FTL::JSCallVarargs::emit):
(JSC::FTL::JSCallVarargs::link):

  • ftl/FTLJSCallVarargs.h: Added.

(JSC::FTL::JSCallVarargs::node):
(JSC::FTL::JSCallVarargs::stackmapID):
(JSC::FTL::JSCallVarargs::operator<):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs):
(JSC::FTL::LowerDFGToLLVM::compileLoadVarargs):
(JSC::FTL::LowerDFGToLLVM::compileIn):
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::vmCall):
(JSC::FTL::LowerDFGToLLVM::vmCallNoExceptions):
(JSC::FTL::LowerDFGToLLVM::callCheck):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::call):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

  • ftl/FTLState.h:
  • interpreter/Interpreter.cpp:

(JSC::sizeOfVarargs):
(JSC::sizeFrameForVarargs):

  • interpreter/Interpreter.h:
  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::readInlinedFrame):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitExceptionCheck):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::addressFor):
(JSC::AssemblyHelpers::calleeFrameSlot):
(JSC::AssemblyHelpers::calleeArgumentSlot):
(JSC::AssemblyHelpers::calleeFrameTagSlot):
(JSC::AssemblyHelpers::calleeFramePayloadSlot):
(JSC::AssemblyHelpers::calleeArgumentTagSlot):
(JSC::AssemblyHelpers::calleeArgumentPayloadSlot):
(JSC::AssemblyHelpers::calleeFrameCallerFrame):
(JSC::AssemblyHelpers::selectScratchGPR):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/GPRInfo.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileSetupVarargsFrame):
(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):
(JSC::JIT::compileOpCall):

  • jit/JITOperations.h:
  • jit/SetupVarargsFrame.cpp:

(JSC::emitSetupVarargsFrameFastCase):

  • jit/SetupVarargsFrame.h:
  • runtime/Arguments.h:

(JSC::Arguments::create):
(JSC::Arguments::registerArraySizeInBytes):
(JSC::Arguments::finishCreation):

  • runtime/Options.h:
  • tests/stress/construct-varargs-inline-smaller-Foo.js: Added.

(Foo):
(bar):
(checkEqual):
(test):

  • tests/stress/construct-varargs-inline.js: Added.

(Foo):
(bar):
(checkEqual):
(test):

  • tests/stress/construct-varargs-no-inline.js: Added.

(Foo):
(bar):
(checkEqual):
(test):

  • tests/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js: Added.

(foo):
(bar):

  • tests/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js: Added.

(foo):
(bar):

  • tests/stress/get-my-argument-by-val-creates-arguments.js: Added.

(blah):
(foo):
(bar):
(checkEqual):
(test):

  • tests/stress/load-varargs-then-inlined-call-exit-in-foo.js: Added.

(foo):
(bar):
(checkEqual):

  • tests/stress/load-varargs-then-inlined-call-inlined.js: Added.

(foo):
(bar):
(baz):
(checkEqual):
(test):

  • tests/stress/load-varargs-then-inlined-call.js: Added.

(foo):
(bar):
(checkEqual):
(test):

LayoutTests:

Adds a version of deltablue that uses rest arguments profusely. This speeds up by 20% with this
patch. I believe that the machinery that this patch puts in place will allow us to ultimately
run deltablue-varargs at the same steady-state performance as normal deltablue.

  • js/regress/deltablue-varargs-expected.txt: Added.
  • js/regress/deltablue-varargs.html: Added.
  • js/regress/script-tests/deltablue-varargs.js: Added.

(args):
(Object.prototype.inheritsFrom):
(OrderedCollection):
(OrderedCollection.prototype.add):
(OrderedCollection.prototype.at):
(OrderedCollection.prototype.size):
(OrderedCollection.prototype.removeFirst):
(OrderedCollection.prototype.remove):
(Strength):
(Strength.stronger):
(Strength.weaker):
(Strength.weakestOf):
(Strength.strongest):
(Strength.prototype.nextWeaker):
(Constraint):
(Constraint.prototype.addConstraint):
(Constraint.prototype.satisfy):
(Constraint.prototype.destroyConstraint):
(Constraint.prototype.isInput):
(UnaryConstraint):
(UnaryConstraint.prototype.addToGraph):
(UnaryConstraint.prototype.chooseMethod):
(UnaryConstraint.prototype.isSatisfied):
(UnaryConstraint.prototype.markInputs):
(UnaryConstraint.prototype.output):
(UnaryConstraint.prototype.recalculate):
(UnaryConstraint.prototype.markUnsatisfied):
(UnaryConstraint.prototype.inputsKnown):
(UnaryConstraint.prototype.removeFromGraph):
(StayConstraint):
(StayConstraint.prototype.execute):
(EditConstraint.prototype.isInput):
(EditConstraint.prototype.execute):
(BinaryConstraint):
(BinaryConstraint.prototype.chooseMethod):
(BinaryConstraint.prototype.addToGraph):
(BinaryConstraint.prototype.isSatisfied):
(BinaryConstraint.prototype.markInputs):
(BinaryConstraint.prototype.input):
(BinaryConstraint.prototype.output):
(BinaryConstraint.prototype.recalculate):
(BinaryConstraint.prototype.markUnsatisfied):
(BinaryConstraint.prototype.inputsKnown):
(BinaryConstraint.prototype.removeFromGraph):
(ScaleConstraint):
(ScaleConstraint.prototype.addToGraph):
(ScaleConstraint.prototype.removeFromGraph):
(ScaleConstraint.prototype.markInputs):
(ScaleConstraint.prototype.execute):
(ScaleConstraint.prototype.recalculate):
(EqualityConstraint):
(EqualityConstraint.prototype.execute):
(Variable):
(Variable.prototype.addConstraint):
(Variable.prototype.removeConstraint):
(Planner):
(Planner.prototype.incrementalAdd):
(Planner.prototype.incrementalRemove):
(Planner.prototype.newMark):
(Planner.prototype.makePlan):
(Planner.prototype.extractPlanFromConstraints):
(Planner.prototype.addPropagate):
(Planner.prototype.removePropagateFrom):
(Planner.prototype.addConstraintsConsumingTo):
(Plan):
(Plan.prototype.addConstraint):
(Plan.prototype.size):
(Plan.prototype.constraintAt):
(Plan.prototype.execute):
(chainTest):
(projectionTest):
(change):
(deltaBlue):

11:39 AM Changeset in webkit [180278] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Justified ruby can cause lines to grow beyond their container
https://bugs.webkit.org/show_bug.cgi?id=141732

Reviewed by David Hyatt.

Source/WebCore:

After we re-layout RenderRubyRuns, this can change the environment upon which
ruby's overhang calculation is sensitive to. Before this patch, we would recalculate
the overhang after the RenderRubyRun gets relaid out. However, doing such causes the
effective width of the RenderRubyRun to change, which causes out subsequent
justification calculations to be off.

Therefore, we have a cycle; the amount of ruby overhang can change the justification
in a line, and the layout of the line affects the ruby overhang calculation. Instead
of performing a layout in a loop until it converges, this patch simply observes that
having a flush right edge is more valuable than having a perfectly correct overhang.
It therefore simply removes the secondary overhang calculation.

Test: fast/text/ruby-justification-flush.html

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::updateRubyForJustifiedText):
(WebCore::RenderBlockFlow::computeExpansionForJustifiedText):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

LayoutTests:

Make sure that the right edge of a justified ruby line matches up with
the same line without ruby.

  • fast/text/ruby-justification-flush-expected.html: Added.
  • fast/text/ruby-justification-flush.html: Added.
11:34 AM Changeset in webkit [180277] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Add WKContext SPI to clear all visited links
https://bugs.webkit.org/show_bug.cgi?id=141752
<rdar://problem/9997966>

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKContext.cpp:

(WKContextClearVisitedLinks):

  • UIProcess/API/C/WKContext.h:
11:32 AM Changeset in webkit [180276] by Chris Dumez
  • 4 edits in trunk/Source

Evict dead resources in MemoryCache in MemoryPressureHandler::releaseNoncriticalMemory()
https://bugs.webkit.org/show_bug.cgi?id=141723

Reviewed by Andreas Kling.

Evict dead resources from the MemoryCache on non-critical memory
pressure. On critical memory pressure, we already evict ALL resources
from the MemoryCache. It is a good idea to start by evicting resources
we care less about on non-critical warning to decrease the chances of
getting a critical warning and thus having to clear the whole
MemoryCache.

  • loader/cache/MemoryCache.h:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseNoncriticalMemory):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
(WebCore::MemoryPressureHandler::releaseMemory):
Call releaseCriticalMemory() before releaseNoncriticalMemory()
as releaseCriticalMemory() is more aggressive. Doing it the
other way around would mean that on critical warning, we would
first evict dead resources, then evict all resources. It is
more efficient to evict all resources first, as it makes the
non-critical operation (evict dead resources) a no-op.

11:29 AM Changeset in webkit [180275] by dino@apple.com
  • 10 edits in branches/safari-600.5-branch/LayoutTests

Rebaseline tests for safari-600.5-branch.
<rdar://problem/19861390>

  • media/video-colorspace-yuv420-expected.txt:
  • media/video-colorspace-yuv422-expected.txt:
  • platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/media-controls-clone-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
11:19 AM Changeset in webkit [180274] by eric.carlson@apple.com
  • 9 edits
    1 copy
    1 add in trunk

[iOS] pause video when a tab moves to the background on some devices
https://bugs.webkit.org/show_bug.cgi?id=141753
<rdar://problem/19814562>

Reviewed by Jer Noble.

Source/WebCore:

Test: media/video-background-tab-playback.html

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::clientDataBufferingTimerFired): Pause video when the element becomes

hidden if the BackgroundTabPlaybackRestricted is set.

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::applicationWillEnterBackground): Rename BackgroundPlaybackNotPermitted

to BackgroundProcessPlaybackRestricted.

(WebCore::MediaSessionManager::applicationWillEnterForeground): Ditto.

  • platform/audio/MediaSessionManager.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions): Set BackgroundTabPlaybackRestricted on

devices with restricted memory. BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.

  • testing/Internals.cpp:

(WebCore::Internals::setMediaSessionRestrictions): Add support for BackgroundTabPlaybackRestricted.

BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.

LayoutTests:

  • media/video-background-playback-expected.txt: BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.
  • media/video-background-playback.html: Ditto.
  • media/video-background-tab-playback-expected.txt: Added.
  • media/video-background-tab-playback.html: Added.
11:00 AM Changeset in webkit [180273] by hyatt@apple.com
  • 8 edits
    2 adds in trunk

Wrong text-decoration-style used for underlines.

11:00 AM Changeset in webkit [180272] by ggaren@apple.com
  • 4 edits
    1 add in trunk/Source/bmalloc

bmalloc: VMHeap should keep a record of all of its VM ranges (for malloc introspection)
https://bugs.webkit.org/show_bug.cgi?id=141759

Reviewed by Andreas Kling.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/SuperChunk.h: Added.

(bmalloc::SuperChunk::create):
(bmalloc::SuperChunk::SuperChunk):
(bmalloc::SuperChunk::smallChunk):
(bmalloc::SuperChunk::mediumChunk):
(bmalloc::SuperChunk::largeChunk): Factored out super chunk creation
into a separate class, for clarity and type safety.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):
(bmalloc::VMHeap::allocateSuperChunk): Renamed "allocateSuperChunk" to
"grow" because Andreas found "allocateSuperChunk" to be unclear.

  • bmalloc/VMHeap.h: Track all our VM ranges. We will use this information

for malloc introspection.

(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange): Updated for renames.

10:29 AM Changeset in webkit [180271] by mmaxfield@apple.com
  • 10 edits
    3 copies in trunk/LayoutTests

Update more test expected results after r177774
https://bugs.webkit.org/show_bug.cgi?id=141743

Reviewed by Brent Fulgham.

  • platform/mac/TestExpectations:
  • platform/mac/fast/dom/character-index-for-point-expected.txt:
  • platform/mac/fast/forms/select-initial-position-expected.txt:
  • platform/mac/fast/replaced/width100percent-textarea-expected.txt:
  • platform/mac/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/mac/fast/text/international/text-combine-image-test-expected.txt:
  • platform/mac-mavericks/fast/forms/select-initial-position-expected.txt:
  • platform/mac-mavericks/fast/replaced/width100percent-textarea-expected.txt:
  • platform/mac-mavericks/fast/text/international/text-combine-image-test-expected.txt:
  • svg/text/lengthAdjust-text-metrics-expected.txt:
  • svg/text/script-tests/lengthAdjust-text-metrics.js:
  • svg/text/text-rect-precision.html:
10:23 AM Changeset in webkit [180270] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, Restoring the C LOOP insta-crash fix in r180184.

Fixed a typo that only affected the C Loop in the prologue() macro in LowLevelInterpreter.asm.
After the stackHeightOKGetCodeBlock label, codeBlockSetter(t1) should be codeBlockGetter(t1).

  • llint/LowLevelInterpreter.asm: Fixed a typo.
10:22 AM Changeset in webkit [180269] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r180260): Try to fix incremental builds by changing UserContentController.cpp

Attempt to fix this linker error by making a non-coding change:

Undefined symbols for architecture i386:

"ZN7WebCore17ContentExtensions24ContentExtensionsBackendC1Ev", referenced from:

ZN7WebCore21UserContentController20addUserContentFilterERKN3WTF6StringES4_ in UserContentController.o

ld: symbol(s) not found for architecture i386

This should have been fixed by r180266, but perhaps Xcode didn't
recognize that it needed to rebuild this source file.

  • page/UserContentController.cpp: Update copyright.
9:52 AM Changeset in webkit [180268] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Purge PassRefPtr from CanvasRenderingContext2D.
<https://webkit.org/b/141749>

Reviewed by Gyuyoung Kim.

Switch from using PassRefPtr to RefPtr/Ref in CanvasRenderingContext2D.

  • html/TextMetrics.h:

(WebCore::TextMetrics::create): Changed create() helper to return Ref.

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

(WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): Changed to take a reference.

(WebCore::CanvasRenderingContext2D::createLinearGradient):
(WebCore::CanvasRenderingContext2D::createRadialGradient):
(WebCore::CanvasRenderingContext2D::createPattern):
(WebCore::createEmptyImageData):
(WebCore::CanvasRenderingContext2D::createImageData):
(WebCore::CanvasRenderingContext2D::getImageData):
(WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Made these return RefPtr. Also did
a bunch of 0 -> nullptr conversion, removed a bunch of unnecessary RefPtr::release() calls,
and changed a PassRefPtr argument to RefPtr&&.

(WebCore::CanvasRenderingContext2D::measureText): Made this return Ref.

9:34 AM Changeset in webkit [180267] by Brent Fulgham
  • 3 edits
    21 adds in trunk/LayoutTests

[Win] Gardening: Update baselines on Windows bots after removing mac-mountainlion

  • platform/win/TestExpectations:
  • platform/win/editing/selection/5057506-2-expected.png: Added.
  • platform/win/editing/selection/5057506-2-expected.txt: Added.
  • platform/win/fast/attachment: Added.
  • platform/win/fast/attachment/attachment-disabled-rendering-expected.txt: Added.
  • platform/win/fast/attachment/attachment-rendering-expected.txt: Added.
  • platform/win/fast/frames/frame-scrolling-attribute-exepected.txt: Added.
  • platform/win/fast/repaint/selection-ruby-rl-expected.txt: Added.
  • platform/win/http/tests/security/XFrameOptions: Added.
  • platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.
  • platform/win/http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW-expected.txt: Added.
  • platform/win/svg/batik/text/textEffect2-expected.txt: Added.
  • platform/win/svg/batik/text/textEffect3-expected.txt: Added.
  • platform/win/svg/batik/text/textProperties-expected.txt: Added.
  • platform/win/svg/custom/text-filter-expected.txt: Added.
  • platform/win/svg/filters/feColorMatrix-values-expected.png:
  • platform/win/svg/filters/feColorMatrix-values-expected.txt: Added.
  • platform/win/svg/filters/filter-on-filter-for-text-expected.txt: Added.
  • platform/win/svg/filters/filter-on-tspan-expected.txt: Added.
  • platform/win/svg/filters/sourceAlpha-expected.txt: Added.
  • platform/win/svg/repaint/text-mask-update-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug131020-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug131020-expected.txt: Added.
9:08 AM Changeset in webkit [180266] by commit-queue@webkit.org
  • 6 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, rolling out r180260.
https://bugs.webkit.org/show_bug.cgi?id=141757

Broke the 32-bit builders (Requested by jessieberlin on
#webkit).

Reverted changeset:

"Add a trivial code generator for the DFA"
https://bugs.webkit.org/show_bug.cgi?id=141017
http://trac.webkit.org/changeset/180260

8:31 AM Changeset in webkit [180265] by andersca@apple.com
  • 14 edits in trunk/Source

Add API for clearing in-memory caches to WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=141724

Reviewed by Tim Horton.

Source/WebCore:

Add a version of evictResources that takes a session id.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::evictResources):

Source/WebKit2:

  • Shared/WebsiteData/WebsiteDataTypes.h:

Add WebsiteDataTypeMemoryCache.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:

Add WKWebsiteDataTypeMemoryCache.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(toWebsiteDataTypes):
Handle WKWebsiteDataTypeMemoryCache and convert it to WebsiteDataTypeMemoryCache.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::generateCallbackID):
Generate a new callback.

(WebKit::WebProcessProxy::~WebProcessProxy):
Assert that we don't have any pending callbacks.

(WebKit::WebProcessProxy::connectionDidClose):
Invoke pending callbacks.

(WebKit::WebProcessProxy::canTerminateChildProcess):
Don't try to terminate if we have pending callbacks.

(WebKit::WebProcessProxy::didDeleteWebsiteData):
Take the callback and invoke it.

(WebKit::WebProcessProxy::deleteWebsiteData):
Send a delete message.

  • UIProcess/WebProcessProxy.h:

Add new members.

  • UIProcess/WebProcessProxy.messages.in:

Add DidDeleteWebsiteData message.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeNetworkProcessAccessType):
Spell persistent correctly.

(WebKit::computeWebProcessAccessType):
Return a web process access type given the a data type mask.

(WebKit::WebsiteDataStore::removeData):
Ask any associated web processes to remove website data.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::deleteWebsiteData):
Delete the memory cache if requested.

  • WebProcess/WebProcess.h:

Add new member.

  • WebProcess/WebProcess.messages.in:

Add DeleteWebsiteData message.

5:47 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
5:36 AM WebKitGTK/2.8.x edited by zandobersek@gmail.com
Add r180264 as proposed for merging into 2.7.91. (diff)
5:31 AM Changeset in webkit [180264] by zandobersek@gmail.com
  • 2 edits in trunk/Source/bmalloc

Build bmalloc through CMake as a static library. It's then linked either
into the WTF library (if built as a shared library) or into the JSC and
WebKit2 libraries. There's no need to build it as a standalone shared library.

Rubber-stamped by Carlos Garcia Campos.

  • CMakeLists.txt:
2:28 AM Changeset in webkit [180263] by Manuel Rego Casasnovas
  • 3 edits in trunk/LayoutTests

[CSS Grid Layout] Remove some leftovers related to "stack" removal
https://bugs.webkit.org/show_bug.cgi?id=141722

Reviewed by Sergio Villar Senin.

In r177858 "stack" packing mode was removed from grid-auto-flow syntax.

This patch removes some missing cases, where "stack" was still used in
the layout tests.

  • fast/css-grid-layout/grid-auto-flow-resolution.html: Remove

gridAutoFlowStack usage.

  • fast/css-grid-layout/resources/grid.css:

(.gridAutoFlowStack): Deleted.

1:35 AM Changeset in webkit [180262] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

URTBF after r180258 to fix Windows build.

  • runtime/MathCommon.cpp:

(JSC::mathPowInternal):

1:00 AM Changeset in webkit [180261] by timothy_horton@apple.com
  • 4 edits in trunk

Remove more references to WebCore.exp.in
https://bugs.webkit.org/show_bug.cgi?id=141747

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Tools:

  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

(ShouldBuildTest):

12:57 AM Changeset in webkit [180260] by benjamin@webkit.org
  • 6 edits
    2 adds in trunk/Source/WebCore

Add a trivial code generator for the DFA
https://bugs.webkit.org/show_bug.cgi?id=141017

Reviewed by Andreas Kling.

Nothing fancy yet, this is just doing a literal translation from the DFA
to machine code. It is extremely inefficient at the moment.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::ContentExtensionsBackend):
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
(WebCore::ContentExtensions::addActionToHashSet):
(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):

  • contentextensions/ContentExtensionsBackend.h:
  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::nextState): Deleted.
(WebCore::ContentExtensions::DFA::actions): Deleted.

  • contentextensions/DFA.h:

(WebCore::ContentExtensions::DFA::size):
(WebCore::ContentExtensions::DFA::nodeAt):

  • contentextensions/DFACompiler.cpp: Added.

(WebCore::ContentExtensions::compileDFA):
(WebCore::ContentExtensions::DFACodeGenerator::DFACodeGenerator):
(WebCore::ContentExtensions::DFACodeGenerator::compile):
(WebCore::ContentExtensions::DFACodeGenerator::lowerStateMachine):
(WebCore::ContentExtensions::DFACodeGenerator::lowerNode):
(WebCore::ContentExtensions::DFACodeGenerator::getNextCharacter):
(WebCore::ContentExtensions::DFACodeGenerator::callAddActionFunction):

  • contentextensions/DFACompiler.h: Copied from Source/WebCore/contentextensions/DFA.h.
12:57 AM Changeset in webkit [180259] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r180235): It broke the !ENABLE(PROMISES) build
https://bugs.webkit.org/show_bug.cgi?id=141746

Unreviewed build fix.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::getInternalProperties):
Wrap JSPromise related code in ENABLE(PROMISES) guard.

12:17 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
12:01 AM Changeset in webkit [180258] by benjamin@webkit.org
  • 9 edits
    2 adds in trunk/Source/JavaScriptCore

Fix the C-Loop LLInt build
https://bugs.webkit.org/show_bug.cgi?id=141618

Reviewed by Filip Pizlo.

I broke C-Loop when moving the common code of pow()
to JITOperations because that file is #ifdefed out
when the JITs are disabled.

It would be weird to move it back to MathObject since
the function needs to know about the calling conventions.

To avoid making a mess, I just gave the function its own file
that is used by both the runtime and the JIT.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • runtime/MathCommon.cpp: Added.

(JSC::fdlibmScalbn):
(JSC::fdlibmPow):
(JSC::isDenormal):
(JSC::isEdgeCase):
(JSC::mathPowInternal):
(JSC::operationMathPow):

  • runtime/MathCommon.h: Added.
  • runtime/MathObject.cpp:

Feb 17, 2015:

11:04 PM Changeset in webkit [180257] by benjamin@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

Clean up OSRExit's considerAddingAsFrequentExitSite()
https://bugs.webkit.org/show_bug.cgi?id=141690

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-17
Reviewed by Anders Carlsson.

Looks like some code was removed from CodeBlock::tallyFrequentExitSites()
and the OSRExit were left untouched.

This patch cleans up the two loops and remove the boolean return
on considerAddingAsFrequentExitSite().

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::tallyFrequentExitSites):

  • dfg/DFGOSRExit.h:

(JSC::DFG::OSRExit::considerAddingAsFrequentExitSite):

  • dfg/DFGOSRExitBase.cpp:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow):

  • dfg/DFGOSRExitBase.h:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSite):

  • ftl/FTLOSRExit.h:

(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):

9:38 PM Changeset in webkit [180256] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Rename ScopedEventQueue::instance() to singleton()
https://bugs.webkit.org/show_bug.cgi?id=141738

Reviewed by Daniel Bates.

Rename ScopedEventQueue::instance() to singleton(), as per coding
style. Also modernize the code a little bit.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchScopedEvent):

  • dom/ScopedEventQueue.cpp:

(WebCore::ScopedEventQueue::singleton):
(WebCore::ScopedEventQueue::dispatchAllEvents):
(WebCore::ScopedEventQueue::incrementScopingLevel):
(WebCore::ScopedEventQueue::decrementScopingLevel):
(WebCore::ScopedEventQueue::ScopedEventQueue): Deleted.
(WebCore::ScopedEventQueue::~ScopedEventQueue): Deleted.
(WebCore::ScopedEventQueue::instance): Deleted.

  • dom/ScopedEventQueue.h:

(WebCore::EventQueueScope::EventQueueScope):
(WebCore::EventQueueScope::~EventQueueScope):

9:31 PM Changeset in webkit [180255] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Remove dead code from FontCache
https://bugs.webkit.org/show_bug.cgi?id=141741

Reviewed by Daniel Bates.

Remove dead code from FontCache:

  • getFontFamilyForCharacters() has no implementation.
  • SimpleFontFamily is unused.
  • platform/graphics/FontCache.h:
8:23 PM Changeset in webkit [180254] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Rename CSSPropertyAnimationWrapperMap::instance() to singleton()
https://bugs.webkit.org/show_bug.cgi?id=141739

Reviewed by Simon Fraser.

Rename CSSPropertyAnimationWrapperMap::instance() to singleton(), as
per coding style.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::singleton):
(WebCore::CSSPropertyAnimation::blendProperties):
(WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
(WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
(WebCore::CSSPropertyAnimation::propertiesEqual):
(WebCore::CSSPropertyAnimation::getPropertyAtIndex):
(WebCore::CSSPropertyAnimation::getNumProperties):
(WebCore::CSSPropertyAnimationWrapperMap::instance): Deleted.

8:17 PM Changeset in webkit [180253] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update editing/selection/fake-drag.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141605

Reviewed by Alexey Proskuryakov.

Text metrics changed, so the locations where the "user" interacts with the page should
change accordingly.

  • editing/selection/fake-drag.html:
  • platform/mac/TestExpectations:
7:50 PM WebKitGTK/2.8.x edited by clopez@igalia.com
fix typo (diff)
7:12 PM Changeset in webkit [180252] by ap@apple.com
  • 3 edits in trunk/LayoutTests

inspector/css/stylesheet-with-mutations.html is a flaky timeout/crash
https://bugs.webkit.org/show_bug.cgi?id=141601

Skipping the test; it's flaky in such a way that I'm concerned about it breaking
subsequent tests.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
6:59 PM Changeset in webkit [180251] by ddkilzer@apple.com
  • 1 edit
    1 delete in trunk/Source/WebCore

REGRESSION (r180224): Remove unused generate-export-file script
<http://webkit.org/b/141491>

  • generate-export-file: Removed. This was the script used to

create WebCore.exp files for iOS since we couldn't compile a
host-side tool to run like we did on Mac OS X. Dont't tell
anyone, but this was an epic hack I created while merging open
source changes to the internal iOS WebKit repository around the
time that the WebCore.exp.in file was created. End of an era.

6:58 PM Changeset in webkit [180250] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

SoftLinking.h: Update copyright and license; clean up whitespace

  • platform/win/SoftLinking.h:
6:52 PM Changeset in webkit [180249] by ap@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Debug build fix after r180247.

  • ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::loweringFailed):
6:45 PM Changeset in webkit [180248] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r180184.
https://bugs.webkit.org/show_bug.cgi?id=141733

Caused infinite recursion on js/function-apply-aliased.html
(Requested by ap_ on #webkit).

Reverted changeset:

"REGRESSION(r180060): C Loop crashes"
https://bugs.webkit.org/show_bug.cgi?id=141671
http://trac.webkit.org/changeset/180184

6:38 PM Changeset in webkit [180247] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

CrashTracer: DFG_CRASH beneath JSC::FTL::LowerDFGToLLVM::compileNode
https://bugs.webkit.org/show_bug.cgi?id=141730

Reviewed by Geoffrey Garen.

Added a new failure handler, loweringFailed(), to LowerDFGToLLVM that reports failures
while processing DFG lowering. For debug builds, the failures are logged identical
to the way the DFG_CRASH() reports them. For release builds, the failures are reported
and that FTL compilation is terminated, but the process is allowed to continue.
Wrapped calls to loweringFailed() in a macro LOWERING_FAILED so the function and
line number are reported at the point of the inconsistancy.

Converted instances of DFG_CRASH to LOWERING_FAILED.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl): Added lowerDFGToLLVM() failure check that
will fail the FTL compile.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
Added new member variable, m_loweringSucceeded, to stop compilation on the first
reported failure.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):

  • ftl/FTLLowerDFGToLLVM.h:

Added check for compilation failures and now report those failures via a boolean
return value.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileUpsilon):
(JSC::FTL::LowerDFGToLLVM::compilePhi):
(JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
(JSC::FTL::LowerDFGToLLVM::compileValueRep):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compilePutLocal):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileArithAbs):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compare):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::opposite):
(JSC::FTL::LowerDFGToLLVM::lowJSValue):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::isArrayType):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::setInt52):
Changed DFG_CRASH() to LOWERING_FAILED(). Updated related control flow as appropriate.

(JSC::FTL::LowerDFGToLLVM::loweringFailed): New error reporting member function.

4:38 PM Changeset in webkit [180246] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

4:25 PM Changeset in webkit [180245] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.1

New tag.

3:06 PM Changeset in webkit [180244] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Slight CachedPage class clean up
https://bugs.webkit.org/show_bug.cgi?id=141693

Reviewed by Andreas Kling.

Slight CachedPage class clean up:

  • Drop unnecessary m_timeStamp data member
  • Protect m_needsCaptionPreferencesChanged data member with #if ENABLE(VIDEO_TRACK)
  • Merge destroy() method into the destructor as this is the only caller
  • Update clear() to reset 2 data members that were missing
3:02 PM Changeset in webkit [180243] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Silence two -Wcast-qual warnings.
rdar://problem/19758266

  • platform/ios/wak/WKUtilities.c:

(WKRetain):
(WKRelease):

2:54 PM Changeset in webkit [180242] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r178595): Clicking on DD highlights sometimes do not work
https://bugs.webkit.org/show_bug.cgi?id=141728
<rdar://problem/19825372>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _cancelImmediateActionIfNeeded]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
The change that r178595 intended to make was purely that things that we
have no immediate actions for should cancel the immediate action gesture recognizer.
Moving the DataDetectors activation code as well breaks strict ordering
of immediate action callbacks vs. shouldUseActionsWithContext: that they depend on.

2:41 PM Changeset in webkit [180241] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

Minor RenderTable* class cleanups.
https://bugs.webkit.org/show_bug.cgi?id=141707

Reviewed by Andreas Kling.

Use in-class initializer where possible.
Remove redundant code.
Move multiline implementations out of class declaration.

No change in functionality.

  • rendering/RenderTableCaption.cpp:

(WebCore::RenderTableCaption::insertedIntoTree):
(WebCore::RenderTableCaption::willBeRemovedFromTree):
(WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Deleted.

  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::RenderTableCell):

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::colSpan):
(WebCore::RenderTableCell::rowSpan):
(WebCore::RenderTableCell::setCol):
(WebCore::RenderTableCell::col):
(WebCore::RenderTableCell::section):
(WebCore::RenderTableCell::table):
(WebCore::RenderTableCell::rowIndex):
(WebCore::RenderTableCell::styleOrColLogicalWidth):
(WebCore::RenderTableCell::logicalHeightForRowSizing):
(WebCore::RenderTableCell::isBaselineAligned):
(WebCore::RenderTableCell::borderAdjoiningTableStart):
(WebCore::RenderTableCell::borderAdjoiningTableEnd):
(WebCore::RenderTableCell::borderAdjoiningCellBefore):
(WebCore::RenderTableCell::borderAdjoiningCellAfter):

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::RenderTableCol):

  • rendering/RenderTableCol.h:

(WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentBefore):
(WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentAfter):

  • rendering/RenderTableRow.h:

(WebCore::RenderTableRow::setRowIndex):
(WebCore::RenderTableRow::rowIndex):
(WebCore::RenderTableRow::borderAdjoiningTableStart):
(WebCore::RenderTableRow::borderAdjoiningTableEnd):
(WebCore::RenderTableRow::table):
(WebCore::RenderTableSection::firstRow):
(WebCore::RenderTableSection::lastRow):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::dirtiedRows):
(WebCore::RenderTableSection::dirtiedColumns):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::nodeAtPoint):

  • rendering/RenderTableSection.h:

(WebCore::CellSpan::CellSpan):
(WebCore::RenderTableSection::borderAdjoiningTableStart):
(WebCore::RenderTableSection::borderAdjoiningTableEnd):
(WebCore::RenderTableSection::cellAt):
(WebCore::RenderTableSection::primaryCellAt):
(WebCore::RenderTableSection::rowRendererAt):
(WebCore::RenderTableSection::outerBorderLeft):
(WebCore::RenderTableSection::outerBorderRight):
(WebCore::RenderTableSection::outerBorderTop):
(WebCore::RenderTableSection::outerBorderBottom):
(WebCore::RenderTableSection::numRows):
(WebCore::RenderTableSection::recalcCellsIfNeeded):
(WebCore::RenderTableSection::rowBaseline):
(WebCore::RenderTableSection::fullTableRowSpan):
(WebCore::CellSpan::start): Deleted.
(WebCore::CellSpan::end): Deleted.

2:31 PM Changeset in webkit [180240] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

Windows test results should not fall back to mac-mountainlion after r180176
https://bugs.webkit.org/show_bug.cgi?id=141719

Reviewed by Brent Fulgham.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build):

  • Scripts/webkitpy/port/win.py:

(WinPort.default_baseline_search_path):

  • Scripts/webkitpy/port/win_unittest.py:

(WinPortTest.test_baseline_search_path):

2:30 PM Changeset in webkit [180239] by dbates@webkit.org
  • 3 edits in trunk/Tools

[iOS] run-webkit-tests should check that simctl can boot and shutdown simulator device before running tests
https://bugs.webkit.org/show_bug.cgi?id=141718

Reviewed by Alex Christensen.

We should only run layout tests if simctl can successfully boot and shutdown the testing device.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.check_sys_deps): Modified to call Simulator.check_simulator_device_and_erase_if_needed().
Log a error and return False if we are unable to boot the simulator device so that the caller can take
appropriate action, say exit(3) before running any layout tests.

  • Scripts/webkitpy/xcode/simulator.py:

(Simulator._boot_and_shutdown_simulator_device): Added. Boot and then shut down the simulator device
with the specified UDID.
(Simulator.check_simulator_device_and_erase_if_needed): Added. Checks that simulator device
with the specified UDID can successfully boot and shut down. We make at most two attempts to
boot and shut down the device, erasing the device between tries so as to restore the device
to a known good state.

2:13 PM Changeset in webkit [180238] by dbates@webkit.org
  • 5 edits in trunk/Tools

run_webkit_tests.py should not know about iOS Simulator details
https://bugs.webkit.org/show_bug.cgi?id=141711

Reviewed by Alex Christensen.

Run_webkit_tests.py should only parse the iOS-specific command
line options --runtime and --device-type. Let the port-specific
logic in ios.py validate the parsed options and instantiate
internal data structures.

Currently run_webkit_tests.py parses the iOS-specific command
line options --runtime and --device-type, validates them, and
instantiates internal data structures from the parsed strings.
Instead the validation logic and instantiation of internal
data structures should be handled by the iOS port object.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options): Remove logic to validate --runtime and --device-type
and instantiate internal data structures for them.

  • Scripts/webkitpy/port/driver.py:

(IOSSimulatorDriver.cmd_line): Modified to reference IOSSimulatorPort.simulator_runtime
and IOSSimulatorPort.simulator_device_type for the iOS Simulator runtime and device type,
respectively.

  • Scripts/webkitpy/port/ios.py: Sort the list of imports.

(IOSSimulatorPort.simulator_runtime): Added. Instantiates a Runtime
object from --runtime, if specified. Otherwise, instantiates a Runtime
object for the latest installed iphonesimulator SDK version.
(IOSSimulatorPort.simulator_device_type): Added. Instantiates a DeviceType
object from --device-type, if specified. Otherwise, instantiates
a DeviceType object for a iPhone 5 or iPhone 5s when on a 32-bit and 64-bit
machine, respectively.
(IOSSimulatorPort.check_sys_deps): Added. Validate if the chosen iOS simulator
runtime is available to use.
(IOSSimulatorPort.testing_device): Modified to make use of properties simulator_device_type
and simulator_runtime for the iOS Simulator device type and runtime, respectively.

  • Scripts/webkitpy/xcode/simulator.py:

(Runtime.from_version_string): Added. Turns around and calls Runtime.from_identifier()
with a runtime identifier for the specified iOS version.

1:41 PM Changeset in webkit [180237] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

StackLayoutPhase should use CodeBlock::usesArguments rather than FunctionExecutable::usesArguments
https://bugs.webkit.org/show_bug.cgi?id=141721
rdar://problem/17198633

Reviewed by Michael Saboff.

I've seen cases where the two are out of sync. We know we can trust the CodeBlock::usesArguments because
we use it everywhere else.

No test because I could never reproduce the crash.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::usesArguments):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

12:17 PM Changeset in webkit [180236] by Joseph Pecoraro
  • 9 edits in trunk

Web Inspector: Improved Console Support for Bound Functions
https://bugs.webkit.org/show_bug.cgi?id=141635

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::getInternalProperties):
Expose internal properties of a JSBoundFunction.

LayoutTests:

  • inspector/model/remote-object-get-properties-expected.txt:
  • inspector/model/remote-object-get-properties.html:

Show that boundFunction has extra properties (targetFunction, boundThis, boundArgs).

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Include a bound function. Much different from a function now though.

12:17 PM Changeset in webkit [180235] by Joseph Pecoraro
  • 9 edits in trunk

Web Inspector: ES6: Improved Console Support for Promise Objects
https://bugs.webkit.org/show_bug.cgi?id=141634

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getInternalProperties):

  • inspector/InjectedScriptSource.js:

Include internal properties in previews. Share code
with normal internal property handling.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::constructInternalProperty):
(Inspector::JSInjectedScriptHost::getInternalProperties):
Provide internal state of Promises.

  • inspector/protocol/Runtime.json:

Provide an optional field to distinguish if a PropertyPreview
is for an Internal property or not.

Source/WebInspectorUI:

  • UserInterface/Protocol/RemoteObject.js:

For now just add Internal Properties and regular properties.
We will address the UI later.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Include more tests for Promises.

12:10 PM Changeset in webkit [180234] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk/Source/JavaScriptCore

Throwing from an FTL call IC slow path may result in tag registers being clobbered on 64-bit CPUs
https://bugs.webkit.org/show_bug.cgi?id=141717
rdar://problem/19863382

Reviewed by Geoffrey Garen.

The best solution is to ensure that the engine catching an exception restores tag registers.

Each of these new test cases reliably crashed prior to this patch and they don't crash at all now.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • tests/stress/throw-from-ftl-call-ic-slow-path-cells.js: Added.
  • tests/stress/throw-from-ftl-call-ic-slow-path-undefined.js: Added.
  • tests/stress/throw-from-ftl-call-ic-slow-path.js: Added.
11:47 AM Changeset in webkit [180233] by commit-queue@webkit.org
  • 2 edits
    3 adds in trunk/LayoutTests

Unreviewed GTK Gardening 17th February.

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

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-02-17

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/press-targets-center-point-expected.txt: Added. Rebaselined after r180107.
  • platform/gtk/svg/custom/glyph-selection-non-bmp-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/svg/text/textPathBoundsBug-expected.txt: Added. Rebaselined after r177774.
11:09 AM Changeset in webkit [180232] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Add the necessary setupArgumentsWithExecState after bug141332
https://bugs.webkit.org/show_bug.cgi?id=141714

Reviewed by Michael Saboff.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

11:07 AM Changeset in webkit [180231] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION: Video control fails to hide after playback begins in reflowable EPUB files
https://bugs.webkit.org/show_bug.cgi?id=141689
<rdar://problem/19689286>

Reviewed by Eric Carlson.

The iBooks app turns off the requirement for a user gesture
before triggering playback. When we moved to script-based
media controls there were a few regressions in this setup.
This makes them behave a lot more like iOS 7.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.setPlaying): We don't want to hide the controls
yet, just start a hiding timer.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.shouldHaveStartPlaybackButton): If we've ever
played before, we don't want to show the big start button. If we
are in the middle of construction, we do want to show it. We no
longer care about the case where you're not in setup and have
the relaxed restrictions (we still want to show the start button
in that case).
(ControllerIOS.prototype.showControls): When we show the controls,
make sure our timeline is up to date. This is necessary for the
cases where we automatically show the controls, such as when we hit
the end of a video.
(ControllerIOS.prototype.updateTime): Make sure to pass the forceUpdate
parameter on to the super-method.
(ControllerIOS.prototype.setPlaying):
(ControllerIOS.prototype.progressFillStyle): Deleted.

11:05 AM Changeset in webkit [180230] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.7.90

WebKitGTK+ 2.7.90

10:47 AM Changeset in webkit [180229] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document some accessibility and animation debug assertions (Unreviewed)

  • platform/win/TestExpectations:
10:42 AM Changeset in webkit [180228] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Only create the WebKit.framework symlink in PrivateFrameworks when the platform is iphoneos
https://bugs.webkit.org/show_bug.cgi?id=141710
<rdar://problem/19719748>

Reviewed by Andreas Kling.

Don't create the symlink when building for the simulator.

  • WebKit2.xcodeproj/project.pbxproj:
10:06 AM Changeset in webkit [180227] by dburkart@apple.com
  • 2 edits in trunk/Tools

ASan does not like JSC::MachineThreads::tryCopyOtherThreadStack
https://bugs.webkit.org/show_bug.cgi?id=141672

Reviewed by David Kilzer.

  • asan/webkit-asan-ignore.txt:
10:05 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
9:57 AM WebKitGTK/2.8.x created by Carlos Garcia Campos
9:51 AM Changeset in webkit [180226] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.90 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.7.90.
9:30 AM Changeset in webkit [180225] by Chris Dumez
  • 23 edits in trunk/Source

Access MemoryPressureHandler global instance via a singleton() static member function
https://bugs.webkit.org/show_bug.cgi?id=141691

Reviewed by Andreas Kling.

Access MemoryPressureHandler global instance via a singleton() static
Source/WebCore:

member function as per coding style. Also make all other member
functions non-static as callers can just use singleton() to get the
instance and access methods. This avoid having to call
MemoryPressureHandler::singleton() from member functions.

  • bindings/js/ScriptController.cpp:

(WebCore::collectGarbageAfterWindowShellDestruction):

  • history/PageCache.cpp:

(WebCore::PageCache::canCache):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):

  • page/FrameView.cpp:

(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
(WebCore::FrameView::computeCoverageRect):

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::singleton):
(WebCore::MemoryPressureHandler::MemoryPressureHandler):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
(WebCore::memoryPressureHandler): Deleted.

  • platform/MemoryPressureHandler.h:

(WebCore::MemoryPressureHandler::setLowMemoryHandler):

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::respondToMemoryPressureCallback):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontDataIfNeeded):

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::createTilesInActiveGrid):

  • platform/ios/LegacyTileGrid.mm:

(WebCore::LegacyTileGrid::shouldUseMinimalTileCoverage):

  • platform/ios/LegacyTileLayerPool.mm:

(WebCore::LegacyTileLayerPool::addLayer):

  • platform/ios/TileControllerMemoryHandlerIOS.cpp:

(WebCore::TileControllerMemoryHandler::tileControllerGainedUnparentedTiles):

  • platform/linux/MemoryPressureHandlerLinux.cpp:

(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent):

Source/WebKit/mac:

member function.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView registerForMemoryNotifications]):
(+[WebView _isUnderMemoryPressure]):
(+[WebView _clearMemoryPressure]):
(+[WebView _shouldWaitForMemoryClearMessage]):
(WebInstallMemoryPressureHandler):

Source/WebKit2:

member function.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::lowMemoryHandler): Deleted.

  • NetworkProcess/NetworkProcess.h:
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::initializeProcess):
(WebKit::PluginProcess::lowMemoryHandler): Deleted.

  • PluginProcess/PluginProcess.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::processWillSuspend):

9:23 AM Changeset in webkit [180224] by achristensen@apple.com
  • 5 edits
    5 deletes in trunk

Remove WebCore.exp.in and clean up.
https://bugs.webkit.org/show_bug.cgi?id=141491

Reviewed by Andreas Kling.

Source/WebCore:

  • Configurations/WebCore.xcconfig:

Don't use exported symbols files.

  • DerivedSources.make:

Don't generate export files.

  • WebCore.exp.in: Removed.
  • WebCore.xcodeproj/project.pbxproj:

Removed WebCoreExportFileGenerator targets.

  • make-export-file-generator: Removed.

Tools:

  • Scripts/sort-export-file: Removed.
  • Scripts/webkitpy/style/checker.py:

(_all_categories):
(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):
Don't check if the export files are sorted.

  • Scripts/webkitpy/style/checkers/exportfile.py: Removed.
  • Scripts/webkitpy/style/checkers/exportfile_unittest.py: Removed.
9:09 AM Changeset in webkit [180223] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Document some debug assertions in Accessibility tests (Unreviewed)

  • platform/win/TestExpectations:
8:53 AM Changeset in webkit [180222] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Tools

Merge r180221 - Unreviewed. Fix GTK+ make distcheck.

Do not exclude bmalloc directory from the tarball.

  • gtk/manifest.txt.in:
8:38 AM Changeset in webkit [180221] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ make distcheck.

Do not exclude bmalloc directory from the tarball.

  • gtk/manifest.txt.in:
8:31 AM Changeset in webkit [180220] by gyuyoung.kim@samsung.com
  • 3 edits
    1 delete in trunk

[CMAKE] Remove CMakeLists.txt in WK1 port
https://bugs.webkit.org/show_bug.cgi?id=141617

Reviewed by Anders Carlsson.

.:

Nobody uses CMake in WK1 port. Remove it.

  • CMakeLists.txt:

Source/WebKit:

  • CMakeLists.txt: Removed.
8:03 AM Changeset in webkit [180219] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update svg/animations/animate-text-nested-transforms.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141686

Reviewed by Andreas Kling.

Text metrics are expected to change.

  • platform/mac/TestExpectations:
  • svg/animations/animate-text-nested-transforms-expected.txt:
  • svg/animations/script-tests/animate-text-nested-transforms.js:

(text.appendChild.rootSVGElement.appendChild.startSample):

8:01 AM Changeset in webkit [180218] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update expected result of fast/forms/cursor-at-editable-content-boundary.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141684

Reviewed by Andreas Kling.

One check no longer fails, and another fails in the same way it did before (but with 1-different
measurement values)

  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/cursor-at-editable-content-boundary-expected.txt:
5:44 AM Changeset in webkit [180217] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.8

Branch WebKitGTK+ for 2.8

4:11 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
3:57 AM Changeset in webkit [180216] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Use HashMap::add instead of get/contains + set in DOMObjectCache
https://bugs.webkit.org/show_bug.cgi?id=141558

Rubber-stamped by Žan Doberšek.

  • bindings/gobject/DOMObjectCache.cpp:

(WebKit::getOrCreateDOMObjectCacheFrameObserver):
(WebKit::DOMObjectCache::put):

2:33 AM Changeset in webkit [180215] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix /webkit2/WebKitDOMNode/dom-cache after r180214.

I forgot to add the return of a bool function.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testDOMCache):

1:57 AM Changeset in webkit [180214] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK] GObject DOM bindings object are cached forever
https://bugs.webkit.org/show_bug.cgi?id=141558

Reviewed by Sergio Villar Senin.

Source/WebCore:

Rework the DOMObjectCache to avoid having to manually clear the
objects when the frame is destroyed, using a FrameDestructionObserver
instead. When a new object associated to a Frame is added to the
cache, a FrameDestructionObserver is created for the frame if
needed, and the DOM object is tracked by the observer too. When
the frame is detached from the page all its objects are cleared,
and if the aren't additional references, the object is finalized
and removed from the cache normally.
This patch also simplifies and modernizes the code to make it
easier to read an maintain.

  • bindings/gobject/DOMObjectCache.cpp:

(WebKit::DOMObjectCacheData::DOMObjectCacheData): Add constructor
to initialize its members and simplify the callers.
(WebKit::DOMObjectCacheData::clearObject): Remove the references
added by the cache, ensuring the GObject is not finalized until
the method returns.
(WebKit::DOMObjectCacheData::refObject): Adds a reference owned by
the cache.
(WebKit::domObjectCacheFrameObservers): Map a frame to a FrameDestructionObserver.
(WebKit::getOrCreateDOMObjectCacheFrameObserver): Create a new
FrameDestructionObserver for the given Frame or return the
existing one.
(WebKit::domObjects): Map wrapped object to wrapper object.
(WebKit::DOMObjectCache::forget): Remove the wrapped object from
the cache.
(WebKit::DOMObjectCache::get): Return the wrapped object if it is
in the cache, increasing the cache references.
(WebKit::DOMObjectCache::put): Add the wrapper object to the cache
for the given wrapped object. If it's a Node and has a frame add
the node to the FrameDestructionObserver corresponding to the frame.
(WebKit::getFrameFromHandle): Deleted.
(WebKit::weakRefNotify): Deleted.
(WebKit::DOMObjectCache::clearByFrame): Deleted.
(WebKit::DOMObjectCache::~DOMObjectCache): Deleted.

  • bindings/gobject/DOMObjectCache.h:

Tools:

Add checks for all DOM objects to ensure they are not leaked. Also
add a dedicated test for the DOM Object Cache.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp:

(WebKitDOMNodeFilterTest::testTreeWalker):
(WebKitDOMNodeFilterTest::testNodeIterator):

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testHierarchyNavigation):
(WebKitDOMNodeTest::testInsertion):
(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::testDOMCache):
(registerTests):

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp:

(WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:

(testWebKitDOMObjectCache):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(documentLoadedCallback):

1:42 AM Changeset in webkit [180213] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

REGRESSION(r180050): It broke the !ENABLE(CSS_GRID_LAYOUT) build
https://bugs.webkit.org/show_bug.cgi?id=141647

Reviewed by Csaba Osztrogonác.

No new tests since this just fixes a build break.

  • dom/Position.cpp: Add a build guard ENABLE(CSS_GRID_LAYOUT) for RenderGrid.

(WebCore::Position::isCandidate):

12:58 AM Changeset in webkit [180212] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/selectors/nth-last-child-of-register-requirement.html is extremely slow in debug builds
https://bugs.webkit.org/show_bug.cgi?id=141695

Feb 16, 2015:

11:34 PM Changeset in webkit [180211] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK] WebKitFrame objects are never released
https://bugs.webkit.org/show_bug.cgi?id=141641

Reviewed by Martin Robinson.

Source/WebKit2:

Use a FrameDestructionObserver derived class to wrap our
WebKitFrame objects and delete them when the frame is destroyed,
instead of using willDestroyFrame callback of WKBundlePageLoaderClient
that has never worked.

  • WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:

(webkitFrameGetWebFrame):

  • WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkitFrameGetOrCreate):
(webkitFrameDestroy):
(webkitWebPageCreate):
(willDestroyFrame): Deleted.

Tools:

Add a way to check GObjects leaks for WebProcess tests and check
WebKitFrame objects are not leaked.

  • TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp:

(WebKitFrameTest::testMainFrame):
(WebKitFrameTest::testURI):
(WebKitFrameTest::testJavaScriptContext):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:

(WebProcessTest::assertObjectIsDeletedWhenTestFinishes):
(runTest):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h:
11:25 PM Changeset in webkit [180210] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the !USE(IOSURFACE) build

  • Shared/mac/RemoteLayerBackingStore.mm:

SOFT_LINK_MAY_FAIL makes a function that will be unused if !USE(IOSURFACE).

11:17 PM Changeset in webkit [180209] by ap@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION(?): inspector/css/selector-dynamic-specificity.html sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=141118

This happens on WK1 too.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:42 PM Changeset in webkit [180208] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/selectors/nth-last-child-of-register-requirement.html is extremely slow in debug builds
https://bugs.webkit.org/show_bug.cgi?id=141695

8:54 PM Changeset in webkit [180207] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Keep all memory cache resources in ListHashSets
https://bugs.webkit.org/show_bug.cgi?id=141667

Reviewed by Andreas Kling.

Keep all memory cache resources in ListHashSets instead of manual linked
lists. This simplifies the code a lot and is also more efficient for
retrieving / removing particular CachedResources.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):

  • loader/cache/CachedResource.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::removeFromLRUList):
(WebCore::MemoryCache::insertInLRUList):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::lruListFor): Deleted.

  • loader/cache/MemoryCache.h:
8:26 PM Changeset in webkit [180206] by benjamin@webkit.org
  • 5 edits
    10 adds in trunk

CSS JIT: finish :nth-last-child()
https://bugs.webkit.org/show_bug.cgi?id=141629

Reviewed by Andreas Kling.

Source/WebCore:

This patch adds the matcher for :nth-child(An+B of selector list) and
fix a small bug I discovered while working on it.

The matcher is straightforward: count the next siblings matching the selector,
nothing fancy.

While working on it I noticed I forgot the test for IsParsingChildrenFinished
on the simple version of :nth-last-child(). I add it in both matcher, write
a couple of tests, the first part of the tests now succeed, but the second part
fails...

What happened is:
1) We interupt the parsing to execute the JavaScript.

From there, we force the style resolution to get the computed style.

2) When resolving the style, the early check for isFinishedParsingChildren()

quits the function early. This is done *before* we marked the parent
for :nth-last-child() style resolution.

3) After the script, parsing resume and the following elements are added.
4) When resolving the style, only the new elements are marked dirty,

the elements pending their :nth-last-child() style never get udpated.

To fix the problem, I moved the test for FinishedParsingChildren after
the parent marking.

Honestly, those early return for FinishedParsingChildren need to be refined
and they should be tested properly. We should not do this kind of things
for Query for example.

Tests: fast/selectors/nth-last-child-cannot-match-during-parsing-1.html

fast/selectors/nth-last-child-cannot-match-during-parsing-2.html
fast/selectors/nth-last-child-of-cannot-match-during-parsing-1.html
fast/selectors/nth-last-child-of-cannot-match-during-parsing-2.html
fast/selectors/nth-last-child-of-register-requirement.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
Fix the tree marking.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
The fragment creation was already done, all I had to do was
accept the compile.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
:nth-child() and :nth-last-child() with a selector list are heavier than :not()
and :matches(), move them accordingly.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChild):
More the early return after the tree marking.

(WebCore::SelectorCompiler::setParentAffectedByLastChildOf):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChildOf):
New matcher, nothing optimized yet.

LayoutTests:

  • fast/selectors/nth-last-child-cannot-match-during-parsing-1-expected.txt: Added.
  • fast/selectors/nth-last-child-cannot-match-during-parsing-1.html: Added.
  • fast/selectors/nth-last-child-cannot-match-during-parsing-2-expected.txt: Added.
  • fast/selectors/nth-last-child-cannot-match-during-parsing-2.html: Added.
  • fast/selectors/nth-last-child-of-cannot-match-during-parsing-1-expected.txt: Added.
  • fast/selectors/nth-last-child-of-cannot-match-during-parsing-1.html: Added.
  • fast/selectors/nth-last-child-of-cannot-match-during-parsing-2-expected.txt: Added.
  • fast/selectors/nth-last-child-of-cannot-match-during-parsing-2.html: Added.

Those test cover the bugs related to IsParsingChildrenFinished and style update.

I had to duplicate the tests to have a simple selector because :nth-last-child(n)
and :nth-last-child(2n) are optimized differently.

  • fast/selectors/nth-last-child-of-register-requirement-expected.txt: Added.
  • fast/selectors/nth-last-child-of-register-requirement.html: Added.

The ususal register pressure tests. This one is taken directly from
the :nth-child() tests, I just changed the expected values.

  • fast/selectors/several-nth-last-child.html:

Due to the changes with IsParsingChildrenFinished, this test can no longer
use body:nth-last-child() during parsing. I changed it to an async test.

8:20 PM Changeset in webkit [180205] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Tweak the styles on the Console
https://bugs.webkit.org/show_bug.cgi?id=140580

  • Use non-monospace (default sans-serif) font for console messages, but keep using monospace font for objects, functions, and anything else that presumably code.
  • Display all expandable objects on a separate row.

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-02-16
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleCommand.js:

(WebInspector.ConsoleCommand.prototype.decorateMessageElement):
(WebInspector.ConsoleCommand.prototype.toMessageElement):

  • UserInterface/Views/ConsoleGroup.js:

(WebInspector.ConsoleGroup.prototype.addMessage):

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._isExpandable):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype.append):
(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
(WebInspector.ConsoleMessageImpl.prototype.decorateMessageElement):
(WebInspector.ConsoleMessageImpl.prototype.toMessageElement):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString): Deleted.

  • UserInterface/Views/LogContentView.css:

(.console-messages):
(.console-formatted-object):
(.expandable.source-code):
(.console-message):
(.console-item.selected::after):
(.console-messages:focus .console-item.selected::after):
(.console-user-command-result.console-log-level::before):
(.console-item::before):
(.console-message .bubble):
(.console-error-level):
(.console-error-level .section .header .title):
(.console-error-level::before):
(.console-warning-level):
(.console-warning-level .console-message-text):
(.console-warning-level::before):
(.console-user-command::before):
(.console-group-messages .section):
(.console-group-messages .section .header::before):
(.console-group-messages .section .header .title):
(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap):
(.outline-disclosure li):
(.outline-disclosure li.parent::before):
(.console-item): Deleted.
(.console-item.selected): Deleted.
(.console-messages:focus .console-item.selected): Deleted.
(.console-item.selected .console-message::after): Deleted.
(.console-messages:focus .console-item.selected .data-grid tr.selected): Deleted.
(.console-messages:focus .console-item.selected .console-message::after): Deleted.
(.console-message, .console-user-command): Deleted.
(.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before): Deleted.
(.console-group): Deleted.
(.console-debug-level .console-message-text): Deleted.
(.console-debug-level::before): Deleted.
(.console-group-messages .section .header): Deleted.
(.console-group-messages .outline-disclosure): Deleted.
(.console-group-messages .outline-disclosure > ol): Deleted.
(.outline-disclosure li.elements-drag-over .selection): Deleted.
(.outline-disclosure ol:focus li.selected .selection): Deleted.
(.outline-disclosure > ol): Deleted.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._mousemove):
(WebInspector.LogContentView.prototype._updateMessagesSelection):
(WebInspector.LogContentView.prototype._isMessageVisible):
(WebInspector.LogContentView.prototype._isMessageSelected):
(WebInspector.LogContentView.prototype._selectAllMessages):
(WebInspector.LogContentView.prototype._unfilteredMessages):
(WebInspector.LogContentView.prototype._visibleMessages):
(WebInspector.LogContentView.prototype._filterMessages):
(WebInspector.LogContentView.prototype._leftArrowWasPressed):
(WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent):
(WebInspector.LogContentView.prototype._performSearch):

  • UserInterface/Views/Section.css:

(.section .header .title::before):
(.section.expanded .header .title::before):
(.section .header .title, .event-bar .header .title):
(.properties-tree li.parent::before):
(.section .header::before): Deleted.
(.section.expanded .header::before): Deleted.

6:30 PM Changeset in webkit [180204] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebKit2

Sometimes RemoteLayerBackingStore ends up non-volatile while the process is suspended
<rdar://problem/19842957>
https://bugs.webkit.org/show_bug.cgi?id=141675

Reviewed by Simon Fraser.

Previously, it was possible to get a layer tree flush in between the
process suspension cleanup code making surfaces volatile and the process
actually being suspended (it was racy because the suspension requires
a few IPC round trips). Depending on how far through the flush we got,
we could sometimes end up either making new non-volatile backing store,
or switching some recently-made-volatile backing store back to non-volatile.
We don't want to have any non-volatile backing store while suspended.

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::updateAssertion):
Inform the WebProcess when it's going from suspended to runnable state.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::sendProcessDidResume):

  • UIProcess/WebProcessProxy.h:

Forward the message along.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::processWillSuspend):
(WebKit::WebProcess::cancelProcessWillSuspend):
(WebKit::WebProcess::setAllLayerTreeStatesFrozen):
(WebKit::WebProcess::processDidResume):
Freeze all of this process' pages' layer trees when we start trying to suspend,
and un-freeze them when either suspension is cancelled or we resume.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
6:28 PM Changeset in webkit [180203] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Adopt CAMachPort-as-layer-contents
https://bugs.webkit.org/show_bug.cgi?id=141687
<rdar://problem/19393233>

Reviewed by Simon Fraser.

No new tests, just a performance bump.

  • platform/cocoa/MachSendRight.h:

(WebCore::MachSendRight::operator bool):
Add an operator bool() that checks if the underlying port is nonnull.

  • platform/spi/cocoa/QuartzCoreSPI.h:

Add some SPI.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::decode):
If we have CAMachPort, just keep the MachSendRight around.

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
If we have CAMachPort, make one and leak our send right into it. CAMachPort
will adopt the port and destroy it when needed.

(WebKit::RemoteLayerBackingStore::setBufferVolatility):
Tiny style fix.

6:21 PM Changeset in webkit [180202] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update cross-frame http tests after r177774
https://bugs.webkit.org/show_bug.cgi?id=141679

Reviewed by Alexey Proskuryakov.

Simply a spacing change

  • http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
  • http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW-expected.txt:
  • platform/mac/TestExpectations:
6:17 PM Changeset in webkit [180201] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update accessibility/table-cells.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141680

Reviewed by Chris Fleizach.

Simply needs a rebaseline.

  • platform/mac/TestExpectations:
  • platform/mac/accessibility/table-cells-expected.txt:
6:10 PM Changeset in webkit [180200] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

[OS X] Reordering TestExpectations

Unreviewed.

  • platform/mac/TestExpectations:
6:04 PM Changeset in webkit [180199] by bshafiei@apple.com
  • 7 edits
    3 copies in tags/Safari-600.5.6.1

Merged r180191. rdar://problem/19855007

5:54 PM March 2015 Meeting created by Simon Fraser
5:52 PM WikiStart edited by Simon Fraser
(diff)
5:49 PM Changeset in webkit [180198] by Lucas Forschler
  • 7 edits
    3 copies in branches/safari-600.5-branch

Merged r180191. rdar://problem/19820463

5:33 PM Changeset in webkit [180197] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

fast/text/glyph-reordering.html no longer fails
https://bugs.webkit.org/show_bug.cgi?id=141678

Reviewed by Sam Weinig.

  • platform/mac/TestExpectations:
5:33 PM Changeset in webkit [180196] by achristensen@apple.com
  • 4 edits
    2 copies
    1 add in branches/safari-600.5-branch/LayoutTests

Progress towards making all bots green.

  • platform/mac-mavericks/css2.1: Added.
  • platform/mac-mavericks/css2.1/t1202-counter-04-b-expected.txt: Copied from platform/mac/css2.1/t1202-counter-04-b-expected.txt.
  • platform/mac-mavericks/css2.1/t1202-counters-04-b-expected.txt: Copied from platform/mac/css2.1/t1202-counters-04-b-expected.txt.
  • platform/mac/TestExpectations:

Skip css3/filters/huge-blur-value.html until bug 141653 is resolved.

  • platform/mac/css2.1/t1202-counter-04-b-expected.txt:
  • platform/mac/css2.1/t1202-counters-04-b-expected.txt:

Rebaselined for Yosemite.

5:28 PM Changeset in webkit [180195] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update fast/text/decomposed-after-stacked-diacritics.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141677

Reviewed by Dan Bernstein.

Apply kerning to both spans in the same way.

  • fast/text/decomposed-after-stacked-diacritics-expected.txt:
  • fast/text/decomposed-after-stacked-diacritics.html:
  • platform/mac/TestExpectations:
5:16 PM Changeset in webkit [180194] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update fast/regions/cssom/get-regions-by-content-horiz-*.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141674

Reviewed by Zalan Bujtas.

Text metrics changed, so the text ended up no longer spanning a region boundary.

  • fast/regions/cssom/get-regions-by-content-horiz-bt.html:
  • fast/regions/cssom/get-regions-by-content-horiz-tb.html:
  • platform/mac/TestExpectations:
5:09 PM Changeset in webkit [180193] by weinig@apple.com
  • 18 edits
    13 adds in trunk

Add experimental <attachment> element support
https://bugs.webkit.org/show_bug.cgi?id=141626

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Adds scaffolding for an experimental implementation of an <attachment> element
which can represent a file attachment (e.g. NSTextAttachment in NSAttributedString
parlance).

The implementation is guarded by both an #ifdef (ENABLE(ATTACHMENT_ELEMENT)) and
a setting (Settings::attachmentElementEnabled()).

Tests: fast/attachment/attachment-disabled-dom.html

fast/attachment/attachment-disabled-rendering.html
fast/attachment/attachment-dom.html
fast/attachment/attachment-rendering.html

  • Configurations/FeatureDefines.xcconfig:

Add new ENABLE_ATTACHMENT_ELEMENT macro.

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

Add new files.

  • dom/make_names.pl:

Add support for checking a setting to determine if a particular tag should be exposed.

  • html/HTMLAttachmentElement.cpp: Added.
  • html/HTMLAttachmentElement.h: Added.

Stub out the basics of the new element.

  • html/HTMLElementsAllInOne.cpp:

Add HTMLAttachmentElement.cpp.

  • html/HTMLTagNames.in:

Add 'attachment'.

  • page/Settings.in:

Add attachmentElementEnabled setting.

  • rendering/RenderAttachment.cpp: Added.
  • rendering/RenderAttachment.h: Added.

Stub out the basics of the new render. We will probably want to replace this with
a non-replaced render, but this will do as a placeholder for now.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isAttachment):
Add predicate for type casting.

  • rendering/RenderingAllInOne.cpp:

Add RenderAttachment.cpp.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

  • fast/attachment: Added.
  • fast/attachment/attachment-disabled-dom-expected.txt: Added.
  • fast/attachment/attachment-disabled-dom.html: Added.
  • fast/attachment/attachment-disabled-rendering-expected.txt: Added.
  • fast/attachment/attachment-disabled-rendering.html: Added.
  • fast/attachment/attachment-dom-expected.txt: Added.
  • fast/attachment/attachment-dom.html: Added.
  • fast/attachment/attachment-rendering-expected.txt: Added.
  • fast/attachment/attachment-rendering.html: Added.
5:06 PM Changeset in webkit [180192] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

GC (almost) immediately when navigating under memory pressure.
<https://webkit.org/b/141663>

Reviewed by Geoffrey Garen.

Since the PageCache is already disabled in memory pressure situations,
we know that detaching the old window shell on navigation is basically
guaranteed to generate a bunch of garbage, we can soften the memory
peak a bit by doing a GC right away instead of scheduling one for soon(tm).

  • bindings/js/GCController.cpp:

(WebCore::GCController::GCController):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectOnNextRunLoop):
(WebCore::GCController::gcTimerFired):

  • bindings/js/GCController.h:

Add a GCController::garbageCollectOnNextRunLoop() complement to the
"soon" and "now" options. There was already a zero timer in here for
non-CF builds, so I just used that same timer to implement this
and have the non-CF code path call garbageCollectOnNextRunLoop().

  • bindings/js/ScriptController.cpp:

(WebCore::collectGarbageAfterWindowShellDestruction):
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::clearWindowShell):

Under system memory pressure conditions, schedule a full GC on next
runloop iteration instead of just asking for it to happen soon.
We do it on next runloop to ensure that there's no pointer to the
window object on the stack.

5:05 PM Changeset in webkit [180191] by enrica@apple.com
  • 7 edits
    3 adds in trunk

Emoji sequences do not render properly.
https://bugs.webkit.org/show_bug.cgi?id=141661
rdar://problem/19820463

Reviewed by Sam Weinig.

Source/WebCore:

Emoji sequences and emoji with variations should be rendered
using the Complex code path and should be treated as graphemes.
This change modifies advanceByCombiningCharacterSequence to add
this logic.

Test: fast/text/emoji.html

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::characterRangeCodePath):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::advanceByCombiningCharacterSequence): Implements a simple
logic to treat emoji sequences and emoji with variations as graphemes.

  • platform/text/CharacterProperties.h: Added.

(WebCore::isEmojiGroupCandidate):
(WebCore::isEmojiModifier):
(WebCore::isVariationSelector):

  • rendering/RenderText.cpp:

(WebCore::isEmojiGroupCandidate): Deleted.
(WebCore::isEmojiModifier): Deleted.

LayoutTests:

  • TestExpectations:
  • fast/text/emoji-expected.txt: Added.
  • fast/text/emoji.html: Added.
5:02 PM Changeset in webkit [180190] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

RenderTableRow should check if it has access to its ancestor chain.
https://bugs.webkit.org/show_bug.cgi?id=141668

Reviewed by Andreas Kling.

Preventive fix.

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::styleDidChange):
(WebCore::RenderTableRow::addChild):

  • rendering/RenderTableRow.h:
4:33 PM Changeset in webkit [180189] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.18.1/Source

Versioning.

4:31 PM Changeset in webkit [180188] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.18.1

New tag.

4:26 PM Changeset in webkit [180187] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Build fix: declare undeclared identifier 'credential'.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCredential):

4:17 PM Changeset in webkit [180186] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r177625. rdar://problem/19851970

4:16 PM Changeset in webkit [180185] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

4:08 PM Changeset in webkit [180184] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(r180060): C Loop crashes
https://bugs.webkit.org/show_bug.cgi?id=141671

Reviewed by Geoffrey Garen.

Fixed a typo that only affected the C Loop in the prologue() macro in LowLevelInterpreter.asm.
After the stackHeightOKGetCodeBlock label, codeBlockSetter(t1) should be codeBlockGetter(t1).
Fixed the processing of an out of stack exception in llint_stack_check to not get the caller's
frame. This isn't needed, since this helper is only called to check the stack on entry. Any
exception will be handled by a call ancestor.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_stack_check): Changed to use the current frame for processing an exception.

  • llint/LowLevelInterpreter.asm: Fixed a typo.
4:02 PM Changeset in webkit [180183] by jer.noble@apple.com
  • 4 edits
    1 add in trunk/Source/WebCore

[iOS] Unable to play .mp4 file over http with basic http authentication
https://bugs.webkit.org/show_bug.cgi?id=141503
rdar://problem/15799844

Reviewed by Alexey Proskuryakov.

On iOS, CFNetwork is used for authentication, so the NSURLAuthenticationChallenge
provided by AVAssetResourceLoader needs to be shoehorned into a AuthenticationChallenge
object by way of CFURLAuthChallengeRef.

Create a new class, WebCoreNSURLAuthenticationChallengeClient, whose sole purpose
is to take AuthenticationChallengeClient callbacks and pass them along to a
NSURLAuthenticationChallenge sender.

Create a NSURLAuthenticationChallenge out of the CF version through an SPI, and add
that SPI to a new header. Drive-by fix: take two of our existing SPI calls and move
them into that same header.

  • WebCore.xcodeproj/project.pbxproj: Add CFNSURLConnectionSPI.h to project.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::WebCoreNSURLAuthenticationChallengeClient::create): Factory.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::WebCoreNSURLAuthenticationChallengeClient): Simple constructor.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCredential): Pass to m_challenge.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedRequestToContinueWithoutCredential): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCancellation): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedRequestToPerformDefaultHandling): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedChallengeRejection): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):

Create an AuthenticationChallenge out of the nsChallenge and client and pass it up
to the HTMLMediaElement.

  • platform/network/mac/AuthenticationMac.mm:
  • platform/spi/cocoa/CFNSURLConnectionSPI.h: Added.
3:46 PM Changeset in webkit [180182] by bshafiei@apple.com
  • 2 edits in tags/Safari-600.1.4.15.6/Source/WebKit2

Merged r177625. rdar://problem/19851970

3:38 PM Changeset in webkit [180181] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.1.4.15.6/Source

Versioning.

3:24 PM Changeset in webkit [180180] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r176459): Process suspension cleanup timer sometimes never stops
https://bugs.webkit.org/show_bug.cgi?id=141669

Reviewed by Simon Fraser.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::markAllLayersVolatileIfPossible):
r176459 accidentally removed the code to stop the cleanup timer
in the case where we successfully finish marking layers volatile,
causing the timer to continue running once the process comes back
from a suspended state.

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

Revert a change in SVGRenderSupport::mapLocalToContainer committed for fixing <https://bugs.webkit.org/show_bug.cgi?id=119626>.
https://bugs.webkit.org/show_bug.cgi?id=138439

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-16
Reviewed by Darin Adler.

The change http://trac.webkit.org/changeset/164861 was ported from Blink
but it was was revert later because it broke Chrome SVG rendering. It also
broke the WebKit SVG text search highlighting.

Tests: svg/transforms/svg-geometry-crash.html: This test was added by the
blamed change. A new but correct solution is required to fix the assertion.

  • rendering/svg/SVGRenderSupport.h:
  • rendering/svg/SVGRenderSupport.cpp:

Notice that TransformState.applyTransform() does matrix-left-multiplication,
i.e. state = transform * state. But operator*() of AffineTransform and
MatrixTransform does right multiply, i.e. this = this * transform.

(WebCore::SVGRenderSupport::localToParentTransform): Have the calculation
of the SVG localToParentTransform in one shared function.

(WebCore::SVGRenderSupport::mapLocalToContainer): Revert the Blink change.
If the parent is the SVG root, the transform state should be equal to
transform = svg_to_css_mapping * local_to_parent_mapping * transform.

(WebCore::SVGRenderSupport::pushMappingToContainer): Get the localToParent
transform to be pushed in the geometryMap. If the parent is the SVG root,
localToParent = svg_to_css_mapping * local_to_parent_mapping. The original
code was doing the opposite and this is the cause of the assertion which
was fixed wrongly by reversing the correct multiplication order in
SVGRenderSupport::mapLocalToContainer().

3:11 PM Changeset in webkit [180178] by mmaxfield@apple.com
  • 6 edits in trunk/LayoutTests

Update fast/dom/{Element,Range}/getClientRects.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141665

Reviewed by Alexey Proskuryakov.

Line breaking is different due to different text metrics.

  • fast/dom/Element/getClientRects-expected.txt:
  • fast/dom/Element/getClientRects.html:
  • fast/dom/Range/getClientRects-expected.txt:
  • fast/dom/Range/getClientRects.html:
  • platform/mac/TestExpectations:
3:06 PM Changeset in webkit [180177] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.6

New tag.

3:01 PM Changeset in webkit [180176] by mmaxfield@apple.com
  • 1 edit
    5456 copies
    133 adds
    1 delete in trunk/LayoutTests

Delete LayoutTests/platform/mac-mountainlion directory

Rubber-stamped by Brent Fulgham.

The Win port falls back to mac-mountainlion, so this patch moves all files in
platform/mac-mountainlion that aren't already in platform/win into platform/win. It then deletes
the remaining files in platform/mac-mountainlion.

  • platform/mac-mountainlion: Deleted.
  • platform/win/{many files}: Moved from platform/mac-mountainlion
2:40 PM Changeset in webkit [180175] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Check for the assume_nonnull feature instead of noescape
https://bugs.webkit.org/show_bug.cgi?id=141666

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WKFoundation.h:
2:38 PM Changeset in webkit [180174] by Alan Bujtas
  • 4 edits
    2 adds in trunk

RenderTableCell can't access its parent while in detached state.
https://bugs.webkit.org/show_bug.cgi?id=141639
rdar://problem/19850760

Reviewed by Simon Fraser.

Null check against ancestor chain so that certain methods in RenderTableCell can
be called even if the renderer is not yet attached.

Source/WebCore:

Test: fast/table/table-cell-crash-when-detached-state.html

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):

  • rendering/RenderTableCell.h:

LayoutTests:

  • fast/table/table-cell-crash-when-detached-state-expected.txt: Added.
  • fast/table/table-cell-crash-when-detached-state.html: Added.
2:10 PM Changeset in webkit [180173] by commit-queue@webkit.org
  • 8 edits in trunk

Web Inspector: Scope details sidebar should label objects with constructor names
https://bugs.webkit.org/show_bug.cgi?id=139449

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-16
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::internalConstructorName):

  • runtime/Structure.cpp:

(JSC::Structure::toStructureShape):
Share calculatedClassName.

  • runtime/JSObject.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::calculatedClassName):
Elaborate on a way to get an Object's class name.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Improve the test to include Objects where previously
we would have had poorer class name descriptions.

1:58 PM Changeset in webkit [180172] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update expected result for editing/pasteboard/5761530-1.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141603

Reviewed by Alexey Proskuryakov.

The test used to have incorrect expected output, but the new results are correct.

  • LayoutTests/editing/pasteboard/5761530-1-expected.txt:
  • platform/mac/TestExpectations:
1:51 PM Changeset in webkit [180171] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update fast/css/css3-ch-unit.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141657

Reviewed by Zalan Bujtas.

The alphabet is not expected to have the same width as 26 times the average character width.

  • fast/css/css3-ch-unit-expected.txt:
  • fast/css/css3-ch-unit.html:
  • platform/mac/TestExpectations:
1:44 PM Changeset in webkit [180170] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fullscreen/full-screen-plugin.html is very flaky on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=141364

  • platform/mac-wk2/TestExpectations: Marking as such.
1:26 PM Changeset in webkit [180169] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.5.6.1/Source

Versioning.

1:26 PM Changeset in webkit [180168] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector/css/stylesheet-with-mutations.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=141601

  • platform/mac-wk2/TestExpectations: Marking as such.
1:24 PM Changeset in webkit [180167] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.6.1

New tag.

12:41 PM Changeset in webkit [180166] by mmaxfield@apple.com
  • 9 edits in trunk/LayoutTests

Update fast/css/content/content-quotes-*.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141654

Reviewed by Zalan Bujtas.

Because of printer fonts and LayoutUnits, putting text inside an anonymous renderer
has different metrics than the raw text itself.

  • fast/css/content/content-quotes-01.html:
  • fast/css/content/content-quotes-02.html:
  • fast/css/content/content-quotes-03.html:
  • fast/css/content/content-quotes-04.html:
  • fast/css/content/content-quotes-05.html:
  • fast/css/content/content-quotes-06.html:
  • fast/css/content/content-quotes-07.html:
  • platform/mac/TestExpectations:
12:13 PM Changeset in webkit [180165] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expectations for css2.1/t1202-counter-04-b.html and css2.1/t1202-counters-04-b.html
rdar://problem/19848737

  • platform/mac/TestExpectations:
11:56 AM Changeset in webkit [180164] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

Fix the MiniBrowser build with newer clang

  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _toggleBooleanDefault:]):

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController windowWillClose:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController windowWillClose:]):
NSApp is id and clang gets confused about which -delegate we're talking about.

11:43 AM Changeset in webkit [180163] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update expected result for compositing/fixed-positioned-pseudo-content-no-compositing.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141602

Reviewed by Simon Fraser.

Not sure if the change to contentsOpaque is right, so CC'ing smfr to see what he thinks.

  • compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt:
  • platform/mac/TestExpectations:
11:38 AM Changeset in webkit [180162] by andersca@apple.com
  • 16 edits in trunk/Source/WebKit2

Add nullability qualifiers to all API headers
https://bugs.webkit.org/show_bug.cgi?id=141652
rdar://problem/19793630

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WKFoundation.h:

Add a WK_NULLABLE_SPECIFIER macro.

  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKScriptMessageHandler.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKUserScript.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWindowFeatures.h:
  • mac/postprocess-framework-headers.sh:

Handle the WK_NULLABLE_SPECIFIER macro. Change the WK_NULLABLE sed command to replace
all occurrences of WK_NULLABLE instead of just the first one.

11:32 AM Changeset in webkit [180161] by dbates@webkit.org
  • 4 edits in trunk/LayoutTests

[iOS] Gardening; update test expectations

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
11:27 AM Changeset in webkit [180160] by fpizlo@apple.com
  • 21 edits
    1 add in trunk/Source/JavaScriptCore

DFG SSA should use GetLocal for arguments, and the GetArgument node type should be removed
https://bugs.webkit.org/show_bug.cgi?id=141623

Reviewed by Oliver Hunt.

During development of https://bugs.webkit.org/show_bug.cgi?id=141332, I realized that I
needed to use GetArgument for loading something that has magically already appeared on the
stack, so currently trunk sort of allows this. But then I realized three things:

  • A GetArgument with a non-JSValue flush format means speculating that the value on the stack obeys that format, rather than just assuming that that it already has that format. In bug 141332, I want it to assume rather than speculate. That also happens to be more intuitive; I don't think I was wrong to expect that.


  • The node I really want is GetLocal. I'm just getting the value of the local and I don't want to do anything else.


  • Maybe it would be easier if we just used GetLocal for all of the cases where we currently use GetArgument.


This changes the FTL to do argument speculations in the prologue just like the DFG does.
This brings some consistency to our system, and allows us to get rid of the GetArgument
node. The speculations that the FTL must do are now made explicit in the m_argumentFormats
vector in DFG::Graph. This has natural DCE behavior: even if all uses of the argument are
dead we will still speculate. We already have safeguards to ensure we only speculate if
there are uses that benefit from speculation (which is a much more conservative criterion
than DCE).

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::typeFilterFor):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::hasVariableAccessData):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGPutLocalSinkingPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetLocal):
(JSC::FTL::LowerDFGToLLVM::compileGetArgument): Deleted.

  • tests/stress/dead-speculating-argument-use.js: Added.

(foo):
(o.valueOf):

11:05 AM Changeset in webkit [180159] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update editing/selection/move-by-word-visually-mac.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141609

Reviewed by Alexey Proskuryakov.

Line break occurs in a different place, so option-left and option-right
have slightly different behavior.

  • editing/selection/move-by-word-visually-mac.html:
  • editing/selection/move-by-word-visually-mac-expected.txt:
  • platform/mac/TestExpectations:
10:56 AM Changeset in webkit [180158] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

Update SPI availability annotations
https://bugs.webkit.org/show_bug.cgi?id=141588

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/WKFoundation.h: Added a definition of NSi_8_3 for when building with

an older SDK.

  • UIProcess/API/Cocoa/WKErrorPrivate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
10:46 AM Changeset in webkit [180157] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

10:37 AM Changeset in webkit [180156] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Remove unused InjectedBundle::setCacheModel.

Rubber-stamped by Anders Carlsson.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setCacheModel): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.h:
10:04 AM Changeset in webkit [180155] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):

10:02 AM Changeset in webkit [180154] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

SoftLinking.h: Update copyright and license; clean up whitespace

  • platform/mac/SoftLinking.h:
9:55 AM Changeset in webkit [180153] by andersca@apple.com
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Fix typo.

9:50 AM Changeset in webkit [180152] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix for versions of Xcode that support nullability but don't have the AppKit #defines.

  • Shared/API/Cocoa/WKFoundation.h:
9:47 AM Changeset in webkit [180151] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.4.10-branch

New branch.

9:47 AM Changeset in webkit [180150] by hyatt@apple.com
  • 12 edits
    8 adds in trunk

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.
9:17 AM Changeset in webkit [180149] by Antti Koivisto
  • 16 edits
    2 adds in trunk

Develop/Disable Caches does not properly disable disk cache
https://bugs.webkit.org/show_bug.cgi?id=141636

Reviewed by Anders Carlsson.

Source/WebKit2:

The menu item sets the cache model to "document viewer" to disable the caches (cache size 0).
However the cache model was never passed to the network process after the initialization.

  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):

Don't try to store or retrieve when the maximum cache size is set to zero.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::setCacheModel):

Message the network process too.

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetCacheModel): Deleted.

Remove the now unused SPI.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:

Tools:

Make testRunner.setCacheModel() use the WKContext interface so the model gets passed to
the network process too.

This makes setCacheModel asynchronous but there don't seem to be any tests that expect otherwise.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):
(WTR::InjectedBundle::setCacheModel):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

Forward to TestController.

(WTR::TestRunner::setCacheModel):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

  • http/tests/cache/disk-cache-disable-expected.txt: Added.
  • http/tests/cache/disk-cache-disable.html: Added.
  • http/tests/cache/resources/cache-test.js:

(runTests): Add optional completion handler.

9:16 AM Changeset in webkit [180148] by Antti Koivisto
  • 4 edits
    3 adds in trunk

Assertion in disk cache code with redirect to a non-http resource
https://bugs.webkit.org/show_bug.cgi?id=141644

Reviewed by Anders Carlsson.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishLoading):

Check that response is HTTP before calling computeFreshnessLifetimeForHTTPFamily.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::canStore):

Deny storing non-HTTP responses to cache (though the above already covers this).

LayoutTests:

  • http/tests/cache/disk-cache-redirect-to-data-expected.txt: Added.
  • http/tests/cache/disk-cache-redirect-to-data.html: Added.
  • http/tests/cache/resources/redirect-to-data.php: Added.
9:07 AM Changeset in webkit [180147] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

FEGaussianBlur::calculateUnscaledKernelSize does unspeakable things with signed and unsigned values
https://bugs.webkit.org/show_bug.cgi?id=141596
<rdar://problem/19837103>

Reviewed by Zalan Bujtas.

No new tests. Covered by css3/filters/huge-blur-value.html

Avoid overflowing the signed integer values by not converting from unsigned
until the maximum size has been clamped to the expected max.

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::calculateUnscaledKernelSize):

8:36 AM Changeset in webkit [180146] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add support for nullability to the header postprocessing
https://bugs.webkit.org/show_bug.cgi?id=141573

Reviewed by Darin Adler.

  • Shared/API/Cocoa/WKFoundation.h:
  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • mac/postprocess-framework-headers.sh:
8:10 AM Changeset in webkit [180145] by g.czajkowski@samsung.com
  • 2 edits
    1 move in trunk/Source/WebKit2

[EFL] Rename WebContextEfl to WebProcessPoolEfl
https://bugs.webkit.org/show_bug.cgi?id=141642

Reviewed by Csaba Osztrogonác.

Although we've renamed almost everything in r177716, this is still
required after r177692.

  • UIProcess/efl/WebProcessPoolEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp.
7:15 AM Changeset in webkit [180144] by a.badowski@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:

Change-Id: I5d745aac5c20ab589446a69ef943202a6db4947a

4:43 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
4:36 AM Changeset in webkit [180143] by svillar@igalia.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed. Uploading a new test that should have been uploaded as
part of r180142.

  • fast/css-grid-layout/grid-initialize-span-one-items-expected.txt: Added.
  • fast/css-grid-layout/grid-initialize-span-one-items.html: Added.
4:00 AM Changeset in webkit [180142] by svillar@igalia.com
  • 7 edits in trunk

[CSS Grid Layout] Invalid initialization of track sizes with non spanning grid items
https://bugs.webkit.org/show_bug.cgi?id=140763

Reviewed by Antti Koivisto.

Source/WebCore:

Content sized tracks with non-spanning grid items were not
properly sized because the growth limit was sometimes infinity
(-1) after calling resolveContentBasedTrackSizingFunctions() when
it should not. This patch adds an special initialization phase for
non-spanning grid items as the new track sizing algorithm
describes.

Granted, that was handled in the old algorithm in
distributeSpaceToTracks() as a special case. The problem is that
it regressed after the optimization added in r173868 because that
method is no longer called when the space to distribute is 0.

That's why we could fix this by allowing calls to
distributeSpaceToTracks() with spaceToDistribute>=0 but by fixing
it with an explicit initialization our implementation becomes
closer to the new algorithm and the initialization is now explicit
in the code instead of a side effect of calling
distributeSpaceToTracks() with no space to be distributed. It also
brings a slight performance improvement as we save sorts and hash
lookups.

I also took the change to add caching to several GridTrackSize
methods that were hot on the profiler (each one accounted for ~1%
of the total time, now they account for ~0.3% each).

Test: fast/css-grid-layout/grid-initialize-span-one-items.html

  • rendering/RenderGrid.cpp:

(WebCore::GridItemWithSpan::span): New helper method for ASSERTs.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
Exclude non spanning grid items from the calls to
resolveContentBasedTrackSizingFunctionsForItems().
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems):
New method to resolve track sizes only using non-spanning grid
items.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
Ensure that it isn't called for non-spanning grid items.

  • rendering/RenderGrid.h:
  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::GridTrackSize): Cache return values.
(WebCore::GridTrackSize::setLength): Ditto.
(WebCore::GridTrackSize::setMinMax): Ditto.
(WebCore::GridTrackSize::cacheMinMaxTrackBreadthTypes): New method
that caches the return values for hasXXXTrackBreadth() methods.
(WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth): Use
the cached return value.
(WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMinTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth):
Ditto.
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth):
Ditto.

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
  • fast/css-grid-layout/grid-initialize-span-one-items-expected.txt: Added.
  • fast/css-grid-layout/grid-initialize-span-one-items.html: Added.
2:55 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
2:24 AM Changeset in webkit [180141] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Loading page into WebView shows g_closure_unref warning
https://bugs.webkit.org/show_bug.cgi?id=127474

Patch by Milan Crha <mcrha@redhat.com> on 2015-02-16
Reviewed by Carlos Garcia Campos.

  • bindings/gobject/GObjectEventListener.cpp:

(WebCore::GObjectEventListener::gobjectDestroyed):

1:42 AM Changeset in webkit [180140] by svillar@igalia.com
  • 6 edits in trunk/Source/WebCore

[CSS Grid Layout] Remove the usage of Length(Undefined) in GridLength
https://bugs.webkit.org/show_bug.cgi?id=141562

Reviewed by Chris Dumez.

From Blink r164154 by <timloh@chromium.org>

The patch simplifies some of the logic in creating and applying
GridLength and GridTrackSize values to RenderStyles by using the
constructors for initialisation instead of deferring to setters.

The rationale behind this change is that neither of
createGridTrackSize() nor createGridTrackBreadth() should be able
to fail, so these are changed to return objects directly instead
of taking an out reference (note that in general failing in
applying properties is incorrect and we should catch these in the
parser).

The quirk value across to the Lengths was also removed because it
doesn't apply to Grid.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::createGridTrackBreadth): Return a
GridLength instead of a bool.
(WebCore::StyleBuilderConverter::createGridTrackSize): Return a
GridTrackSize instead of a bool.
(WebCore::StyleBuilderConverter::createGridTrackList): Do not
create temporary GridTrackSizes with undefined Lengths.
(WebCore::StyleBuilderConverter::convertGridTrackSize): Ditto.

  • rendering/style/GridLength.h:

(WebCore::GridLength::GridLength): It now requires a mandatory
Length argument.
(WebCore::GridLength::length): Deleted.
(WebCore::GridLength::setFlex): Deleted.

  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::GridTrackSize): It now requires a
mandatory GridLength argument.
(WebCore::GridTrackSize::length): Removed no longer valid ASSERTs.
(WebCore::GridTrackSize::minTrackBreadth): Ditto.
(WebCore::GridTrackSize::maxTrackBreadth): Ditto.
(WebCore::GridTrackSize::setLength): Deleted.
(WebCore::GridTrackSize::setMinMax): Deleted.

  • rendering/style/RenderStyle.h:
12:25 AM Changeset in webkit [180139] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebCore

Removing text node does not remove its associated markers
https://bugs.webkit.org/show_bug.cgi?id=140999

Reviewed by Ryosuke Niwa.

Removing text node via script does not remove its markers.
For example, running the following script:

<script>

var div = document.getElementById("testElement");
div.focus();
document.execCommand("InsertText", false, "welllcome ");

Give a time async spellchecker to show its markers and
remove the node.
setTimeout(function() { div.removeChild(div.firstChild); }, 100);

</script>

will cause that DocumentMarkerController still stores the markers for
detached node.

The same issue occurs when the text gets cleared, for example,
<script>

input.value = ""; for HTMLTextAreaElement, HTMLInputElement
or
div.innerHTML = ""; for content editable

</script>

No new tests. Internals marker APIs operate on text node attached
to the element. To test it we could expose document().markers().hasMarkers()
but there is no more useful cases where it could be used.
Another obstacle is that we are in isInShadowTree() so that there is
no possible to register on "DOMSubtreeModified" event.
Test cases attached to the bug:

  1. input.value = "" https://bug-140999-attachments.webkit.org/attachment.cgi?id=245704
  2. elem.removeChild(textNode) https://bug-140999-attachments.webkit.org/attachment.cgi?id=246515

Remove markers when text nodes are about to remove.

  • dom/Document.cpp:

(WebCore::Document::nodeChildrenWillBeRemoved):
Fixes input.value = ""
(WebCore::Document::nodeWillBeRemoved):
Fixes elem.removeChild(textNode)

Feb 15, 2015:

10:20 PM Changeset in webkit [180138] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

js/regress/script-tests/elidable-new-object-roflcopter.js should tier up sooner so that it's more likely to test things
https://bugs.webkit.org/show_bug.cgi?id=141633

Reviewed by Michael Saboff.

More function invocations, fewer loop iterations, but otherwise keep the number of
allocations the same.

  • js/regress/script-tests/elidable-new-object-roflcopter.js:
10:19 PM Changeset in webkit [180137] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Rare case profiling should actually work
https://bugs.webkit.org/show_bug.cgi?id=141632

Reviewed by Michael Saboff.

This simple adjustment appears to be a 2% speed-up on Octane. Over time, the slow case
heuristic has essentially stopped working because the typical execution count threshold for a
bytecode instruction is around 66 while the slow case threshold is 100: virtually
guaranteeing that the DFG will never think that a bytecode instruction has taken the slow
case even if it took it every single time. So, this changes the slow case threshold to 20.

I checked if we could lower this down further, like to 10. That is worse than 20, and about
as bad as 100.

  • runtime/Options.h:
8:52 PM Changeset in webkit [180136] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark 5 form tests and an accessibility test to failure.

  • platform/efl/TestExpectations:
8:13 PM Changeset in webkit [180135] by ddkilzer@apple.com
  • 5 edits in trunk

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

Source/WebCore:

This should fix the build, but leaves a FIXME list in
WebCore.unexp.

  • Configurations/WebCore.unexp: Add weak externals with a FIXME

statement so they can be removed later. It's more important to
fix the build first.

  • Configurations/WebCore.xcconfig: Change XCODE_VERSION_MINOR to

XCODE_VERSION_MAJOR since the internal bots use version 5.1.1
which still has the error.

Tools:

  • Scripts/check-for-weak-vtables-and-externals: Ignore weak

externals in Source/WebCore/Configurations/WebCore.unexp when
building with Xcode 5.x.
(readXcode5SymbolsToIgnore): Add.

7:13 PM Changeset in webkit [180134] by hyuki.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] fix Evas GL engine error.
https://bugs.webkit.org/show_bug.cgi?id=141621

Reviewed by Gyuyoung Kim.

As new elm engine api was added from efl 1.10, replace elm_config_preferred_engine_set with elm_config_accel_preference_set.

  • MiniBrowser/efl/main.c:

(elm_main):

6:21 PM Changeset in webkit [180133] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

Web Inspector: remove unused XHR replay code
https://bugs.webkit.org/show_bug.cgi?id=141622

Patch by Brian J. Burg <Brian Burg> on 2015-02-15
Reviewed by Timothy Hatcher.

XHR Replay functionality became unused with the last frontend rewrite.
Remove instrumentation and data storage classes only used by this feature.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHRImpl): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoadingImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHR): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoading): Deleted.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::didFinishXHRLoading):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::willLoadXHR): Deleted.
(WebCore::InspectorResourceAgent::didFailXHRLoading): Deleted.
(WebCore::InspectorResourceAgent::replayXHR): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::clear):
(WebCore::XHRReplayData::create): Deleted.
(WebCore::XHRReplayData::XHRReplayData): Deleted.
(WebCore::NetworkResourcesData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::setXHRReplayData): Deleted.
(WebCore::NetworkResourcesData::reuseXHRReplayData): Deleted.

  • inspector/NetworkResourcesData.h:

(WebCore::XHRReplayData::method): Deleted.
(WebCore::XHRReplayData::url): Deleted.
(WebCore::XHRReplayData::async): Deleted.
(WebCore::XHRReplayData::formData): Deleted.
(WebCore::XHRReplayData::headers): Deleted.
(WebCore::XHRReplayData::includeCredentials): Deleted.
(WebCore::NetworkResourcesData::ResourceData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::ResourceData::setXHRReplayData): Deleted.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadRequest):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Deleted.

  • xml/XMLHttpRequest.h:
6:17 PM Changeset in webkit [180132] by Brian Burg
  • 17 edits in trunk/Source

Web Inspector: remove unused XHR replay code
https://bugs.webkit.org/show_bug.cgi?id=141622

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Network.json: remove XHR replay methods.

Source/WebCore:

XHR Replay functionality became unused with the last frontend rewrite.
Remove instrumentation and data storage classes only used by this feature.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHRImpl): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoadingImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::willLoadXHR): Deleted.
(WebCore::InspectorInstrumentation::didFailXHRLoading): Deleted.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::didFinishXHRLoading):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::willLoadXHR): Deleted.
(WebCore::InspectorResourceAgent::didFailXHRLoading): Deleted.
(WebCore::InspectorResourceAgent::replayXHR): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::clear):
(WebCore::XHRReplayData::create): Deleted.
(WebCore::XHRReplayData::XHRReplayData): Deleted.
(WebCore::NetworkResourcesData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::setXHRReplayData): Deleted.
(WebCore::NetworkResourcesData::reuseXHRReplayData): Deleted.

  • inspector/NetworkResourcesData.h:

(WebCore::XHRReplayData::method): Deleted.
(WebCore::XHRReplayData::url): Deleted.
(WebCore::XHRReplayData::async): Deleted.
(WebCore::XHRReplayData::formData): Deleted.
(WebCore::XHRReplayData::headers): Deleted.
(WebCore::XHRReplayData::includeCredentials): Deleted.
(WebCore::NetworkResourcesData::ResourceData::xhrReplayData): Deleted.
(WebCore::NetworkResourcesData::ResourceData::setXHRReplayData): Deleted.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadRequest):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Deleted.

  • xml/XMLHttpRequest.h:

Source/WebInspectorUI:

  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/Inspector-iOS-8.0.json:
6:16 PM Changeset in webkit [180131] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark fixed position tests to failure.

  • platform/efl/TestExpectations: Rearrange tests order as well.
6:11 PM Changeset in webkit [180130] by ddkilzer@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

More work towards fixing the Mavericks Debug build.

  • inspector/ScriptDebugServer.h:

(Inspector::ScriptDebugServer::Task):

  • inspector/agents/InspectorDebuggerAgent.h:

(Inspector::InspectorDebuggerAgent::Listener):

  • Remove subclass exports. They did not help.
  • runtime/JSCJSValue.h:

(JSC::JSValue::toFloat): Do not mark inline method for export.

6:08 PM Changeset in webkit [180129] by Said Abou-Hallawa
  • 6 edits in trunk

Crash when accessing an item in SVGTransformList and then removing a previous item from this list.
https://bugs.webkit.org/show_bug.cgi?id=141550.

Reviewed by Darin Adler.

Source/WebCore:

Tests: LayoutTests/svg/dom/SVGTransformList-basics.xhtml: This test is modified to
include a new test case.

  • svg/properties/SVGMatrixTearOff.h: m_value of SVGMatrixTearOff will be a null

pointer. There is no point in having SVGMatrixTearOff points to the parent and
the property of the parent at the same time.

(WebCore::SVGMatrixTearOff::create): SVGMatrixTearOff will hold a pointer to
the parent SVGPropertyTearOff<SVGTransform>. But it should overrides setValue()
and propertyReference() so it can set and get the SVGMatrix from the SVGTransform
parent.

(WebCore::SVGMatrixTearOff::SVGMatrixTearOff): Pass a nullptr to the base class.
SVGMatrixTearOff will act as a proxy of the parent. It does not hold any data by
itself but it knows what property to set and get from the parent.

  • svg/properties/SVGPropertyTearOff.h:

(WebCore::SVGPropertyTearOff::create): Add a create method which can take a pointer value.

(WebCore::SVGPropertyTearOff::propertyReference):
(WebCore::SVGPropertyTearOff::setValue): Make these functions virtual so concrete classes
like SVGMatrixTearOff can override them.

(WebCore::SVGPropertyTearOff::SVGPropertyTearOff): Add a new constructor.

LayoutTests:

  • svg/dom/SVGTransformList-basics-expected.txt:
  • svg/dom/SVGTransformList-basics.xhtml: Add a new test case to this test. Have a

reference to an SVGMatrix of the last SVGTransform of an SVGTransformList and then
remove the items of this list from the beginning till the end.

4:13 PM Changeset in webkit [180128] by Said Abou-Hallawa
  • 5 edits in trunk

Crash when accessing an item in SVGLengthList and then replacing it with a previous item in the list.
https://bugs.webkit.org/show_bug.cgi?id=141552.

Reviewed by Darin Adler.

Source/WebCore:

Tests: LayoutTests/svg/dom/SVGLengthList-basics.xhtml: This test is modified to
include a new test case.

  • svg/properties/SVGListPropertyTearOff.h: Commit the removal of the replacing item

before trying to detach the wrapper of the item which going to be replaced.

LayoutTests:

  • svg/dom/SVGLengthList-basics-expected.txt:
  • svg/dom/SVGLengthList-basics.xhtml: Add a new test case to this test. Have a

reference to an SVGLength in an SVGLengthList and then replace this SVGLength
with another one which comes before it in the SVGLengthList.

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

CoreText only needs to be soft-linked on Windows

More work towards the Maverick Debug build fix:

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

  • page/CaptionUserPreferencesMediaAF.cpp:
12:09 AM Changeset in webkit [180126] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

More build fixing.

  • platform/cocoa/TelephoneNumberDetectorCocoa.cpp:
Note: See TracTimeline for information about the timeline view.