Timeline



Feb 12, 2015:

11:15 PM Changeset in webkit [180033] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r180028. rdar://problem/19180955

11:14 PM Changeset in webkit [180032] by bshafiei@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebCore

Merged r180028. rdar://problem/19180955

10:48 PM Changeset in webkit [180031] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

Crash removing RemoteLayerTreeDisplayRefreshMonitor from the drawing area's map
https://bugs.webkit.org/show_bug.cgi?id=141545
<rdar://problem/17712200>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::windowScreenDidChange):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

windowScreenDidChange should take uint32_t, since that's what PlatformDisplayID is.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
RemoteLayerTreeDisplayRefreshMonitor is driven by the page's
RemoteLayerTreeDrawingArea. Because of this, we cannot have the same
sharing of DisplayRefreshMonitors that other platforms use.
In order to ensure that we get a unique DisplayRefreshMonitor
per-DrawingArea, give each page a unique DisplayID derived
from WebPage's unique ID.

10:03 PM Changeset in webkit [180030] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark some debug assertions.

  • platform/win/TestExpectations: Mark several debug assertions so

we don't end testing early.

9:53 PM Changeset in webkit [180029] by Brent Fulgham
  • 2 edits
    2 adds in trunk/LayoutTests

[Win] More media rebaselining.

  • platform/win/TestExpectations:
  • platform/win/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
  • platform/win/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
7:59 PM Changeset in webkit [180028] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Crashes under detectItemAroundHitTestResult when DataDetectors is not available
https://bugs.webkit.org/show_bug.cgi?id=141549
<rdar://problem/19180955>

Reviewed by Dan Bernstein.

  • editing/mac/DataDetection.mm:

(WebCore::DataDetection::detectItemAroundHitTestResult):
Bail out from data detection if either of the relevant frameworks aren't loaded.

6:30 PM Changeset in webkit [180027] by commit-queue@webkit.org
  • 31 edits
    3 adds in trunk/LayoutTests

[EFL] Need to have new baseline for some tests of fast/ruby since r172874
https://bugs.webkit.org/show_bug.cgi?id=141462

Unreviewed, EFL gardening. Rebaseline after r172874

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-02-12

  • platform/efl/TestExpectations:
  • platform/efl/fast/ruby/bopomofo-expected.png: Added.
  • platform/efl/fast/ruby/bopomofo-expected.txt:
  • platform/efl/fast/ruby/bopomofo-letter-spacing-expected.png: Added.
  • platform/efl/fast/ruby/bopomofo-letter-spacing-expected.txt:
  • platform/efl/fast/ruby/bopomofo-rl-expected.png: Added.
  • platform/efl/fast/ruby/bopomofo-rl-expected.txt:
  • platform/efl/fast/ruby/ruby-beforeafter-expected.png:
  • platform/efl/fast/ruby/ruby-beforeafter-expected.txt:
  • platform/efl/fast/ruby/ruby-length-expected.png:
  • platform/efl/fast/ruby/ruby-length-expected.txt:
  • platform/efl/fast/ruby/ruby-run-break-expected.png:
  • platform/efl/fast/ruby/ruby-run-break-expected.txt:
  • platform/efl/fast/ruby/ruby-runs-expected.png:
  • platform/efl/fast/ruby/ruby-runs-expected.txt:
  • platform/efl/fast/ruby/ruby-runs-spans-expected.png:
  • platform/efl/fast/ruby/ruby-runs-spans-expected.txt:
  • platform/efl/fast/ruby/ruby-trailing-expected.png:
  • platform/efl/fast/ruby/ruby-trailing-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-insert-rt-expected.png:
  • platform/efl/fast/ruby/rubyDOM-insert-rt-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-insert-text1-expected.png:
  • platform/efl/fast/ruby/rubyDOM-insert-text1-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-insert-text2-expected.png:
  • platform/efl/fast/ruby/rubyDOM-insert-text2-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-insert-text3-expected.png:
  • platform/efl/fast/ruby/rubyDOM-insert-text3-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-remove-rt1-expected.png:
  • platform/efl/fast/ruby/rubyDOM-remove-rt1-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-remove-rt2-expected.png:
  • platform/efl/fast/ruby/rubyDOM-remove-rt2-expected.txt:
  • platform/efl/fast/ruby/rubyDOM-remove-text1-expected.png:
  • platform/efl/fast/ruby/rubyDOM-remove-text1-expected.txt:
5:23 PM Changeset in webkit [180026] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

5:21 PM Changeset in webkit [180025] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.6

New tag.

5:04 PM Changeset in webkit [180024] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS Media] Audio should hide timeline scrubber until playback starts
https://bugs.webkit.org/show_bug.cgi?id=141542
<rdar://problem/19820685>

Reviewed by Eric Carlson.

We regressed from the system behaviour in iOS 7, where the timeline
scrubber for an audio element is not shown until the user starts
playback.

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-controls-panel): Fix the alignment of the flexbox.
(audio::-webkit-media-controls-status-display): Add the style for the status display.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.configureInlineControls): Start hidden if we are an <audio>.
(ControllerIOS.prototype.configureFullScreenControls): Drive by comment change.
(ControllerIOS.prototype.setPlaying): Unhide the timeline.

5:00 PM Changeset in webkit [180023] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed updates to test expectations to reduce failures on Windows bots.

  • platform/win/TestExpectations: Mark a number of time-outs for Media tests.
4:49 PM Changeset in webkit [180022] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash under RemoteLayerTreeDrawingArea::flushLayers() when closing a tab
https://bugs.webkit.org/show_bug.cgi?id=141541

Reviewed by Benjamin Poulain.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
The WebPage pointer can become stale between when it is retrieved
and dereferenced. Retrieve it by ID inside the dispatch_async block
instead of outside of it.

4:13 PM Changeset in webkit [180021] by Beth Dakin
  • 6 edits in trunk/LayoutTests

Re-baselines after http://trac.webkit.org/changeset/180018

  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
3:23 PM Changeset in webkit [180020] by Chris Dumez
  • 11 edits in trunk

Drop the quirks-mode exception for CSS MIME types
https://bugs.webkit.org/show_bug.cgi?id=141501

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Drop the quirks-mode exception for CSS MIME types.
This matches Firefox's behavior.

This patch is based on the following Blink revision:
http://src.chromium.org/viewvc/blink?view=revision&revision=189669

Tests:

  • http/tests/misc/css-accept-any-type.html
  • http/tests/security/cross-origin-css.html
  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::parseAuthorStyleSheet):

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::setCSSStyleSheet):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::canUseSheet):

  • loader/cache/CachedCSSStyleSheet.h:

LayoutTests:

Update a couple of layout tests now that we dropped the quirks-mode
exception for CSS MIME types.

  • http/tests/misc/css-accept-any-type-expected.txt:
  • http/tests/misc/css-accept-any-type.html:
  • http/tests/security/cross-origin-css-expected.txt:
  • http/tests/security/cross-origin-css.html:
3:10 PM Changeset in webkit [180019] by Brent Fulgham
  • 2 edits in branches/safari-600.5-branch/Tools

Merge r179996 to correct test system failures.

2015-02-12 Brent Fulgham <Brent Fulgham>

[Win] Test bot infrastructure should not try to find/use old Safari DLLs
https://bugs.webkit.org/show_bug.cgi?id=141517

Reviewed by Anders Carlsson.

We do not need to locate or use the DLL's that came with Safari, so stop
failing when we cannot find them. Also remove some old Qt cruft from this
script.

  • BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): (extractBuiltProduct):
3:09 PM Changeset in webkit [180018] by Beth Dakin
  • 3 edits
    2 adds in trunk

REGRESSION: Should not send wheel events with a delta of 0
https://bugs.webkit.org/show_bug.cgi?id=141537
-and corresponding-
rdar://problem/18903118

Reviewed by Simon Fraser.

Source/WebCore:

This code should not have been removed entirely to accommodate rubber-banding, it
just needs to return false instead of true in order to allow the MayBegin and
Ended phases to be handled by the ElasticityController.

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

LayoutTests:

  • platform/mac-wk2/tiled-drawing/scrolling/wheel-events-with-no-delta-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/wheel-events-with-no-delta.html: Added.
3:08 PM Changeset in webkit [180017] by Lucas Forschler
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

3:07 PM Changeset in webkit [180016] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.17.9

New Tag.

3:07 PM Changeset in webkit [180015] by Brent Fulgham
  • 4 edits in branches/safari-600.5-branch

[Win] Unreviewed branch build fix.

Source/WebKit:

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

symbol export definition.

Tools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(AccessibilityUIElement::setValue): This needs a default body.

2:24 PM Changeset in webkit [180014] by Brent Fulgham
  • 1 edit
    1 add in branches/safari-600.5-branch/Source/JavaScriptCore

Correct merge error from r180011.

(DllMain):

2:20 PM Changeset in webkit [180013] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS Media] Implement 3-style media timeline (buffered, played, unavailable)
https://bugs.webkit.org/show_bug.cgi?id=141526
<rdar://problem/19603337>

Reviewed by Eric Carlson and Antoine Quint.

Implement a 3-style media scrubber for iOS. This draws white for
the region that has been played (before the playhead), black
for the region that is buffered, and is hollow for the rest.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.updateProgress): Update progress is now completely
shared between OS X and iOS. This calls the implementation specific
drawTimelineBackground.
(Controller.prototype.drawTimelineBackground): Move the OS X code to here.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-timeline): New styles for the timeline. Updated thumb image, etc.
(video::-webkit-media-controls-timeline::-webkit-slider-runnable-track):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb:active):
(video::-webkit-media-controls-time-remaining-display):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS): Create a globally unique canvas context name in the constructor.
(ControllerIOS.prototype.createControls): Set the background of the timeline to a canvas.
(ControllerIOS.prototype.addRoundedRect): Helper function.
(ControllerIOS.prototype.drawTimelineBackground): Draw the 3-style content.
(ControllerIOS.prototype.updateProgress): Deleted.

2:20 PM Changeset in webkit [180012] by benjamin@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Simplify the initialization of BytecodeGenerator a bit
https://bugs.webkit.org/show_bug.cgi?id=141505

Reviewed by Anders Carlsson.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:

Setup the default initialization at the declaration level
instead of the constructor.

Also made m_scopeNode and m_codeType const to make it explicit
that they are invariant after construction.

  • parser/Nodes.cpp:
  • runtime/Executable.cpp:

Remove 2 useless #includes.

2:19 PM Changeset in webkit [180011] by Brent Fulgham
  • 18 edits
    1 add in branches/safari-600.5-branch

Merge r179993. <rdar://problem/19813975>

2015-02-11 Brent Fulgham <Brent Fulgham>

[Win] [64-bit] Work around MSVC2013 Runtime Bug
https://bugs.webkit.org/show_bug.cgi?id=141498
<rdar://problem/19803642>

Reviewed by Anders Carlsson.

Disable FMA3 instruction use in the MSVC math library to
work around a VS2013 runtime crash. We can remove this
workaround when we switch to VS2015.

Source/JavaScriptCore:

  • API/tests/testapi.c: Call _set_FMA3_enable(0) to disable FMA3 support.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add new files.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • JavaScriptCore.vcxproj/JavaScriptCoreDLL.cpp: Added.
  • JavaScriptCore.vcxproj/jsc/DLLLauncherMain.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.
  • jsc.cpp: Ditto.
  • testRegExp.cpp: Ditto.

Source/WebKit/win:

  • WebKitDLL.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Add new files.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
  • wtf/win/WTFDLL.cpp: Added.

Tools:

  • DumpRenderTree/cg/ImageDiffCG.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.
  • DumpRenderTree/win/DumpRenderTree.cpp: Ditto.
  • DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
  • DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
  • Scripts/webkitperl/httpd.pm: Ditto.
  • TestWebKitAPI/win/main.cpp: Ditto.
  • WinLauncher/Common.cpp: Ditto.
  • win/DLLLauncher/DLLLauncherMain.cpp: Ditto.
2:18 PM Changeset in webkit [180010] by benjamin@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Move the generators for GetScope and SkipScope to the common core in DFGSpeculativeJIT
https://bugs.webkit.org/show_bug.cgi?id=141506

Reviewed by Michael Saboff.

The generators for the nodes GetScope and SkipScope were
completely identical between 32 and 64bits.

This patch moves the duplicated code to DFGSpeculativeJIT.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetScope):
(JSC::DFG::SpeculativeJIT::compileSkipScope):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

1:33 PM Changeset in webkit [180009] by Brent Fulgham
  • 2 edits in branches/safari-600.1.17-branch/Tools

Merge r179996.

2015-02-12 Brent Fulgham <Brent Fulgham>

[Win] Test bot infrastructure should not try to find/use old Safari DLLs
https://bugs.webkit.org/show_bug.cgi?id=141517

Reviewed by Anders Carlsson.

We do not need to locate or use the DLL's that came with Safari, so stop
failing when we cannot find them. Also remove some old Qt cruft from this
script.

  • BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): (extractBuiltProduct):
1:31 PM Changeset in webkit [180008] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

WebKit persistent cache uses a lot of threads
https://bugs.webkit.org/show_bug.cgi?id=141520

Reviewed by Andreas Kling.

Parallel retrieves are limited but stores are not. We may end up with lots of backround io
dispatch queue threads if they don't complete fast enough.

This patch adds pending state for write operations similar to what retrieves already have
and limits to number of active operations.

  • NetworkProcess/cache/NetworkCacheStorage.h:

Combine StoreOperation and UpdateOperation and rename to WriteOperation.
Rename RetrieveOperation to ReadOperation.
The idea is to emphasize that these are disk operations.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::dispatchReadOperation):
(WebKit::NetworkCacheStorage::dispatchPendingReadOperations):
(WebKit::retrieveFromMemory):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::dispatchPendingWriteOperations):

Only allow 3 parallel writes.

(WebKit::NetworkCacheStorage::dispatchFullWriteOperation):
(WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation):

More informative names.

(WebKit::NetworkCacheStorage::dispatchRetrieveOperation): Deleted.
(WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations): Deleted.
(WebKit::retrieveActive): Deleted.

1:18 PM Changeset in webkit [180007] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Fix some Mac linker warnings
https://bugs.webkit.org/show_bug.cgi?id=141522

Patch by Daniel Bates <dabates@apple.com> on 2015-02-12
Reviewed by Alex Christensen.

Following <https://trac.webkit.org/changeset/179945>, the linker warns about the following hidden WebCore symbols:

ld: warning: cannot export hidden symbol ZN7WebCore20LogNotYetImplementedE from /.../OpenSource/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/Logging.o
ld: warning: cannot export hidden symbol _wkCreateURLPasteboardFlavorTypeName from /.../OpenSource/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCoreSystemInterface.o
ld: warning: cannot export hidden symbol _wkCreateURLNPasteboardFlavorTypeName from /.../OpenSource/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCoreSystemInterface.o

  • WebCore.exp.in: Remove symbols for functions wkCreateURLPasteboardFlavorTypeName and wkCreateURLNPasteboardFlavorTypeName.
  • platform/Logging.h: Export WTFLogChannel for LogNotYetImplemented, which is referenced from

notImplementedLoggingChannel() in file NotImplemented.cpp. We make use of the associated
header, NotImplemented.h, in both WebKit and WebKit2.

  • platform/mac/WebCoreSystemInterface.mm: Remove declarations for functions

wkCreateURLPasteboardFlavorTypeName and wkCreateURLNPasteboardFlavorTypeName that
were inadvertently not removed in r25494.

1:13 PM Changeset in webkit [180006] by Brent Fulgham
  • 18 edits
    2 adds in branches/safari-600.1.17-branch

Merge r179993. <rdar://problem/19803642>

2015-02-11 Brent Fulgham <Brent Fulgham>

[Win] [64-bit] Work around MSVC2013 Runtime Bug
https://bugs.webkit.org/show_bug.cgi?id=141498
<rdar://problem/19803642>

Reviewed by Anders Carlsson.

Disable FMA3 instruction use in the MSVC math library to
work around a VS2013 runtime crash. We can remove this
workaround when we switch to VS2015.

Source/JavaScriptCore:

  • API/tests/testapi.c: Call _set_FMA3_enable(0) to disable FMA3 support.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Add new files.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • JavaScriptCore.vcxproj/JavaScriptCoreDLL.cpp: Added.
  • JavaScriptCore.vcxproj/jsc/DLLLauncherMain.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.
  • jsc.cpp: Ditto.
  • testRegExp.cpp: Ditto.

Source/WebKit/win:

  • WebKitDLL.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Add new files.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
  • wtf/win/WTFDLL.cpp: Added.

Tools:

  • DumpRenderTree/cg/ImageDiffCG.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.
  • DumpRenderTree/win/DumpRenderTree.cpp: Ditto.
  • DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
  • DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
  • TestWebKitAPI/win/main.cpp: Ditto.
  • WinLauncher/Common.cpp: Ditto.
  • win/DLLLauncher/DLLLauncherMain.cpp: Ditto.
12:47 PM Changeset in webkit [180005] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Web Inspector: Crash inspecting styles of element with mutated stylesheet
https://bugs.webkit.org/show_bug.cgi?id=141451

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

Source/WebCore:

Test: inspector/css/stylesheet-with-mutations.html

  • css/CSSStyleSheet.h:
  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::didMutateRules):
Keep a flag on the CSSStyleSheet to know when it has had a rule
mutation from the contents.

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

(WebCore::InspectorStyleSheet::reparseStyleSheet):
When completely replacing the stylesheet's contents, we will have
destroyed any previous rules, so clear the has mutations flag.

(WebCore::selectorsFromSource):
Previously there was a mismatch between the rules the parsed
SourceData had, and the actual CSSSelectors we were iterating.
We use the SourceData so we can get the exact user authored
text instead of generated longhands from actualy selector objects.
Add an ASSERT and bail to catch and more gracefully handle
any possible mismatches in the future.

(WebCore::InspectorStyleSheet::styleSheetMutated):
(WebCore::InspectorStyleSheet::ensureParsedDataReady):
When a CSSStyleSheet has been mutated beyond the inspector's
knowledge right now, fall back to readonly generated selectors.
We should better handle this in the future:
<https://webkit.org/b/141450> Web Inspector: Better support for CSSOM StyleSheet mutations (insertRule/deleteRule)

LayoutTests:

  • inspector/css/stylesheet-with-mutations-expected.txt: Added.
  • inspector/css/stylesheet-with-mutations.html: Added.

Previously this test would crash, or in debug builds show one
of the two selectors in the rule.

12:30 PM Changeset in webkit [180004] by Brian Burg
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: add keyboard shortcut to enable/disable all breakpoints
https://bugs.webkit.org/show_bug.cgi?id=141527

Reviewed by Joseph Pecoraro.

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

(WebInspector.DebuggerSidebarPanel): Bind Command/Control + Y to toggle breakpoints button.

12:00 PM Changeset in webkit [180003] by commit-queue@webkit.org
  • 7 edits
    2 deletes in trunk

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

caused debug tests to fail (Requested by alexchristensen on
#webkit).

Reverted changeset:

"[CSS Grid Layout] Invalid initialization of track sizes with
non spanning grid items"
https://bugs.webkit.org/show_bug.cgi?id=140763
http://trac.webkit.org/changeset/179987

11:57 AM Changeset in webkit [180002] by achristensen@apple.com
  • 1 edit
    1 delete in trunk/Tools

Removed empty directory.

  • WinCELauncher: Removed.
11:00 AM Changeset in webkit [180001] by Brian Burg
  • 17 edits
    2 moves in trunk/Source/WebInspectorUI

Web Inspector: support adding and removing timelines to the timeline sidebar panel and overview
https://bugs.webkit.org/show_bug.cgi?id=138434

Reviewed by Timothy Hatcher.

A timeline recording's timelines should not be static. This patch adds relevant machinery to
dynamically add and remove timelines from the Timeline model object and its various views.

From the model side, this is a simple change that adds TimelineAdded and TimelineRemoved events.
The timeline views and timeline sidebar require more extensive changes to support this functionality.
Instead of keeping a fixed set of timeline tree elements, the sidebar view now adds and removes
tree elements to reflect the available timelines for the displayed timeline recording.

This change also includes several minor cleanups, such as appending 'Element' to view properties that
are DOM elements, and renaming TimelineContentView to TimelineRecordingContentView.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype._loadNewRecording):
Populate predefined network, layout, and script timelines here after constructing the recording.

  • UserInterface/Main.html:
  • UserInterface/Models/Timeline.js:

Move hardcoded class names and localized strings to these base class methods. This is not implemented
using overridden methods because not all timeline types have their own subclasses. Add a dummy
implementation of saveIdentityToCookie() to avoid warnings when saving sidebar panel selection state.

(WebInspector.Timeline.prototype.get type):
(WebInspector.Timeline.prototype.get displayName): Added.
(WebInspector.Timeline.prototype.get iconClassName): Added.
(WebInspector.Timeline.prototype.addRecord):

  • UserInterface/Models/TimelineRecording.js:

(WebInspector.TimelineRecording):
(WebInspector.TimelineRecording.prototype.addTimeline.set timeline): Added.
(WebInspector.TimelineRecording.prototype.addTimeline): Added.
(WebInspector.TimelineRecording.prototype.removeTimeline.get this): Added.
(WebInspector.TimelineRecording.prototype.removeTimeline): Added.

  • UserInterface/Views/ContentView.js:

(WebInspector.ContentView):

  • UserInterface/Views/LayoutTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted.

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
(WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie): Fix error message formatting.
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):

  • UserInterface/Views/NetworkTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted.

  • UserInterface/Views/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/ScriptTimelineView.css:

(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted.

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype._treeElementSelected):
(WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/TimelineOverview.js:

Convert this class to use the representedObject class pattern. It manages its own mapping from timelines
to overview graph views. Append 'Element' to some properties holding DOM elements.
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.get visibleDuration):
(WebInspector.TimelineOverview.prototype.reset):
(WebInspector.TimelineOverview.prototype.updateLayout):
(WebInspector.TimelineOverview.prototype._handleScrollEvent):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):
(WebInspector.TimelineOverview.prototype._timelineRemoved):
(WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):

  • UserInterface/Views/TimelineRecordingContentView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/TimelineContentView.css.

