Timeline



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:

Feb 14, 2015:

11:52 PM Changeset in webkit [180125] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

More internal build fixing.

DDDFACache.h is not an actual private header, so we were using open source
redeclaration of DDDFACacheRef with an internal function prototype from DDDFAScanner.h.

  • platform/cocoa/TelephoneNumberDetectorCocoa.cpp:

(WebCore::TelephoneNumberDetector::phoneNumbersScanner):

11:16 PM Changeset in webkit [180124] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix after <http://trac.webkit.org/changeset/180122>

  • Platform/mac/StringUtilities.mm:
10:11 PM Changeset in webkit [180123] by benjamin@webkit.org
  • 4 edits
    22 adds in trunk

Add the initial matching implementation for attribute selectors with case-insensitive value
https://bugs.webkit.org/show_bug.cgi?id=141615

Reviewed by Andreas Kling.

Source/WebCore:

Tests: fast/css/case-insensitive-attribute-selector-specificity.html

fast/css/case-insensitive-attribute-selector-styling-html-1.html
fast/css/case-insensitive-attribute-selector-styling-html-2.html
fast/css/case-insensitive-attribute-selector-styling-html-3.html
fast/css/case-insensitive-attribute-selector-styling-xhtml-1.xhtml
fast/css/case-insensitive-attribute-selector-styling-xhtml-2.xhtml
fast/css/case-insensitive-attribute-selector-styling-xhtml-3.xhtml
fast/selectors/case-insensitive-attribute-bascis.html
fast/selectors/case-insensitive-attribute-matching-style-attribute.html
fast/selectors/case-insensitive-attribute-style-update.html
fast/selectors/case-insensitive-attribute-with-case-sensitive-name.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
We already had case-insensitive value matching due to some legacy HTML
behaviors where some attribute values would be matched case-insensitively
depending on the attribute name.

For this patch, I just re-use the same mechanism. I used branches to try
to convey the idea that matching is case sensitive by default unless
the selector has a flag or we are in the weird HTML exception.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::constructFragmentsInternal):
Disable that case in the CSS JIT for now, I'll implement it later.

LayoutTests:

This covers the basics. I will add some more cases as I do the follow up patches.

I avoided the problem of non-ASCII characters, this will need its own follow up
patch that fixes all attribute matching.

  • fast/css/case-insensitive-attribute-selector-specificity-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-specificity.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-1-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-1.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-2-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-2.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-3-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-html-3.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-1-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-1.xhtml: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-2-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-2.xhtml: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-3-expected.html: Added.
  • fast/css/case-insensitive-attribute-selector-styling-xhtml-3.xhtml: Added.
  • fast/selectors/case-insensitive-attribute-bascis-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-bascis.html: Added.
  • fast/selectors/case-insensitive-attribute-matching-style-attribute-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-matching-style-attribute.html: Added.
  • fast/selectors/case-insensitive-attribute-style-update-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-style-update.html: Added.
  • fast/selectors/case-insensitive-attribute-with-case-sensitive-name-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-with-case-sensitive-name.html: Added.
9:31 PM Changeset in webkit [180122] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Declare soft-linked functions with extern "C" linkage

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>

  • platform/mac/SoftLinking.h: Try declaring soft-linked

functions with extern "C" linkage to see if they stop appearing
as weak externals. This has the added benefit that if the
function signature changes, we'll get a build failure.

9:14 PM Changeset in webkit [180121] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Mac] RetainPtr member cleanup, possible leaks
https://bugs.webkit.org/show_bug.cgi?id=141616

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-14
Reviewed by Andreas Kling.

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper speakUtterance:]):
Adopt the allocated object to avoid a possible leak.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
Adopt to avoid unnecessary retain/autorelease.

9:08 PM Changeset in webkit [180120] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Build URL on new perf dashboard doesn't resolve $builderName
https://bugs.webkit.org/show_bug.cgi?id=141583

Reviewed by Darin Adler.

Support $builderName in the build URL template.

  • public/js/helper-classes.js:

(TestBuild.buildUrl): Replaced $builderName with the builder name.

  • public/v2/manifest.js:

(App.Metric.fullName): Fixed the typo. We need &ni, not &in.
(App.BuilderurlFromBuildNumber): Replaced $builderName with the builder name.

8:54 PM Changeset in webkit [180119] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[Mac] Possible DDActionContext leaks, RetainPtr cleanup
https://bugs.webkit.org/show_bug.cgi?id=141613

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-14
Reviewed by Tim Horton.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::WebEditorClient):
Avoid unnecessary retain/autorelease by adopting.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Adopt the allocated object.

Source/WebKit2:

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
Adopt the allocated object.

8:44 PM Changeset in webkit [180118] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

IncompleteMetaDataCue leak seen on leaks bot
https://bugs.webkit.org/show_bug.cgi?id=141611

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-14
Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:

(WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue): Deleted.
(WebCore::IncompleteMetaDataCue::~IncompleteMetaDataCue): Deleted.
(WebCore::IncompleteMetaDataCue::cueData): Deleted.
(WebCore::IncompleteMetaDataCue::startTime): Deleted.
Convert to a struct and hold a list of structs instead of pointers.

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:

(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):
Update use of IncompleteMetaDataCue and modernize related code.

6:42 PM Changeset in webkit [180117] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove specificity approximation
https://bugs.webkit.org/show_bug.cgi?id=141600

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):

3:25 PM Changeset in webkit [180116] by Brian Burg
  • 100 edits in trunk/Source

Web Inspector: remove some unnecessary Inspector prefixes from class names in Inspector namespace
https://bugs.webkit.org/show_bug.cgi?id=141372

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):
(Inspector::ConsoleMessage::updateRepeatCountInConsole):

  • inspector/ConsoleMessage.h:
  • inspector/InspectorAgentBase.h:
  • inspector/InspectorAgentRegistry.cpp:

(Inspector::AgentRegistry::AgentRegistry):
(Inspector::AgentRegistry::append):
(Inspector::AgentRegistry::appendExtraAgent):
(Inspector::AgentRegistry::didCreateFrontendAndBackend):
(Inspector::AgentRegistry::willDestroyFrontendAndBackend):
(Inspector::AgentRegistry::discardAgents):
(Inspector::InspectorAgentRegistry::InspectorAgentRegistry): Deleted.
(Inspector::InspectorAgentRegistry::append): Deleted.
(Inspector::InspectorAgentRegistry::appendExtraAgent): Deleted.
(Inspector::InspectorAgentRegistry::didCreateFrontendAndBackend): Deleted.
(Inspector::InspectorAgentRegistry::willDestroyFrontendAndBackend): Deleted.
(Inspector::InspectorAgentRegistry::discardAgents): Deleted.

  • inspector/InspectorAgentRegistry.h:
  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::BackendDispatcher::CallbackBase::CallbackBase):
(Inspector::BackendDispatcher::CallbackBase::isActive):
(Inspector::BackendDispatcher::CallbackBase::sendFailure):
(Inspector::BackendDispatcher::CallbackBase::sendIfActive):
(Inspector::BackendDispatcher::create):
(Inspector::BackendDispatcher::registerDispatcherForDomain):
(Inspector::BackendDispatcher::dispatch):
(Inspector::BackendDispatcher::sendResponse):
(Inspector::BackendDispatcher::reportProtocolError):
(Inspector::BackendDispatcher::getInteger):
(Inspector::BackendDispatcher::getDouble):
(Inspector::BackendDispatcher::getString):
(Inspector::BackendDispatcher::getBoolean):
(Inspector::BackendDispatcher::getObject):
(Inspector::BackendDispatcher::getArray):
(Inspector::BackendDispatcher::getValue):
(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::isActive): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::sendFailure): Deleted.
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive): Deleted.
(Inspector::InspectorBackendDispatcher::create): Deleted.
(Inspector::InspectorBackendDispatcher::registerDispatcherForDomain): Deleted.
(Inspector::InspectorBackendDispatcher::dispatch): Deleted.
(Inspector::InspectorBackendDispatcher::sendResponse): Deleted.
(Inspector::InspectorBackendDispatcher::reportProtocolError): Deleted.
(Inspector::InspectorBackendDispatcher::getInteger): Deleted.
(Inspector::InspectorBackendDispatcher::getDouble): Deleted.
(Inspector::InspectorBackendDispatcher::getString): Deleted.
(Inspector::InspectorBackendDispatcher::getBoolean): Deleted.
(Inspector::InspectorBackendDispatcher::getObject): Deleted.
(Inspector::InspectorBackendDispatcher::getArray): Deleted.
(Inspector::InspectorBackendDispatcher::getValue): Deleted.

  • inspector/InspectorBackendDispatcher.h:

(Inspector::SupplementalBackendDispatcher::SupplementalBackendDispatcher):
(Inspector::SupplementalBackendDispatcher::~SupplementalBackendDispatcher):
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher): Deleted.
(Inspector::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher): Deleted.

  • inspector/InspectorFrontendChannel.h:

(Inspector::FrontendChannel::~FrontendChannel):
(Inspector::InspectorFrontendChannel::~InspectorFrontendChannel): Deleted.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
(Inspector::JSGlobalObjectInspectorController::dispatchMessageFromFrontend):
(Inspector::JSGlobalObjectInspectorController::appendExtraAgent):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::didCreateFrontendAndBackend):
(Inspector::InspectorAgent::willDestroyFrontendAndBackend):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::didCreateFrontendAndBackend):
(Inspector::InspectorConsoleAgent::willDestroyFrontendAndBackend):

  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(Inspector::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::pause):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakProgram):
(Inspector::InspectorDebuggerAgent::clearBreakDetails):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/agents/JSGlobalObjectRuntimeAgent.cpp:

(Inspector::JSGlobalObjectRuntimeAgent::didCreateFrontendAndBackend):
(Inspector::JSGlobalObjectRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/augmentable/AlternateDispatchableAgent.h:
  • inspector/augmentable/AugmentableInspectorController.h:
  • inspector/remote/RemoteInspectorDebuggable.h:
  • inspector/remote/RemoteInspectorDebuggableConnection.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_type_for_formal_out_parameter):
(CppGenerator.cpp_type_for_stack_out_parameter):

  • inspector/scripts/codegen/cpp_generator_templates.py:

(AlternateBackendDispatcher):
(Alternate):
(void):
(AlternateInspectorBackendDispatcher): Deleted.
(AlternateInspector): Deleted.

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.Alternate):
(CppBackendDispatcherHeaderGenerator._generate_dispatcher_declaration_for_command):
(CppBackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.AlternateInspector): Deleted.

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator._generate_handler_class_destructor_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_large_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator._generate_event):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • runtime/JSGlobalObjectDebuggable.cpp:

(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):

  • runtime/JSGlobalObjectDebuggable.h:

Source/WebCore:

  • WebCore.exp.in:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::show):
(WebCore::InspectorController::close):
(WebCore::InspectorController::dispatchMessageFromFrontend):

  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorForwarding.h:
  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
(WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
(WebCore::InspectorReplayAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
(WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::styleWithProperties):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorWorkerAgent.h:
  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/PageRuntimeAgent.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::~WorkerInspectorController):
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::disconnectFrontend):

  • inspector/WorkerInspectorController.h:
  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/WorkerRuntimeAgent.h:
  • loader/EmptyClients.h:
  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::connect):
(WebCore::PageDebuggable::disconnect):

  • page/PageDebuggable.h:
  • testing/Internals.cpp:

(WebCore::Internals::closeDummyInspectorFrontend):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::disconnectFromInspector):

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController destroyInspectorView:]):

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorFrontendClient::destroyInspectorView):

Source/WebKit2:

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::remoteFrontendDisconnected):

2:56 PM Changeset in webkit [180115] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

REGRESSION: Page opens with enlarged font after visiting PDF, navigating back,
then doing a process swap
https://bugs.webkit.org/show_bug.cgi?id=141584
-and corresponding-
rdar://problem/18167729

Reviewed by Tim Horton.

This patch keeps the plugin zoom/scale factors separate from page zoom/scale
factors in the UI process since they are used for slightly different purposes for
plugins (i.e., PDFs) than they are for normal pages. Keeping track of the right
factor for the right type of document will ensure that we don’t use the wrong one.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::pageZoomFactor):
(WebKit::WebPageProxy::pageScaleFactor):
(WebKit::WebPageProxy::pluginScaleFactorDidChange):
(WebKit::WebPageProxy::pluginZoomFactorDidChange):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageZoomFactorDidChange): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::pageZoomFactor): Deleted.
(WebKit::WebPageProxy::pageScaleFactor): Deleted.

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setPageScaleFactor):

1:52 PM Changeset in webkit [180114] by ddkilzer@apple.com
  • 11 edits in trunk/Source

REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols
<http://webkit.org/b/141607>

Work towards fixing the Mavericks Debug build.

Source/JavaScriptCore:

  • inspector/ScriptDebugServer.h:

(Inspector::ScriptDebugServer::Task): Export class.

  • inspector/agents/InspectorDebuggerAgent.h:

(Inspector::InspectorDebuggerAgent::Listener): Export class.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::setConsoleClient): Do not mark inline
method for export.

Source/WebCore:

  • dom/Document.h:

(WebCore::Document::setAnnotatedRegionsDirty):

  • dom/Event.h:

(WebCore::Event::create):

  • dom/Node.h:

(WebCore::Node::hasEditableStyle):

  • dom/Position.h:

(WebCore::Position::Position):

  • editing/FrameSelection.h:

(WebCore::DragCaretController::clear):

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::originalRequest):

  • Do not mark inline methods for export.
12:41 PM Changeset in webkit [180113] by commit-queue@webkit.org
  • 4 edits in trunk

Web Inspector: Symbol RemoteObject should not send sub-type
https://bugs.webkit.org/show_bug.cgi?id=141604

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-14
Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

LayoutTests:

  • inspector/model/remote-object-expected.txt:
11:34 AM Changeset in webkit [180112] by Brian Burg
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r179573): Web Inspector toolbar is completely messed up on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=141555

Reviewed by Joseph Pecoraro.

The old WKView-based code called _setDrawsBackground:NO on the WKView for Mavericks.
Simulate this old behavior by calling WebPageProxy::setDrawsBackground(false).

WKWebView's setOpaque:BOOL gives a flat background color instead of the intended
gradient, so we can't use that method.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

10:59 AM Changeset in webkit [180111] by ap@apple.com
  • 2 edits in trunk/LayoutTests

After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

Re-adding the test to expectations, it fails flakily (perhaps it's order dependent).

  • platform/mac/TestExpectations:
10:16 AM Changeset in webkit [180110] by ap@apple.com
  • 12 edits
    6 adds in trunk

rel="noreferrer" should make window.opener null
https://bugs.webkit.org/show_bug.cgi?id=141579

Reviewed by Darin Adler.

Source/WebCore:

Tests: http/tests/navigation/target-blank-opener-post.html

http/tests/navigation/target-blank-opener.html

We used to avoid passing window.opener policy by temporarily storing it in a FrameLoader
member variable. This works for some clients - ones that invoke delegate callbacks
synchronously - but not in the general case.

So, changed to passing the policy explicitly.

  • WebCore.exp.in:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::suppressOpenerInNewFrame): Deleted.

  • loader/FrameLoaderTypes.h:
  • loader/NavigationScheduler.cpp:
  • page/ContextMenuController.cpp:

(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):

Source/WebKit/ios:

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]): Updated for a new WebCore
function signature. There is no rel="noreferrer" in PDF, so we can just always allow.

Source/WebKit/mac:

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for a new WebCore
function signature. There is no rel="noreferrer" in PDF, so we can just always allow.

LayoutTests:

Unfortunately, these tests are not quite real, because they pass even without the
fix. There reason is that delegates respond synchronously in WKTR and DRT.

But if there is any large refactoring, there is a non-zero chance that the tests
will catch future mistakes.

  • http/tests/navigation/resources/target-blank-opener-post-window.php: Added.
  • http/tests/navigation/resources/target-blank-opener-window.php: Added.
  • http/tests/navigation/target-blank-opener-expected.txt: Added.
  • http/tests/navigation/target-blank-opener-post-expected.txt: Added.
  • http/tests/navigation/target-blank-opener-post.html: Added.
  • http/tests/navigation/target-blank-opener.html: Added.
9:16 AM Changeset in webkit [180109] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r180082): WebCore build on Mountain Lion fails due to weak export for i386
<rdar://problem/19838127>

  • Configurations/WebCore.unexp: Add missing symbol.
8:05 AM Changeset in webkit [180108] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Re-ordering expectations.

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-14

  • platform/mac/TestExpectations:
8:01 AM Changeset in webkit [180107] by mmaxfield@apple.com
  • 58 edits in trunk/LayoutTests

[Mac] Cleanup after r177774
https://bugs.webkit.org/show_bug.cgi?id=141590

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-14
Reviewed by Zalan Bujtas.

Test expected results simply need to be updated.

  • platform/mac/TestExpectations:
  • platform/mac/accessibility/content-editable-as-textarea-expected.txt:
  • platform/mac/accessibility/press-targets-center-point-expected.txt: Added.
  • platform/mac/accessibility/table-attributes-expected.txt:
  • platform/mac/accessibility/table-cell-spans-expected.txt:
  • platform/mac/accessibility/table-detection-expected.txt:
  • platform/mac/accessibility/table-one-cell-expected.txt:
  • platform/mac/accessibility/table-sections-expected.txt:
  • platform/mac/accessibility/table-with-rules-expected.txt:
  • platform/mac/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Added.
  • platform/mac/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Added.
  • platform/mac/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Added.
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
  • platform/mac/css1/box_properties/acid_test-expected.txt:
  • platform/mac/css2.1/t09-c5526c-display-00-e-expected.txt:
  • platform/mac/editing/selection/5057506-2-expected.txt:
  • platform/mac/editing/selection/5057506-expected.txt:
  • platform/mac/editing/selection/5825350-2-expected.txt:
  • platform/mac/editing/selection/mixed-editability-10-expected.txt:
  • platform/mac/fast/block/basic/011-expected.txt:
  • platform/mac/fast/block/basic/minheight-expected.txt:
  • platform/mac/fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Added.
  • platform/mac/fast/css/002-expected.txt:
  • platform/mac/fast/forms/basic-textareas-expected.txt:
  • platform/mac/fast/frames/frame-scrolling-attribute-expected.txt:
  • platform/mac/fast/invalid/008-expected.txt:
  • platform/mac/fast/overflow/003-expected.txt:
  • platform/mac/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/mac/fast/repaint/selection-rl-expected.txt:
  • platform/mac/fast/repaint/selection-ruby-rl-expected.txt: Added.
  • platform/mac/fast/sub-pixel/inline-block-with-padding-expected.txt: Added.
  • platform/mac/fast/table/col-and-colgroup-offsets-expected.txt: Added.
  • platform/mac/fast/text/atsui-pointtooffset-calls-cg-expected.txt:
  • platform/mac/fast/text/basic/generic-family-reset-expected.txt:
  • platform/mac/fast/text/international/vertical-text-metrics-test-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/js/dom/dom-static-property-for-in-iteration-expected.txt: Added.
  • platform/mac/media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Added.
  • platform/mac/platform/mac/accessibility/aria-columnrowheaders-expected.txt: Copied from LayoutTests/platform/mac/accessibility/table-cell-spans-expected.txt.
  • platform/mac/platform/mac/accessibility/bounds-for-range-expected.txt: Added.
  • platform/mac/platform/mac/accessibility/document-links-expected.txt: Added.
  • platform/mac/platform/mac/accessibility/internal-link-anchors-expected.txt: Added.
  • platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
  • platform/mac/svg/batik/text/textEffect2-expected.txt:
  • platform/mac/svg/batik/text/textEffect3-expected.txt:
  • platform/mac/svg/batik/text/textProperties-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
  • platform/mac/svg/custom/text-filter-expected.txt:
  • platform/mac/svg/filters/feColorMatrix-values-expected.txt: Added.
  • platform/mac/svg/filters/filter-on-filter-for-text-expected.txt:
  • platform/mac/svg/filters/filter-on-tspan-expected.txt:
  • platform/mac/svg/filters/sourceAlpha-expected.txt:
  • platform/mac/svg/repaint/text-mask-update-expected.txt: Added.
  • platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
12:56 AM Changeset in webkit [180106] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[buildbot] Enable run-api-tests on release Mac bots
https://bugs.webkit.org/show_bug.cgi?id=141518

Reviewed by Darin Adler.

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

(RunUnitTests):
(BuildFactory.init):
(TestFactory.init):
(BuildAndTestFactory.init):
(RunUnitTests.start): Deleted.
(unitTestsSupported): Deleted.

Feb 13, 2015:

10:37 PM Changeset in webkit [180105] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/event-listener-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=33342

Reviewed by Darin Adler.

Instead of using a zero delay timer, which can be legitimately delayed for dozens
of milliseconds, perform the collection in a second load event handler. GC code
has changed so much that I cannot confirm that the test still verifies the fix,
however we collect after returning for the function and unwinding the stack, so it should.

Also, clear the JS variable for a good measure.

  • http/tests/xmlhttprequest/event-listener-gc.html:
10:20 PM Changeset in webkit [180104] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update fast/canvas/canvas-measureText-ideographicSpace.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141595

Reviewed by Zalan Bujtas.

  • fast/canvas/canvas-measureText-ideographicSpace.html:
  • platform/mac/TestExpectations:
9:16 PM Changeset in webkit [180103] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark font & text tests to failure.

  • platform/efl/TestExpectations:
9:16 PM Changeset in webkit [180102] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Attempt to fix 32bits build after r180098

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13

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

I copied the attribute from the MathObject version of that function when I moved
it over. DFG has no version of a function call taking those attributes.

8:59 PM Changeset in webkit [180101] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

JSContext Inspector: Do not stash console messages for non-debuggable JSContext
https://bugs.webkit.org/show_bug.cgi?id=141589

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

Consider developer extras disabled for JSContext inspection if the
RemoteInspector server is not enabled (typically a non-debuggable
process rejected by webinspectord) or if remote debugging on the
JSContext was explicitly disabled via SPI.

When developer extras are disabled, console message will not be stashed.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::developerExtrasEnabled):

  • inspector/JSGlobalObjectInspectorController.h:
8:53 PM Changeset in webkit [180100] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. 3 inspector tests are marked to failure.

  • platform/efl/TestExpectations:
8:23 PM Changeset in webkit [180099] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merge r179768. rdar://problem/19733844.

8:20 PM Changeset in webkit [180098] by benjamin@webkit.org
  • 25 edits
    4 adds in trunk/Source/JavaScriptCore

Add a DFG node for the Pow Intrinsics
https://bugs.webkit.org/show_bug.cgi?id=141540

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

Add a DFG Node for PowIntrinsic. This patch covers the basic cases
need to avoid massive regression. I will iterate over the node to cover
the missing types.