Remove hard-coded top offsets and heights that need to be dynamically calculated.
(.content-view.timeline-recording > .timeline-overview):
(.content-view.timeline-recording > .view-container):
(.content-view.timeline-recording > .view-container > .timeline-view > .data-grid td):
(.content-view.timeline-recording > .view-container > .timeline-view > .data-grid table.data):

  • UserInterface/Views/TimelineRecordingContentView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/TimelineContentView.js.

Manage timeline views and path components dynamically. Adjust view heights as necessary. Append 'Element'
to some properties holding DOM elements.
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype.showOverviewTimelineView):
(WebInspector.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
(WebInspector.TimelineRecordingContentView.prototype.get allowedNavigationSidebarPanels):
(WebInspector.TimelineRecordingContentView.prototype.get supportsSplitContentBrowser):
(WebInspector.TimelineRecordingContentView.prototype.get navigationItems):
(WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView):
(WebInspector.TimelineRecordingContentView.prototype.shown):
(WebInspector.TimelineRecordingContentView.prototype.hidden):
(WebInspector.TimelineRecordingContentView.prototype.filterDidChange):
(WebInspector.TimelineRecordingContentView.prototype.updateLayout):
(WebInspector.TimelineRecordingContentView.prototype.saveToCookie):
(WebInspector.TimelineRecordingContentView.prototype.restoreFromCookie):
(WebInspector.TimelineRecordingContentView.prototype.get matchTreeElementAgainstCustomFilters.checkTimeBounds):
(WebInspector.TimelineRecordingContentView.prototype.get matchTreeElementAgainstCustomFilters):
(WebInspector.TimelineRecordingContentView.prototype._pathComponentSelected):
(WebInspector.TimelineRecordingContentView.prototype._timelineViewSelectionPathComponentsDidChange):
(WebInspector.TimelineRecordingContentView.prototype._showTimelineView):
(WebInspector.TimelineRecordingContentView.prototype._update):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._startUpdatingCurrentTime):
(WebInspector.TimelineRecordingContentView.prototype._stopUpdatingCurrentTime):
(WebInspector.TimelineRecordingContentView.prototype._capturingStarted):
(WebInspector.TimelineRecordingContentView.prototype._capturingStopped):
(WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
(WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
Fix a minor regression where we make a useless call to stop updating the time.

(WebInspector.TimelineRecordingContentView.prototype._recordingTimesUpdated):
(WebInspector.TimelineRecordingContentView.prototype._clearTimeline):
(WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
(WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
(WebInspector.TimelineRecordingContentView.prototype._recordingReset):
(WebInspector.TimelineRecordingContentView.prototype._recordingUnloaded):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):

  • UserInterface/Views/TimelineSidebarPanel.css:

(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing > .content):
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content): Deleted.

  • UserInterface/Views/TimelineSidebarPanel.js:

Manage timeline tree elements dynamically. Adjust view heights as necessary. Append 'Element'
to some properties holding DOM elements. Keep track of the displayed recording and view explicitly.
(WebInspector.TimelineSidebarPanel):
(WebInspector.TimelineSidebarPanel.prototype.shown):
(WebInspector.TimelineSidebarPanel.prototype.showDefaultContentView):
(WebInspector.TimelineSidebarPanel.prototype.treeElementForRepresentedObject.looselyCompareRepresentedObjects):
(WebInspector.TimelineSidebarPanel.prototype.showTimelineOverview):
(WebInspector.TimelineSidebarPanel.prototype.updateFilter):
(WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.TimelineSidebarPanel.prototype.canShowDifferentContentView):
(WebInspector.TimelineSidebarPanel.prototype.saveStateToCookie):
(WebInspector.TimelineSidebarPanel.prototype.get if):
(WebInspector.TimelineSidebarPanel.prototype._contentBrowserCurrentContentViewDidChange):
(WebInspector.TimelineSidebarPanel.prototype._recordingCountChanged):
(WebInspector.TimelineSidebarPanel.prototype._recordingSelected):
(WebInspector.TimelineSidebarPanel.prototype._recordingLoaded):
(WebInspector.TimelineSidebarPanel.prototype._timelineRemoved):
(WebInspector.TimelineSidebarPanel.prototype._timelineCountChanged):
(WebInspector.TimelineSidebarPanel.createTimelineTreeElement): Deleted.
(WebInspector.TimelineSidebarPanel.prototype.restoreStateFromCookie):

  • UserInterface/Views/TimelineView.css:

(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
(.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.

10:50 AM Changeset in webkit [180000] by rniwa@webkit.org
  • 7 edits in trunk/Websites/perf.webkit.org

Perf dashboard should show the results of A/B testing
https://bugs.webkit.org/show_bug.cgi?id=141500

Reviewed by Chris Dumez.

Added the support for fetching test_runs for a specific test group in /api/runs/, and used it in the
analysis task page to fetch results for each test group.

Merged App.createChartData into App.Manifest.fetchRunsWithPlatformAndMetric so that App.BuildRequest
can use the formatter.

  • public/api/runs.php:

(fetch_runs_for_config_and_test_group): Added.
(fetch_runs_for_config): Just return the fetched rows since main will format them with RunsGenerator.
(main): Use fetch_runs_for_config_and_test_group to fetch rows when a test group id is specified. Also
use RunsGenerator to format results.
(RunsGenerator): Added.
(RunsGenerator::construct): Added.
(RunsGenerator::add_runs): Added.
(RunsGenerator::format_run): Moved.
(RunsGenerator::parse_revisions_array): Moved.

  • public/v2/analysis.js:

(App.TestGroup): Fixed a typo. The property on a test group that refers to an analysis task is "task".
(App.TestGroup._fetchChartData): Added. Fetches all A/B testing results for this group.
(App.BuildRequest.configLetter): Renamed from config since this returns a letter that identifies the
configuration associated with this build request such as "A" and "B".
(App.BuildRequest.statusLabel): Added the missing label for failed build requests.
(App.BuildRequest.url): Added. Returns the URL associated with this build request.
(App.BuildRequest._meanFetched): Added. Retrieve the mean and the build number for this request via
_fetchChartData.

  • public/v2/app.js:

(App.Pane._fetch): Set chartData directly here.
(App.Pane._updateMovingAverageAndEnvelope): Renamed from _computeChartData. No longer sets chartData
now that it's done in App.Pane._fetch.
(App.AnalysisTaskController._fetchedRuns): Updated per createChartData merge.

  • public/v2/data.js:

(Measurement.prototype.buildId): Added.
(TimeSeries.prototype.findPointByBuild): Added.

  • public/v2/index.html: Fixed a bug that build status URL was broken. We can't use link-to helper since

url is not an Ember routed path.

  • public/v2/manifest.js:

(App.Manifest.fetchRunsWithPlatformAndMetric): Takes testGroupId as the third argument. Merged
App.createChartData here so that App.BuildRequest can use the formatter

10:42 AM Changeset in webkit [179999] by Brian Burg
  • 9 edits in trunk/Source/WebInspectorUI

Web Inspector: Large background image fails to load in inspector
https://bugs.webkit.org/show_bug.cgi?id=141405

Reviewed by Timothy Hatcher.

Convert base64-encoded resource data to binary data using Uint8Array and Blobs.
Use object URLs for blobs instead of data URLs when setting image 'src' attribute
and in @font-face urls. This conversion happens when the backend indicates that
resource content is base64-encoded.

Update image and font clients of resource-fetching functionality so that they use
object URLs correctly. Add some plumbing so that Blobs can be constructed with
the correct mime-type.

  • UserInterface/Base/Utilities.js:

(decodeBase64ToBlob): Added.

  • UserInterface/Models/CSSStyleSheet.js:

(WebInspector.CSSStyleSheet.prototype.get mimeType): Added.

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.createObjectURL): Added.
(WebInspector.Resource.prototype.getImageSize.imageDidLoad):
(WebInspector.Resource.prototype.getImageSize):
(WebInspector.Resource.prototype.get contentURL): Deleted.

  • UserInterface/Models/Script.js:

(WebInspector.Script.prototype.get mimeType): Added.

  • UserInterface/Models/SourceCode.js:

(WebInspector.SourceCode.prototype.get mimeType): Added.
(WebInspector.SourceCode.prototype._processContent):
(WebInspector.SourceCode.prototype.get contentIsBase64Encoded): Deleted.

  • UserInterface/Models/SourceCodeRevision.js:

(WebInspector.SourceCodeRevision):
(WebInspector.SourceCodeRevision.prototype.copy):
(WebInspector.SourceCodeRevision.prototype.get contentIsBase64Encoded): Deleted.
(WebInspector.SourceCodeRevision.prototype.set contentIsBase64Encoded): Deleted.

  • UserInterface/Views/FontResourceContentView.js:

(WebInspector.FontResourceContentView.prototype.hidden):
(WebInspector.FontResourceContentView.prototype.closed):

  • UserInterface/Views/ImageResourceContentView.js:

(WebInspector.ImageResourceContentView.prototype.contentAvailable):

10:35 AM Changeset in webkit [179998] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests --remote should be able add the necessary libraries to the bundle on Linux
https://bugs.webkit.org/show_bug.cgi?id=141202

Reviewed by Darin Adler.

  • Scripts/run-jsc-stress-tests:
10:21 AM Changeset in webkit [179997] by Brian Burg
  • 2 edits in trunk/Source/WebCore

REGRESSION(r178060): empty arguments are passed when logging to system console
https://bugs.webkit.org/show_bug.cgi?id=141511

Reviewed by Timothy Hatcher.

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::messageWithTypeAndLevel): Change premature move to copyRef.

9:48 AM Changeset in webkit [179996] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Test bot infrastructure should not try to find/use old Safari DLLs
https://bugs.webkit.org/show_bug.cgi?id=141517

Reviewed by Anders Carlsson.

We do not need to locate or use the DLL's that came with Safari, so stop
failing when we cannot find them. Also remove some old Qt cruft from this
script.

  • BuildSlaveSupport/built-product-archive:

(archiveBuiltProduct):
(extractBuiltProduct):

9:44 AM Changeset in webkit [179995] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

<rdar://problem/17889529> CrashTracer: [USER] com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::SharedBuffer::createPurgeableBuffer const + 14

Reviewed by NOBODY (OOPS!).

Speculative fix for the above crash. The current theory is that a timer is being fired for a
CachedResource that has been freed. Add a marker field in CachedResource to do an early
return from CachedResource::makePurgeable() when this happens.

No new tests because I can't reproduce the crash.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):
(WebCore::CachedResource::makePurgeable):

  • loader/cache/CachedResource.h:
9:37 AM Changeset in webkit [179994] by matthew_hanson@apple.com
  • 7 edits
    2 adds in branches/safari-600.5-branch

Merge r179883. rdar://problem/19790645

9:30 AM WebKitGTK/Eclipse edited by clopez@igalia.com
(diff)
9:20 AM Changeset in webkit [179993] by Brent Fulgham
  • 19 edits
    2 adds in trunk

[Win] [64-bit] Work around MSVC2013 Runtime Bug
https://bugs.webkit.org/show_bug.cgi?id=141498
<rdar://problem/19803642>

Reviewed by Anders Carlsson.

Disable FMA3 instruction use in the MSVC math library to
work around a VS2013 runtime crash. We can remove this
workaround when we switch to VS2015.

Source/JavaScriptCore:

  • API/tests/testapi.c: Call _set_FMA3_enable(0) to disable

FMA3 support.

to disable FMA3 support.

  • jsc.cpp: Ditto.
  • testRegExp.cpp: Ditto.

Source/WebKit/win:

  • WebKitDLL.cpp: Call _set_FMA3_enable(0) to disable FMA3 support.

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Add new files.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
  • wtf/win/WTFDLL.cpp: Added.

Tools:

  • DumpRenderTree/cg/ImageDiffCG.cpp: Call _set_FMA3_enable(0) to

disable FMA3 support.

  • DumpRenderTree/win/DumpRenderTree.cpp: Ditto.
  • DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
  • DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
  • Scripts/webkitperl/httpd.pm: Ditto.
  • TestWebKitAPI/win/main.cpp: Ditto.
  • WinLauncher/Common.cpp: Ditto.
  • win/DLLLauncher/DLLLauncherMain.cpp: Ditto.
9:12 AM Changeset in webkit [179992] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit

Merge r178470. rdar://problem/19739095

9:12 AM WebKitGTK/Eclipse edited by clopez@igalia.com
(diff)
8:48 AM Changeset in webkit [179991] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed debug build fix after r179980.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::currentViewportSize):
Explicitly call constructor.

8:35 AM Changeset in webkit [179990] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Two tests have been failing since r148090.

  • platform/efl/TestExpectations: Skip 2 failure tests.
8:32 AM Changeset in webkit [179989] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

v2 UI should adjust the number of ticks on dashboards based on screen size
https://bugs.webkit.org/show_bug.cgi?id=141502

Reviewed by Chris Dumez.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._updateDimensionsIfNeeded): Compute the number of ticks based on the
content size.

8:25 AM Changeset in webkit [179988] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening.

  • platform/efl/TestExpectations: Mark two tests failing since r177664.
8:14 AM Changeset in webkit [179987] by svillar@igalia.com
  • 7 edits
    2 adds 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.
8:08 AM Changeset in webkit [179986] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

run-jsc-stress-tests should accept remote host config from JSON file
https://bugs.webkit.org/show_bug.cgi?id=141509

Reviewed by Michael Saboff.

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests):

  • Scripts/run-jsc-stress-tests:
8:04 AM HackingWebInspector edited by Brian Burg
(diff)
6:25 AM Changeset in webkit [179985] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Remove the USE(ACCELERATED_COMPOSITING) guard from the
MediaPlayerPrivateGStreamerBase destructor.

The guard was removed in r163079. It was still defined through CMake
for the EFL and GTK ports when the guarded code was introduced in
r172828. In r171741 the macro was finally removed for the GTK and EFL
ports as well, but the guards for the affected code weren't updated
so TextureMapperPlatformLayer::Client::platformLayerWillBeDestroyed()
wasn't being called anymore.

Rubber-stamped by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):

5:54 AM WebKitGTK edited by clopez@igalia.com
(diff)
5:49 AM WebKitGTK/Eclipse edited by eocanha@igalia.com
(diff)
5:41 AM WebKitGTK/Eclipse created by clopez@igalia.com
5:11 AM WebKitGTK/Roadmap edited by tpopela@redhat.com
(diff)
3:29 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
2:48 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
12:50 AM Changeset in webkit [179984] by Carlos Garcia Campos
  • 12 edits
    5 adds in trunk

[GTK] Add API to allow overriding the default color chooser implementation
https://bugs.webkit.org/show_bug.cgi?id=98935

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add API to allow the user to override the default UI of color
chooser. Similar to the file chooser API, a new run-color-chooser
signal is added to WebKitWebView that passes a WebKitColorChooserRequest
parameter to the signal.

Initial patch by Arnaud Renevier <a.renevier@sisa.samsung.com>.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::createColorPicker): Create a
WebKitColorChooser is the view widget is a WebKitWebView or a
WebColorPicker otherwise,

  • UIProcess/API/gtk/WebKitColorChooser.cpp: Added.

(WebKit::WebKitColorChooser::create):
(WebKit::WebKitColorChooser::WebKitColorChooser):
(WebKit::WebKitColorChooser::~WebKitColorChooser):
(WebKit::WebKitColorChooser::endPicker): Chain up to parent class
when not having a request, or finish the request if we have one.
(WebKit::WebKitColorChooser::colorChooserRequestFinished):
(WebKit::WebKitColorChooser::colorChooserRequestRGBAChanged):
(WebKit::WebKitColorChooser::showColorPicker): Create a new
WebKitColorChooserRequest and emit WebKitWebView::run-color-chooser.
If the signal is not handled, fallback to the default color
chooser dialog implemented by the parent class.

  • UIProcess/API/gtk/WebKitColorChooser.h: Added.
  • UIProcess/API/gtk/WebKitColorChooserRequest.cpp: Added.

(webkitColorChooserRequestGetProperty):
(webkitColorChooserRequestSetProperty):
(webkit_color_chooser_request_class_init):
(webkit_color_chooser_request_set_rgba):
(webkit_color_chooser_request_get_rgba):
(webkit_color_chooser_request_get_element_rectangle):
(webkit_color_chooser_request_finish):
(webkit_color_chooser_request_cancel):
(webkitColorChooserRequestCreate):

  • UIProcess/API/gtk/WebKitColorChooserRequest.h: Added.
  • UIProcess/API/gtk/WebKitColorChooserRequestPrivate.h: Added.
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init): Add run-color-chooser signal.
(webkitWebViewEmitRunColorChooser): Emit run-color-chooser signal.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for WebKitColorChooserRequest.
  • UIProcess/API/gtk/webkit2.h: Include WebKitColorChooserRequest.h

Tools:

Add a color chooser implementation for MiniBrowser using
GtkPopover when the GTK+ version is recent enough.
And a test case to check the new color chooser API.

  • MiniBrowser/gtk/BrowserWindow.c:

(colorChooserRGBAChanged):
(popoverColorClosed):
(colorChooserRequestFinished):
(runColorChooserCallback):
(browserWindowConstructed):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewColorChooserRequest):
(beforeAll):

Feb 11, 2015:

11:08 PM Changeset in webkit [179983] by Chris Fleizach
  • 2 edits
    1 move in trunk/LayoutTests

AX: Undeprecate ios-simulator accessibility tests
https://bugs.webkit.org/show_bug.cgi?id=141407

Reviewed by Daniel Bates.

Undeprecate ios accessibility tests.
Modified one failing test (svg-group-element-with-title.html) slightly to get it to pass.

  • platform/ios-sim-deprecated/accessibility: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-aria-table-children-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-aria-table-children.html: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-crash-in-axcontainer-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-crash-in-axcontainer.html: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-hint-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/accessibility-hint.html: Removed.
  • platform/ios-sim-deprecated/accessibility/aria-label-with-internal-text-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/aria-label-with-internal-text.html: Removed.
  • platform/ios-sim-deprecated/accessibility/aria-pressed-state-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/aria-pressed-state.html: Removed.
  • platform/ios-sim-deprecated/accessibility/centerpoint-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/centerpoint.html: Removed.
  • platform/ios-sim-deprecated/accessibility/disabled-states-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/disabled-states.html: Removed.
  • platform/ios-sim-deprecated/accessibility/dom-focus-fires-on-correct-element-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/dom-focus-fires-on-correct-element.html: Removed.
  • platform/ios-sim-deprecated/accessibility/element-paths-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/element-paths.html: Removed.
  • platform/ios-sim-deprecated/accessibility/file-upload-button-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/file-upload-button.html: Removed.
  • platform/ios-sim-deprecated/accessibility/focus-change-notifications-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/focus-change-notifications.html: Removed.
  • platform/ios-sim-deprecated/accessibility/header-elements-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/header-elements.html: Removed.
  • platform/ios-sim-deprecated/accessibility/identifier-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/identifier.html: Removed.
  • platform/ios-sim-deprecated/accessibility/internal-link-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/internal-link.html: Removed.
  • platform/ios-sim-deprecated/accessibility/landmark-type-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/landmark-type.html: Removed.
  • platform/ios-sim-deprecated/accessibility/link-with-images-text-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/link-with-images-text.html: Removed.
  • platform/ios-sim-deprecated/accessibility/link-with-only-image-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/link-with-only-image.html: Removed.
  • platform/ios-sim-deprecated/accessibility/math-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/math.html: Removed.
  • platform/ios-sim-deprecated/accessibility/mixed-checkboxes-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/mixed-checkboxes.html: Removed.
  • platform/ios-sim-deprecated/accessibility/no-child-link-header-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/no-child-link-header.html: Removed.
  • platform/ios-sim-deprecated/accessibility/non-contiguous-link-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/non-contiguous-link.html: Removed.
  • platform/ios-sim-deprecated/accessibility/out-of-bounds-child-access-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/out-of-bounds-child-access.html: Removed.
  • platform/ios-sim-deprecated/accessibility/password-value-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/password-value.html: Removed.
  • platform/ios-sim-deprecated/accessibility/placeholder-value-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/placeholder-value.html: Removed.
  • platform/ios-sim-deprecated/accessibility/popup-button-value-label-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/popup-button-value-label.html: Removed.
  • platform/ios-sim-deprecated/accessibility/progressbar-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/progressbar.html: Removed.
  • platform/ios-sim-deprecated/accessibility/radio-button-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/radio-button.html: Removed.
  • platform/ios-sim-deprecated/accessibility/secure-text-field-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/secure-text-field.html: Removed.
  • platform/ios-sim-deprecated/accessibility/selected-buttons-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/selected-buttons.html: Removed.
  • platform/ios-sim-deprecated/accessibility/selected-text-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/selected-text.html: Removed.
  • platform/ios-sim-deprecated/accessibility/svg-group-element-with-title-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/svg-group-element-with-title.html: Removed.
  • platform/ios-sim-deprecated/accessibility/svg-path-crash-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/svg-path-crash.html: Removed.
  • platform/ios-sim-deprecated/accessibility/tab-role-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/tab-role.html: Removed.
  • platform/ios-sim-deprecated/accessibility/table-cell-for-row-col-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/table-cell-for-row-col.html: Removed.
  • platform/ios-sim-deprecated/accessibility/table-cell-ranges-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/table-cell-ranges.html: Removed.
  • platform/ios-sim-deprecated/accessibility/table-with-mismatch-column-count-in-initial-section-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/tables-lists-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/tables-lists.html: Removed.
  • platform/ios-sim-deprecated/accessibility/text-line-no-ignored-elements-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/text-line-no-ignored-elements.html: Removed.
  • platform/ios-sim-deprecated/accessibility/text-marker-list-item-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/text-marker-list-item.html: Removed.
  • platform/ios-sim-deprecated/accessibility/text-marker-validation-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/text-marker-validation.html: Removed.
  • platform/ios-sim-deprecated/accessibility/text-role-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/text-role.html: Removed.
  • platform/ios-sim-deprecated/accessibility/textfield-in-axvalue-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/textfield-in-axvalue.html: Removed.
  • platform/ios-sim-deprecated/accessibility/toggle-button-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/toggle-button.html: Removed.
  • platform/ios-sim-deprecated/accessibility/url-test-expected.txt: Removed.
  • platform/ios-sim-deprecated/accessibility/url-test.html: Removed.
  • platform/ios-simulator/accessibility: Copied from LayoutTests/platform/ios-sim-deprecated/accessibility.
  • platform/ios-simulator/accessibility/svg-group-element-with-title.html:
9:09 PM Changeset in webkit [179982] by Darin Adler
  • 22 edits in trunk/Source/WebCore

Streamline and simplify SVGSVGElement and related classes
https://bugs.webkit.org/show_bug.cgi?id=141463

Reviewed by Antti Koivisto.

  • dom/Document.cpp: Removed unneeded include of SVGSVGElement.h.
  • loader/FrameLoader.cpp: Ditto.
  • rendering/RenderBoxModelObject.cpp: Ditto.
  • rendering/svg/RenderSVGForeignObject.cpp: Ditto.
  • svg/SVGImageElement.cpp: Ditto.
  • svg/SVGMarkerElement.cpp: Ditto.
  • svg/SVGPathElement.cpp: Ditto.
  • svg/SVGPatternElement.cpp: Ditto.
  • svg/SVGTransform.cpp: Ditto.
  • page/FrameView.cpp:

(WebCore::FrameView::scrollToAnchor): Updated to call the SVGSVGElement function
named scrollToAnchor (was setupInitialView). Also refactored to avoid repeating
the expression frame().document() so often.

  • platform/graphics/FloatSize.h: Added operator/.
  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::rootElement): Rearranged to use early return.
(WebCore::SVGDocument::zoomAndPanEnabled): Ditto.
(WebCore::SVGDocument::startPan): Ditto. Also used FloatPoint math instead
of breaking things apart into x and y.
(WebCore::SVGDocument::updatePan): Ditto.

  • svg/SVGDocument.h: Removed some unneeded includes and forward declarations.

Moved function bodies out of the class to make it more readable. Renamed
m_translate to m_panningOffset and made it a FloatSize instead of FloatPoint.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::startAnimations): Use a modern for loop
and update since timeContainer() now returns a reference.

  • svg/SVGSVGElement.cpp: Removed many unneeded includes.

(WebCore::SVGSVGElement::SVGSVGElement): Moved initialization of scalars to
the class definition. Updated since m_timerContainer is a Ref (later should
change it to be a std::unique_ptr or just directly contained in SVGSVGElement).
(WebCore::SVGSVGElement::~SVGSVGElement): Removed comment that doesn't say much,
but is worded in a confusing way.
(WebCore::SVGSVGElement::contentScriptType): Use NeverDestroyed instead of
DEPRECATED_DEFINE_STATIC_LOCAL.
(WebCore::SVGSVGElement::contentStyleType): Ditto.
(WebCore::SVGSVGElement::viewport): Streamlined a bit.
(WebCore::SVGSVGElement::pixelUnitToMillimeterX): Ditto.
(WebCore::SVGSVGElement::pixelUnitToMillimeterY): Ditto.
(WebCore::SVGSVGElement::currentView): Changed to return a reference.
(WebCore::SVGSVGElement::frameForCurrentScale): Added. Helper for the two
functions below.
(WebCore::SVGSVGElement::currentScale): Updated to use frameForCurrentScale.
(WebCore::SVGSVGElement::setCurrentScale): Ditto.
(WebCore::SVGSVGElement::setCurrentTranslate): Optimized the case where there
is no change to the translation. Also changed the data member's name to
m_currentTranslate to more directly match the DOM API naming.
(WebCore::SVGSVGElement::parseAttribute): Simplified the parsing a bit, and
changed to pass a reference to SVGZoomAndPan::parseAttribute.
(WebCore::SVGSVGElement::svgAttributeChanged): Tweaked formatting and removed
code that converts the renderer pointer to a RenderObject* unnecessarily.
(WebCore::SVGSVGElement::suspendRedraw): Removed FIXME about implementing this,
since we don't really plan to do that.
(WebCore::SVGSVGElement::unsuspendRedraw): Ditto.
(WebCore::SVGSVGElement::unsuspendRedrawAll): Ditto.
(WebCore::SVGSVGElement::forceRedraw): Ditto.
(WebCore::SVGSVGElement::collectIntersectionOrEnclosureList): Changed return
type to Ref, and pass in a function instead of an enumeration value.
(WebCore::SVGSVGElement::getIntersectionList): Updated for above.
(WebCore::SVGSVGElement::getEnclosureList): Ditto.
(WebCore::SVGSVGElement::checkIntersection): Use && instead of early return
for the null check.
(WebCore::SVGSVGElement::checkEnclosure): Ditto.
(WebCore::SVGSVGElement::createSVGLength): Use initialization list syntax
for greater brevity.
(WebCore::SVGSVGElement::createSVGAngle): Ditto.
(WebCore::SVGSVGElement::createSVGPoint): Ditto.
(WebCore::SVGSVGElement::createSVGMatrix): Ditto.
(WebCore::SVGSVGElement::createSVGRect): Ditto.
(WebCore::SVGSVGElement::createSVGTransform): Removed unneeded explicit
constructor invocation.
(WebCore::SVGSVGElement::createSVGTransformFromMatrix): Removed unneeded cast.
(WebCore::SVGSVGElement::insertedInto): Updated since timeContainer() now
returns a reference.
(WebCore::SVGSVGElement::setCurrentTime): Use isfinite instead of isnan, so
we won't store infinity as the current time.
(WebCore::SVGSVGElement::currentViewBoxRect): Renamed locals and changed
to use initializer lists for brevity.
(WebCore::SVGSVGElement::currentViewportSize): Streamlined code by using
initializer lists, using local variables only for things used more than once,
and using the / operator defined above.
(WebCore::SVGSVGElement::viewBoxToViewTransform): Use the concatenate function
in a way that is more straightforward, rather than doing it with a temporary.
(WebCore::SVGSVGElement::scrollToAnchor): Renamed this from
setupInitialView.
(WebCore::SVGSVGElement::inheritViewAttributes): Changed this to work with
references rather than pointers.
(WebCore::SVGSVGElement::getElementById): Use getAllElementsById as the
FIXME comment suggested for better efficiency when there are a lot of descendants
of the <svg> element at the cost of making it less efficient if there are
a lot of elements all with the desired ID, but not inside the <svg> element.
(WebCore::SVGSVGElement::isValid): Moved here from the header.

  • svg/SVGSVGElement.h: Removed unneeded forward declarations. Moved the

animated properties to the top of the file, then other DOM, the other
public members. Changed return types to references and Ref. Moved
function bodies out of the class definition. Made createSVGNumber inline.

  • svg/SVGViewElement.cpp: Removed unneeded includes.

(WebCore::SVGViewElement::isSupportedAttribute): Deleted.
(WebCore::SVGViewElement::parseAttribute): Changed to not rely on
isSupportedAttribute. Eventually I will do this in all the SVG classes.

  • svg/SVGViewSpec.cpp: Removed unneeded include of SVGSVGElement.h.

(WebCore::SVGViewSpec::parseViewSpec): Updated for change in the name
of the parse function in the SVGZoomAndPan class.

  • svg/SVGZoomAndPan.cpp:

(WebCore::SVGZoomAndPan::isKnownAttribute): Deleted.
(WebCore::SVGZoomAndPan::addSupportedAttributes): Deleted.
(WebCore::SVGZoomAndPan::parse): Renamed from parseZoomAndPan since
this is a member of the SVGZoomAndPan class and also has an argument
of SVGZoomAndPanType.
(WebCore::SVGZoomAndPan::parseAttributeValue): Added. Helper so the
template function is not so big. Also write it in a simpler way.
(WebCore::SVGZoomAndPan::ref): Deleted.
(WebCore::SVGZoomAndPan::deref): Deleted.
(WebCore::SVGZoomAndPan::setZoomAndPan): Deleted.

  • svg/SVGZoomAndPan.h: Removed unneeded includes. Reformatted the enum.

Moved function bodies out of the class definition. Removed many unneeded
functions.

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::insertedInto): Updated since timeContainer
now returns a reference rather than a pointer.

8:37 PM Changeset in webkit [179981] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardenging. Need to mark pointer/hover media query tests as failure.
These tests have been failed since r179055.

  • platform/efl/TestExpectations:
7:53 PM Changeset in webkit [179980] by Darin Adler
  • 18 edits
    2 adds
    10 deletes in trunk

SVGUseElement follow-up improvements
https://bugs.webkit.org/show_bug.cgi?id=141382

Reviewed by Antti Koivisto.

Source/WebCore:

  • loader/cache/CachedSVGDocumentClient.h: Removed unneeded forward declaration.
  • page/EventHandler.cpp: Removed unneeded include of SVGUseElement.h.
  • rendering/svg/RenderSVGViewportContainer.cpp: Ditto.
  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::clearTargetDependencies): Removed too-specific
check that assumed that SVG elements in shadow trees are always for <use> elements.
This amounted to an unneeded optimization that could be removed with no bad effect.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::correspondingElement): Removed the assertions so this could
be used more freely outside of cases where the shadow tree state is fully consistent.
It's fine to have this just be a mechanical getter; there's nothing super-tricky
here that needs to be caught by the assertion.
(WebCore::SVGElement::title): Removed unneeded special handling for titles inside
the shadow tree.

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::create): Added an overload that doesn't require explicitly
passing in the tag name.

  • svg/SVGGElement.h: Ditto.
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::create): Ditto.

  • svg/SVGSVGElement.h: Ditto.
  • svg/SVGUseElement.cpp: Removed a lot of unneeded includes.

(WebCore::SVGUseElement::SVGUseElement): Removed code to initialize some booleans.
We do that in the class definition now.
(WebCore::SVGUseElement::create): Removed the code that calls the
ensureUserAgentShadowRoot function unconditionally. That's properly done when
needed; no need to do it here.
(WebCore::SVGUseElement::~SVGUseElement): Removed unneeded code to destroy the
shadow tree (that happens automatically) and simplified the code to stop loading
the external document.
(WebCore::SVGUseElement::isSupportedAttribute): Deleted.
(WebCore::SVGUseElement::parseAttribute): Simplified this. Removed assumptions
about the intersection of various sets of attributes, and also removed the
isSupportedAttribute function. This seems to serve no purpose here, or in any
other SVG element class. I plan to remove it everywhere over time.
(WebCore::isWellFormedDocument): Deleted.
(WebCore::SVGUseElement::insertedInto): Simplified code by removing all the
special cases during initial parsing, and did the invalidation here rather than
deferring it to didNotifySubtreeInsertions. Added a call to the new function,
updateExternalDocument, since that won't do anything when the element is not
in a document.
(WebCore::SVGUseElement::didNotifySubtreeInsertions): Deleted.
(WebCore::SVGUseElement::removedFrom): Added code to call clearShadowTree and
updateExternalDocument. Both are efficient when doing nothing, and both are
appropriate since the element is no longer in a document.
(WebCore::SVGUseElement::referencedDocument): Deleted. No longer needed.
(WebCore::SVGUseElement::externalDocument): Streamlined the logic here, removing
multiple unneeded checks.
(WebCore::SVGUseElement::transferSizeAttributesToTargetClone): Renamed since
"target clone" is clear enough within this class, without explicitly stating
"shadow tree". All the clones are in the shadow tree.
(WebCore::SVGUseElement::svgAttributeChanged): Removed unneeded code calling
isSupportedAttribute. Changed the code that detects changes in href to just
call updateExternalDocument (for the document URL) and invalidateShadowTree
(for the fragment). Also updated the transferSizeAttributesToTargetClone logic
to only trigger on width and height and updated names.
(WebCore::SVGUseElement::willAttachRenderers): Updated for the new name of
m_shouldRebuildShadowTree and added a call through to the base class.
(WebCore::createAllowedElementSet): Added. A more efficient way to implement
the initialization of the set for isDisallowedElement.
(WebCore::isDisallowedElement): Simplified this by using the function above,
and also overloaded for both SVGElement and Element for a tiny efficiency boost.
(WebCore::SVGUseElement::clearShadowTree): Renamed form clearResourceReferences.
This is a much more straightforward name. Also deleted the code that sets the
m_needsShadowTreeRecreation flag to false. That should be done by the build
function, not here.
(WebCore::SVGUseElement::buildPendingResource): Made this just invalidate the
shadow tree now instead of explicitly building it.
(WebCore::SVGUseElement::updateShadowTree): Moved the code to create a shadow
tree here from buildPendingResource. ALso changed the logic so that we
always blow away the old shadow tree. Moved the comment about rebuilding things
every time here. Updated the code to use the findTarget and cloneTarget functions,
eliminating the buildShadowTree function entirely. Moved the call to
transferSizeAttributesToShadowTreeTargetClone inside cloneTarget. Also updated
for the name change for m_shouldRebuildShadowTree.
(WebCore::SVGUseElement::targetClone): Renamed from shadowTreeTargetClone.
No need to emphasize "shadow tree" since that's where all clones are.
(WebCore::isDirectReference): Streamlined a bit using "using namespace".
(WebCore::SVGUseElement::toClipPath): Rewrote to use early return and updated
for name changes. Also used ASCIILiteral.
(WebCore::SVGUseElement::rendererClipChild): Changed local variable names.
(WebCore::removeDisallowedElementsFromSubtree): Wrote the iteration in a
slightly more idiomatic style.
(WebCore::SVGUseElement::findTarget): Added. This new function implements
the rule for finding a valid target for a use element. This replaces logic
that was duplicated in two different places and it also includes all the
rules that were formerly in the isValidTarget function. Also, this implements
a correct check for a cycle that handles cases the code in isValidTarget did not.
(WebCore::SVGUseElement::isValidTarget): Deleted.
(WebCore::SVGUseElement::cloneTarget): Added. Helper function used both when
cloning the target of the top level <use> elements and for other <use> elements
inside the shadow tree.
(WebCore::cloneDataAndChildren): Added. Helper function that allows both the
<use> and <symbol> element expanding functions to be shorter and share more code.
(WebCore::SVGUseElement::expandUseElementsInShadowTree): Removed unneeded checks
of cachedDocumentIsStillLoading. Used the new findTarget function, which handles
finding the target cross-document correctly. Removed the incorrect use of
referencedDocument when creating new elements and finding targets. Refactored
to use the new cloneDataAndChildren function and also moved the code that removes
the special attributes here, replacing the transferAttributesToShadowTreeReplacement
function. Made a few other simplifications.
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto, just like the
<use> changes only simpler.
(WebCore::SVGUseElement::transferEventListenersToShadowTree): Made this const.
Removed unneeded assertions.
(WebCore::SVGUseElement::invalidateShadowTree): Updated for name change.
(WebCore::SVGUseElement::invalidateDependentShadowTrees): Removed assertion.
(WebCore::SVGUseElement::transferAttributesToShadowTreeReplacement): Deleted.
(WebCore::SVGUseElement::selfHasRelativeLengths): Tweaked names.
(WebCore::SVGUseElement::notifyFinished): Removed the inDocument check, since
this function will only be called for elements that are in a document.
(WebCore::SVGUseElement::cachedDocumentIsStillLoading): Deleted.
(WebCore::SVGUseElement::finishParsingChildren): Removed the code that calls
buildPendingResource here. Shadow tree updating is driven solely by renderer
generation now.
(WebCore::SVGUseElement::updateExternalDocument): Replaced setCachedDocument
with this. This function knows how to load a different document if the URL
has changed, or leave it alone if not, and also stop the load if it should.
(WebCore::SVGUseElement::isValid): Moved this here from the header, since it's
always being called virtually.
(WebCore::SVGUseElement::haveLoadedRequiredResources): Ditto.
(WebCore::SVGUseElement::setHaveFiredLoadEvent): Ditto.
(WebCore::SVGUseElement::haveFiredLoadEvent): Ditto.
(WebCore::SVGUseElement::svgLoadEventTimer): Ditto.

  • svg/SVGUseElement.h: Removed unneeded include. Moved the animated properties

to the top of the class because they are public DOM API and so are logical to
list first. I'd like to do that for other classes too over time. Changed to
derive privately from CachedSVGDocumentClient. Made the function
invalidateDependentShadowTrees private. Removed didNotifySubtreeInsertions,
isSupportedAttribute, clearResourceReferences, buildShadowTree,
transferAttributesToShadowTreeReplacement, isParserInserted, and
m_wasInsertedByParser. Added updateExternalDocument, cloneTarget, targetClone,
updateShadowTree, and clearShadowTree. Also did a couple other renames,
including renaming m_cachedDocument to m_externalDocument.

  • svg/svgtags.in: Removed constructorNeedsCreatedByParser from the <use>

element since we don't have to handle constructing by the parser specially.

LayoutTests:

Modified some tests to be reference tests since the change in implementation slightly changed
the behavior, but not in a way that matters. Other similar updates.

  • TestExpectations: Expect a progression in imported/mozilla/svg/dynamic-use-02.svg.
  • platform/gtk/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png: Removed.
  • platform/gtk/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/gtk/svg/custom/use-property-synchronization-crash-expected.png: Removed.
  • platform/ios-sim-deprecated/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png: Removed.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Removed.
  • platform/mac/svg/custom/use-property-synchronization-crash-expected.png: Removed.
  • svg/animations/use-animate-width-and-height-expected.txt: Updated to expect the new expression

name from the modified test.

  • svg/animations/use-animate-width-and-height.html: THe state of the shadow root now depends on

layout, so force layout before inspecting it.

  • svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.xhtml: Added.
  • svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml: Made this no longer be a

repaint test. Not sure why we are using those in so many cases. Also made it be a reference test.

  • svg/custom/use-property-synchronization-crash-expected.svg: Added.
  • svg/custom/use-property-synchronization-crash-expected.txt: Removed.
7:46 PM Changeset in webkit [179979] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark multi-column failing tests to Failure.
Those tests have been failing since r167808.

  • platform/efl/TestExpectations:
6:33 PM Changeset in webkit [179978] by diorahman@rockybars.com
  • 3 edits
    2 adds in trunk

CSS selector JIT compilation support for :lang()
https://bugs.webkit.org/show_bug.cgi?id=140818

Reviewed by Benjamin Poulain.

Source/WebCore:

Add the JIT support for :lang(), to ensure :lang() no longer force the engine to
the slow path.

Test: fast/selectors/lang-chained-multiple.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
Get rid of the FunctionType::CannotCompile
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):

LayoutTests:

  • fast/selectors/lang-chained-multiple-expected.txt: Added.
  • fast/selectors/lang-chained-multiple.html: Added.
6:25 PM Changeset in webkit [179977] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix more weak external symbol errors.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • page/make_settings.pl:

(printGetterAndSetter):
Remove some WEBCORE_EXPORT macros.

5:46 PM Changeset in webkit [179976] by Lucas Forschler
  • 14 edits in branches/safari-600.5-branch

Merged r177377. rdar://problem/19526158

5:25 PM Changeset in webkit [179975] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

Unreviewed.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView inputAssistantItem]):
(-[WKContentView _inputAssistantItem]):

5:09 PM Changeset in webkit [179974] by achristensen@apple.com
  • 7 edits in trunk/Source/WebCore

Do not export functions defined in headers.
This prevents weak external symbol errors in some configurations.

  • dom/Range.h:

(WebCore::Range::startContainer):
(WebCore::Range::startOffset):
(WebCore::Range::endContainer):
(WebCore::Range::endOffset):

  • inspector/InspectorController.h:
  • page/Settings.h:

(WebCore::Settings::setMediaKeysStorageDirectory):

  • page/make_settings.pl:

(printGetterAndSetter):

  • platform/network/cocoa/ProtectionSpaceCocoa.h:

(WebCore::ProtectionSpace::encodingRequiresPlatformData):

  • platform/text/TextEncoding.h:

(WebCore::TextEncoding::decode):
Removed WEBCORE_EXPORT macros.

4:46 PM Changeset in webkit [179973] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Clicking selected item in the sidebar second time should scroll to the corresponding line
https://bugs.webkit.org/show_bug.cgi?id=140280

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-02-11
Reviewed by Brian Burg.

  • UserInterface/Views/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype.showContentView):
Perform scolling regardless of the navigation history. Since scrolling source code doesn't introduce a BackForwardEntry,
it's possible that the actual content view has a different scroll position.

3:57 PM Changeset in webkit [179972] by Chris Dumez
  • 16 edits in trunk/Source

[WK2] Add logging to validate the network cache efficacy (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=141345
<rdar://problem/19632080>

Reviewed by Sam Weinig.

Source/WebCore:

Add a few more diagnostic logging keys for the network cache efficacy
logging.

Source/WebKit2:

Add diagnostic logging messages to validate the network cache efficacy.
The following 4 messages are added:

  • networkCache / retrieval / success
  • networkCache / retrieval / unhandledRequestFailure
  • networkCache / retrieval / noLongerInCacheFailure
  • networkCache / retrieval / unusableCachedEntryFailure

The messages are sent via IPC from the NetworkProcess to the UIProcess,
where the WebPageProxy code already handles diagnostic messages sent by
the WebProcess.

3:40 PM Changeset in webkit [179971] by weinig@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r179166): Crash when accessing document.dir on a document with no elements
<rdar://problem/19804351>
https://bugs.webkit.org/show_bug.cgi?id=141480

Reviewed by Chris Dumez.

Source/WebCore:

Test: fast/dom/document-dir-empty-document-crash.html

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::dir):
Don't unnecessarily dereference the documentElement. is<HTMLHtmlElement>() will handle null just fine.

LayoutTests:

  • fast/dom/document-dir-empty-document-crash-expected.txt: Added.
  • fast/dom/document-dir-empty-document-crash.html: Added.
3:14 PM Changeset in webkit [179970] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

<https://webkit.org/b/141492> extract-localizable-strings.pl shouldn't update the target file if the contents haven't changed

Avoid updating the target file if the contents haven't changed. This prevents Xcode from copying the identical
file into the framework and resigning it, which avoids the resulting relinking of all targets that depend on
the framework.

Reviewed by Dan Bernstein.

  • extract-localizable-strings.pl: Write our output to a temporary file. If the output differs from the

existing contents of the target file, move the temporary file over the target file. Otherwise, delete
the temporary file.

3:12 PM Changeset in webkit [179969] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179750. rdar://problem/19739067

3:06 PM Changeset in webkit [179968] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.5-branch

Merged r179706. rdar://problem/19739067

3:02 PM Changeset in webkit [179967] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

The callee frame helpers in DFG::SpeculativeJIT should be available to other JITs
https://bugs.webkit.org/show_bug.cgi?id=141493

Reviewed by Michael Saboff.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::calleeFrameSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeArgumentSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeFrameTagSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeFramePayloadSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeArgumentTagSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeArgumentPayloadSlot): Deleted.
(JSC::DFG::SpeculativeJIT::calleeFrameCallerFrame): Deleted.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • jit/AssemblyHelpers.h:

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

3:01 PM Changeset in webkit [179966] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merge r179576, r179648. rdar://problem/19709578

2:56 PM Changeset in webkit [179965] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

New perf dashboard shows too much space around interesting data points
https://bugs.webkit.org/show_bug.cgi?id=141487

Reviewed by Chris Dumez.

Revise the y-axis range adjustment algorithm in r179913. Instead of showing the entire moving average,
show the current time series excluding points in the series outside the moving average envelope.

  • public/v2/app.js:

(App.Pane._computeChartData): Don't deal with missing moving average or enveloping strategy here.
(App.Pane._computeMovingAverageAndOutliers): Set isOutliner to true on all data points in the current
time series if the point lies outside the moving average envelope. Don't expose the moving average or
the envelope computed for this purpose if they're not set by the user.

  • public/v2/data.js:

(TimeSeries.prototype.minMaxForTimeRange): Takes a boolean argument, ignoreOutlier. When the flag is set
to true, min/max computation will ignore any point in the series with non-falsy "isOutliner" property.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._constructGraphIfPossible): Unsupport hideMovingAverage and hideEnvelope.
(App.InteractiveChartComponent._computeYAxisDomain): Removed the commented out code. Also moved the code
to deal with showFullYAxis here.
(App.InteractiveChartComponent._minMaxForAllTimeSeries): Rewrote the code. Takes ignoreOutliners as an
argument instead of directly inspecting showFullYAxis.

2:51 PM Changeset in webkit [179964] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/win

Merged r179841. rdar://problem/19771791

2:48 PM Changeset in webkit [179963] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.5-branch

Merged r179772. rdar://problem/19771772

2:48 PM Changeset in webkit [179962] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/win

[WinCairo] Accelerated compositing should be disabled when graphics card does not support it.
https://bugs.webkit.org/show_bug.cgi?id=140667

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-02-11
Reviewed by Alex Christensen.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::scrollNonCompositedContents):
(AcceleratedCompositingContext::acceleratedCompositingAvailable):

  • WebCoreSupport/AcceleratedCompositingContext.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

2:43 PM Changeset in webkit [179961] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r179736. rdar://problem/19771783

2:40 PM Changeset in webkit [179960] by Lucas Forschler
  • 1 edit in branches/safari-600.5-branch/Source/WebCore/rendering/RenderQuote.cpp

Clarify logic after r179959.

2:24 PM Changeset in webkit [179959] by Lucas Forschler
  • 6 edits
    2 copies in branches/safari-600.5-branch

Merged r179691. rdar://problem/19739061

2:15 PM Changeset in webkit [179958] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Turn recent assertions into release assertions to help track down crash in DocumentLoader::stopLoadingForPolicyChange()
https://bugs.webkit.org/show_bug.cgi?id=141484
<rdar://problem/13811738>

Reviewed by Andy Estes.

Turn recent assertions into release assertions to help track down crash in
DocumentLoader::stopLoadingForPolicyChange(). This should increase the
likelyhood of tripping them so that we better understand why this happens.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::detachFromFrame):

1:48 PM Changeset in webkit [179957] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

SetupVarargsFrame should not assume that an inline stack frame would have identical layout to a normal stack frame
https://bugs.webkit.org/show_bug.cgi?id=141485

Reviewed by Oliver Hunt.

The inlineStackOffset argument was meant to make it easy for the DFG to use this helper for
vararg calls from inlined code, but that doesn't work since the DFG inline call frame
doesn't actually put the argument count at the JSStack::ArgumentCount offset. In fact there
is really no such thing as an inlineStackOffset except when we OSR exit; while the code is
running the stack layout is compacted so that the stackOffset is not meaningful.

  • jit/JITCall.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/SetupVarargsFrame.cpp:

(JSC::emitSetupVarargsFrameFastCase):

  • jit/SetupVarargsFrame.h:
1:45 PM Changeset in webkit [179956] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] SampleMap::addRange() returns an inverted iterator_range, possibly causing a crash when that iterator_range is traversed.
https://bugs.webkit.org/show_bug.cgi?id=141479
rdar://problem/19067597

Reviewed by Chris Dumez.

When looking backwards through a presentationOrder map to find samples, we then reverse our iterators
and put them in an iterator_range to return to the caller. But in addition to reversing the iterators
themselves, we also need to put them in the iterator_range in reverse order, so that when the caller
iterates from iterator_range.first -> iterator_range.second, they don't end up off the end of the
the underlying storage.

  • Modules/mediasource/SampleMap.cpp:

(WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRangeFromEnd):

1:36 PM Changeset in webkit [179955] by timothy_horton@apple.com
  • 5 edits
    2 adds in trunk

REGRESSION (iOS 8): PDFs embedded in <object>/<embed> tag don't load at all
https://bugs.webkit.org/show_bug.cgi?id=141457
<rdar://problem/18221851>

Reviewed by Alexey Proskuryakov.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::objectContentType):
On iOS, if we don't know what to do with a PDF-in-object, treat it as an image.

  • TestExpectations:
  • fast/replaced/pdf-as-object-and-embed-expected.html: Added.
  • fast/replaced/pdf-as-object-and-embed.html: Added.
  • platform/ios-simulator-wk2/TestExpectations:

Add a test that ensures that WebKit2 on iOS treats <object>, <embed>,
and <img> the same when rendering a PDF.

1:33 PM Changeset in webkit [179954] by Lucas Forschler
  • 10 edits
    2 copies in branches/safari-600.5-branch

Merged r179627. rdar://problem/19720096

1:28 PM Changeset in webkit [179953] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.5-branch

Merged r179597. rdar://problem/19720061

1:14 PM Changeset in webkit [179952] by Lucas Forschler
  • 4 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r179586. rdar://problem/19771799

1:12 PM Changeset in webkit [179951] by Lucas Forschler
  • 1 edit
    1 copy in branches/safari-600.5-branch/LayoutTests

Merged r179587. rdar://problem/19709589

1:11 PM Changeset in webkit [179950] by Lucas Forschler
  • 7 edits
    1 copy in branches/safari-600.5-branch

Merged r179569. rdar://problem/19709589

1:00 PM Changeset in webkit [179949] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.5-branch

Merged r179711. rdar://problem/19709603

12:54 PM Changeset in webkit [179948] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179563. <rdar://problem/19739078>

12:34 PM Changeset in webkit [179947] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Improve the showFrameTree() output slightly
https://bugs.webkit.org/show_bug.cgi?id=141482

Reviewed by Zalan Bujtas.

Have showFrameTree() show the Frame's RenderView so it can be correlated with
layer dumps, and show styleRecalc and needsLayout state.

  • page/FrameTree.cpp:

(printFrames):

  • page/FrameView.cpp:

(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): Add an explanatory
comment about why we don't walk the Frame tree.

12:31 PM Changeset in webkit [179946] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Make run-jsc-stress-tests --remote work with make-based runner
https://bugs.webkit.org/show_bug.cgi?id=141079

Reviewed by Darin Adler.

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests): Pass through the --shell-runner and --make-runner arguments.

  • Scripts/run-jsc-stress-tests: Made the make-based runner the default runner,

except for remote testing on Darwin. Unified runShellTestRunner and runMakeTestRunner
to avoid code duplication.

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

Stop using WebCore.exp.in on Mac and iOS.
https://bugs.webkit.org/show_bug.cgi?id=141413

Reviewed by Dan Bates.

  • Configurations/Base.xcconfig:

Make symbols hidden by default unless exported by WEBCORE_EXPORT macros.

  • platform/PlatformExportMacros.h:

Start using WEBCORE_EXPORT on Mac and iOS (but not Windows yet).

12:13 PM Changeset in webkit [179944] by ChangSeok Oh
  • 3 edits
    2 adds in trunk

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

Reviewed by Ryosuke Niwa.

Source/WebCore:

RenderFlexibleBox should be treated as a candidate for visible position. Visible selection
in an editable area is recalculated whenever an inner value of div is changed. If the inner value
is empty, the visible selection recalculated with DeleteSelectionCommand::m_endingPostion
is not correct. Because RenderBlockFlow is only considered but not RenderFlexibleBox
in Position::isCandidate so that a calculated ending VisiblePosition for an editable div
having "display : flex" goes weird and VisibleSelection is empty accordingly.

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

  • dom/Position.cpp:

(WebCore::Position::isCandidate):

LayoutTests:

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

  • fast/events/key-events-in-editable-flexbox-expected.txt: Added.
  • fast/events/key-events-in-editable-flexbox.html: Added.
12:12 PM Changeset in webkit [179943] by clopez@igalia.com
  • 2 edits in trunk

[CMake] Don't set flag fuse-ld on the C/C++ compiler flags, but on the linker flags.
https://bugs.webkit.org/show_bug.cgi?id=141481

Reviewed by Csaba Osztrogonác.

  • Source/cmake/OptionsCommon.cmake: Move -fuse-ld=gold to the linker flags.
12:09 PM Changeset in webkit [179942] by ChangSeok Oh
  • 7 edits in trunk/Source

Activate ReliefLogger of a memory pressure handler for linux system.
https://bugs.webkit.org/show_bug.cgi?id=123611

Reviewed by Anders Carlsson.

Source/WebCore:

Put more logs for the time when a system goes under memory pressure or viceversa.

No new tests since no engine behavior changed.

  • platform/linux/MemoryPressureHandlerLinux.cpp:

(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent): Wait a memory pressure event
from cgroup in a seperated thread. Once a pressure event happens, respondToMemoryPressure()
would be called to get back some resources.
(WebCore::MemoryPressureHandler::install): Install memoryPressureHandler module
to make it work.

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
Make the parameter, shouldEnableMemoryPressureReliefLogging shareable with COCOA else systems.
(WebKit::WebProcessCreationParameters::encode): ditto.
(WebKit::WebProcessCreationParameters::decode): ditto.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess): Set shouldEnableMemoryPressureReliefLogging
to true for linux system.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Pass the shouldEnableMemoryPressureReliefLogging value
to MemoryPressureHandler::ReliefLogger::setLoggingEnabled().

11:44 AM Changeset in webkit [179941] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Final preparations to switch to WEBCORE_EXPORT.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:

Export the vtable and a function.

11:43 AM Changeset in webkit [179940] by Lucas Forschler
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

11:42 AM Changeset in webkit [179939] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.17.8

New Tag.

10:42 AM Changeset in webkit [179938] by Lucas Forschler
  • 2 edits in branches/safari-600.1.17-branch/Source/WebCore

Merged r174295.

10:36 AM Changeset in webkit [179937] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

performance.now can crash if accessed from a window that has navigated
<rdar://problem/16892506>
https://bugs.webkit.org/show_bug.cgi?id=141478

Reviewed by Alexey Proskuryakov.

Test: fast/performance/performance-now-crash-on-navigated-window.html

  • page/Performance.cpp:

(WebCore::Performance::now):
Check for a null frame, which can happen when the window has been navigated.

10:33 AM Changeset in webkit [179936] by weinig@apple.com
  • 1 edit
    5 adds in trunk/LayoutTests

performance.now can crash if accessed from a window that has navigated
<rdar://problem/16892506>
https://bugs.webkit.org/show_bug.cgi?id=141478

Reviewed by Alexey Proskuryakov.

  • fast/performance/performance-now-crash-on-navigated-window-expected.txt: Added.
  • fast/performance/performance-now-crash-on-navigated-window.html: Added.
  • fast/performance/resources: Added.
  • fast/performance/resources/initialFrame.html: Added.
  • fast/performance/resources/secondFrame.html: Added.

Add test for calling performance.now() on from a navigated window.

10:09 AM Changeset in webkit [179935] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:07 AM Changeset in webkit [179934] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.18

New tag.

10:03 AM Changeset in webkit [179933] by ap@apple.com
  • 7 edits
    4 adds
    2 deletes in trunk

URL::setUser and URL::setPass don't percent encode
https://bugs.webkit.org/show_bug.cgi?id=141453
rdar://problem/14844503&16551802&19623145

Reviewed by Darin Adler.

Source/WebCore:

Tests: fast/url/url-credentials-escaping.html

http/tests/xmlhttprequest/basic-auth-credentials-escaping.html

Start adding some code that performs escaping in a way that matches the URL Standard.
Right now, it's only used where we failed to do any escaping at all, and over time,
we'll be moving towards a new implementation.

  • html/URLUtils.h:

(WebCore::URLUtils<T>::username):
(WebCore::URLUtils<T>::password):

  • platform/URL.cpp:

(WebCore::isSchemeFirstChar):
(WebCore::URL::user):
(WebCore::URL::pass):
(WebCore::URL::encodedUser):
(WebCore::URL::encodedPass):
(WebCore::URL::setUser):
(WebCore::URL::setPass):
(WebCore::encodeWithURLEscapeSequences):

  • platform/URL.h:

LayoutTests:

  • fast/url/url-credentials-escaping-expected.txt: Added.
  • fast/url/url-credentials-escaping.html: Added.

This change is most directly testable via URL API.

  • http/tests/xmlhttprequest/basic-auth-credentials-escaping-expected.txt: Added.
  • http/tests/xmlhttprequest/basic-auth-credentials-escaping.html: Added.

Verify that this doesn't break XMLHttpRequest authentication.

  • fast/dom/DOMURL/invalid-url-getters-expected.txt: Removed.
  • fast/dom/DOMURL/invalid-url-getters.html: Removed.
  • fast/dom/DOMURL/url-origin-expected.txt:
  • fast/dom/DOMURL/url-origin.html:

Removed tests for invalid URLs, there is no such thing with URL API.

9:58 AM Changeset in webkit [179932] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebKit2

[GTK][EFL] Suppress a warning of unused params
https://bugs.webkit.org/show_bug.cgi?id=141474

Reviewed by Darin Adler.

Drop unused argument name, directoryName.

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):

9:41 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
9:31 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
9:11 AM Changeset in webkit [179931] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

run-jsc-stress tests should detect the number of processors on the remote machine too
https://bugs.webkit.org/show_bug.cgi?id=141196

Reviewed by Darin Adler.

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests): Pass through the --child-processes argument.

  • Scripts/run-jsc-stress-tests: Added determineNumberOfProcessors function

to detect the number of local and remote processors with the same algorithm.
Additionally introduced $numChildProcesses to emphasize it isn't necessarily
same as $numProcessors.

9:10 AM Changeset in webkit [179930] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests should pass JSC_timeout to remote hosts
https://bugs.webkit.org/show_bug.cgi?id=141164

Reviewed by Darin Adler.

Additonally removed IMPORTANT_ENVS, since JSC_timeout was the only one.

  • Scripts/run-jsc-stress-tests:
9:09 AM Changeset in webkit [179929] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Add a few more WEBCORE_EXPORT macros for debug and iOS builds.

  • page/EventHandler.h:
  • page/ios/WebEventRegion.h:
  • platform/sql/SQLiteDatabaseTracker.h:
8:41 AM Changeset in webkit [179928] by Darin Adler
  • 2 edits in trunk/Source/WebCore

REGRESSION(r179476): It broke the !ENABLE(PICTURE_SIZES) build
https://bugs.webkit.org/show_bug.cgi?id=141327

Reviewed by Csaba Osztrogonác.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
Put #if around use of m_sizesAttribute.

8:39 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
8:35 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)
8:12 AM Changeset in webkit [179927] by Csaba Osztrogonác
  • 4 edits in trunk/Source/bmalloc

bmalloc buildfix on 32 bit Linux (x86/ARM)
https://bugs.webkit.org/show_bug.cgi?id=141472

Reviewed by Gyuyoung Kim.

  • bmalloc/Algorithm.h:

(bmalloc::roundUpToMultipleOf):

  • bmalloc/FixedVector.h:

(bmalloc::FixedVector::clear):

  • bmalloc/Sizes.h:

(bmalloc::Sizes::sizeClass):

7:34 AM Changeset in webkit [179926] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

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

caused about 30 test failures on yosemite and mavericks
(Requested by alexchristensen on #webkit).

Reverted changeset:

"Div having contentEditable and display:flex cannot be edited
if it is empty."
https://bugs.webkit.org/show_bug.cgi?id=141218
http://trac.webkit.org/changeset/179921

7:05 AM Changeset in webkit [179925] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
5:54 AM Changeset in webkit [179924] by commit-queue@webkit.org
  • 6 edits
    10 adds in trunk/LayoutTests

Unreviewed GTK+ Gardening 11 February.

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

  • platform/gtk/TestExpectations:
  • platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt: Rebaselined after r179168.
  • platform/gtk/fast/css/outline-auto-empty-rects-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/css/pseudo-invalid-form-invalidation-optimization-expected.txt: Added. Rebaselined after r177664.
  • platform/gtk/fast/css/pseudo-valid-form-invalidation-optimization-expected.txt: Added. Rebaselined after r177664.
  • platform/gtk/fast/forms/basic-buttons-expected.txt: Rebaselined after r178078.
  • platform/gtk/fast/line-grid/line-align-right-edges-expected.txt: Rebaselined after r177128.
  • platform/gtk/fast/sub-pixel/selection/selection-rect-in-sub-pixel-table-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/table/022-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/text/wbr-pre-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/text/whitespace/019-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/fast/text/whitespace/023-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt: Added. Rebaselined after r177490.
  • platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/svg/custom/glyph-selection-lang-attribute-expected.txt: Rebaselined after r177490.
4:50 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
4:15 AM Changeset in webkit [179923] by gyuyoung.kim@samsung.com
  • 20 edits
    1 add in trunk

[EFL][GTK] Use bmalloc instead of tcmalloc
https://bugs.webkit.org/show_bug.cgi?id=140162

Reviewed by Carlos Garcia Campos.

.:

Add bmalloc directory to build list.

  • CMakeLists.txt: Define BMALLOC_DIR directory.
  • Source/CMakeLists.txt: Add bmalloc path to sub-directories list.

Source/bmalloc:

Support to use bmalloc on EFL and GTK ports.

  • CMakeLists.txt: Added.
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::allocate):

Fix unused return value caused by posix_memalign().

  • bmalloc/AsyncTask.h:
  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::clear):

  • bmalloc/Chunk.h:

Change Traits::Page with Traits::PageType in order to fix
-fpermitive build error on EFL and GTK port.

  • bmalloc/EndTag.h:

(bmalloc::EndTag::operator=):

  • bmalloc/Line.h: ditto.
  • bmalloc/MediumTraits.h:
  • bmalloc/Page.h: ditto.
  • bmalloc/PerThread.h:

EFL port doesn't support has_include definition yet.
Define HAVE_PTHREAD_MACHDEP_H according to check if
has_include is supported.

  • bmalloc/SmallTraits.h: ditto.
  • bmalloc/VMAllocate.h:

(bmalloc::vmDeallocatePhysicalPages):
(bmalloc::vmAllocatePhysicalPages):

  • bmalloc/Vector.h:

(bmalloc::Vector<T>::push):
(bmalloc::Vector<T>::reallocateBuffer):

Source/WTF:

  • wtf/CMakeLists.txt:
  • wtf/FastMalloc.cpp:

Enable bmalloc on GTK ports, but EFL port will enable it when bmalloc supports
memory statistics.

2:02 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
1:03 AM Changeset in webkit [179922] by Carlos Garcia Campos
  • 9 edits
    4 adds in trunk

[GTK] Add default color chooser implementation using GtkColorChooserDialog
https://bugs.webkit.org/show_bug.cgi?id=141392

Reviewed by Gustavo Noronha Silva.

.:

Enable INPUT_TYPE_COLOR by default for GTK+ port.

  • Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::createColorPicker): Call WebColorPickerGtk::create().

  • UIProcess/gtk/WebColorPickerGtk.cpp: Added.

(WebKit::WebColorPickerGtk::create):
(WebKit::WebColorPickerGtk::WebColorPickerGtk):
(WebKit::WebColorPickerGtk::~WebColorPickerGtk):
(WebKit::WebColorPickerGtk::cancel): Set initial color.
(WebKit::WebColorPickerGtk::endPicker): Destroy the color chooser dialog.
(WebKit::WebColorPickerGtk::didChooseColor): Notify the client.
(WebKit::WebColorPickerGtk::colorChooserDialogRGBAChangedCallback):
Update the selected color.
(WebKit::WebColorPickerGtk::colorChooserDialogResponseCallback):
Cancel or finish the operation depending on the dialog response.
(WebKit::WebColorPickerGtk::showColorPicker): Create a
GtkColorChooserDialog to handle the color picker operation.

  • UIProcess/gtk/WebColorPickerGtk.h: Added.