With this patch I get the following progressions on benchmarks:
-LongSpider's math-partial-sums: +5%.
-Kraken's imaging-darkroom: +17%
-AsmBench's cray.c: +6.6%
-CompressionBench: +2.2% globally.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Cover a couple of trivial cases:
-If the exponent is zero, the result is always one, regardless of the base.
-If both arguments are constants, compute the result at compile time.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
We only support 2 basic cases at this time:
-Math.pow(double, int)
-Math.pow(double, double).

I'll cover Math.pow(int, int) in a follow up.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToArithSqrt):
(JSC::DFG::Node::arithNodeFlags):

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

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::compileArithPowIntegerFastPath):
(JSC::DFG::SpeculativeJIT::compileArithPow):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStrengthReductionPhase.cpp:

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

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithPow):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doublePow):
(JSC::FTL::Output::doublePowi):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • runtime/MathObject.cpp:

(JSC::mathProtoFuncPow):
(JSC::isDenormal): Deleted.
(JSC::isEdgeCase): Deleted.
(JSC::mathPow): Deleted.

  • tests/stress/math-pow-basics.js: Added.
  • tests/stress/math-pow-integer-exponent-fastpath.js: Added.
  • tests/stress/math-pow-nan-behaviors.js: Added.
  • tests/stress/math-pow-with-constants.js: Added.

Start some basic testing of Math.pow().
Due to the various transform, the value change when the code tiers up,
I covered this by checking for approximate values.

8:16 PM Changeset in webkit [180097] by Lucas Forschler
  • 12 edits
    8 copies in branches/safari-600.1.4.15-branch

Merged r174823. rdar://problem/19733844

8:00 PM Changeset in webkit [180096] by Lucas Forschler
  • 20 edits
    5 copies in branches/safari-600.1.4.15-branch

Merged r174402. rdar://problem/19733844

7:55 PM Changeset in webkit [180095] by Brent Fulgham
  • 7 edits
    2 adds in branches/safari-600.5-branch

Source/WebCore: Merge r173806. <rdar://problem/19830405>

2014-09-22 Mihnea Ovidenie <mihnea@adobe.com>

[CSS Regions] Assertion failure and null dereference crash when using animations and regions
https://bugs.webkit.org/show_bug.cgi?id=136918

Reviewed by Andrei Bucur.

In some situations, for instance when an image has an attached animation, the style change caused by the animation
triggers a geometry update for the backing store associated with the image's layer. This may occur before
the layout for the image has finished.

Moreover, if the image in such situation - having a composited layer - is displayed in a region,
sicne the layout did not finish yet, the mappings between the layers of the elements collected in the named flow
and the regions associated with the named flow are not updated and cannot be used.

Therefore in those situations, we have to bail out early and use these mappings only after the layout has finished.

This patch also changes RenderLayerBacking method updateAfterDescendents -> updateAfterDescendants.

Test: fast/regions/animated-image-in-region.html

  • rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAfterDescendants):
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

LayoutTests: Merge r173806. <rdar://problem/19830405>

2014-09-22 Mihnea Ovidenie <mihnea@adobe.com>

[CSS Regions] Assertion failure and null dereference crash when using animations and regions
https://bugs.webkit.org/show_bug.cgi?id=136918

Reviewed by Andrei Bucur.

  • fast/regions/animated-image-in-region-expected.txt: Added.
  • fast/regions/animated-image-in-region.html: Added.
5:25 PM Changeset in webkit [180094] by Simon Fraser
  • 8 edits in trunk/Source/WebKit2

Crash closing a tab when a context or popup menu is open
https://bugs.webkit.org/show_bug.cgi?id=141582
rdar://problem/17700475

Reviewed by Anders Carlsson.

If a context menu or a popup menu is open when a tab is programmatically closed,
then we'd crash because both the WebContextMenuProxyMac/WebPopupMenuProxyMac
and the WebPageProxy would be deleted while still in use, via messages
handled via the nested event tracking runloop.

Fix by protecting those things while showing the popup. Also programmatically
dismiss the popup when closing the WebPageProxy.

  • UIProcess/WebContextMenuProxy.h:

(WebKit::WebContextMenuProxy::cancelTracking):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::showPopupMenu): Clean up some EFL-related confusion that we don't need.
Retaining |this| will also retain m_activePopupMenu.
(WebKit::WebPageProxy::hidePopupMenu):
(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPopupMenuProxy.h:

(WebKit::WebPopupMenuProxy::cancelTracking):

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

(WebKit::WebContextMenuProxyMac::showContextMenu):
(WebKit::WebContextMenuProxyMac::cancelTracking):

  • UIProcess/mac/WebPopupMenuProxyMac.h: For popups, we need to remember if we were

canceled to avoid trying to send events after closing.

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
(WebKit::WebPopupMenuProxyMac::cancelTracking):

5:20 PM Changeset in webkit [180093] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WTF

[EFL] Enable bmalloc for EFL port
https://bugs.webkit.org/show_bug.cgi?id=141459

Reviewed by Csaba Osztrogonác.

  • wtf/CMakeLists.txt: Remove TCSystemAlloc.cpp/h.
  • wtf/FastMalloc.cpp: Enable BMALLOC for EFL port.
5:09 PM Changeset in webkit [180092] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix after r179591.

  • public/api/commits.php:
4:59 PM Changeset in webkit [180091] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

The status of a A/B testing request always eventually becomes "Failed"
https://bugs.webkit.org/show_bug.cgi?id=141523

Reviewed by Andreas Kling.

The bug was caused by /api/build-requests always setting the status of a build request to 'failed' when
'failedIfNotCompleted' was sent by the buildbot sync'er.

Fixed the bug by only setting the status to 'failed' if it wasn't set to 'completed'.

  • public/api/build-requests.php:

(main):

4:37 PM Changeset in webkit [180090] by Chris Dumez
  • 3 edits
    2 adds in trunk

RenderListItem resets its marker's style on style change even if the diff is StyleDifferenceEqual
https://bugs.webkit.org/show_bug.cgi?id=141572
<rdar://problem/19759818>

Reviewed by Simon Fraser.

Source/WebCore:

Do not unnecessarily update the marker's style in RenderListItem::styleDidChange()
if the RenderStyle diff is StyleDifferenceEqual. Doing so can cause unnecessary
layouts.

This was causing high cpu usage on
http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html because there
is an animation that changes the style every second (but the diff is equal) and the
RenderListItem keeps resetting its marker's margin, which triggers a layout and the
RenderListMarker re-computes its margin during layout and updates its style again.

With this change, CPU usage on the page goes from 150% to 20%. There is only a style
recalc happening every second, no more relayouts and repaints.

Test: fast/repaint/list-item-equal-style-change-no-repaint.html

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::styleDidChange):

LayoutTests:

Add a layout test to make sure that an animation causing a style change
with StyleDifferenceEqual diff does not cause a repaint.

  • fast/repaint/list-item-equal-style-change-no-repaint-expected.txt: Added.
  • fast/repaint/list-item-equal-style-change-no-repaint.html: Added.
4:15 PM Changeset in webkit [180089] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::removeSwipeSnapshot):

  • UIProcess/mac/ViewGestureController.h:

This code is never used on iOS.

4:06 PM Changeset in webkit [180088] by timothy_horton@apple.com
  • 14 edits in trunk/Source

Make WebCore::IOSurface have single ownership instead of refcounting
https://bugs.webkit.org/show_bug.cgi?id=141578

Reviewed by Anders Carlsson.

In the interests of making it harder to misuse and to make it more like
ImageBuffer, our IOSurface wrapper should have single ownership.

This will also allow future changes which depend on temporarily
consuming an IOSurface to more easily enforce correct usage.

  • WebCore.exp.in:
  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::addSurface):
(WebCore::IOSurfacePool::insertSurfaceIntoPool):
(WebCore::IOSurfacePool::tryEvictInUseSurface):
(WebCore::IOSurfacePool::tryEvictOldestCachedSurface):
(WebCore::IOSurfacePool::collectInUseSurfaces):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::create):
(IOSurface::createFromSendRight):
(IOSurface::createFromSurface):
(IOSurface::createFromImage):
Make IOSurface::create()s return a unique_ptr, and adjust everywhere.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::Buffer::discard):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _takeViewSnapshot]):

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):

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

(WebKit::ViewSnapshot::create):
(WebKit::ViewSnapshot::ViewSnapshot):
(WebKit::ViewSnapshot::hasImage):
Adjust to the single-ownership model.

3:44 PM Changeset in webkit [180087] by enrica@apple.com
  • 6 edits in trunk

Additional emoji group support.
https://bugs.webkit.org/show_bug.cgi?id=141539
rdar://problem/19727527

Reviewed by Sam Weinig.

Source/WebCore:

Adding some new emoji ligatures.
Updated existing test to include the new sequences.

  • platform/text/TextBreakIterator.cpp:

(WebCore::cursorMovementIterator):

  • rendering/RenderText.cpp:

(WebCore::isEmojiGroupCandidate):

LayoutTests:

Updating test to reflect the new emoji ligatures supported.

  • editing/deleting/delete-emoji-expected.txt:
  • editing/deleting/delete-emoji.html:
3:27 PM Changeset in webkit [180086] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit2

[iOS] Unreviewed build fix after r180076.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters): We do not
want to do this on iOS.

  • UIProcess/WebPageProxy.h: No need to expose function

on iOS (only Mac).

3:08 PM Changeset in webkit [180085] by benjamin@webkit.org
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

ArithSqrt should not be conditional on supportsFloatingPointSqrt
https://bugs.webkit.org/show_bug.cgi?id=141546

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13
Reviewed by Geoffrey Garen and Filip Pizlo.

Just fallback to the function call in the DFG codegen.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithSqrt):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • tests/stress/math-sqrt-basics.js: Added.

Basic coverage.

  • tests/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js: Added.

Same tests but forcing the function call.

2:57 PM Changeset in webkit [180084] by Lucas Forschler
  • 7 edits
    4 copies
    2 deletes in branches/safari-600.1.4.15-branch

Merged r179933. rdar://problem/19812665

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

REGRESSION(r180060) New js/regress-141098 test crashes when LLInt is disabled.
https://bugs.webkit.org/show_bug.cgi?id=141577

Reviewed by Benjamin Poulain.

Changed the prologue of the baseline JIT to check for stack space for all
types of code blocks. Previously, it was only checking Function. Now
it checks Program and Eval as well.

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

2:40 PM Changeset in webkit [180082] by achristensen@apple.com
  • 2 edits
    1 add in trunk/Source/WebCore

Really stop using export files.
https://bugs.webkit.org/show_bug.cgi?id=141521

Reviewed by Mark Rowe.

  • Configurations/WebCore.xcconfig:

Don't use exported symbols files.

  • Configurations/WebCore.unexp:

Added list of symbols not to export (needed by Xcode 5.0.2).

2:18 PM Changeset in webkit [180081] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simplify ASSERT in lastRubyRun().
https://bugs.webkit.org/show_bug.cgi?id=141574

Reviewed by Daniel Bates.

r180064 made some of the conditions in the ASSERT redundant.

Covered by existing tests.

  • rendering/RenderRuby.cpp:

(WebCore::lastRubyRun):

2:17 PM Changeset in webkit [180080] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

2:15 PM Changeset in webkit [180079] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.5

New tag.

2:11 PM Changeset in webkit [180078] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document some debug asserts in Accessibility (Windows) tests.

  • platform/win/TestExpectations:
2:00 PM Changeset in webkit [180077] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179772. rdar://problem/19719078

1:56 PM Changeset in webkit [180076] by Brent Fulgham
  • 10 edits in trunk/Source

[Mac, iOS] Adjust pagination behavior for Mail.app printing use
https://bugs.webkit.org/show_bug.cgi?id=141569
<rdar://problem/14912763>

Reviewed by Anders Carlsson.

Source/WebCore:

  • page/Settings.in: Add new pagination setting flag.
  • rendering/RenderBlockFlow.cpp:

(WebCore::messageContainerName): Added.
(WebCore::needsPaginationQuirk): Added.
(WebCore::RenderBlockFlow::adjustLinePositionForPagination): Don't move the message content
div to a new page when using this special printing mode.

Source/WebKit2:

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode): Add new flag.
(WebKit::WebPageCreationParameters::decode): Ditto.

  • Shared/WebPageCreationParameters.h: Ditto.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters): Set new page construction flag.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::paginationQuirkEnabled): Ask for new pagination flag
when running as a Mail client.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Set up pagination based on desired settings.

1:54 PM Changeset in webkit [180075] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Generate incq instead of addq when the immediate value is one
https://bugs.webkit.org/show_bug.cgi?id=141548

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-13
Reviewed by Gavin Barraclough.

JSC emits "addq #1 (rXX)" *a lot*.
This patch replace that by incq, which is one byte shorter
and is the adviced form.

Sunspider: +0.47%
Octane: +0.28%
Kraken: +0.44%
AsmBench, CompressionBench: neutral.

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::add64):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::incq_m):

1:48 PM Changeset in webkit [180074] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Little clean up of Bytecode Generator's Label
https://bugs.webkit.org/show_bug.cgi?id=141557

Reviewed by Michael Saboff.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/BytecodeGenerator.cpp:

Label was a friend of BytecodeGenerator in order to access
m_instructions. There is no need for that, BytecodeGenerator
has a public getter.

  • bytecompiler/Label.h:

(JSC::Label::Label):
(JSC::Label::setLocation):
(JSC::BytecodeGenerator::newLabel):
Make it explicit that the generator must exist.

1:35 PM Changeset in webkit [180073] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

1:33 PM Changeset in webkit [180072] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.9

New tag.

1:25 PM Changeset in webkit [180071] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

[iOS] DumpRenderTree.app fails to link due to undefined classes
<rdar://problem/19831228>

Following r179945, DumpRenderTree.app fails to link due to undefined symbols:

Undefined symbols for architecture x86_64:

"_OBJC_CLASS_$_WebEvent", referenced from:

objc-class-ref in libDumpRenderTree.a(EventSendingController.o)

"_OBJC_CLASS_$_WebUndefined", referenced from:

objc-class-ref in libDumpRenderTree.a(ObjCController.o)

We need to export the classes WebScriptObject and WebEvent.

  • bindings/objc/WebScriptObject.h:
  • platform/ios/WebEvent.h:
12:40 PM Changeset in webkit [180070] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r180053. rdar://problem/19812624

12:37 PM Changeset in webkit [180069] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r179737. rdar://problem/19812624

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

CachedResource::clearLoader() should self-destruct if nothing else retains the CachedResource.
<https://webkit.org/b/141568>
<rdar://problem/19800310>

Reviewed by Antti Koivisto.

Anything that may cause CachedResource::canDelete() to return true must also make sure
to call CachedResource::deleteIfPossible(), or we risk leaking the CachedResource.
This is because CachedResource employs an extremely convoluted lifetime mechanism that
depends on its presence in a number of collections, as well as internal counters and
state.

This is a speculative fix for a potential CachedResource leak that I'm not sure exists
in practice, but let's be good citizens here.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::clearLoader):

11:57 AM Changeset in webkit [180067] by timothy@apple.com
  • 1 edit
    1 add in trunk/Source/WebInspectorUI

Web Inspector: support better git diff of localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=137237

Reviewed by Joseph Pecoraro.

  • .gitattributes: Added.
11:52 AM Changeset in webkit [180066] by andersca@apple.com
  • 4 edits in trunk