(WebKit::WebColorPickerGtk::initialColor):

Tools:

Enable INPUT_TYPE_COLOR by default for GTK+ port.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Unskip input color tests.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/forms/color/input-appearance-color-expected.txt: Added.
12:51 AM Changeset in webkit [179921] by ChangSeok Oh
  • 3 edits
    2 adds in trunk

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

Reviewed by Ryosuke Niwa.

Source/WebCore:

RenderFlexibleBox should be treated as a candidate for visible position. Visible selection
in an editable area is recalculated whenever an inner value of div is changed. If the inner value
is empty, the visible selection recalculated with DeleteSelectionCommand::m_endingPostion
is not correct. Because RenderBlockFlow is only considered but not RenderFlexibleBox
in Position::isCandidate so that a calculated ending VisiblePosition for an editable div
having "display : flex" goes weird and VisibleSelection is empty accordingly.

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

  • dom/Position.cpp:

(WebCore::Position::isCandidate):

LayoutTests:

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

  • fast/events/key-events-in-editable-flexbox-expected.txt: Added.
  • fast/events/key-events-in-editable-flexbox.html: Added.
12:36 AM Changeset in webkit [179920] by dburkart@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/cache/disk-cache-validation.html generates a lot of Perl errors
https://bugs.webkit.org/show_bug.cgi?id=141393

Reviewed by Darin Adler.

  • http/tests/cache/resources/generate-response.cgi:
12:25 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
12:01 AM Changeset in webkit [179919] by commit-queue@webkit.org
  • 17 edits in trunk/Source

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

Caused assertions on debug bots (Requested by ap on #webkit).

Reverted changeset:

"[WK2] Add logging to validate the network cache efficacy
(Part 2)"
https://bugs.webkit.org/show_bug.cgi?id=141345
http://trac.webkit.org/changeset/179910

Feb 10, 2015:

10:16 PM Changeset in webkit [179918] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Tests of fast/ruby needs to have new baseline since r172874.

  • platform/efl/TestExpectations:
10:02 PM Changeset in webkit [179917] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Optimize MutableStyleProperties::removePropertiesInSet()
https://bugs.webkit.org/show_bug.cgi?id=141460

Reviewed by Andreas Kling.

Optimize MutableStyleProperties::removePropertiesInSet() by doing an
in-place removal of the vector properties, using the new and efficient
Vector::removalAllMatching().

I see a ~11% speed-up on CSS/CSSPropertySetterGetter.html performance
test.

This change was inspired by the following Blink revision:
https://src.chromium.org/viewvc/blink?view=rev&revision=189387

Test: PerformanceTests/CSS/CSSPropertySetterGetter.html

  • css/StyleProperties.cpp:

(WebCore::MutableStyleProperties::removePropertiesInSet):

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

[Win] Fix debug build after r179807.
https://bugs.webkit.org/show_bug.cgi?id=141461

Reviewed by Benjamin Poulain.

  • dom/TypedElementDescendantIterator.h:

Explicitly call Iterator constructor to reduce complexity when iterating descendantsOfType.

8:54 PM Changeset in webkit [179915] by Darin Adler
  • 2 edits in trunk/Source/WTF

Add the crash-on-failure behavior to bmalloc-based fastMalloc
https://bugs.webkit.org/show_bug.cgi?id=141434

Reviewed by Alexey Proskuryakov.

  • wtf/FastMalloc.cpp: Removed unneeded includes.

(WTF::fastMalloc): Added null check and CRASH.
(WTF::fastCalloc): Added overflow checking, null check, and CRASH.
(WTF::fastRealloc): Added null check and CRASH.
(WTF::fastMallocSize): Added FIXME comment.
(WTF::fastMallocGoodSize): Added FIXME comment.
(WTF::fastAlignedMalloc): Added null check and CRASH.
(WTF::tryFastMalloc): Changed to call bmalloc directly instead of
calling fastMalloc, since fastMalloc will now crash on failure.
(WTF::tryFastRealloc): Changed to call bmalloc directly instead of
calling fastRealloc, since fastRealloc will now crash on failure.
(WTF::tryFastCalloc): Added overflow checking.
(WTF::fastMallocStatistics): Added FIXME comment.

8:01 PM Changeset in webkit [179914] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Some tests of imported/mozilla/svg/ have been failed since r177330.
Mark those tests to ImageOnlyFailure.

  • platform/efl/TestExpectations:
6:45 PM Changeset in webkit [179913] by rniwa@webkit.org
  • 6 edits in trunk/Websites/perf.webkit.org

New perf dashboard shouldn't always show outliners
https://bugs.webkit.org/show_bug.cgi?id=141445

Reviewed by Chris Dumez.

Use the simple moving average with an average difference envelope to compute the y-axis range to show
to avoid expanding it spuriously to show one off outlier.

  • public/v2/app.js:

(App.Pane): Don't show the full y-axis range by default.
(App.Pane._computeChartData): Use the first strategies for the moving average and the enveloping if
one is not specified by the user but without showing them in the charts.
(App.Pane._computeMovingAverage): Takes moving average and enveloping strategies as arguments instead
of retrieving via chosenMovingAverageStrategy and chosenEnvelopingStrategy.

(App.ChartsController._parsePaneList): Added showFullYAxis as a query string argument to each pane.
(App.ChartsController._serializePaneList): Ditto.

  • public/v2/chart-pane.css: Added a CSS rule for when y-axis is clickable.
  • public/v2/index.html: Pass in showFullYAxis as an argument to the main interactive chart.
  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._constructGraphIfPossible): Add an event listener on y-axis labels when
the chart is interactive so that toggle showFullYAxis. Also hide the moving average and/or the envelope
if they are not specified by the user (i.e. only used to adjust y-axis range).
(App.InteractiveChartComponent._updateDomain): Don't exit early if y-axis domains are different even if
x-axis domain remained the same. Without this change, the charts would never redraw.
(App.InteractiveChartComponent._minMaxForAllTimeSeries): Use the moving average instead of the current
time series to compute the y-axis range if showFullYAxis is false. When showFullYAxis is true, expand
y-axis all the way down to 0 or the minimum value in the current time series whichever is smaller.

  • public/v2/js/statistics.js:

(Statistics.MovingAverageStrategies): Use a wider window in Simple Moving Average by default.

6:41 PM Changeset in webkit [179912] by fpizlo@apple.com
  • 7 edits
    2 adds in trunk/Source/JavaScriptCore

Split FTL::JSCall into the part that knows about call inline caching and the part that interacts with LLVM patchpoints
https://bugs.webkit.org/show_bug.cgi?id=141455

Reviewed by Mark Lam.

The newly introduced FTL::JSCallBase can be used to build other things, like the FTL portion
of https://bugs.webkit.org/show_bug.cgi?id=141332.

(JSC::CallLinkInfo::specializationKindFor):
(JSC::CallLinkInfo::specializationKind):

  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::JSCall):
(JSC::FTL::JSCall::emit): Deleted.
(JSC::FTL::JSCall::link): Deleted.

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

(JSC::FTL::JSCallBase::JSCallBase):
(JSC::FTL::JSCallBase::emit):
(JSC::FTL::JSCallBase::link):

  • ftl/FTLJSCallBase.h: Added.
6:39 PM Changeset in webkit [179911] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Better handle unknown release versions
https://bugs.webkit.org/show_bug.cgi?id=141454

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

  • UserInterface/Base/Platform.js:

If given an unknown Mac OS X version, at least parse
the version number in WebInspector.Platform.

6:31 PM Changeset in webkit [179910] by Chris Dumez
  • 17 edits in trunk/Source

[WK2] Add logging to validate the network cache efficacy (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=141345
Source/WebCore:

Reviewed by Antti Koivisto.

Add a few more diagnostic logging keys for the network cache efficacy
logging.

Source/WebKit2:

<rdar://problem/19632080>

Reviewed by Antti Koivisto.

Add diagnostic logging messages to validate the network cache efficacy.
The following 4 messages are added:

  • networkCache / retrieval / success
  • networkCache / retrieval / unhandledRequestFailure
  • networkCache / retrieval / noLongerInCacheFailure
  • networkCache / retrieval / unusableCachedEntryFailure

The messages are sent via IPC from the NetworkProcess to the UIProcess,
where the WebPageProxy code already handles diagnostic messages sent by
the WebProcess.

6:08 PM Changeset in webkit [179909] by Conrad Shultz
  • 4 edits in trunk/Source/WebKit2

Clients need the ability to hook into immediate action lifecycle
https://bugs.webkit.org/show_bug.cgi?id=141449

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Expose new methods.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _prepareForImmediateActionAnimation]):
(-[WKView _cancelImmediateActionAnimation]):
(-[WKView _completeImmediateActionAnimation]):
Stub implementations.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
Send -_prepareForImmediateActionAnimation.
(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
Send -_cancelImmediateActionAnimation.
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
Send -_completeImmediateActionAnimation.

5:50 PM Changeset in webkit [179908] by Lucas Forschler
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

5:42 PM Changeset in webkit [179907] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

broke linking debug builds (Requested by thorton on #webkit).

Reverted changeset:

"Stop using WebCore.exp.in on Mac and iOS."
https://bugs.webkit.org/show_bug.cgi?id=141413
http://trac.webkit.org/changeset/179896

5:33 PM Changeset in webkit [179906] by Lucas Forschler
  • 16 edits
    2 copies in branches/safari-600.5-branch

Merged r179722. rdar://problem/19670548

5:06 PM Changeset in webkit [179905] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r179843. rdar://problem/19432919

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

<rdar://problem/19770264> Starting a navigation gesture dismisses the keyboard

Reviewed by Tim Horton.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture): Reordered the view hierarchy changes,
such that m_liveSwipeView will not momentarily move out of the window, because that causes
the window’s first responder to be set to nil (if it was a descendant of m_liveSwipView).

4:19 PM Changeset in webkit [179903] by achristensen@apple.com
  • 20 edits in trunk/Source/WebCore

Fix bindings tests after r179886.

  • bindings/scripts/test/ObjC/DOMFloat64Array.h:
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
  • bindings/scripts/test/ObjC/DOMTestCallback.h:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
  • bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestEventTarget.h:
  • bindings/scripts/test/ObjC/DOMTestException.h:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
  • bindings/scripts/test/ObjC/DOMTestInterface.h:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestNode.h:
  • bindings/scripts/test/ObjC/DOMTestNondeterministic.h:
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/ObjC/DOMTestTypedefs.h:
  • bindings/scripts/test/ObjC/DOMattribute.h:
  • bindings/scripts/test/ObjC/DOMreadonly.h:
4:16 PM Changeset in webkit [179902] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r179578. rdar://problem/19709204

4:13 PM Changeset in webkit [179901] by Lucas Forschler
  • 27 edits in branches/safari-600.5-branch

Merged r177849. rdar://problem/19739101

4:12 PM Changeset in webkit [179900] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r179576, r179648. rdar://problem/19709260

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

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

  • platform/mac-wk2/TestExpectations: Skpping the test, I'm concerned that it may

be affecting other tests.

4:06 PM Changeset in webkit [179898] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

4:05 PM Changeset in webkit [179897] by Lucas Forschler
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r178298. rdar://problem/19526083

4:00 PM Changeset in webkit [179896] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Stop using WebCore.exp.in on Mac and iOS.
https://bugs.webkit.org/show_bug.cgi?id=141413

Reviewed by Dan Bates.

  • Configurations/Base.xcconfig:

Make symbols hidden by default unless exported by WEBCORE_EXPORT macros.

  • platform/PlatformExportMacros.h:

Start using WEBCORE_EXPORT on Mac and iOS (but not Windows yet).

3:59 PM Changeset in webkit [179895] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Add another assertion to help track down crash in DocumentLoader::stopLoadingForPolicyChange()
https://bugs.webkit.org/show_bug.cgi?id=141447
<rdar://problem/13811738>

Reviewed by Alexey Proskuryakov.

Add another assertion to help track down crash in
DocumentLoader::stopLoadingForPolicyChange().

The trace seems to hint that frameLoader() returns null when
stopLoadingForPolicyChange() is called. frameLoader() can only return
null after DocumentLoader::detachFromFrame() has been called.
Also, stopLoadingForPolicyChange() here is called from the
DocumentLoader::continueAfterContentPolicy() policy callback which
requires m_waitingForContentPolicy to be true. Therefore, we should
assert that m_waitingForContentPolicy is false when m_frame is cleared
in DocumentLoader::detachFromFrame().

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::detachFromFrame):

3:52 PM Changeset in webkit [179894] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r178571. rdar://problem/19670953

3:49 PM Changeset in webkit [179893] by bshafiei@apple.com
  • 3 edits
    4 copies in branches/safari-600.1.4.15-branch

Merged r178490. rdar://problem/19709240

3:45 PM Changeset in webkit [179892] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r178426. rdar://problem/19564743

3:42 PM Changeset in webkit [179891] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r176240. rdar://problem/19670909

3:33 PM Changeset in webkit [179890] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r179187. rdar://problem/19670901

3:27 PM Changeset in webkit [179889] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make collapsed sidebars undraggable
https://bugs.webkit.org/show_bug.cgi?id=140664

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

  • UserInterface/Views/Sidebar.css:

(.sidebar.collapsed):
(.sidebar.collapsed.right > .resizer): Deleted.
(.sidebar.collapsed.left > .resizer): Deleted.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar):
(WebInspector.Sidebar.prototype._resizerMouseDown):
(WebInspector.Sidebar.prototype._resizerMouseMoved):
(WebInspector.Sidebar.prototype._resizerDoubleClicked): Deleted.

3:24 PM Changeset in webkit [179888] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r176083. rdar://problem/19670901

3:16 PM Changeset in webkit [179887] by fpizlo@apple.com
  • 18 edits
    1 add in trunk/Source/JavaScriptCore

op_call_varargs should only load the length once
https://bugs.webkit.org/show_bug.cgi?id=141440
rdar://problem/19761683

Reviewed by Michael Saboff.

Refactors the pair of calls that set up the varargs frame so that the first call returns the
length, and the second call uses the length returned by the first one. It turns out that this
gave me an opportunity to shorten a lot of the code.

  • interpreter/Interpreter.cpp:

(JSC::sizeFrameForVarargs):
(JSC::loadVarargs):
(JSC::setupVarargsFrame):
(JSC::setupVarargsFrameAndSetThis):

  • interpreter/Interpreter.h:

(JSC::calleeFrameForVarargs):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

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

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):

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

(JSC::emitSetVarargsFrame):
(JSC::emitSetupVarargsFrameFastCase):

  • jit/SetupVarargsFrame.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::copyToArguments):

  • runtime/Arguments.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::copyToArguments):

  • runtime/JSArray.h:
  • runtime/VM.h:
  • tests/stress/call-varargs-length-effects.js: Added.

(foo):
(bar):

3:07 PM Changeset in webkit [179886] by achristensen@apple.com
  • 26 edits in trunk/Source/WebCore

Add more WEBCORE_EXPORT macros for iOS.
https://bugs.webkit.org/show_bug.cgi?id=141430

Reviewed by Tim Horton.

  • bindings/objc/WebScriptObject.h:
  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):

  • dom/Event.h:
  • dom/Node.h:
  • editing/FrameSelection.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLMediaSession.h:
  • page/Frame.h:
  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/ios/PasteboardIOS.mm:
  • platform/ios/wak/WAKAppKitStubs.h:
  • platform/ios/wak/WAKClipView.h:
  • platform/ios/wak/WAKScrollView.h:
  • platform/ios/wak/WAKView.h:
  • platform/ios/wak/WAKWindow.h:
  • platform/ios/wak/WAKWindow.mm:
  • platform/ios/wak/WKContentObservation.h:
  • platform/ios/wak/WKGraphics.h:
  • platform/ios/wak/WebCoreThread.h:
  • platform/ios/wak/WebCoreThread.mm:
  • platform/ios/wak/WebCoreThreadRun.h:
  • platform/ios/wak/WebCoreThreadSystemInterface.h:
  • platform/network/ios/QuickLook.h:
  • platform/text/TextBreakIterator.h:
3:02 PM Changeset in webkit [179885] by enrica@apple.com
  • 4 edits in trunk/Source/WebKit2

Hit testing is misplaced when selecting on wikipedia page.
https://bugs.webkit.org/show_bug.cgi?id=141410
rdar://problem/19768211

Reviewed by Simon Fraser.

When loading a new document into the same WebPage object, we need
to clear the assisted node, since there is no guarantee that the
node will be blurred. The bug was caused by the use of a stale
assisted node to constrain the point where the gesture occurs.
The node was still valid, since the previous page was in the cache.
I've added a ASSERT to check that, when constraining the point to
node rectangle, the node is in the same document as the one we
are performing hit test on. When the frame is detached, we clear
the assisted node if the node is part of the document is the frame
being detached.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::detachedFromParent2):

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

(WebKit::constrainPoint):
(WebKit::WebPage::resetAssistedNodeForFrame):

2:40 PM Changeset in webkit [179884] by Lucas Forschler
  • 4 edits
    1 copy in branches/safari-600.5-branch

Merged r176899. rdar://problem/19739097

2:35 PM Changeset in webkit [179883] by hyatt@apple.com
  • 7 edits
    2 adds in trunk

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.

text-underline-position: under is broken
https://bugs.webkit.org/show_bug.cgi?id=141400
<rdar://problem/18569583>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/text-underline-position-under.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeMaxLogicalBottom):
(WebCore::InlineFlowBox::computeMaxLogicalTop): Deleted.

  • rendering/InlineFlowBox.h:

Switch to using the bottom to compute the offset. Using the top is incorrect, since
the heights of boxes can vary.

Fix a bug where the y() of the box was being used instead of the logical value, making the result
wrong for vertical text.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom):
(WebCore::RootInlineBox::maxLogicalTop): Deleted.
Switch to using the bottom instead of the top. Make sure the root box contributes its own bottom,
since the old code just ignored the root's placement.

  • rendering/RootInlineBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Call the bottom function now instead of the top.

LayoutTests:

  • fast/text/text-underline-position-under-expected.html: Added.
  • fast/text/text-underline-position-under.html: Added.
1:59 PM Changeset in webkit [179882] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Crash in JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq
https://bugs.webkit.org/show_bug.cgi?id=139398

Reviewed by Filip Pizlo.

Due to CFA analysis, the CompareStrictEq node was determined to be unreachable, but later
was determined to be reachable. When we go to lower to LLVM, the edges for the CompareStrictEq
node are UntypedUse which we can't compile. Fixed this by checking that the IR before
lowering can still be handled by the FTL.

Had to add GetArgument as a node that the FTL can compile as the SSA conversion phase converts
a SetArgument to a GetArgument. Before this change FTL::canCompile() would never see a GetArgument
node. With the check right before lowering, we see this node.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl): Added a final FTL::canCompile() check before lowering
to verify that after all the transformations we still have valid IR for the FTL.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile): Added GetArgument as a node the FTL can compile.

1:56 PM Changeset in webkit [179881] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix.

  • public/v2/app.js:

(set get App.Pane.Ember.Object.extend):

1:44 PM Changeset in webkit [179880] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Add assertion to help track down WebCore::DocumentLoader::stopLoadingForPolicyChange() crash
https://bugs.webkit.org/show_bug.cgi?id=141441
<rdar://problem/13811738>

Reviewed by Alexey Proskuryakov.

Add assertion to help track down a crash in
WebCore::DocumentLoader::stopLoadingForPolicyChange().

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::~DocumentLoader):
Make sure the DocumentLoader is not waiting for a content policy
response when it is destroyed. If this were to happen, then the
lambda function passed to PolicyChecker::checkContentPolicy()
would outlive the DocumentLoader. This is an issue because
that lambda function captures [this], which is the DocumentLoader.
This would cause DocumentLoader::continueAfterContentPolicy() to
be called after the DocumentLoader has been destroyed, which would
explain the crash.

1:41 PM Changeset in webkit [179879] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS Pretty Printing: still fails fails to put space between rgb(...) and numbers in minified gradients
https://bugs.webkit.org/show_bug.cgi?id=141411

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

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • UserInterface/Views/CodeMirrorFormatters.js:

Token actually was "number m-css" so we should check token strings
more robustly, like elsewhere in the formatters.

1:39 PM Changeset in webkit [179878] by rniwa@webkit.org
  • 7 edits in trunk/Websites/perf.webkit.org

New perf dashboard should have the ability to overlay moving average with an envelope
https://bugs.webkit.org/show_bug.cgi?id=141438

Reviewed by Andreas Kling.

This patch adds three kinds of moving average strategies and two kinds of enveloping strategies:

Simple Moving Average - The moving average x̄_i of x_i is computed as the arithmetic mean of values
from x_(i - n) though x_(i + m) where n is a non-negative integer and m is a positive integer. It takes
n, backward window size, and m, forward window size, as an argument.

Cumulative Moving Average - x̄_i is computed as the arithmetic mean of all values x_0 though x_i.
That is, x̄_1 = x_1 and x̄_i = ((i - 1) * M_(i - 1) + x_i) / i for all i > 1.

Exponential Moving Average - x̄_i is computed as the weighted average of x_i and x̄_(i - 1) with α as
an argument specifying x_i's weight. To be precise, x̄_1 = x_1 and x̄_i = α * x_i + (α - 1) x̄_(i-1).

Average Difference - The enveloping delta d is computed as the arithmetic mean of the difference
between each x_i and x̄_i.

Moving Average Standard Deviation - d is computed like the standard deviation except the deviation
for each term is measured from the moving average instead of the sample arithmetic mean. i.e. it uses
the average of (x_i - x̄_i)2 as the "sample variance" instead of the conventional (x_i - x̄)2 where
x̄ is the sample mean of all x_i's. This change was necessary since our time series is non-stationary.