Add a move constructor and move assignment operator to Deque
https://bugs.webkit.org/show_bug.cgi?id=141571

Reviewed by Andreas Kling.

Source/WTF:

  • wtf/Deque.h:

(WTF::inlineCapacity>::Deque):
(WTF::=): Deleted.

Tools:

  • TestWebKitAPI/Tests/WTF/Deque.cpp:

(TestWebKitAPI::TEST):

11:50 AM Changeset in webkit [180065] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Crash at WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset + 2357
https://bugs.webkit.org/show_bug.cgi?id=141566
rdar://problem/19826075

Reviewed by Andreas Kling.

Null check m_mediaSource before dereferencing.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):

11:28 AM Changeset in webkit [180064] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION (r174761): Invalid cast in WebCore::lastRubyRun / WebCore::RenderRubyAsBlock::addChild
https://bugs.webkit.org/show_bug.cgi?id=137929
rdar://problem/18723492

Reviewed by Chris Dumez.

Ensure that the child renderer is a RenderRubyRun.

Source/WebCore:

Test: fast/ruby/crash-with-before-after-on-ruby.html

  • rendering/RenderRuby.cpp:

(WebCore::lastRubyRun):

LayoutTests:

  • fast/ruby/crash-with-before-after-on-ruby-expected.txt: Added.
  • fast/ruby/crash-with-before-after-on-ruby.html: Added.
11:04 AM Changeset in webkit [180063] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Crashes under RenderLayer::hitTestLayer under determinePrimarySnapshottedPlugIn()
https://bugs.webkit.org/show_bug.cgi?id=141551

Reviewed by Zalan Bujtas.

It's possible for a layout to dirty the parent frame's state, via the calls to
ownerElement()->scheduleSetNeedsStyleRecalc() that RenderLayerCompositor does when
iframes toggle their compositing mode.

That could cause FrameView::updateLayoutAndStyleIfNeededRecursive() to fail to
leave all the frames in a clean state. Later on, we could enter hit testing,
which calls document().updateLayout() on each frame's document. Document::updateLayout()
does layout on all ancestor documents, so in the middle of hit testing, we could
layout a subframe (dirtying an ancestor frame), then layout another frame, which
would forcing that ancestor to be laid out while we're hit testing it, thus
corrupting the RenderLayer tree while it's being iterated over.

Fix by having FrameView::updateLayoutAndStyleIfNeededRecursive() do a second
layout after laying out subframes, which most of the time will be a no-op.

Also add a stronger assertion, that this frame and all subframes are clean
at the end of FrameView::updateLayoutAndStyleIfNeededRecursive() for the
main frame.

Various existing frames tests hit the new assertion if the code change is removed,
so this is covered by existing tests.

  • page/FrameView.cpp:

(WebCore::FrameView::needsStyleRecalcOrLayout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

  • page/FrameView.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::willBeDestroyed):

11:04 AM Changeset in webkit [180062] by Simon Fraser
  • 7 edits in trunk/Source

determinePrimarySnapshottedPlugIn() should only traverse visible Frames
https://bugs.webkit.org/show_bug.cgi?id=141547
Part of rdar://problem/18445733.

Reviewed by Anders Carlsson.
Source/WebCore:

There's an expectation from clients that FrameView::updateLayoutAndStyleIfNeededRecursive()
updates layout in all frames, but it uses the widget tree, so only hits frames
that are parented via renderers (i.e. not display:none frames or their descendants).

Moving towards a future where we remove Widgets, fix by adding a FrameTree
traversal function that only finds rendered frames (those with an ownerRenderer).

Not testable.

  • page/FrameTree.cpp:

(WebCore::FrameTree::firstRenderedChild):
(WebCore::FrameTree::nextRenderedSibling):
(WebCore::FrameTree::traverseNextRendered):
(printFrames):

  • page/FrameTree.h:
  • page/FrameView.cpp:

(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

Source/WebKit2:

Use FrameTree::traverseNextRendered() to avoid doing things in unrendered frames
which are not guaranteed to have been laid out.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

11:01 AM Changeset in webkit [180061] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests --remote should skip profiler tests
https://bugs.webkit.org/show_bug.cgi?id=141470

Reviewed by Filip Pizlo.

  • Scripts/run-jsc-stress-tests:
10:57 AM Changeset in webkit [180060] by msaboff@apple.com
  • 6 edits
    3 adds in trunk

Google doc spreadsheet reproducibly crashes when sorting
https://bugs.webkit.org/show_bug.cgi?id=141098

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Moved the stack check to before the callee registers are allocated in the
prologue() by movving it from the functionInitialization() macro. This
way we can check the stack before moving the stack pointer, avoiding a
crash during a "call" instruction. Before this change, we weren't even
checking the stack for program and eval execution.

Made a couple of supporting changes.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_stack_check): We can't just go up one frame as we
may be processing an exception to an entry frame.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

(llint_throw_from_slow_path_trampoline): Changed method to get the vm
from the code block to not use the codeBlock, since we may need to
continue from an exception in a native function.

LayoutTests:

New test.

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

(probeAndRecurse):

10:46 AM Changeset in webkit [180059] by andersca@apple.com
  • 4 edits in trunk

Add an initializer list constructor to Deque
https://bugs.webkit.org/show_bug.cgi?id=141565

Reviewed by Andreas Kling.

Source/WTF:

  • wtf/Deque.h:

(WTF::inlineCapacity>::Deque):

Tools:

  • TestWebKitAPI/Tests/WTF/Deque.cpp:

(TestWebKitAPI::TEST):

10:28 AM Changeset in webkit [180058] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

TimerBase::m_heapInsertionOrder calculation is racy
https://bugs.webkit.org/show_bug.cgi?id=141554

Reviewed by Anders Carlsson.

Use an atomic increment.

  • platform/Timer.cpp: (WebCore::TimerBase::setNextFireTime):
10:08 AM Changeset in webkit [180057] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch

Merge r179771. rdar://problem/19395131

10:08 AM Changeset in webkit [180056] by matthew_hanson@apple.com
  • 7 edits
    2 adds in branches/safari-600.1.4.15-branch

Merge r179994. rdar://problem/19711488

10:05 AM Changeset in webkit [180055] by andersca@apple.com
  • 2 edits in trunk/Source/WTF

Re-indent Deque.h

Rubber-stamped by Antti Koivisto.

  • wtf/Deque.h:
9:50 AM Changeset in webkit [180054] by Antti Koivisto
  • 20 edits in trunk/Source/WebKit2

WorkQueue should support concurrent queues
https://bugs.webkit.org/show_bug.cgi?id=141559

Reviewed by Anders Carlsson.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::DatabaseProcess):

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::open):

  • Platform/WorkQueue.cpp:

(WorkQueue::create):

Also make create return a Ref.

(WorkQueue::WorkQueue):

  • Platform/WorkQueue.h:

Add queue type enum.

  • Platform/efl/WorkQueueEfl.cpp:

(WorkQueue::platformInitialize):

  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::platformInitialize):

  • Platform/mac/WorkQueueMac.cpp:

(WorkQueue::platformInitialize):

  • Shared/mac/SecItemShim.cpp:

(WebKit::SecItemShim::initializeConnection):

  • Shared/mac/SecItemShim.h:
  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::processLauncherWorkQueue):

  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::initializeConnection):

  • UIProcess/mac/SecItemShimProxy.h:
  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::initializeConnection):

  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::initializeConnection):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.h:
9:38 AM Changeset in webkit [180053] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Refine GC behavior in response to process suspension and memory pressure.
<https://webkit.org/b/141543>
<rdar://problem/19738024>

Reviewed by Geoffrey Garen.

Do an immediate full garbage collection when the web process is about to
be suspended (when another tab is moving to the foreground on iOS.)
This ensures that we make a best effort to reduce the process footprint
before we lose the ability to execute code.

When receiving a memory pressure warning, tell the garbage collector to
accelerate its next collection (by calling garbageCollectSoon().)
This gives us some confidence that a collection will happen within a
reasonable timeframe, but doesn't risk dooming us to a loop of endless
garbage collections.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory):

9:35 AM Changeset in webkit [180052] by andersca@apple.com
  • 4 edits
    1 move in trunk/Source/WebKit2

Clean up the framework postprocessing phase
https://bugs.webkit.org/show_bug.cgi?id=141544

Reviewed by Dan Bernstein.

Rename WK_API_AVAILABILITY_ENABLED to WK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED to better match what
it is we're doing. Also, rename the associated script. Remove a couple of now unnecessary #defines, and
change everything we can to be feature-based instead of OS based.

  • Configurations/WebKit.xcconfig:
  • Shared/API/Cocoa/WKFoundation.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • mac/postprocess-framework-headers.sh: Renamed from Source/WebKit2/mac/rewrite-availability-macros.sh.
9:32 AM Changeset in webkit [180051] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Add some RELEASE_ASSERTs to try to catch crashes in StyleResolver::loadPendingImages
https://bugs.webkit.org/show_bug.cgi?id=141561

Reviewed by Simon Fraser.

One possibility is that loads triggered by loadPendingImages end up synchronously destroying or re-entering
style resolver. Try to catch these in release builds.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::~StyleResolver):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::loadPendingImages):

  • css/StyleResolver.h:
9:15 AM Changeset in webkit [180050] by ChangSeok Oh
  • 4 edits
    2 adds in trunk

Div having contentEditable and display:grid cannot be edited if it is empty.
https://bugs.webkit.org/show_bug.cgi?id=141465

Reviewed by Ryosuke Niwa.

Source/WebCore:

This bug is quite similar to webkit.org/b/141218. RenderGrid should be also treated as a candidate
for visible position as like RenderFlexibleBox. The only different situation between them is
that RenderGrid has a bug setting "0px" for logicalHeight when it is empty. RenderGrid should also have
a minimum height of a single line if it is editable as well as RenderFlexibleBox does.

Test: fast/events/key-events-in-editable-gridbox.html

  • dom/Position.cpp:

(WebCore::Position::isCandidate):
(WebCore::Position::isRenderedCharacter):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):

LayoutTests:

This tests if an editable grid box can be reedited after erasing all texts in it.

  • fast/events/key-events-in-editable-gridbox-expected.txt: Added.
  • fast/events/key-events-in-editable-gridbox.html: Added.
9:10 AM Changeset in webkit [180049] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip accessibility tests failing due to debug assertions.

  • platform/win/TestExpectations:
9:02 AM Changeset in webkit [180048] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.1.4.15-branch

Merge r179771. rdar://problem/19395131

9:02 AM Changeset in webkit [180047] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merge r179750. rdar://problem/19719085

9:02 AM Changeset in webkit [180046] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.1.4.15-branch

Merge r179706. rdar://problem/19719085

8:43 AM Changeset in webkit [180045] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.1.4.15-branch/Source

Merge r179580. rdar://problem/19709200

8:15 AM Changeset in webkit [180044] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merge r180031. rdar://problem/19432928

8:15 AM Changeset in webkit [180043] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merge r179885. rdar://problem/19812617

8:15 AM Changeset in webkit [180042] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merge r179847. rdar://problem/19711485

8:15 AM Changeset in webkit [180041] by matthew_hanson@apple.com
  • 6 edits
    2 adds in branches/safari-600.1.4.15-branch

Merge r179691. rdar://problem/19719089

8:15 AM Changeset in webkit [180040] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebKit/ios

Merge r174284. rdar://problem/19812620

6:37 AM Changeset in webkit [180039] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[buildbot] Remove buildJSCTool cruft from master.cfg
https://bugs.webkit.org/show_bug.cgi?id=141513

Reviewed by Alexey Proskuryakov.

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

(RunJavaScriptCoreTests):
(RunJavaScriptCoreTests.start):
(RunWebKitTests):
(RunWebKitTests.start):
(TestFactory.init):
(TestLeaksFactory.init):
(RunJavaScriptCoreTests.init): Deleted.
(RunWebKitTests.init): Deleted.

4:48 AM Changeset in webkit [180038] by Alan Bujtas
  • 7 edits
    2 adds in trunk