Each strategy is cloned for an App.Pane instance so that its parameterList can be configured per pane.
The configuration of the currently chosen strategies is saved in the query string for convenience.

Also added the "stat pane" to choose a moving average strategy and a enveloping strategy in each pane.

  • public/v2/app.css: Specify the fill color for all SVG groups in the pane toolbar icons.
  • public/v2/app.js:

(App.Pane._fetch): Delegate the creation of 'chartData' to _computeChartData.
(App.Pane.updateStatisticsTools): Added. Clones moving average and enveloping strategies for this pane.
(App.Pane._cloneStrategy): Added. Clones a strategy for a new pane.
(App.Pane._configureStrategy): Added. Finds and configures a strategy from the configuration retrieved
from the query string via ChartsController.
(App.Pane._computeChartData): Added. Creates chartData from fetchedData.
(App.Pane._computeMovingAverage): Added. Computes the moving average and the envelope.
(App.Pane._executeStrategy): Added.
(App.Pane._updateStrategyConfigIfNeeded): Pushes the strategy configurations to the query string via
ChartsController.
(App.ChartsController._parsePaneList): Merged the query string arguments for the range and point
selections, and added two new arguments for the moving average and the enveloping configurations.
(App.ChartsController._serializePaneList): Ditto.
(App.ChartsController._scheduleQueryStringUpdate): Observes strategy configurations.
(App.PaneController.actions.toggleBugsPane): Hides the stat pane.
(App.PaneController.actions.toggleSearchPane): Hides the stat pane.
(App.PaneController.actions.toggleStatPane): Added.

  • public/v2/chart-pane.css: Added CSS rules for the new stat pane. Also added .foreground class for the

current (as opposed to baseline and target) time series for when it's the most foreground graph without
moving average and its envelope overlapping on top of it.

  • public/v2/index.html: Added the templates for the stat pane and the corresponding icon (Σ).
  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent.chartDataDidChange): Unset _totalWidth and _totalHeight to avoid exiting
early inside _updateDimensionsIfNeeded when chartData changes after the initial layout.
(App.InteractiveChartComponent.didInsertElement): Attach event listeners here instead of inside
_constructGraphIfPossible since that could be called multiple times on the same SVG element.
(App.InteractiveChartComponent._constructGraphIfPossible): Clear down the old SVG element we created
but don't bother removing individual paths and circles. Added the code to show the moving average time
series when there is one. Also add "foreground" class on SVG elements for the current time series when
we're not showing the moving average. chart-pane.css has been updated to "dim down" the current time
series when "foreground" is not set.
(App.InteractiveChartComponent._minMaxForAllTimeSeries): Take the moving average time series into
account when computing the y-axis range.
(App.InteractiveChartComponent._brushChanged): Removed 'selectionIsLocked' argument as it's useless.

  • public/v2/js/statistics.js:

(Statistics.MovingAverageStrategies): Added.
(Statistics.EnvelopingStrategies): Added.

12:27 PM Changeset in webkit [179877] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION (r168046): Crash in WebCore::InlineBox::renderer / WebCore::RenderFlowThread::checkLinesConsistency
https://bugs.webkit.org/show_bug.cgi?id=133462

Reviewed by David Hyatt.

RenderFlowThread::m_lineToRegionMap stores pointers to the root inlineboxes in the block flow.
Normally root inlineboxes remove themselves from this map in their dtors. However when collapsing an anonymous block,
we detach the inline tree first and destroy them after. The detached root boxes can't access
the flowthread containing block and we end up with dangling pointers in this map.
Call removeFlowChildInfo() before detaching the subtree to ensure proper pointer removal.

Source/WebCore:

Test: fast/multicol/newmulticol/crash-when-switching-to-floating.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseAnonymousBoxChild):

LayoutTests:

  • fast/multicol/newmulticol/crash-when-switching-to-floating-expected.txt: Added.
  • fast/multicol/newmulticol/crash-when-switching-to-floating.html: Added.
12:26 PM Changeset in webkit [179876] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

11:48 AM Changeset in webkit [179875] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove unused DFG::SpeculativeJIT::calleeFrameOffset().

Rubber stamped by Michael Saboff.

Not only was this not used, I believe that the math was wrong. The callee frame doesn't
actually land past m_nextMachineLocal; instead it lands just below wherever we put SP and
that decision is made elsewhere. Also, it makes no sense to subtract 1 from
m_nextMachineLocal when trying to deduce the number of in-use stack slots.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::calleeFrameOffset): Deleted.

11:11 AM Changeset in webkit [179874] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Cocoa] NSData over retain in WKBrowsingContextController loadData
https://bugs.webkit.org/show_bug.cgi?id=141437

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-10
Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
API::Data::createWithoutCopying will automatically do the retaining / releasing for us.

11:01 AM Changeset in webkit [179873] by saambarati1@gmail.com
  • 4 edits in trunk/Source/JavaScriptCore

Parser::parseVarDeclarationList gets the wrong JSToken for the last identifier
https://bugs.webkit.org/show_bug.cgi?id=141272

Reviewed by Oliver Hunt.

This patch fixes a bug where the wrong text location would be
assigned to a variable declaration inside a ForIn/ForOf loop.
It also fixes a bug in the type profiler where the type profiler
emits the wrong text offset for a ForIn loop's variable declarator
when it's not a pattern node.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitLoopHeader):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseVarDeclarationList):

  • tests/typeProfiler/loop.js:

(testForIn):
(testForOf):

9:28 AM Changeset in webkit [179872] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: fast/loader/subframe-navigate-during-main-frame-load.html crashes running all tests

  • platform/ios-simulator-wk2/TestExpectations: Mark

fast/loader/subframe-navigate-during-main-frame-load.html as
flakey.

9:05 AM Changeset in webkit [179871] by Anton Obzhirov
  • 4 edits
    2 adds in trunk

Render: properly update body's background image
https://bugs.webkit.org/show_bug.cgi?id=140183

When HTML and BODY renderers are both composited the
skipBodyBackground condition should also take into account
if the HTML's layer can draw its contents.

Patch by Julien Isorce <j.isorce@samsung.com> on 2015-02-10
Reviewed by Darin Adler.

Source/WebCore:

Test: animations/animation-background-image.html

  • rendering/RenderBox.cpp:

(WebCore::skipBodyBackground): Do not skip
if document's layer cannot draw its content.
Previously both body and html did not paint the background
when they are both composited.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::contentChanged): Also redisplay
the content.

LayoutTests:

  • compositing/backgrounds/background-image-with-negative-zindex-expected.html: Added.
  • compositing/backgrounds/background-image-with-negative-zindex.html: Added.
8:01 AM Changeset in webkit [179870] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebKit2

[WK2] Add support for registering url schemes to bypass Content Security Policy.
https://bugs.webkit.org/show_bug.cgi?id=140736

Patch by Zhuo Li <zachli@apple.com> on 2015-02-10
Reviewed by Anders Carlsson.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextRegisterURLSchemeAsBypassingContentSecurityPolicy):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::registerURLSchemeAsBypassingContentSecurityPolicy):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::registerURLSchemeAsBypassingContentSecurityPolicy):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
7:47 AM Changeset in webkit [179869] by eric.carlson@apple.com
  • 6 edits in trunk

[iOS] don't get out of sync when interrupt/resume calls are not balanced
https://bugs.webkit.org/show_bug.cgi?id=141310

Reviewed by Jer Noble.

Source/WebCore:

No new tests, updated media/video-interruption-with-resume-allowing-play.html.

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::beginInterruption): Count interruptions.
(WebCore::MediaSession::endInterruption): Ignore calls when m_interruptionCount is already zero.

  • platform/audio/MediaSession.h:

LayoutTests:

  • media/video-interruption-with-resume-allowing-play-expected.txt:
  • media/video-interruption-with-resume-allowing-play.html: Updated to test unbalanced calls

to begin/end interruption.

6:42 AM Changeset in webkit [179868] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK Gardening.

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

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/css/font-face-in-media-rule-expected.txt: Added. Rebaselined after r177774.
5:19 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
2:40 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
12:34 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
12:24 AM Changeset in webkit [179867] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Use a variable to set flicking time instead of hardcoding
https://bugs.webkit.org/show_bug.cgi?id=138950

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2015-02-10
Reviewed by Gyuyoung Kim.

Currently time of flick gesture animation is hardcoded as one second.
This patch added a static variable to increase readability.

  • UIProcess/API/efl/GestureRecognizer.cpp:

(WebKit::GestureHandler::GestureHandler):
(WebKit::GestureHandler::flickAnimatorCallback):
(WebKit::GestureHandler::handleFlick):

12:16 AM Changeset in webkit [179866] by Carlos Garcia Campos
  • 7 edits in trunk/Source

[GTK] GMutexLocker build issue
https://bugs.webkit.org/show_bug.cgi?id=141381

Reviewed by Žan Doberšek.

Source/WebCore:

Use always WTF::GMutexLocker because newer glib versions have a
GMutexLocker in the public API.

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::provideInput):
(WebCore::AudioSourceProviderGStreamer::handleAudioBuffer):
(WebCore::AudioSourceProviderGStreamer::clearAdapters):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockSampleMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

Remove using WTF::GMutexLocker from the header, since newer glib
versions have a GMutexLocker in the public API.

  • wtf/gobject/GMutexLocker.h:

Feb 9, 2015:

11:40 PM Changeset in webkit [179865] by saambarati1@gmail.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

JSC's Type Profiler doesn't profile the type of the looping variable in ForOf/ForIn loops
https://bugs.webkit.org/show_bug.cgi?id=141241

Reviewed by Filip Pizlo.

Type information is now recorded for ForIn and ForOf statements.
It was an oversight to not have these statements profiled before.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):

  • tests/typeProfiler/loop.js: Added.

(testForIn):
(testForOf):

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

[Win] Activate media tests. (Unreviewed)

  • platform/win/TestExpectations: Activate tests.
8:46 PM Changeset in webkit [179863] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::StackLayoutPhase should always set the scopeRegister to VirtualRegister() because the DFG doesn't do anything to make its value valid
https://bugs.webkit.org/show_bug.cgi?id=141412

Reviewed by Michael Saboff.

StackLayoutPhase was attempting to ensure that the register that
CodeBlock::scopeRegister() points to is the right one for the DFG. But the DFG did nothing
else to maintain the validity of the scopeRegister(). It wasn't captured as far as I can
tell. StackLayoutPhase didn't explicitly mark it live. PreciseLocalClobberize didn't mark
it as being live. So, by the time we got here the register referred to by
CodeBlock::scopeRegister() would have been junk. Moreover, CodeBlock::scopeRegister() was
not used for DFG code blocks, and was hardly ever used outside of bytecode generation.

So, this patch just removes the code to manipulate this field and replaces it with an
unconditional setScopeRegister(VirtualRegister()). Setting it to the invalid register
ensures that any attempst to read the scopeRegister in a DFG or FTL frame immediately
punts.

  • dfg/DFGStackLayoutPhase.cpp:

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

7:27 PM Changeset in webkit [179862] by fpizlo@apple.com
  • 21 edits
    2 adds in trunk/Source/JavaScriptCore

Varargs frame set-up should be factored out for use by other JITs
https://bugs.webkit.org/show_bug.cgi?id=141388

Reviewed by Michael Saboff.

Previously the code that dealt with varargs always assumed that we were setting up a varargs call
frame by literally following the execution semantics of op_call_varargs. This isn't how it'll
happen once the DFG and FTL do varargs calls, or when varargs calls get inlined. The DFG and FTL
don't literally execute bytecode; for example their stack frame layout has absolutely nothing in
common with what the bytecode says, and that will never change.

This patch makes two changes:

Setting up the varargs callee frame can be done in smaller steps: particularly in the case of a
varargs call that gets inlined, we aren't going to actually want to set up a callee frame in
full - we just want to put the arguments somewhere, and that place will not have much (if
anything) in common with the call frame format. This patch factors that out into something called
a loadVarargs. The thing we used to call loadVarargs is now called setupVarargsFrame. This patch
also separates loading varargs from setting this, since the fact that those two things are done
together is a detail made explicit in bytecode but it's not at all required in the higher-tier
engines. In the process of factoring this code out, I found a bunch of off-by-one errors in the
various calculations. I fixed them. The distance from the caller's frame pointer to the callee
frame pointer is always:

numUsedCallerSlots + argCount + 1 + CallFrameSize


where numUsedCallerSlots is toLocal(firstFreeRegister) - 1, which simplifies down to just
-firstFreeRegister. The code now speaks of numUsedCallerSlots rather than firstFreeRegister,
since the latter is a bytecode peculiarity that doesn't apply in the DFG or FTL. In the DFG, the
internally-computed frame size, minus the parameter slots, will be used for numUsedCallerSlots.
In the FTL, we will essentially compute numUsedCallerSlots dynamically by subtracting SP from FP.
Eventually, LLVM might give us some cleaner way of doing this, but it probably doesn't matter
very much.

The arguments forwarding optimization is factored out of the Baseline JIT: the DFG and FTL will
want to do this optimization as well, but it involves quite a bit of code. So, this code is now
factored out into SetupVarargsFrame.h|cpp, so that other JITs can use it. In the process of factoring
this code out I noticed that the 32-bit and 64-bit code is nearly identical, so I combined them.

(JSC::ExecState::r):
(JSC::ExecState::uncheckedR):

  • bytecode/VirtualRegister.h:

(JSC::VirtualRegister::operator+):
(JSC::VirtualRegister::operator-):
(JSC::VirtualRegister::operator+=):
(JSC::VirtualRegister::operator-=):

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

(JSC::sizeFrameForVarargs):
(JSC::loadVarargs):
(JSC::setupVarargsFrame):
(JSC::setupVarargsFrameAndSetThis):

  • interpreter/Interpreter.h:
  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitGetFromCallFrameHeaderPtr):
(JSC::AssemblyHelpers::emitGetFromCallFrameHeader32):
(JSC::AssemblyHelpers::emitGetFromCallFrameHeader64):

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

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):
(JSC::JIT::emitGetFromCallFrameHeaderPtr): Deleted.
(JSC::JIT::emitGetFromCallFrameHeader32): Deleted.
(JSC::JIT::emitGetFromCallFrameHeader64): Deleted.

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

(JSC::emitSetupVarargsFrameFastCase):

  • jit/SetupVarargsFrame.h: Added.
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::copyToArguments):

  • runtime/Arguments.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::copyToArguments):

  • runtime/JSArray.h:
5:21 PM Changeset in webkit [179861] by commit-queue@webkit.org
  • 68 edits in trunk/Source/WebCore

Update WEBCORE_EXPORT to prepare to start using it.
https://bugs.webkit.org/show_bug.cgi?id=141409

Patch by Alex Christensen <achristensen@webkit.org> on 2015-02-09
Reviewed by Tim Horton.

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/objc/DOMInternal.h:
  • bindings/objc/ExceptionHandlers.mm:
  • bindings/objc/WebScriptObjectPrivate.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.h:
  • css/StyleProperties.h:
  • dom/DeviceMotionData.h:
  • dom/Node.h:
  • dom/Position.h:
  • dom/ScriptExecutionContext.h:
  • editing/Editor.h:
  • editing/htmlediting.h:
  • html/HTMLInputElement.h:
  • html/TimeRanges.h:
  • loader/FrameLoader.h:
  • loader/cache/CacheValidation.h:
  • loader/cache/MemoryCache.h:
  • loader/icon/IconDatabase.h:
  • page/DatabaseProvider.h:
  • page/DiagnosticLoggingKeys.h:
  • page/EventHandler.h:
  • page/FrameSnapshotting.h:
  • page/MainFrame.h:
  • page/PageConsoleClient.h:
  • page/PageOverlay.h:
  • platform/CrossThreadCopier.h:
  • platform/FileSystem.h:
  • platform/PlatformSpeechSynthesizer.h:
  • platform/RemoteCommandListener.h:
  • platform/RuntimeApplicationChecks.h:
  • platform/graphics/Font.h:
  • platform/graphics/FontCache.h:
  • platform/graphics/FontGlyphs.h:
  • platform/graphics/FontRanges.h:
  • platform/graphics/GeometryUtilities.h:
  • platform/graphics/GlyphPage.h:
  • platform/graphics/Region.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/TileController.h:
  • platform/graphics/transforms/TransformationMatrix.h:
  • platform/mac/WebCoreFullScreenWarningView.h:
  • platform/network/BlobDataFileReference.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.h:
  • platform/network/create-http-header-name-table:
  • platform/network/mac/WebCoreURLResponse.h:
  • platform/sql/SQLiteDatabaseTracker.h:
  • platform/sql/SQLiteStatement.h:
  • rendering/HitTestLocation.h:
  • rendering/HitTestResult.h:
  • storage/StorageEventDispatcher.h:

Added WEBCORE_EXPORT macros.

5:17 PM Changeset in webkit [179860] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Check for self-assignment in Length::operator=(const Length&)
https://bugs.webkit.org/show_bug.cgi?id=141402

Reviewed by Andreas Kling.

Check for self-assignment in Length::operator=(const Length&) as
calling memcpy() with the same source and destination addresses has
undefined behavior.

  • platform/Length.h:

(WebCore::Length::operator=):

5:02 PM Changeset in webkit [179859] by roger_fong@apple.com
  • 22 edits
    2 deletes in trunk

WebGL: Update 1.0.2 conformance layout tests and address new failure.
https://bugs.webkit.org/show_bug.cgi?id=141408.
<rdar://problem/19773236>

Reviewed by Dean Jackson.

Tests covered by updated 1.0.2 conformance tests.

  • html/canvas/WebGLRenderingContextBase.cpp:

Return null string instead of empty string if parameter validation fails.
(WebCore::WebGLRenderingContextBase::getProgramInfoLog):
(WebCore::WebGLRenderingContextBase::getShaderInfoLog):
(WebCore::WebGLRenderingContextBase::getShaderSource):

  • fast/canvas/webgl/bad-arguments-test-expected.txt: Removed.
  • fast/canvas/webgl/bad-arguments-test.html: Removed. Redundant test case.
  • webgl/1.0.2/resources/webgl_test_files/README.md:
  • webgl/1.0.2/resources/webgl_test_files/conformance/attribs/gl-disabled-vertex-attrib.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/context/context-creation-and-destruction.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-s3tc.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/extensions/webgl-debug-shaders.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/extensions/webgl-depth-texture.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/misc/bad-arguments-test.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/misc/webgl-specific.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/uniformMatrixBadArgs.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/more/unit.js:
  • webgl/1.0.2/resources/webgl_test_files/conformance/more/util.js:

(VBO.prototype.use):

  • webgl/1.0.2/resources/webgl_test_files/conformance/rendering/multisample-corruption.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag:
  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/glsl-generator.js:
  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert:
  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js:

(WebGLTestUtils):

  • webgl/1.0.2/resources/webgl_test_files/test-guidelines.md:
  • webgl/1.0.2/resources/webgl_test_files/webgl-conformance-tests.html:
4:43 PM Changeset in webkit [179858] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.17.1/Source/WebCore

Merged r179839. rdar://problem/19520735

4:32 PM Changeset in webkit [179857] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.17.1/Source

Versioning.

4:30 PM Changeset in webkit [179856] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.17.1

New tag.

4:12 PM Changeset in webkit [179855] by ap@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION: tryFastCalloc is no longer "try"
https://bugs.webkit.org/show_bug.cgi?id=141406

Reviewed by Darin Adler.

This causes crashes on some WebKit regression test bots.

  • wtf/FastMalloc.cpp: (WTF::tryFastCalloc): Fix what looks like a copy/paste mistake.
3:58 PM Changeset in webkit [179854] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.5

New tag.

3:48 PM Changeset in webkit [179853] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

3:43 PM Changeset in webkit [179852] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

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

DFG call codegen should resolve the callee operand as late as possible
https://bugs.webkit.org/show_bug.cgi?id=141398

Reviewed by Mark Lam.

This is mostly a benign restructuring to help with the implementation of
https://bugs.webkit.org/show_bug.cgi?id=141332.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

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

Avoid using a HashMap for DisplayRefreshMonitorManager, which rarely has more than one item
https://bugs.webkit.org/show_bug.cgi?id=141353

Reviewed by Anders Carlsson.

No new tests, because there's no behavior change.

  • platform/graphics/DisplayRefreshMonitorManager.cpp:

(WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
(WebCore::DisplayRefreshMonitorManager::unregisterClient):
(WebCore::DisplayRefreshMonitorManager::displayDidRefresh):

  • platform/graphics/DisplayRefreshMonitorManager.h:

Use a Vector of RefPtr<DisplayRefreshMonitor> instead of a HashMap
from uint64_t to RefPtr<DisplayRefreshMonitor>. There's usually only one
display, so there's usually only one DisplayRefreshMonitor. Linear search
on the Vector will be faster than the hash lookup in all conceivable cases.
This also avoids the situation mentioned in the comments in DisplayRefreshMonitorManager.h
where we don't know enough about PlatformDisplayID to safely hash it.

3:26 PM Changeset in webkit [179849] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.17.7

New tag.

3:25 PM Changeset in webkit [179848] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.17-branch/Source/WebKit/win

Merged r179841. <rdar://problem/19772847>

3:19 PM Changeset in webkit [179847] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Selection flickers when trying to change size of selection.
https://bugs.webkit.org/show_bug.cgi?id=141404
rdar://problem/18824863

Reviewed by Benjamin Poulain.

When looking for the contracted range from the current range,
we were incorrectly choosing a selection whose rectangle is empty
as a best match candidate. This was throwing off all the logic
and producing a contracted range whose rectangle was bigger than the
expanded range, therefore producing a shrink threshold larger than the
growth one.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::contractedRangeFromHandle):

3:19 PM Changeset in webkit [179846] by Brian Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught exception when reporting wrong backend command call signature
https://bugs.webkit.org/show_bug.cgi?id=141401

Reviewed by Joseph Pecoraro.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Command.prototype._invokeWithArguments): Fix wrong variable name.