REGRESSION (r176262): Invalid cast in WebCore`WebCore::RootInlineBox::selectionTop
https://bugs.webkit.org/show_bug.cgi?id=138992

Reviewed by Dave Hyatt.

RenderRubyText requires the ancestor chain to be (RenderRubyAsInline | RenderRubyAsBlock) -> RenderRubyRun -> RenderRubyText.
This patch ensures that we create RenderRubyText for an <rt> element only when
the expected ancestor chain is guaranteed.

Source/WebCore:

Test: fast/ruby/crash-when-ruby-is-set-to-inline-block.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor): treat inline-block <ruby> as block.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRubyInline):
(WebCore::RenderObject::isRubyBlock):
(WebCore::RenderObject::isRuby): Deleted.

  • rendering/RenderRuby.cpp:

(WebCore::isAnonymousRubyInlineBlock):

  • rendering/RenderRuby.h: add support for is<RenderRubyAsBlock>(renderer) and for is<RenderRubyAsInline>(renderer)

The isRuby() method does not follow the is*() -> maps to one class pattern.
(WebCore::isRuby):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::staticCreateRubyRun):

LayoutTests:

  • fast/ruby/crash-when-ruby-is-set-to-inline-block-expected.txt: Added.
  • fast/ruby/crash-when-ruby-is-set-to-inline-block.html: Added.
1:43 AM Changeset in webkit [180037] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/bmalloc

[BMalloc] Add a FIXME comment for memory alignas
https://bugs.webkit.org/show_bug.cgi?id=141556

Reviewed by Csaba Osztrogonác.

  • bmalloc/Chunk.h: Add a FIXME comment.
  • bmalloc/LargeChunk.h: ditto.
1:19 AM Changeset in webkit [180036] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the gperf related build issue on the WinCairo bot
https://bugs.webkit.org/show_bug.cgi?id=141507

Reviewed by Alex Christensen.

  • platform/ColorData.gperf: Modified property svn:eol-style.
1:15 AM Changeset in webkit [180035] by Csaba Osztrogonác
  • 6 edits
    92 deletes in trunk

Unreviewed, remove empty directories.

.:

  • ManualTests/qt: Removed.

Source/WebCore:

  • loader/icon/wince: Removed.
  • platform/graphics/wince: Removed.
  • storage/wince: Removed.

Tools:

  • DumpRenderTree/gtk: Removed.
  • DumpRenderTree/gtk/fonts: Removed.
  • DumpRenderTree/unix: Removed.
  • DumpRenderTree/unix/TestNetscapePlugin: Removed.
  • GtkLauncher: Removed.
  • TestWebKitAPI/Tests/WebKitGtk: Removed.
  • TestWebKitAPI/Tests/WebKitGtk/resources: Removed.
  • WebKitTestRunner/WebKitTestRunnerAppTests: Removed.
  • WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj: Removed.

Websites/perf.webkit.org:

  • public/data: Removed.

Websites/webkit.org:

  • blog/wp-includes/js/codepress: Removed.

LayoutTests:

  • fast/forms/date-multiple-fields: Removed.
  • fast/forms/datetimelocal-multiple-fields: Removed.
  • fast/forms/month-multiple-fields: Removed.
  • fast/forms/time-multiple-fields: Removed.
  • fast/forms/week-multiple-fields: Removed.
  • fast/js: Removed.
  • http/tests/inspector-enabled: Removed.
  • http/tests/inspector-enabled/resources: Removed.
  • http/tests/inspector/appcache: Removed.
  • http/tests/inspector/appcache/resources: Removed.
  • http/tests/inspector/audits: Removed.
  • http/tests/inspector/audits/resources: Removed.
  • http/tests/inspector/indexeddb: Removed.
  • http/tests/inspector/indexeddb/resources: Removed.
  • http/tests/inspector/network: Removed.
  • http/tests/inspector/network/resources: Removed.
  • http/tests/inspector/resource-tree: Removed.
  • http/tests/inspector/resource-tree/resources: Removed.
  • http/tests/inspector/resources: Removed.
  • http/tests/inspector/search: Removed.
  • http/tests/inspector/search/resources: Removed.
  • http/tests/inspector/stacktraces: Removed.
  • http/tests/inspector/stacktraces/resources: Removed.
  • http/tests/inspector/styles: Removed.
  • http/tests/inspector/styles/resources: Removed.
  • http/tests/inspector/websocket: Removed.
  • http/tests/webgl/1.0.1: Removed.
  • inspector-protocol/heap-profiler: Removed.
  • inspector-protocol/heap-profiler/resources: Removed.
  • inspector/console: Removed.
  • inspector/console/resources: Removed.
  • inspector/elements: Removed.
  • inspector/elements/resources: Removed.
  • inspector/profiler: Removed.
  • inspector/runtime: Removed.
  • inspector/styles: Removed.
  • inspector/styles/resources: Removed.
  • js/regress/resources: Removed.
  • media/track/opera/track/webvtt/rendering/reftest/media: Removed.
  • networkinformation: Removed.
  • networkinformation/resources: Removed.
  • networkinformation/script-tests: Removed.
  • platform/efl-wk2/dom: Removed.
  • platform/efl-wk2/dom/xhtml: Removed.
  • platform/efl-wk2/inspector: Removed.
  • platform/efl-wk2/tables: Removed.
  • platform/efl-wk2/tables/mozilla: Removed.
  • platform/gtk-wk1: Removed.
  • platform/gtk-wk1/fast: Removed.
  • platform/gtk-wk1/fast/css: Removed.
  • platform/gtk-wk1/fast/loader: Removed.
  • platform/gtk-wk1/fast/media: Removed.
  • platform/gtk-wk1/fast/writing-mode: Removed.
  • platform/gtk-wk1/http: Removed.
  • platform/gtk-wk1/http/tests: Removed.
  • platform/gtk-wk1/http/tests/cache: Removed.
  • platform/gtk-wk1/http/tests/security: Removed.
  • platform/gtk-wk1/http/tests/security/contentSecurityPolicy: Removed.
  • platform/gtk-wk1/js: Removed.
  • platform/gtk-wk1/js/dom: Removed.
  • platform/gtk-wk1/loader: Removed.
  • platform/gtk-wk1/scrollingcoordinator: Removed.
  • platform/gtk-wk2/accessibility: Removed.
  • platform/gtk-wk2/fast: Removed.
  • platform/gtk-wk2/fast/events: Removed.
  • platform/gtk-wk2/http: Removed.
  • platform/gtk-wk2/http/tests: Removed.
  • platform/gtk-wk2/http/tests/loading: Removed.
  • platform/gtk-wk2/http/tests/misc: Removed.
  • platform/gtk-wk2/http/tests/misc/authentication-redirect-1: Removed.
  • platform/gtk-wk2/http/tests/misc/authentication-redirect-2: Removed.
  • platform/gtk-wk2/http/tests/misc/authentication-redirect-4: Removed.
  • platform/gtk-wk2/http/tests/security: Removed.
  • platform/gtk-wk2/http/tests/security/401-logout: Removed.
  • platform/gtk-wk2/http/tests/xmlhttprequest: Removed.
  • platform/gtk-wk2/js: Removed.
  • platform/gtk-wk2/js/dom: Removed.
  • platform/gtk-wk2/plugins: Removed.
  • platform/gtk-wk2/plugins/npruntime: Removed.
  • platform/gtk/platform: Removed.
  • platform/ios-simulator/editing/editability: Removed.
  • platform/ios-simulator/editing/input: Removed.
  • platform/ios-simulator/editing/secure-input: Removed.
  • platform/ios-simulator/editing/shadow: Removed.
  • platform/ios-simulator/editing/spelling: Removed.
  • platform/ios-simulator/editing/text-iterator: Removed.
  • platform/ios-simulator/editing/undo: Removed.
  • platform/ios-simulator/editing/unsupported-content: Removed.
  • platform/ios-simulator/fast/canvas/webgl: Removed.
  • platform/ios-simulator/fast/css-grid-layout: Removed.
  • platform/ios-simulator/fast/css/content: Removed.
  • platform/ios-simulator/fast/css/image-orientation: Removed.
  • platform/ios-simulator/fast/css/image-resolution: Removed.
  • platform/ios-simulator/fast/css/style-scoped: Removed.
  • platform/ios-simulator/fast/css3-text/css3-text-indent: Removed.
  • platform/ios-simulator/fast/css3-text/css3-text-indent/getComputedStyle: Removed.
  • platform/ios-simulator/fast/dom/Document: Removed.
  • platform/ios-simulator/fast/dom/Document/CaretRangeFromPoint: Removed.
  • platform/ios-simulator/fast/dom/Geolocation: Removed.
  • platform/ios-simulator/fast/dom/HTMLAnchorElement: Removed.
  • platform/ios-simulator/fast/dom/HTMLImageElement/sizes: Removed.
  • platform/ios-simulator/fast/dom/MutationObserver: Removed.
  • platform/ios-simulator/fast/dom/NavigatorContentUtils: Removed.
  • platform/ios-simulator/fast/dom/Orientation: Removed.
  • platform/ios-simulator/fast/dom/custom: Removed.
  • platform/ios-simulator/fast/events/constructors: Removed.
  • platform/ios-simulator/fast/events/scoped: Removed.
  • platform/iphone-simulator: Removed.
  • platform/iphone-simulator/fast: Removed.
  • platform/iphone-simulator/fast/events: Removed.
  • platform/mac-mavericks/fast/borders: Removed.
  • platform/mac-wk2/fast/writing-mode: Removed.
  • platform/mac-wk2/http/tests/plugins: Removed.
  • platform/mac-wk2/js: Removed.
  • platform/mac-wk2/js/dom: Removed.
  • platform/mac-wk2/tiled-drawing/fixed: Removed.
  • platform/mac-wk2/tiled-drawing/fixed-background: Removed.
  • platform/mac-wk2/tiled-drawing/sticky: Removed.
  • platform/mac/dom: Removed.
  • platform/mac/dom/xhtml: Removed.
  • platform/mac/fast/backgrounds/resources: Removed.
  • platform/mac/media/W3C/audio: Removed.
  • platform/mac/media/W3C/audio/canPlayType: Removed.
  • platform/mac/platform/mac-wk2: Removed.
  • platform/mac/platform/mac/editing/spelling: Removed.
  • platform/mac/platform/mac/fast/forms: Removed.
  • platform/win-wk2: Removed.
  • platform/win-wk2/fast: Removed.
  • platform/win-wk2/http: Removed.
  • platform/win-wk2/platform: Removed.
  • platform/win-wk2/svg: Removed.
  • platform/win/canvas: Removed.
  • platform/win/fast/xmlhttprequest: Removed.
  • platform/win/loader: Removed.
  • platform/wk2/tables: Removed.
12:48 AM Changeset in webkit [180034] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Remove Windows cruft from Tools/Scripts/build-webkittestrunner
https://bugs.webkit.org/show_bug.cgi?id=141519

Reviewed by Alexey Proskuryakov.

  • Scripts/build-webkittestrunner:
Note: See TracTimeline for information about the timeline view.