3:09 PM Changeset in webkit [179845] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.4

New tag.

3:04 PM Changeset in webkit [179844] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.8

New tag.

2:57 PM Changeset in webkit [179843] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] Disable the currentTime estimation code in HTMLMediaElement for Yosemite+
https://bugs.webkit.org/show_bug.cgi?id=141399

Reviewed by Eric Carlson.

Apparenty -[AVPlayer rate] means different things for HLS and progressive content; for progressive,
the -rate is the actual rate of playback. For HLS, the -rate is the requested rate, and will return
the requested value even if time is not progressing.

We added the currentTime estimation engine because asking AVFoundation for its -currentTime used to
be expensive, but we've been assured that in recent iOS and OS X releases, -currentTime should be
very fast. That, in combination with the HLS behavior of -rate and how it breaks the currentTime
estimation, means we should probably turn it off for iOS and Yosemite.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

(WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime): Move implementation to .mm.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime): Disable on iOS and >=10.10.

12:50 PM Changeset in webkit [179842] by roger_fong@apple.com
  • 8 edits in trunk/Source/WebCore

WebGL 2: Texture call format, internal format, and type validation.
https://bugs.webkit.org/show_bug.cgi?id=141318.
<rdar://problem/19733828>

Reviewed by Brent Fulgham.

Tests will be covered by WebGL2 conformance tests.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter): Add missing ExceptionCode argument.
(WebCore::WebGL2RenderingContext::copyTexImage2D): Validate texture formats based on GLES3 spec.
(WebCore::WebGL2RenderingContext::texSubImage2DBase): Validate using internal format from texture target.
(WebCore::WebGL2RenderingContext::texSubImage2DImpl): Validate using internal format from texture target.
(WebCore::WebGL2RenderingContext::texSubImage2D): Validate using internal format from texture target.
(WebCore::WebGL2RenderingContext::validateTexFuncParameters): Do extra validation for copyTexImage2D.
(WebCore::WebGL2RenderingContext::validateTexFuncFormatAndType): Validate internal format, format and type combination.
(WebCore::WebGL2RenderingContext::validateTexFuncData): Validate new data types.
This method now accepts an internal format argument.
(WebCore::WebGL2RenderingContext::baseInternalFormatFromInternalFormat):
Helper method to convert internal format to base internal format.

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

(WebCore::WebGLRenderingContext::copyTexImage2D): Moved from WebGLRenderingContextBase.
(WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
(WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
(WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto.
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType): Ditto.
(WebCore::WebGLRenderingContext::validateTexFuncData): Ditto.

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

(WebCore::WebGLRenderingContextBase::texImage2DBase):
(WebCore::WebGLRenderingContextBase::validateTexFunc):
(WebCore::WebGLRenderingContextBase::texImage2D):
(WebCore::WebGLRenderingContextBase::copyTexImage2D): Deleted.
(WebCore::WebGLRenderingContextBase::texSubImage2DBase): Deleted.
(WebCore::WebGLRenderingContextBase::texSubImage2DImpl): Deleted.
(WebCore::WebGLRenderingContextBase::texSubImage2D): Deleted.
(WebCore::WebGLRenderingContextBase::validateTexFuncFormatAndType): Deleted.
(WebCore::WebGLRenderingContextBase::validateTexFuncParameters): Deleted.
(WebCore::WebGLRenderingContextBase::validateTexFuncData): Deleted.

  • html/canvas/WebGLRenderingContextBase.h: Modify validation type enums to differentiate between CopyImage, TexImage and TexSubImage calls.

(WebCore::ScopedDrawingBufferBinder::ScopedDrawingBufferBinder): Moved from WebGLRenderingContextBase.
(WebCore::ScopedDrawingBufferBinder::~ScopedDrawingBufferBinder): Ditto.
(WebCore::clip1D): Ditto.
(WebCore::clip2D): Ditto.

  • platform/graphics/GraphicsContext3D.h: Rename a typo'ed enum.
12:27 PM Changeset in webkit [179841] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

AX: [Win] OBJID_CLIENT comparisons broken in 64-bit builds
https://bugs.webkit.org/show_bug.cgi?id=141391
<rdar://problem/19767342>

Reviewed by Anders Carlsson.

  • WebView.cpp:

(WebView::onGetObject): Cast lParam as LONG to ensure proper word size for
comparison against OBJID_CLIENT.

11:57 AM Changeset in webkit [179840] by fpizlo@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

DFG should only have two mechanisms for describing effectfulness of nodes; previously there were three
https://bugs.webkit.org/show_bug.cgi?id=141369

Reviewed by Michael Saboff.

We previously used the NodeMightClobber and NodeClobbersWorld NodeFlags to describe
effectfulness. Starting over a year ago, we introduced a more powerful mechanism - the
DFG::clobberize() function. Now we only have one remaining client of the old NodeFlags,
and everyone else uses DFG::clobberize(). We should get rid of those NodeFlags and
finally switch everyone over to DFG::clobberize().

Unfortunately there is still another place where effectfulness of nodes is described: the
AbstractInterpreter. This is because the AbstractInterpreter has special tuning both for
compile time performance and there are places where the AI is more precise than
clobberize() because of its flow-sensitivity.

This means that after this change there will be only two places, rather than three, where
the effectfulness of a node has to be described:

  • DFG::clobberize()
  • DFG::AbstractInterpreter
  • dfg/DFGClobberize.cpp:

(JSC::DFG::clobbersWorld):

  • dfg/DFGClobberize.h:
  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteLength):
(JSC::DFG::FixupPhase::convertToGetArrayLength):
(JSC::DFG::FixupPhase::attemptToMakeGetTypedArrayByteOffset):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::isPredictedNumerical): Deleted.
(JSC::DFG::Graph::byValIsPure): Deleted.
(JSC::DFG::Graph::clobbersWorld): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::convertToGetLocalUnlinked):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToMultiGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::convertToMultiPutByOffset):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGNodeType.h:
11:53 AM Changeset in webkit [179839] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

Caused slowdown in a WebKit client test scenario (Requested by
kling on #webkit).

Reverted changeset:

"[Cocoa] Make decoded image data purgeable ASAP."
https://bugs.webkit.org/show_bug.cgi?id=140298
http://trac.webkit.org/changeset/179494

11:45 AM Changeset in webkit [179838] by jer.noble@apple.com
  • 5 edits
    8 adds in trunk

[WebAudio] AudioBufferSourceNodes should accurately play backwards if given a negative playbackRate.
https://bugs.webkit.org/show_bug.cgi?id=140955

Reviewed by Eric Carlson.

Source/WebCore:

Tests: webaudio/audiobuffersource-negative-playbackrate-interpolated.html

webaudio/audiobuffersource-negative-playbackrate.html

Add support for playing an AudioBufferSourceNode at a negative playbackRate. Change the meaning of
start() to set the initial playback position at the end of the play range if the rate of playback
is negtive.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::AudioBufferSourceNode): Allow the playbackRate AudioParam to range from [-32, 32].
(WebCore::AudioBufferSourceNode::renderFromBuffer): Change variable names from "start" and "end" to "min" and "max"

for clarity. Add a non-interpolated and interpolated render step for negative playback.

(WebCore::AudioBufferSourceNode::start): Drive-by fix: default value of grainDuration is not 0.02.
(WebCore::AudioBufferSourceNode::startPlaying): Start playing at the end of the buffer for negative playback.
(WebCore::AudioBufferSourceNode::totalPitchRate): Allow the pitch to be negative.

LayoutTests:

  • webaudio/audiobuffersource-negative-playbackrate-expected.txt: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated-expected.txt: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated-loop-expected.txt: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html: Added.
  • webaudio/audiobuffersource-negative-playbackrate-interpolated.html:
  • webaudio/audiobuffersource-negative-playbackrate-loop-expected.txt: Added.
  • webaudio/audiobuffersource-negative-playbackrate-loop.html: Added.
  • webaudio/audiobuffersource-negative-playbackrate.html:
  • webaudio/resources/audiobuffersource-testing.js:

(createRamp):

Get rid of extra HRTF padding as it's now unnecessary.

  • webaudio/resources/note-grain-on-testing.js:

(createSignalBuffer):
(verifyStartAndEndFrames):

11:33 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:29 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:29 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:28 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:27 AM WebKitGTK/Gardening edited by clopez@igalia.com
(diff)
11:27 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
11:23 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
11:19 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:59 AM Changeset in webkit [179837] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: css3/masking/mask-repeat-space-padding.html

  • platform/ios-simulator-wk2/TestExpectations: Remove

expectation since this is covered in
platform/ios-simulator/TestExpectations as an ImageOnlyFailure.

10:53 AM Changeset in webkit [179836] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

[iOS] Gardening for editing/execCommand/remove-list-item-1.html

  • platform/ios-simulator-wk1/TestExpectations:

(editing/execCommand/remove-list-item-1.html): Mark as flakey.
When run (with or without --run-singly), this test always passes
the first time, but fails all subsequent times due to
EDITING DELEGATE: shouldChangeSelectedDOMRange:range
running in a different order.

  • platform/ios-simulator-wk2/editing/execCommand/remove-list-item-1-expected.txt: Update.
10:26 AM Changeset in webkit [179835] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r179809. rdar://problem/19711203

10:24 AM Changeset in webkit [179834] by bshafiei@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit2

Merged r179809. rdar://problem/19711203

10:23 AM Changeset in webkit [179833] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

10:22 AM Changeset in webkit [179832] by ddkilzer@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

REGRESSION (r179771): [iOS] Gardening for compositing/layer-creation/subpixel-adjacent-layers-overlap.html

Test recently added for:
Convert the compositing overlap map to use LayoutRects
<http://webkit.org/b/141346>

  • platform/ios-simulator/compositing/layer-creation/subpixel-adjacent-layers-overlap-expected.txt:

Add platform-specific results for ios-simulator.

10:07 AM Changeset in webkit [179831] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Fix the !ENABLE(DFG_JIT) build
https://bugs.webkit.org/show_bug.cgi?id=141387

Reviewed by Darin Adler.

  • jit/Repatch.cpp:
9:52 AM Changeset in webkit [179830] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests shell test runner should run tests in fixed order
https://bugs.webkit.org/show_bug.cgi?id=141383

Reviewed by Darin Adler.

  • Scripts/jsc-stress-test-helpers/shell-runner.sh:
9:15 AM Changeset in webkit [179829] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Try to fix build on platforms that use SVG "all in one" file (Windows).

  • svg/SVGAElement.cpp: Don't do "using namespace HTMLNames;" outside of

function boundaries, because that will be inherited by other files.
(WebCore::SVGAElement::isURLAttribute): Use XLinkNames directly here
instead of using HTMLNames implicitly.

  • svg/SVGElement.cpp: Don't do "using namespace HTMLNames;" outside of

function boundaries, because that will be inherited by other files.
(WebCore::populateAttributeNameToCSSPropertyIDMap): Instead do it in here.
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap): And here.
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap): And here.
(WebCore::SVGElement::parseAttribute): And use HTMLNames directly here
instead of implicitly.

8:37 AM Changeset in webkit [179828] by Brian Burg
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r179705): 2nd-level inspector availability no longer controlled by DeveloperExtrasEnabled user default
https://bugs.webkit.org/show_bug.cgi?id=141343

Reviewed by Timothy Hatcher.

The regression was caused by the switch to using WKWebViewConfiguration and
its default WebPreferences object, which is used to populate the inspector page's
Settings object. This WebPreferences is initialized with no identifier, so
only preferences in the FOR_EACH_WEBKIT_DEBUG_*_PREFERENCE macros are populated
from NSUserDefaults.

The simplest fix is to move DeveloperExtrasEnabled into the DEBUG group.

Previously, each inspector level had a unique identifier such as
WebInspectorPageGroupLevelN, and the n+1 level inspector was enabled
by toggling WebInspectorPageGroupLevelN.WebKit2DeveloperExrasEnabled.
With the move to the DEBUG group, the preference becomes simply
WebKitDeveloperExtrasEnabled, which enables any level of inspector.
(This does not clash with Safari's "Show Develop Menu" preference, which uses
the key "WebKitDeveloperExtrasEnabledPreferenceKey")

  • Shared/WebPreferencesDefinitions.h:
8:22 AM Changeset in webkit [179827] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] exit from fullscreen when player view controller calls delegate
https://bugs.webkit.org/show_bug.cgi?id=141350

Reviewed by Jer Noble.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController playerViewControllerWillCancelOptimizedFullscree:]): New, ask delegate

to exit from fullscreen.

7:56 AM HackingWebInspector edited by Brian Burg
update NSUserDefaults keys after … (diff)
6:05 AM Changeset in webkit [179826] by svillar@igalia.com
  • 3 edits
    1 add in trunk

ASSERTION FAILED: resolvedInitialPosition <= resolvedFinalPosition in WebCore::GridSpan::GridSpan
https://bugs.webkit.org/show_bug.cgi?id=141328

Reviewed by Darin Adler.

.:

Added as manual test because it involves a huge grid allocation
which is very slow on Debug bots, the only ones capable to trigger
the assertion.

  • ManualTests/css-grid-layout-item-with-huge-span-crash.html: Added.

Source/WebCore:

Whenever
GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition()
was trying to place an item with span, it was completely ignoring
the resolvedInitialPosition returned by
GridResolvedPosition::resolveGridPositionAgainstOppositePosition()
and only using the finalResolvedPosition. This works with an
unlimited grid which can indefinitely grow. But if the item spans
over the grid track limits, then it might happen that the final
resolved position is placed before the initial resolved position,
something that is forbidden.

The solution is to directly use the GridSpan returned by
GridResolvedPosition::resolveGridPositionAgainstOppositePosition(), if the item
does not surpass the track limits then the returned initialResolvedPosition
is identical to the provided one, otherwise it's properly corrected to respect
track boundaries.

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition):

5:18 AM Changeset in webkit [179825] by clopez@igalia.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK Gardening.

  • platform/gtk/TestExpectations: Mark new test failing
  • platform/gtk/css2.1/t1508-c527-font-00-b-expected.txt: Added. Rebaseline after r177774.
4:32 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
4:04 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
3:55 AM WebKitGTK/Gardening/Calendar created by clopez@igalia.com
3:55 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
3:54 AM WebKitGTK/Gardening edited by clopez@igalia.com
(diff)
3:52 AM WebKitGTK/Gardening/Howto created by clopez@igalia.com
3:34 AM Changeset in webkit [179824] by svillar@igalia.com
  • 6 edits in trunk

[CSS Grid Layout] Tracks' growth limits must be >= base sizes
https://bugs.webkit.org/show_bug.cgi?id=140540

Reviewed by Antti Koivisto.

Source/WebCore:

The track sizing algorithm is supposed to avoid those situations
but they easily (specially when we mix absolute lengths and
intrinsic lengths in min and max track sizing functions) and
frequently appear. In those cases the outcome from the algorithm
is wrong, tracks are not correctly sized.

In order to fulfill the restriction, m_usedBreadth and
m_maxBreadth are now private members of GridTrack and the class
now provides a couple of methods to modify them respecting the
growthLimit >= baseSize precondition.

Apart from that, the members and methods of GridTrack were also
renamed to match the ones used in the recent algorithm rewrite:
usedBreadth became baseSize and maxBreadth is now growthLimit.

Although the algorithm was not modified at all, this change
detected and fixed several invalid results (tracks and/or grids
bigger than expected).

  • rendering/RenderGrid.cpp:

(WebCore::GridTrack::GridTrack): Renamed fields and methods. Added
assertions.
(WebCore::GridTrack::baseSize): Renamed from usedBreadth.
(WebCore::GridTrack::growthLimit): Renamed from maxBreadth.
(WebCore::GridTrack::setBaseSize):
(WebCore::GridTrack::setGrowthLimit):
(WebCore::GridTrack::growBaseSize): Renamed from growUsedBreadth.
(WebCore::GridTrack::growGrowthLimit): Renamed from growMaxBreadth.
(WebCore::GridTrack::growthLimitIsInfinite): New helper method.
(WebCore::GridTrack::growthLimitIfNotInfinite): Renamed from
maxBreadthIfNotInfinite.
(WebCore::GridTrack::isGrowthLimitBiggerThanBaseSize): New helper
method to verify ASSERTs are true.
(WebCore::GridTrack::ensureGrowthLimitIsBiggerThanBaseSize): Ditto.
(WebCore::GridTrackForNormalization::GridTrackForNormalization):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::sortByGridTrackGrowthPotential):
(WebCore::RenderGrid::distributeSpaceToTracks):
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::populateGridPositions):
(WebCore::GridTrack::growUsedBreadth): Renamed to growBaseSize.
(WebCore::GridTrack::usedBreadth): Renamed to baseSize.
(WebCore::GridTrack::growMaxBreadth): Renamed to growGrowthLimit.
(WebCore::GridTrack::maxBreadthIfNotInfinite): Renamed to
growthLimitIfNotInfinite.

  • rendering/RenderGrid.h:

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
3:03 AM Changeset in webkit [179823] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Measure cache size more accurately
https://bugs.webkit.org/show_bug.cgi?id=141378
<rdar://problem/19760224>

Reviewed by Chris Dumez.

Estimate the cache disk space usage from the actual entry sizes instead of the item count.
This prevents large cache items from making the cache grow beyond its bounds.

  • NetworkProcess/cache/NetworkCacheStorage.h:
  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::initialize):
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::clear):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):

2:01 AM WebKitGTK/Gardening created by clopez@igalia.com
12:18 AM Changeset in webkit [179822] by gyuyoung.kim@samsung.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed, add new baseline since r179796.

New baseline was added by r179796. EFL port supports the test as well.
This patch adds new baseline based on EFL port.

  • platform/efl/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
  • platform/efl/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
12:02 AM Changeset in webkit [179821] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r179705): [GTK] The Web Inspector doesn't work after r179705
https://bugs.webkit.org/show_bug.cgi?id=141333

Reviewed by Žan Doberšek.

Create an initialize WebPreferences for the inspector page. This
was moved from cross-platform code to platform specific code.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

Feb 8, 2015:

11:09 PM Changeset in webkit [179820] by Chris Fleizach
  • 10 edits
    2 adds in trunk

AX: VoiceOver appears unresponsive when JavaScript alerts are triggered via focus or blur events
https://bugs.webkit.org/show_bug.cgi?id=140485

Reviewed by Anders Carlsson.

Source/WebCore:

If setting an accessibility attribute results in a modal alert being displayed, it can cause VoiceOver
to hang. A simple solution is perform the actual work after a short delay, which will ensure the call
returns without hanging.

Test: platform/mac/accessibility/setting-attributes-is-asynchronous.html

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):

Tools:

Implement takeFocus() as a way to set focus through accessibility wrappers.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::takeFocus):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::takeFocus):

LayoutTests:

Modify tests that relied on setting behavior and immediately checking results. Those
tests now need to retrieve results after a short timeout.

  • accessibility/textarea-selected-text-range-expected.txt:
  • accessibility/textarea-selected-text-range.html:
  • platform/mac/accessibility/select-element-selection-with-optgroups.html:
  • platform/mac/accessibility/setting-attributes-is-asynchronous-expected.txt: Added.
  • platform/mac/accessibility/setting-attributes-is-asynchronous.html: Added.
7:44 PM Changeset in webkit [179819] by benjamin@webkit.org
  • 10 edits
    8 adds in trunk

Add parsing support for CSS Selector L4's case-insensitive attribute
https://bugs.webkit.org/show_bug.cgi?id=141373

Reviewed by Darin Adler.

Source/WebCore:

This patch adds parsing for the case-insensitive attribute value
matching of CSS Selectors Level 4: http://dev.w3.org/csswg/selectors-4/#attribute-case
Excuse of a grammar: http://dev.w3.org/csswg/selectors-4/#grammar

This patch also covers serialization for CSSOM. The serialization
is defined here: http://dev.w3.org/csswg/cssom/#serializing-selectors

Matching is completely ignored in this patch. All the simple selectors
are treated as regular attribute selectors.

Tests: fast/css/parsing-css-attribute-case-insensitive-value-1.html

fast/css/parsing-css-attribute-case-insensitive-value-2.html
fast/css/parsing-css-attribute-case-insensitive-value-3.html
fast/css/parsing-css-attribute-case-insensitive-value-4.html

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.h:

(WebCore::CSSParserSelector::setAttributeValueMatchingIsCaseInsensitive):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::CSSSelector):
(WebCore::CSSSelector::setAttributeValueMatchingIsCaseInsensitive):
(WebCore::CSSSelector::attributeValueMatchingIsCaseInsensitive):

LayoutTests:

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:

Basic round-trip serialization through CSSOM.

  • fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt: Added.
  • fast/css/parsing-css-attribute-case-insensitive-value-1.html: Added.

Simple cases by themself and used in complex selectors.

  • fast/css/parsing-css-attribute-case-insensitive-value-2-expected.txt: Added.
  • fast/css/parsing-css-attribute-case-insensitive-value-2.html: Added.

Less simple cases, all kinds of valid syntax for case-insensitive attributes.

  • fast/css/parsing-css-attribute-case-insensitive-value-3-expected.txt: Added.
  • fast/css/parsing-css-attribute-case-insensitive-value-3.html: Added.

Cases that must be treated as invalid selectors.

  • fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt: Added.
  • fast/css/parsing-css-attribute-case-insensitive-value-4.html: Added.

Verify that invalid rules do not affect surrounding valid rules.

6:56 PM Changeset in webkit [179818] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

[iOS] Skip js/dom/create-lots-of-workers.html on ios-simulator

Already skipped on mac; marked as flakey on efl and gtk.

Fix tracked by:
REGRESSION: js/dom/create-lots-of-workers.html frequently crashes (sometimes in js/dom/cross-frame-bad-time.html)
<http://webkit.org/b/129758>
<rdar://problem/19760988>

  • platform/ios-simulator/TestExpectations: Skip test.
  • platform/mac/TestExpectations: Add comment about skipping on

ios-simulator.

6:42 PM Changeset in webkit [179817] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove a few duplicate propagation steps from the DFG's PredictionPropagation phase
https://bugs.webkit.org/show_bug.cgi?id=141363

Reviewed by Darin Adler.

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):
Some blocks were duplicated, they probably evolved separately
to the same state.

6:40 PM Changeset in webkit [179816] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Remove useless declarations and a stale comment from DFGByteCodeParser.h
https://bugs.webkit.org/show_bug.cgi?id=141361

Reviewed by Darin Adler.

The comment refers to the original form of the ByteCodeParser:

parse(Graph&, JSGlobalData*, CodeBlock*, unsigned startIndex);

That form is long dead, the comment is more misleading than anything.

  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGByteCodeParser.h:
6:38 PM Changeset in webkit [179815] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Encapsulate DFG::Plan's beforeFTL timestamp
https://bugs.webkit.org/show_bug.cgi?id=141360

Reviewed by Darin Adler.

Make the attribute private, it is an internal state.

Rename beforeFTL->timeBeforeFTL for readability.

  • dfg/DFGPlan.cpp:

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

  • dfg/DFGPlan.h:
6:37 PM Changeset in webkit [179814] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove DFGNode::hasArithNodeFlags()
https://bugs.webkit.org/show_bug.cgi?id=141319

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-08
Reviewed by Michael Saboff.

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasArithNodeFlags): Deleted.
Unused code is unused.

5:50 PM Changeset in webkit [179813] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix CMake-based build.

  • CMakeLists.txt: Added a dependency on the CMakeLists.txt itself, analogous

to the one I added in DerivedSources.make.

5:40 PM Changeset in webkit [179812] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix build.

  • bindings/js/JSEventListener.h: Removed a call to forwardEventListeners.
5:25 PM Changeset in webkit [179811] 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

Reviewed by Sam Weinig.

Make the test wait for the plug-in to become available.

  • fullscreen/full-screen-plugin.html:
5:13 PM Changeset in webkit [179810] by Darin Adler
  • 88 edits
    4 deletes in trunk

Remove the SVG instance tree
https://bugs.webkit.org/show_bug.cgi?id=140602

Reviewed by Dean Jackson.

Source/WebCore:

  • CMakeLists.txt: Removed SVGElementInstance source files.
  • DerivedSources.cpp: Ditto.
  • DerivedSources.make: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSBindingsAllInOne.cpp: Ditto.
  • bindings/js/JSEventListener.cpp:

(WebCore::forwardsEventListeners): Deleted. Only returned true for JSSVGElementInstance.
(WebCore::correspondingElementWrapper): Deleted. Only used for JSSVGElementInstance.
(WebCore::createJSEventListenerForAttribute): Deleted. Argument type was JSSVGElementInstance.
(WebCore::createJSEventListenerForAdd): Removed most of the code; later we can delete this entirely.

  • bindings/js/JSEventListener.h: Removed the overload of createJSEventListenerForAttribute

that takes a JSSVGElementInstance.

  • bindings/js/JSSVGElementInstanceCustom.cpp: Removed.
  • dom/ContainerNodeAlgorithms.h: Updated comment to reflect the fact that

this code is really now only used for ContainerNode and no longer needs to
exist in a generic form.

  • dom/EventTarget.h: Removed forward declaration of SVGElementInstance.
  • svg/SVGElement.h: Ditto.
  • dom/EventTargetFactory.in: Removed SVGElementInstance.
  • svg/SVGElementInstance.cpp: Removed.
  • svg/SVGElementInstance.h: Removed.
  • svg/SVGElementInstance.idl: Removed.
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::insertedInto): Removed obsolete comment.
(WebCore::SVGUseElement::instanceTreeIsLoading): Deleted. Unused
function that I forgot to delete in my last patch. It also had a
glaring mistake, a missing "return" before the recursive call to
itself that would cause it to return false when it should return true.

  • svg/SVGUseElement.h: Removed instanceTreeIsLoading.
  • dom/EventDispatcher.cpp: Removed include of SVGElementInstance.h.
  • page/EventHandler.cpp: Ditto.
  • rendering/svg/RenderSVGViewportContainer.cpp: Ditto.
  • svg/SVGAElement.cpp: Ditto.
  • svg/SVGAllInOne.cpp: Ditto.
  • svg/SVGAnimateMotionElement.cpp: Ditto.
  • svg/SVGAnimatedTypeAnimator.h: Ditto.
  • svg/SVGAnimationElement.cpp: Ditto.
  • svg/SVGCircleElement.cpp: Ditto.
  • svg/SVGClipPathElement.cpp: Ditto.
  • svg/SVGComponentTransferFunctionElement.cpp: Ditto.
  • svg/SVGCursorElement.cpp: Ditto.
  • svg/SVGElement.cpp: Ditto.
  • svg/SVGEllipseElement.cpp: Ditto.
  • svg/SVGFEBlendElement.cpp: Ditto.
  • svg/SVGFEColorMatrixElement.cpp: Ditto.
  • svg/SVGFECompositeElement.cpp: Ditto.
  • svg/SVGFEConvolveMatrixElement.cpp: Ditto.
  • svg/SVGFEDiffuseLightingElement.cpp: Ditto.
  • svg/SVGFEDisplacementMapElement.cpp: Ditto.
  • svg/SVGFEDropShadowElement.cpp: Ditto.
  • svg/SVGFEGaussianBlurElement.cpp: Ditto.
  • svg/SVGFEImageElement.cpp: Ditto.
  • svg/SVGFELightElement.cpp: Ditto.
  • svg/SVGFEMergeNodeElement.cpp: Ditto.
  • svg/SVGFEMorphologyElement.cpp: Ditto.
  • svg/SVGFEOffsetElement.cpp: Ditto.
  • svg/SVGFESpecularLightingElement.cpp: Ditto.
  • svg/SVGFETileElement.cpp: Ditto.
  • svg/SVGFETurbulenceElement.cpp: Ditto.
  • svg/SVGFilterElement.cpp: Ditto.
  • svg/SVGFilterPrimitiveStandardAttributes.cpp: Ditto.
  • svg/SVGForeignObjectElement.cpp: Ditto.
  • svg/SVGGElement.cpp: Ditto.
  • svg/SVGGradientElement.cpp: Ditto.
  • svg/SVGGraphicsElement.cpp: Ditto.
  • svg/SVGImageElement.cpp: Ditto.
  • svg/SVGLineElement.cpp: Ditto.
  • svg/SVGLinearGradientElement.cpp: Ditto.
  • svg/SVGMarkerElement.cpp: Ditto.
  • svg/SVGMaskElement.cpp: Ditto.
  • svg/SVGPathElement.cpp: Ditto.
  • svg/SVGPatternElement.cpp: Ditto.
  • svg/SVGPolyElement.cpp: Ditto.
  • svg/SVGRadialGradientElement.cpp: Ditto.
  • svg/SVGRectElement.cpp: Ditto.
  • svg/SVGSVGElement.cpp: Ditto.
  • svg/SVGScriptElement.cpp: Ditto.
  • svg/SVGStopElement.cpp: Ditto.
  • svg/SVGSymbolElement.cpp: Ditto.
  • svg/SVGTRefElement.cpp: Ditto.
  • svg/SVGTextContentElement.cpp: Ditto.
  • svg/SVGTextElement.cpp: Ditto.
  • svg/SVGTextPathElement.cpp: Ditto.
  • svg/SVGTextPositioningElement.cpp: Ditto.

Tools:

  • Scripts/check-for-global-initializers: Removed special case for

SVGElementInstance.o.

LayoutTests:

Last step: Remove SVGElementInstance class itself.

  • js/dom/global-constructors-attributes-expected.txt: Removed SVGElementInstance.
  • platform/efl/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/ios-sim-deprecated/fast/dom/Window/window-property-descriptors-expected.txt: Ditto.
  • platform/ios-sim-deprecated/fast/js/global-constructors-expected.txt: Ditto.
  • platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/mac/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • platform/win/js/dom/global-constructors-attributes-expected.txt: Ditto.
  • svg/custom/global-constructors-expected.txt: Ditto.
  • svg/custom/script-tests/global-constructors.js: Ditto.
  • svg/dom/svg2-inheritance-expected.txt: Ditto.
  • svg/dom/svg2-inheritance.html: Ditto.
4:30 PM Changeset in webkit [179809] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null deref in _clearImmediateActionState when closing a view with a DataDetectors popover open
https://bugs.webkit.org/show_bug.cgi?id=141377
<rdar://problem/19711203>

Reviewed by Darin Adler.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _clearImmediateActionState]):
We can have already detached the page when DataDetectors calls us back
in interactionStoppedHandler. While we have kept a strong reference to the
page in the interactionStoppedHandler block, _page is nulled out.
It's OK to avoid doing this work, in any case, because closing a page
tears down the TextIndicator anyway.

3:40 PM Changeset in webkit [179808] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Tweak inline playback controls to match system spec
https://bugs.webkit.org/show_bug.cgi?id=141375
<rdar://problem/19760754>

Reviewed by Sam Weinig.

Rework the UI of the inline media controls on iOS, to
better match the system specification. I've batched a
few changes into one patch because many of them are
inter-dependent, and not very aggressive. Changes are:

  • updated artwork for the buttons.
  • separate artwork for normal and active states.
  • background images are now explicitly sized and positioned in the middle of the element, allowing audio and video to use the same glyphs even though the elements are different sizes.
  • use plus-darker blend mode on the button glyphs.
  • rearranged some of the rules to group things in a logical order.
  • time should front-pad a "0" character, if less than 10.
  • no need for an "active" class on the Airplay button (although I won't be surprised if this changes back).
  • Modules/mediacontrols/mediaControlsiOS.css:

(::-webkit-media-controls):
(video::-webkit-media-controls-wireless-playback-picker-button.active): Deleted.
(audio::-webkit-media-controls-wireless-playback-picker-button.active): Deleted.
(audio::-webkit-media-controls-play-button:active): Deleted.
(audio::-webkit-media-controls-play-button.paused): Deleted.
(video::-webkit-media-controls-timeline): Deleted.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.updateWirelessPlaybackStatus): No need
for the "active" class.
(ControllerIOS.prototype.formatTime): Pad with a leading zero.

3:22 PM Changeset in webkit [179807] by Darin Adler
  • 9 edits
    9 adds
    50 deletes in trunk

Make SVGUseElement work without creating any SVGElementInstance objects
https://bugs.webkit.org/show_bug.cgi?id=141374

Reviewed by Sam Weinig.

Source/WebCore:

  • dom/ElementIterator.h: Changed the * and -> operators to be const.

There is no need for the iterator itself to be modified just to dereference it.

  • dom/TypedElementDescendantIterator.h: Added DoubleTypedElementDescendantIterator.

This allows callers to call descendantsOfType on two elements, as long as the caller
can guarantee that both have the same number of descendants of that type. It's handy
for walking a tree of cloned elements to set up something between each original and
its clone. In the future we might instead change the cloning machinery so it can do
this work as we clone, and if so, we could consider deleting this.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::correspondingElement): Made this const.
(WebCore::SVGElement::invalidateInstances): Got rid of the rule that said "this can
only be done for an element in a document", since it's useful to do this on an element
that has just been removed from a document. Removed the "updateStyleIfNeeded" call
here now that the other changes make it no longer needed. Removed an unimportant
assertion that we only invalidate use elements that are in a document; that's not
a necessary restriction. Streamlined the logic a bit.

  • svg/SVGElement.h: Made correspondingElement const.
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::insertedInto): Removed an assertion about
m_targetElementInstance since that's gone now.
(WebCore::SVGUseElement::svgAttributeChanged): Changed code that transfers
size attributes to the shadow tree to use shadowTreeTargetClone instead of
m_targetElementInstance.
(WebCore::SVGUseElement::clearResourceReferences): Removed code to detach
m_targetElementInstance, and also the call to removeAllTargetReferencesForElement,
because we no longer use those.
(WebCore::SVGUseElement::buildPendingResource): Moved the code to build the
shadow tree in here and deleted the buildShadowAndInstanceTree function.
Also changed logic so that we use a pending resource any time the target is not
a valid one. That helps us correctly handle cases where we initially have an
invalid target, but later get a value one
(WebCore::SVGUseElement::buildShadowAndInstanceTree): Deleted. The code here
was greatly simplified and moved into buildPendingResource.
(WebCore::SVGUseElement::buildInstanceTree): Deleted.
(WebCore::SVGUseElement::hasCycleUseReferencing): Deleted. Cycles are now
detected by the new isValidTarget function and so there's no need for a
separate explicit check for a cycle.
(WebCore::associateClonesWithOriginals): Added. Helper that makes
functions that build the shadow tree simpler and easier to read.
(WebCore::associateReplacementCloneWithOriginal): Added. Helper to
make associateReplacementClonesWithOriginals simple.
(WebCore::associateReplacementClonesWithOriginals): Added. Helper that
makes functions that build the shadow tree simpler and easier to read.
(WebCore::SVGUseElement::buildShadowTree): Call associateClonesWithOriginals
since associateInstancesWithShadowTreeElements no longer does this.
(WebCore::SVGUseElement::isValidTarget): Added. Covers all the different
reasons a target might not be valid: type of element, reference cycles, and
also "not in document" (refactored in here; not sure when that can happen
in practice, might be possible to remove it later).
(WebCore::SVGUseElement::expandUseElementsInShadowTree): Add checks for
documents that are still loading; this used to be checked when building the
instance tree. Added calls to associateReplacementClonesWithOriginals and
associateClonesWithOriginals; that used to be done by later in the
associateInstancesWithShadowTreeElements function. Use isValidTarget so
we handle cycles as well as invalid target types.
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Added a call to
associateReplacementClonesWithOriginals, since we can no longer do that in
associateInstancesWithShadowTreeElements.
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): Deleted.
(WebCore::SVGUseElement::instanceForShadowTreeElement): Deleted.
(WebCore::SVGUseElement::invalidateDependentShadowTrees): Removed a comment
that simply restated the name of the function.

  • svg/SVGUseElement.h: Removed instanceForShadowTreeElement,

buildShadowAndInstanceTree, detachInstance, buildInstanceTree,
hasCycleUseReferencing, associateInstancesWithShadowTreeElements,
instanceForShadowTreeElement, and m_targetElementInstance. Added isValidTarget.

LayoutTests:

Results changed on some tests that expected the old "remove all content if a cycle is detected"
behavior from the <use> element. The new behavior is to inhibit cycles, but render everything
else, which is much easier to implement correctly and also makes logical sense. Changed all
those tests to be reference tests, which makes sense since they are focusing on what gets
rendered in these complex cases, and the expected results are a lot easier to understand in
SVG form than they were in txt/png form. This also means we can remove a lot of platform-specific
results since reference tests aren't sensitive to small platform differences in rendering.

  • platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.png: Removed.
  • platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.png: Removed.
  • platform/efl/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.png: Removed.
  • platform/efl/svg/hixie/error/017-expected.png: Removed.
  • platform/gtk/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.png: Removed.
  • platform/gtk/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.png: Removed.
  • platform/gtk/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.png: Removed.
  • platform/gtk/svg/custom/use-on-disallowed-foreign-object-3-expected.png: Removed.
  • platform/gtk/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/gtk/svg/custom/use-recursion-1-expected.png: Removed.
  • platform/gtk/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/gtk/svg/custom/use-recursion-2-expected.png: Removed.
  • platform/gtk/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/gtk/svg/custom/use-recursion-3-expected.png: Removed.
  • platform/gtk/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/gtk/svg/custom/use-recursion-4-expected.png: Removed.
  • platform/gtk/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/gtk/svg/hixie/error/017-expected.png: Removed.
  • platform/ios-sim-deprecated/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/hixie/error/017-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/mac-mountainlion/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Removed.
  • platform/mac-mountainlion/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Removed.
  • platform/mac-mountainlion/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/mac-mountainlion/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/mac-mountainlion/svg/hixie/error/017-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Removed.
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.png: Removed.
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt: Removed.
  • platform/mac/svg/custom/use-recursion-1-expected.png: Removed.
  • platform/mac/svg/custom/use-recursion-1-expected.txt: Removed.
  • platform/mac/svg/custom/use-recursion-2-expected.png: Removed.
  • platform/mac/svg/custom/use-recursion-2-expected.txt: Removed.
  • platform/mac/svg/custom/use-recursion-3-expected.png: Removed.
  • platform/mac/svg/custom/use-recursion-3-expected.txt: Removed.
  • platform/mac/svg/custom/use-recursion-4-expected.png: Removed.
  • platform/mac/svg/custom/use-recursion-4-expected.txt: Removed.
  • platform/mac/svg/hixie/error/017-expected.png: Removed.
  • platform/mac/svg/hixie/error/017-expected.txt: Removed.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.svg: Added. Made this be a reference test,

and made it expect more of the recursion to work.

  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt: Removed.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.svg: Added. More of the same.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt: Removed.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.svg: Added. More of the same.
  • svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt: Removed.
  • svg/custom/use-on-disallowed-foreign-object-3-expected.svg: Added. More of the same.
  • svg/custom/use-recursion-1-expected.svg: Added. More of the same.
  • svg/custom/use-recursion-2-expected.svg: Added. More of the same.
  • svg/custom/use-recursion-3-expected.svg: Added. More of the same.
  • svg/custom/use-recursion-4-expected.svg: Added. More of the same.
  • svg/hixie/error/017-expected.txt: Removed.
  • svg/hixie/error/017-expected.xml: Added. More of the same.
  • svg/in-html/defs-after-use.html: Updated incorrect bug number in this test.
3:21 PM Changeset in webkit [179806] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

Skip fast/parser/document-open-in-unload.html on all WK2 platforms

Tracked by:
[WK2] fast/parser/document-open-in-unload.html makes the following test crash
<http://webkit.org/b/98345>

  • platform/mac-wk2/TestExpectations: Move Skip expectation from here...
  • platform/wk2/TestExpectations: ...to here with updated bug number.
3:20 PM Changeset in webkit [179805] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

Update section headers for mac-wk2/TestExpectations

  • platform/mac-wk2/TestExpectations:
2:06 PM Changeset in webkit [179804] by Chris Dumez
  • 12 edits
    3 adds in trunk/Source

[WK2] Add logging to validate the network cache efficacy (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=141269
<rdar://problem/19632080>

Reviewed by Antti Koivisto.

Source/WebCore:

Export an extra symbol.

  • WebCore.exp.in:

Source/WebKit2:

Add console logging to validate the network cache efficacy. This will
tell us if how the network cache satisties requests, in particular:

  • Request cannot be handled by the cache
  • Entry was not in the cache but is no longer there (pruned)
  • Entry is in the cache but is not usable
  • Entry is in the cache and is used.

This patch introduces a SQLite-based network cache statistics storage
that is used to store requests we have seen before, and query if we
have seen a request before. The storage is lightweight as it only
stores hashes in the database, in a background thread.

The statistics cache is initially bootstapped from the network disk
cache so that we have data initially and get as accurate statistics
as possible from the start.

To maintain an acceptable level of performance, we have a hard limit
on the number of unique requests that are retained set to 100000.

Diagnostic logging for this will be added in a follow-up patch.

12:22 PM Changeset in webkit [179803] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: Some MathML tests crash in RenderMathMLOperator::advanceForGlyph() or boundsForGlyph()

Tracked by: <http://webkit.org/b/141371>

  • platform/ios-simulator-wk2/TestExpectations: Mark tests as

crashing.

12:22 PM Changeset in webkit [179802] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r179391): Remove references to deleted SVG tests

Fixes the following lint warnings:

--lint-test-files warnings:
LayoutTests/platform/ios-simulator-wk2/TestExpectations:412 Path does not exist. svg/custom/use-elementInstance-event-target.svg
LayoutTests/platform/ios-simulator-wk2/TestExpectations:413 Path does not exist. svg/custom/use-elementInstance-methods.svg
LayoutTests/platform/ios-simulator-wk2/TestExpectations:417 Path does not exist. svg/custom/use-instanceRoot-event-listeners.xhtml

  • platform/ios-simulator-wk2/TestExpectations: Remove deleted

tests.

12:00 PM Changeset in webkit [179801] by ap@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Removing an accidentally committed ChangeLog.

11:46 AM TestExpectations edited by ddkilzer@webkit.org
Fix new-run-webkit-tests to just run-webkit-tests. (diff)
11:33 AM Changeset in webkit [179800] by ap@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

AX: The input element with type="search" has no default focus outline
https://bugs.webkit.org/show_bug.cgi?id=140326

Adding results for Mavericks.

  • platform/mac-mavericks/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
11:17 AM Changeset in webkit [179799] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/security/appcache-in-private-browsing.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141370

11:11 AM Changeset in webkit [179798] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Application cache abort() tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=87633

Moved expectations form Efl to root TestExpectations file. Also, removed Crash
expectation, as no bot hits that now.

Removed an erroneously added expectation for abort-cache-onchecking-resource-404.html -
this test doesn't happen to fail on the bots, although it also doesn't appear to
be very robust.

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

http/tests/appcache/abort-cache-onchecking-resource-404.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=141368

  • TestExpectations: This test is intrinsically unreliable, but at least it checks

that there is no crash is any of the code paths that it takes.

12:02 AM Changeset in webkit [179796] by Chris Fleizach
  • 3 edits
    3 adds in trunk

AX: The input element with type="search" has no default focus outline
https://bugs.webkit.org/show_bug.cgi?id=140326

Reviewed by Darin Adler.

Source/WebCore:

The platform RenderTheme takes care of the search field, and that code
was missing a check for whether the element was focused.

Test: fast/css/focus-ring-exists-for-search-field.html

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSearchField):

LayoutTests:

  • fast/css/focus-ring-exists-for-search-field.html: Added.
  • platform/mac/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
  • platform/mac/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
Note: See TracTimeline for information about the timeline view.