Timeline



Aug 11, 2015:

11:05 PM Changeset in webkit [188330] by Matt Baker
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: TimelineView data not cleared when recording is reset
https://bugs.webkit.org/show_bug.cgi?id=147916

Reviewed by Timothy Hatcher.

Each derived timeline view maintains a separate array of timeline records. These weren't
cleared on reset, so switching to a timeline view after clearing the recording caused
the view to populate its tree outline.

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.set columns):
(WebInspector.LayoutTimelineView):

  • UserInterface/Views/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView.set columns):
(WebInspector.NetworkTimelineView):

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.reset):
(WebInspector.OverviewTimelineView.prototype._processPendingRepresentedObjects):

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView.prototype.reset):

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype.reset):

10:56 PM Changeset in webkit [188329] by mark.lam@apple.com
  • 32 edits
    1 add in trunk/Source

Implementation JavaScript watchdog using WTF::WorkQueue.
https://bugs.webkit.org/show_bug.cgi?id=147107

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

How the Watchdog works?
======================

  1. When do we start the Watchdog? ============================= The watchdog should only be started if both the following conditions are true:
    1. A time limit has been set.
    2. We have entered the VM.


  1. CPU time vs Wall Clock time =========================== Why do we need 2 time deadlines: m_cpuDeadline and m_wallClockDeadline?

The watchdog uses WorkQueue dispatchAfter() to queue a timer to measure the watchdog time
limit. WorkQueue timers measure time in monotonic wall clock time. m_wallClockDeadline
indicates the wall clock time point when the WorkQueue timer is expected to fire.

The time limit for which we allow JS code to run should be measured in CPU time, which can
differ from wall clock time. m_cpuDeadline indicates the CPU time point when the watchdog
should fire.

Note: the timer firing is not the same thing as the watchdog firing. When the timer fires,
we need to check if m_cpuDeadline has been reached.

If m_cpuDeadline has been reached, the watchdog is considered to have fired.

If not, then we have a remaining amount of CPU time, Tremainder, that we should allow JS
code to continue to run for. Hence, we need to start a new timer to fire again after
Tremainder microseconds.


See Watchdog::didFireSlow().

  1. Spurious wake ups ================= Because the WorkQueue timer cannot be cancelled, the watchdog needs to ignore stale timers. It does this by checking the m_wallClockDeadline. A wakeup that occurs right after m_wallClockDeadline expires is considered to be the wakeup for the active timer. All other wake ups are considered to be spurious and will be ignored.


See Watchdog::didFireSlow().


  1. Minimizing Timer creation cost ============================== Conceptually, we could start a new timer every time we start the watchdog. But we can do better than this.


In practice, the time limit of a watchdog tends to be long, and the amount of time a watchdog
stays active tends to be short for well-behaved JS code. The user also tends to re-use the same
time limit. Consider the following example:


|

t0 t1 t2 t3 t0 + L t2 + L

|<--- T1 --------------------->|

|<--- T2 --------------------->|

|<-- Td ->| |<-- Td ->|

  1. The user initializes the watchdog with time limit L.
  2. At t0, we enter the VM to execute JS code, and starts the watchdog timer, T1. The timer is set to expire at t0 + L.
  3. At t1, we exit the VM.
  4. At t2, we enter the VM again, and would like to start a new watchdog timer, T2.


However, we can note that the expiration time for T2 would be after the expiration time
of T1. Specifically, T2 would have expired at Td after T1 expires.


Hence, we can just wait for T1 to expire, and then start a new timer T2' at time t0 + L
for a period or Td instead.

Note that didFireSlow() already compensates for time differences between wall clock and CPU time,
as well as handle spurious wake ups (see note 2 and 3 above). As a result, didFireSlow() will
automatically take care of starting a new timer for the difference Td in the example above.
Instead of starting the new timer T2 and time t2, we just verify that if the active timer, T1's
expiration is less than T2s, then we are already covered by T1 and there's no need to start T2.

The benefit:

  1. we minimize the number of timer instances we have queued in the workqueue at the same time (ideally only 1 or 0), and use less peak memory usage.
  1. we minimize the frequency of instantiating timer instances. By waiting for the current active timer to expire first, on average, we get to start one timer per time limit (which is infrequent because time limits tend to be long) instead of one timer per VM entry (which tends to be frequent).

See Watchdog::startTimer().

  • API/JSContextRef.cpp:

(createWatchdogIfNeeded):
(JSContextGroupClearExecutionTimeLimit):

  • No need to create the watchdog (if not already created) just to clear it. If the watchdog is not created yet, then it is effectively cleared.
  • API/tests/ExecutionTimeLimitTest.cpp:

(currentCPUTimeAsJSFunctionCallback):
(testExecutionTimeLimit):
(currentCPUTime): Deleted.

  • API/tests/testapi.c:

(main):

  • JavaScriptCore.vcxproj/testapi/testapi.vcxproj:
  • JavaScriptCore.vcxproj/testapi/testapi.vcxproj.filters:
  • Enable watchdog tests for all platforms.
  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Remove now unneeded WatchdogMac.cpp and WatchdogNone.cpp.
  • PlatformEfl.cmake:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOperations.cpp:
  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LLIntSlowPaths.cpp:
  • runtime/VM.cpp:
  • #include Watchdog.h in these files directly instead of doing it via VM.h. These saves us from having to recompile the world when we change Watchdog.h.
  • runtime/VM.h:
  • See comment in Watchdog::startTimer() below for why the Watchdog needs to be thread-safe ref counted.
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • We have done away with the WatchdogScope and arming/disarming of the watchdog. Instead, the VMEntryScope will inform the watchdog of when we have entered and exited the VM.
  • runtime/Watchdog.cpp:

(JSC::currentWallClockTime):
(JSC::Watchdog::Watchdog):
(JSC::Watchdog::hasStartedTimer):
(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::didFireSlow):
(JSC::Watchdog::hasTimeLimit):
(JSC::Watchdog::fire):
(JSC::Watchdog::enteredVM):
(JSC::Watchdog::exitedVM):

(JSC::Watchdog::startTimer):

  • The Watchdog is now thread-safe ref counted because the WorkQueue may access it (from a different thread) even after the VM shuts down. We need to keep it alive until the WorkQueue callback completes.

In Watchdog::startTimer(), we'll ref the Watchdog to keep it alive for each
WorkQueue callback we dispatch. The callback will deref the Watchdog after it
is done with it. This ensures that the Watchdog is kept alive until all
WorkQueue callbacks are done.

(JSC::Watchdog::stopTimer):
(JSC::Watchdog::~Watchdog): Deleted.
(JSC::Watchdog::didFire): Deleted.
(JSC::Watchdog::isEnabled): Deleted.
(JSC::Watchdog::arm): Deleted.
(JSC::Watchdog::disarm): Deleted.
(JSC::Watchdog::startCountdownIfNeeded): Deleted.
(JSC::Watchdog::startCountdown): Deleted.
(JSC::Watchdog::stopCountdown): Deleted.

  • runtime/Watchdog.h:

(JSC::Watchdog::didFire):
(JSC::Watchdog::timerDidFireAddress):
(JSC::Watchdog::isArmed): Deleted.
(JSC::Watchdog::Scope::Scope): Deleted.
(JSC::Watchdog::Scope::~Scope): Deleted.

  • runtime/WatchdogMac.cpp:

(JSC::Watchdog::initTimer): Deleted.
(JSC::Watchdog::destroyTimer): Deleted.
(JSC::Watchdog::startTimer): Deleted.
(JSC::Watchdog::stopTimer): Deleted.

  • runtime/WatchdogNone.cpp:

(JSC::Watchdog::initTimer): Deleted.
(JSC::Watchdog::destroyTimer): Deleted.
(JSC::Watchdog::startTimer): Deleted.
(JSC::Watchdog::stopTimer): Deleted.

Source/WebCore:

No new tests because we're not introducing any behavior change to WebCore here.
We're only #include'ing Watchdog.h directly instead of going through VM.h.

  • ForwardingHeaders/runtime/Watchdog.h: Added.
  • PlatformEfl.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/JSEventListener.cpp:
  • bindings/js/WorkerScriptController.cpp:
10:54 PM Changeset in webkit [188328] by Matt Baker
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Dragging a timeline ruler handle when both handles clamped is broken
https://bugs.webkit.org/show_bug.cgi?id=147912

Reviewed by Timothy Hatcher.

When clamped handles overlap, the handle nearest in time to the ruler's edge should be visible and
clickable, and the other should be hidden. This change ensures that clicking and dragging a ruler
handle to modify a selection outside the visible area works correctly.

  • UserInterface/Views/TimelineOverview.css:

(.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .selection-handle.right):
Style adjustment for rendering frames, which offsets the right handle by 5px instead of 4px.
(.timeline-overview.frames > .timeline-ruler:not(.both-handles-clamped) > .shaded-area.right):
Style adjustment for rendering frames, which offsets the right shaded area by 1px.
(.timeline-overview.frames > .timeline-ruler > .selection-handle.right): Deleted.
(.timeline-overview.frames > .timeline-ruler > .shaded-area.right): Deleted.

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler.both-handles-clamped > .selection-handle):
Updated handle style when both are clamped.
(.timeline-ruler > .selection-handle.clamped.hidden):
Hide the clamped handle that is beneath the other clamped handle.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype._updateSelection):

10:49 PM Changeset in webkit [188327] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix test after build fix in r188286.
https://bugs.webkit.org/show_bug.cgi?id=147907

Patch by Alex Christensen <achristensen@webkit.org> on 2015-08-11
Reviewed by Anders Carlsson.

  • TestWebKitAPI/Tests/WTF/ParkingLot.cpp:

sleep_for can now be used, but we need to include <thread>

10:45 PM Changeset in webkit [188326] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Disabling attribute styles should not be possible
https://bugs.webkit.org/show_bug.cgi?id=147922

Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection):
Increases the specificity of the if statement that adds rule disable state toggling to the icon.

10:40 PM Changeset in webkit [188325] by Devin Rousso
  • 29 edits in trunk/Source/WebInspectorUI

Web Inspector: Update to CodeMirror 5.5 or later
https://bugs.webkit.org/show_bug.cgi?id=147109

Reviewed by Timothy Hatcher.

Updated CodeMirror to version 5.5, as well as the extension files for CodeMirror
that are currently used in WebInspector.

  • Localizations/en.lproj/localizedStrings.js:
  • Tools/PrettyPrinting/FormatterDebug.js:

Added WebInspector namespace for formatters.

  • Tools/PrettyPrinting/index.html:

Added WebInspector namespace for formatters.

  • UserInterface/External/CodeMirror/LICENSE:
  • UserInterface/External/CodeMirror/clojure.js:
  • UserInterface/External/CodeMirror/closebrackets.js:
  • UserInterface/External/CodeMirror/codemirror.css:
  • UserInterface/External/CodeMirror/codemirror.js:
  • UserInterface/External/CodeMirror/coffeescript.js:
  • UserInterface/External/CodeMirror/comment.js:
  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/External/CodeMirror/htmlmixed.js:
  • UserInterface/External/CodeMirror/javascript.js:
  • UserInterface/External/CodeMirror/livescript.js:
  • UserInterface/External/CodeMirror/matchbrackets.js:
  • UserInterface/External/CodeMirror/overlay.js:
  • UserInterface/External/CodeMirror/sass.js:
  • UserInterface/External/CodeMirror/searchcursor.js:
  • UserInterface/External/CodeMirror/sql.js:
  • UserInterface/External/CodeMirror/xml.js:
  • UserInterface/Views/CodeMirrorFormatters.js:

Now uses the new token in CodeMirror for media query parenthesis.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror pre):
Removed the additional vertical padding.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
Clicking on the end of a line in a style will now correctly insert a new line.

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow):
The go-to arrow now has the proper dimensions.

  • UserInterface/Views/HoverMenu.css:

(.hover-menu > img):

  • UserInterface/Views/SourceCodeTextEditor.css:

(.hover-menu.color > img):

9:58 PM Changeset in webkit [188324] by Simon Fraser
  • 7 edits in trunk/Source/WebCore
[iOS WK2] ASSERT(!m_properties.backingStore
owner()) sometimes on zooming

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

Reviewed by Tim Horton.

When destroying a TileGrid, the container layer remains alive by virtue of being
in the layer tree, and it and its tiles get visited during layer tree transaction
building but we assert because we've cleared the owner on the tile layers.

The real bug is that TileController doesn't tell GraphicsLayerCA when the custom
sublayers change. Make this possible via a new PlatformCALayerClient function,
and make TileController use this when rearranging its tile grids.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::platformCALayerCustomSublayersChanged):
(WebCore::GraphicsLayerCA::updateContentsScale): No need to explicitly set
the ChildrenChanged flag now.

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayerClient.h:

(WebCore::PlatformCALayerClient::platformCALayerCustomSublayersChanged):
(WebCore::PlatformCALayerClient::platformCALayerLayerDidDisplay):

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::setNeedsDisplay):
(WebCore::TileController::setContentsScale):
(WebCore::TileController::setZoomedOutContentsScale):
(WebCore::TileController::revalidateTiles):
(WebCore::TileController::clearZoomedOutTileGrid):
(WebCore::TileController::tileGridsChanged):
(WebCore::TileController::tileRevalidationTimerFired):

  • platform/graphics/ca/TileController.h:
  • platform/graphics/ca/TileGrid.h: Default param.
9:20 PM Changeset in webkit [188323] by fpizlo@apple.com
  • 12 edits
    2 adds
    2 deletes in trunk

Always use a byte-sized lock implementation
https://bugs.webkit.org/show_bug.cgi?id=147908

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • runtime/ConcurrentJITLock.h: Lock is now byte-sized and ByteLock is gone, so use Lock.

Source/WTF:

At the start of my locking algorithm crusade, I implemented Lock, which is a sizeof(void*)
lock implementation with some nice theoretical properties and good performance. Then I added
the ParkingLot abstraction and ByteLock. ParkingLot uses Lock in its implementation.
ByteLock uses ParkingLot to create a sizeof(char) lock implementation that performs like
Lock.

It turns out that ByteLock is always at least as good as Lock, and sometimes a lot better:
it requires 8x less memory on 64-bit systems. It's hard to construct a benchmark where
ByteLock is significantly slower than Lock, and when you do construct such a benchmark,
tweaking it a bit can also create a scenario where ByteLock is significantly faster than
Lock.

So, the thing that we call "Lock" should really use ByteLock's algorithm, since it is more
compact and just as fast. That's what this patch does.

But we still need to keep the old Lock algorithm, because it's used to implement ParkingLot,
which in turn is used to implement ByteLock. So this patch does this transformation:

  • Move the algorithm in Lock into files called WordLock.h|cpp. Make ParkingLot use WordLock.
  • Move the algorithm in ByteLock into Lock.h|cpp. Make everyone who used ByteLock use Lock instead. All other users of Lock now get the byte-sized lock implementation.
  • Remove the old ByteLock files.
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.xcodeproj/project.pbxproj:
  • benchmarks/LockSpeedTest.cpp:

(main):

  • wtf/WordLock.cpp: Added.

(WTF::WordLock::lockSlow):
(WTF::WordLock::unlockSlow):

  • wtf/WordLock.h: Added.

(WTF::WordLock::WordLock):
(WTF::WordLock::lock):
(WTF::WordLock::unlock):
(WTF::WordLock::isHeld):
(WTF::WordLock::isLocked):

  • wtf/ByteLock.cpp: Removed.
  • wtf/ByteLock.h: Removed.
  • wtf/CMakeLists.txt:
  • wtf/Lock.cpp:

(WTF::LockBase::lockSlow):
(WTF::LockBase::unlockSlow):

  • wtf/Lock.h:

(WTF::LockBase::lock):
(WTF::LockBase::unlock):
(WTF::LockBase::isHeld):
(WTF::LockBase::isLocked):
(WTF::Lock::Lock):

  • wtf/ParkingLot.cpp:

Tools:

All previous tests of Lock are now tests of WordLock. All previous tests of ByteLock are
now tests of Lock.

  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::runLockTest):
(TestWebKitAPI::TEST):

8:41 PM Changeset in webkit [188322] by Alan Bujtas
  • 11 edits in trunk/Source/WebCore

Disconnect LayoutStateDisabler logic and RenderView pointer.
https://bugs.webkit.org/show_bug.cgi?id=147906

Reviewed by Simon Fraser.

LayoutStateDisabler should disable layout state unconditionally.
The only place where it was actually conditional was the subtree layout branch.
Create a dedicated SubtreeLayoutStateMaintainer to manage the subtree layout case.

No change in behaviour.

  • page/FrameView.cpp:

(WebCore::SubtreeLayoutStateMaintainer::SubtreeLayoutStateMaintainer):
(WebCore::SubtreeLayoutStateMaintainer::~SubtreeLayoutStateMaintainer):
(WebCore::FrameView::layout):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::updateFirstLetter):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::repaintOverhangingFloats):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::repaintRectangleInRegions):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::layout):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):

  • rendering/RenderMediaControlElements.cpp:

(WebCore::RenderMediaVolumeSliderContainer::layout):
(WebCore::RenderMediaControlTimelineContainer::layout):
(WebCore::RenderTextTrackContainerElement::layout):

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::populate):
(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):

  • rendering/RenderView.h:

(WebCore::LayoutStateDisabler::LayoutStateDisabler):
(WebCore::LayoutStateDisabler::~LayoutStateDisabler):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):

8:16 PM Changeset in webkit [188321] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Add the ability to filter out tasks in the Rendering Frames timeline
https://bugs.webkit.org/show_bug.cgi?id=147389

Reviewed by Timothy Hatcher.

Added filtering by task type to the Rendering Frames timeline view. Legend item checkboxes
in the timeline sidebar toggle filtering for the corresponding task. The "Other" category
cannot be filtered, since all rendering frame records include some "other" time in addition to
child records from at least one additional task type.

A row is filtered (hidden) from the data grid when the corresponding rendering frame has no
unfiltered child records.

  • UserInterface/Base/Main.js:

(WebInspector._windowFocused):
(WebInspector._windowBlurred):
Added inactive style for docked window.

  • UserInterface/Views/ChartDetailsSectionRow.css:

(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
(body.window-inactive .details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > input[type=checkbox]):
(.details-section > .content > .group > .row.chart > .defs-only):
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label > .color-swatch): Deleted.
(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > .label): Deleted.
Switched to label elements, added checkbox styles, and updated color swatch style for non-checkbox items.

  • UserInterface/Views/ChartDetailsSectionRow.js:

(WebInspector.ChartDetailsSectionRow):
Added svg filter container and style sheet element.
(WebInspector.ChartDetailsSectionRow.prototype.set data):
(WebInspector.ChartDetailsSectionRow.prototype._createLegend.createGammaPrimitive):
(WebInspector.ChartDetailsSectionRow.prototype._createLegend.createCheckboxFilterElement):
Helper function to create an svg:filter to blend legend key color over the native checkbox element.
Filter assumes grayscale input, and each checkbox requires a separate filter.
(WebInspector.ChartDetailsSectionRow.prototype._createLegend):
Creates legend items, svg filters, and checkbox style sheet.
(WebInspector.ChartDetailsSectionRow.prototype._legendItemCheckboxValueChanged):
Repackage and forward checkbox changed event.
(WebInspector.ChartDetailsSectionRow.prototype._createLegendItem): Deleted.
Logic moved to WebInspector.ChartDetailsSectionRow.prototype._createLegend.

  • UserInterface/Views/TimelineSidebarPanel.js:

Added set of rendering frame task types against which tree elements can be filtered.
(WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
If filter is not empty, check ancestor rendering frame record for unfiltered data.
(WebInspector.TimelineSidebarPanel.prototype._frameSelectionLegendItemChecked):
Update task filter in response when legend items are checked/unchecked.

7:35 PM Changeset in webkit [188320] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix ViewportConfiguration dumping.

ViewportConfiguration::dump() was dumping parameters.width as parameters.initialScale.

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfigurationTextStream::operator<<):

6:59 PM Changeset in webkit [188319] by mmaxfield@apple.com
  • 5 edits
    1 add in trunk

[font-features] Map OpenType feature tags to TrueType feature selectors
https://bugs.webkit.org/show_bug.cgi?id=147819

Reviewed by Dean Jackson.

Source/WebCore:

Allow uses of font-feature-settings even on TrueType fonts.

Test: css3/font-feature-settings-preinstalled-fonts.html

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::appendRawTrueTypeFeature):
(WebCore::appendTrueTypeFeature):

LayoutTests:

Updated test results.

  • platform/mac/css3/font-feature-settings-preinstalled-fonts-expected.png: Added.
  • platform/mac/css3/font-feature-settings-preinstalled-fonts-expected.txt:
6:59 PM Changeset in webkit [188318] by basile_clement@apple.com
  • 7 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Arity fixup should make use of the possible extra empty slots at top of the frame
https://bugs.webkit.org/show_bug.cgi?id=147893

Reviewed by Michael Saboff.

This changes the way arity fixup is performed. Since r187767, we always
ensure that the total amount of space reserved for a call frame is
stack-aligned, which means that for a non-aligned call frame size, we
have an additional "free" slot at the top of the frame. This makes it
so that when performing arity fixup, we first use that space if
necessary before moving the frame down.

This ensures that the total stack space used by a frame is always
max(argCount, numParameters) + JSStack::CallFrameHeaderSize, rounded up
to be a multiple of 2.

  • jit/CCallHelpers.h:
  • jit/ThunkGenerators.cpp:

(JSC::arityFixupGenerator):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor): Returns the padding in amount of slots instead of aligned stack units

6:46 PM Changeset in webkit [188317] by Gyuyoung Kim
  • 3 edits in trunk/Source/WebKit2

Try to fix the EFL build after r188279
https://bugs.webkit.org/show_bug.cgi?id=147917

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-08-11
Reviewed by Gyuyoung Kim.

Replaced the WKPageLoaderClient with variable name because it is removed in r188279.

  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::PageLoadClientEfl):

  • UIProcess/efl/PagePolicyClientEfl.cpp:

(WebKit::PagePolicyClientEfl::PagePolicyClientEfl):

6:43 PM Changeset in webkit [188316] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning.

6:12 PM Changeset in webkit [188315] by Gyuyoung Kim
  • 46 edits in trunk/Source/WebCore

Reduce use of PassRefPtr in WebCore/css
https://bugs.webkit.org/show_bug.cgi?id=147821

Reviewed by Daniel Bates.

Use RefPtr when returning nullptr or RefPtr, if not, use Ref.

  • css/CSSBasicShapes.cpp:

(WebCore::buildSerializablePositionOffset):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeEllipse::cssText):

  • css/CSSBasicShapes.h:
  • css/CSSCalculationValue.cpp:

(WebCore::determineCategory):
(WebCore::CSSCalcExpressionNodeParser::parseCalc):
(WebCore::createBlendHalf):
(WebCore::createCSS):

  • css/CSSCanvasValue.cpp:

(WebCore::CSSCanvasValue::image):

  • css/CSSCanvasValue.h:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::positionOffsetValue):
(WebCore::ComputedStyleExtractor::currentColorOrValidColor):
(WebCore::ComputedStyleExtractor::getFontSizeCSSValuePreferringKeyword):
(WebCore::counterToCSSValue):
(WebCore::zoomAdjustedPaddingOrMarginPixelValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::computeRenderStyleForProperty):
(WebCore::valueForItemPositionWithOverflowAlignment):
(WebCore::valueForContentPositionAndDistributionWithOverflowAlignment):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForShorthandProperties):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForSidesShorthand):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForGridShorthand):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):

  • css/CSSComputedStyleDeclaration.h:
  • css/CSSCrossfadeValue.cpp:

(WebCore::CSSCrossfadeValue::image):
(WebCore::CSSCrossfadeValue::blend):

  • css/CSSCrossfadeValue.h:
  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image):

  • css/CSSFilterImageValue.h:
  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::image):
(WebCore::CSSGradientValue::gradientWithStylesResolved):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::createGradient):

  • css/CSSGradientValue.h:
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::cloneForCSSOM):

  • css/CSSImageSetValue.h:
  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::cloneForCSSOM):

  • css/CSSImageValue.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseRule):
(WebCore::CSSParser::parseKeyframeRule):
(WebCore::CSSParser::parseFontFaceValue):
(WebCore::CSSParser::parseValidPrimitive):
(WebCore::CSSParser::parseContentDistributionOverflowPosition):
(WebCore::CSSParser::parseAttr):
(WebCore::CSSParser::parseBackgroundColor):
(WebCore::CSSParser::parsePositionX):
(WebCore::CSSParser::parsePositionY):
(WebCore::CSSParser::parseFillPositionComponent):
(WebCore::CSSParser::parseFillSize):
(WebCore::CSSParser::parseAnimationDelay):
(WebCore::CSSParser::parseAnimationDirection):
(WebCore::CSSParser::parseAnimationDuration):
(WebCore::CSSParser::parseAnimationFillMode):
(WebCore::CSSParser::parseAnimationIterationCount):
(WebCore::CSSParser::parseAnimationName):
(WebCore::CSSParser::parseAnimationPlayState):
(WebCore::CSSParser::parseAnimationTrigger):
(WebCore::CSSParser::parseAnimationProperty):
(WebCore::CSSParser::parseAnimationTimingFunction):
(WebCore::CSSParser::parseGridPosition):
(WebCore::gridMissingGridPositionValue):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackSize):
(WebCore::CSSParser::parseGridBreadth):
(WebCore::CSSParser::parseGridAutoFlow):
(WebCore::CSSParser::parseGridTemplateAreas):
(WebCore::CSSParser::parseCounterContent):
(WebCore::CSSParser::parseInsetRoundedCorners):
(WebCore::CSSParser::parseBasicShapeInset):
(WebCore::CSSParser::parseShapeRadius):
(WebCore::CSSParser::parseBasicShapeCircle):
(WebCore::CSSParser::parseBasicShapeEllipse):
(WebCore::CSSParser::parseBasicShapePolygon):
(WebCore::CSSParser::parseBasicShapeAndOrBox):
(WebCore::CSSParser::parseShapeProperty):
(WebCore::CSSParser::parseClipPath):
(WebCore::CSSParser::parseBasicShape):
(WebCore::CSSParser::parseFontFamily):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseShadow):
(WebCore::CSSParser::parseImageResolution):
(WebCore::CSSParser::parseImageSet):
(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseTransformValue):
(WebCore::CSSParser::parseBuiltinFilterArguments):
(WebCore::CSSParser::parseTextIndent):
(WebCore::CSSParser::createImportRule):
(WebCore::CSSParser::createMediaRule):
(WebCore::CSSParser::createEmptyMediaRule):
(WebCore::CSSParser::createSupportsRule):
(WebCore::CSSParser::popSupportsRuleData):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::createPageRule):
(WebCore::CSSParser::createRegionRule):
(WebCore::CSSParser::createKeyframe):

  • css/CSSParser.h:
  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::cloneForCSSOM):

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

(WebCore::CSSStyleSheet::rules):
(WebCore::CSSStyleSheet::cssRules):

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

(WebCore::CSSToStyleMap::styleImage):

  • css/CSSToStyleMap.h:
  • css/CSSValue.cpp:

(WebCore::CSSValue::cloneForCSSOM):

  • css/CSSValue.h:
  • css/CSSValueList.cpp:

(WebCore::CSSValueList::cloneForCSSOM):

  • css/CSSValueList.h:
  • css/MediaList.h:

(WebCore::MediaQuerySet::copy):

  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::matchMedia):

  • css/MediaQueryMatcher.h:
  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):

  • css/PropertySetCSSStyleDeclaration.h:
  • css/RGBColor.cpp:

(WebCore::RGBColor::red):
(WebCore::RGBColor::green):
(WebCore::RGBColor::blue):
(WebCore::RGBColor::alpha):

  • css/RGBColor.h:
  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::glyphOrientationToCSSPrimitiveValue):
(WebCore::strokeDashArrayToCSSValueList):
(WebCore::ComputedStyleExtractor::adjustSVGPaintForCurrentColor):
(WebCore::ComputedStyleExtractor::svgPropertyValue):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGStrokeDasharray):
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
(WebCore::CSSParser::parsePaintOrder):

  • css/WebKitCSSFilterValue.cpp:

(WebCore::WebKitCSSFilterValue::cloneForCSSOM):

  • css/WebKitCSSFilterValue.h:
  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::multiply):
(WebCore::WebKitCSSMatrix::inverse):
(WebCore::WebKitCSSMatrix::translate):
(WebCore::WebKitCSSMatrix::scale):
(WebCore::WebKitCSSMatrix::rotate):
(WebCore::WebKitCSSMatrix::rotateAxisAngle):
(WebCore::WebKitCSSMatrix::skewX):
(WebCore::WebKitCSSMatrix::skewY):

  • css/WebKitCSSMatrix.h:
  • css/WebKitCSSTransformValue.cpp:

(WebCore::WebKitCSSTransformValue::cloneForCSSOM):

  • css/WebKitCSSTransformValue.h:
5:45 PM Changeset in webkit [188314] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.50

New tag.

5:22 PM Changeset in webkit [188313] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

5:18 PM Changeset in webkit [188312] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.8

New tag.

4:50 PM Changeset in webkit [188311] by ap@apple.com
  • 9 edits
    1 delete in trunk

Make ASan build not depend on asan.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=147840
rdar://problem/21093702

Reviewed by Daniel Bates.

Source/JavaScriptCore:

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::OSREntryData::dump):
(JSC::DFG::prepareOSREntry):

  • ftl/FTLOSREntry.cpp:

(JSC::FTL::prepareOSREntry):

  • heap/ConservativeRoots.cpp:

(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::Thread::captureStack):
(JSC::copyMemory):

  • interpreter/Register.h:

(JSC::Register::operator=):
(JSC::Register::asanUnsafeJSValue):
(JSC::Register::jsValue):

Tools:

  • asan/asan.xcconfig:
  • asan/webkit-asan-ignore.txt: Removed. It's no longer needed, as unsafe functions

are now marked in source code.

4:36 PM Changeset in webkit [188310] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, shorten another test since it timed out.

  • TestWebKitAPI/Tests/WTF/ParkingLot.cpp:

(TestWebKitAPI::TEST):

4:23 PM Changeset in webkit [188309] by mark.lam@apple.com
  • 3 edits in trunk/Tools

Fix names of Lock tests: should be "Contended", not "Contented".
https://bugs.webkit.org/show_bug.cgi?id=147905

Reviewed by Saam Barati.

We're testing the behavior of lock contention (i.e. when threads contend), not
whether the locks are happy (contented).

  • Scripts/run-gtk-tests:

(TestRunner):
(TestRunner.init): Deleted.

  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::runLockTest):
(TestWebKitAPI::TEST):

4:17 PM Changeset in webkit [188308] by achristensen@apple.com
  • 2 edits in trunk/Tools

Update WinCairoRequirements to VS2015.

  • Scripts/update-webkit-wincairo-libs:

Update WinCairoRequirements location.

4:10 PM Changeset in webkit [188307] by Simon Fraser
  • 2 edits
    3 adds in trunk/LayoutTests

Windows test gardening.

  • platform/win/TestExpectations:
  • platform/win/css3/font-feature-settings-preinstalled-fonts-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-spinbutton-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-spinbutton-up-expected.txt: Added.
4:04 PM Changeset in webkit [188306] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Move CountQueuingStrategy and related to files to their correct place in the Xcode project
https://bugs.webkit.org/show_bug.cgi?id=147901

Patch by Sam Weinig <sam@webkit.org> on 2015-08-11
Reviewed by Anders Carlsson.

  • WebCore.xcodeproj/project.pbxproj:
4:00 PM Changeset in webkit [188305] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

Use more references in FrameView.
https://bugs.webkit.org/show_bug.cgi?id=147899

Reviewed by Simon Fraser.

No change in functionality.

  • page/FrameView.cpp:

(WebCore::FrameView::flushCompositingStateForThisFrame):
(WebCore::FrameView::flushCompositingStateIncludingSubframes):
(WebCore::FrameView::addSlowRepaintObject):
(WebCore::FrameView::scrollElementToRect):

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

(WebCore::RenderObject::willBeDestroyed):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::imageChanged):

  • testing/Internals.cpp:

(WebCore::Internals::scrollElementToRect):

3:47 PM Changeset in webkit [188304] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

Substituted Dashboard.Repository.OpenSource.trac for webkitTrac and Dashboard.Repository.Internal.trac
for internalTrac.
https://bugs.webkit.org/show_bug.cgi?id=147805

Patch by Jason Marcell <jmarcell@apple.com> on 2015-08-11
Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView): Substituted Dashboard.Repository.OpenSource.trac for webkitTrac and
Dashboard.Repository.Internal.trac for internalTrac.
(BuildbotQueueView.prototype._appendPendingRevisionCount): Added local variables webkitTrac
and internalTrac for Dashboard.Repository.OpenSource.trac and Dashboard.Repository.Internal.trac,
respectively.
(BuildbotQueueView.prototype._presentPopoverForPendingCommits): Ditto.
(BuildbotQueueView.prototype.revisionContentForIteration): Substituted
Dashboard.Repository.OpenSource.trac for webkitTrac and Dashboard.Repository.Internal.trac for
internalTrac.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js: Ditto.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js: Ditto.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:

(Analyzer): Ditto.
(Analyzer.prototype.analyze): Ditto.

3:43 PM Changeset in webkit [188303] by matthew_hanson@apple.com
  • 7 edits
    2 deletes in branches/safari-601.1-branch

Rollout r188263. rdar://problem/22202935

3:39 PM Changeset in webkit [188302] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, gardening these tests to run faster so that they don't timeout on slower OSes.

  • TestWebKitAPI/Tests/WTF/ParkingLot.cpp:

(TestWebKitAPI::TEST):

3:04 PM Changeset in webkit [188301] by fpizlo@apple.com
  • 2 edits
    1 delete in trunk/Source/WTF

Remove ByteSpinLock
https://bugs.webkit.org/show_bug.cgi?id=147900

Rubber stamped by Mark Lam.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/ByteSpinLock.h: Removed.
3:02 PM Changeset in webkit [188300] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix for VS2015 targets.

  • win/lib32/WebKitSystemInterface.lib: Update with VS2015 version of library.
3:02 PM Changeset in webkit [188299] by Yusuke Suzuki
  • 38 edits
    51 adds in trunk

Introduce get_by_id like IC into get_by_val when the given name is String or Symbol
https://bugs.webkit.org/show_bug.cgi?id=147480

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch adds get_by_id IC to get_by_val operation by caching the string / symbol id.
The IC site only caches one id. After checking that the given id is the same to the
cached one, we perform the get_by_id IC onto it.
And by collecting IC StructureStubInfo information, we pass it to the DFG and DFG
compiles get_by_val op code into CheckIdent (with edge type check) and GetById related
operations when the given get_by_val leverages the property load with the cached id.

To ensure the incoming value is the expected id, in DFG layer, we use SymbolUse and
StringIdentUse to enforce the type. To use it, this patch implements SymbolUse.
This can be leveraged to optimize symbol operations in DFG.

And since byValInfo is frequently used, we align the byValInfo design to the stubInfo like one.
Allocated by the Bag and operations take the raw byValInfo pointer directly instead of performing
binary search onto m_byValInfos. And by storing ArrayProfile* under the ByValInfo, we replaced the
argument ArrayProfile* in the operations with ByValInfo*.

  • bytecode/ByValInfo.h:

(JSC::ByValInfo::ByValInfo):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::getByValInfoMap):
(JSC::CodeBlock::addByValInfo):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::getByValInfo): Deleted.
(JSC::CodeBlock::setNumberOfByValInfos): Deleted.
(JSC::CodeBlock::numberOfByValInfos): Deleted.
(JSC::CodeBlock::byValInfo): Deleted.

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

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

(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):

  • bytecode/GetByIdStatus.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasUidOperand):
(JSC::DFG::Node::uidOperand):

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

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCheckIdent):
(JSC::DFG::SpeculativeJIT::speculateSymbol):
(JSC::DFG::SpeculativeJIT::speculate):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckIdent):
(JSC::FTL::DFG::LowerDFGToLLVM::lowSymbol):
(JSC::FTL::DFG::LowerDFGToLLVM::speculate):
(JSC::FTL::DFG::LowerDFGToLLVM::isNotSymbol):
(JSC::FTL::DFG::LowerDFGToLLVM::speculateSymbol):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::ByValCompilationInfo::ByValCompilationInfo):
(JSC::JIT::compileGetByValWithCachedId):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):

  • jit/JITOperations.cpp:

(JSC::getByVal):

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

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompileGetByValWithCachedId):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):

  • runtime/Symbol.h:
  • tests/stress/get-by-val-with-string-constructor.js: Added.

(Hello):
(get Hello.prototype.generate):
(ok):

  • tests/stress/get-by-val-with-string-exit.js: Added.

(shouldBe):
(getByVal):
(getStr1):
(getStr2):

  • tests/stress/get-by-val-with-string-generated.js: Added.

(shouldBe):
(getByVal):
(getStr1):
(getStr2):

  • tests/stress/get-by-val-with-string-getter.js: Added.

(object.get hello):
(ok):

  • tests/stress/get-by-val-with-string.js: Added.

(shouldBe):
(getByVal):
(getStr1):
(getStr2):

  • tests/stress/get-by-val-with-symbol-constructor.js: Added.

(Hello):
(get Hello.prototype.generate):
(ok):

  • tests/stress/get-by-val-with-symbol-exit.js: Added.

(shouldBe):
(getByVal):
(getSym1):
(getSym2):

  • tests/stress/get-by-val-with-symbol-getter.js: Added.

(object.get hello):
(.get ok):

  • tests/stress/get-by-val-with-symbol.js: Added.

(shouldBe):
(getByVal):
(getSym1):
(getSym2):

LayoutTests:

Add synthetic benchmarks that replaces normal property load with symbol/string keyed load.

  • js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-expected.txt: Added.
  • js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple-expected.txt: Added.
  • js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple.html: Added.
  • js/regress/get-by-val-with-string-bimorphic-check-structure-elimination.html: Added.
  • js/regress/get-by-val-with-string-chain-from-try-block-expected.txt: Added.
  • js/regress/get-by-val-with-string-chain-from-try-block.html: Added.
  • js/regress/get-by-val-with-string-check-structure-elimination-expected.txt: Added.
  • js/regress/get-by-val-with-string-check-structure-elimination.html: Added.
  • js/regress/get-by-val-with-string-proto-or-self-expected.txt: Added.
  • js/regress/get-by-val-with-string-proto-or-self.html: Added.
  • js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple-expected.txt: Added.
  • js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.html: Added.
  • js/regress/get-by-val-with-string-self-or-proto-expected.txt: Added.
  • js/regress/get-by-val-with-string-self-or-proto.html: Added.
  • js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-expected.txt: Added.
  • js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple-expected.txt: Added.
  • js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.html: Added.
  • js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination.html: Added.
  • js/regress/get-by-val-with-symbol-chain-from-try-block-expected.txt: Added.
  • js/regress/get-by-val-with-symbol-chain-from-try-block.html: Added.
  • js/regress/get-by-val-with-symbol-check-structure-elimination-expected.txt: Added.
  • js/regress/get-by-val-with-symbol-check-structure-elimination.html: Added.
  • js/regress/get-by-val-with-symbol-proto-or-self-expected.txt: Added.
  • js/regress/get-by-val-with-symbol-proto-or-self.html: Added.
  • js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple-expected.txt: Added.
  • js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.html: Added.
  • js/regress/get-by-val-with-symbol-self-or-proto-expected.txt: Added.
  • js/regress/get-by-val-with-symbol-self-or-proto.html: Added.
  • js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination-simple.js: Added.
  • js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination.js: Added.
  • js/regress/script-tests/get-by-val-with-string-chain-from-try-block.js: Added.

(A):
(B):
(C):
(D):
(E):
(F):
(G):
(foo):

  • js/regress/script-tests/get-by-val-with-string-check-structure-elimination.js: Added.
  • js/regress/script-tests/get-by-val-with-string-proto-or-self.js: Added.

(foo):
(bar):
(Foo):

  • js/regress/script-tests/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.js: Added.
  • js/regress/script-tests/get-by-val-with-string-self-or-proto.js: Added.

(foo):
(bar):
(Foo):

  • js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.js: Added.
  • js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination.js: Added.
  • js/regress/script-tests/get-by-val-with-symbol-chain-from-try-block.js: Added.

(A):
(B):
(C):
(D):
(E):
(F):
(G):
(foo):

  • js/regress/script-tests/get-by-val-with-symbol-check-structure-elimination.js: Added.
  • js/regress/script-tests/get-by-val-with-symbol-proto-or-self.js: Added.

(foo):
(bar):
(Foo):

  • js/regress/script-tests/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.js: Added.
  • js/regress/script-tests/get-by-val-with-symbol-self-or-proto.js: Added.

(foo):
(bar):
(Foo):

2:50 PM Changeset in webkit [188298] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Invalid FrameView::m_viewportRenderer after layout is finished.
https://bugs.webkit.org/show_bug.cgi?id=147848
rdar://problem/22205197

Reviewed by Simon Fraser.

We cache the current viewport renderer (FrameView::m_viewportRenderer) right before layout.
It gets dereferenced later when layout is finished to update the overflow status.
If the viewport renderer gets destroyed during layout, we end up with a dangling pointer.
This patch replaces the pointer caching with type caching (none, body, document).

Unable to construct a test case.

2:42 PM Changeset in webkit [188297] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Tried again to fix the iOS build.

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(-[WKGeolocationProviderIOS initWithProcessPool:]):

2:26 PM Changeset in webkit [188296] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merge r188285. rdar://problem/22206433

2:19 PM Changeset in webkit [188295] by matthew_hanson@apple.com
  • 8 edits
    2 adds in branches/safari-601.1-branch

Merge r188203. rdar://problem/22026625

2:13 PM Changeset in webkit [188294] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Rollout r188243. rdar://problem/22102378

2:13 PM Changeset in webkit [188293] by matthew_hanson@apple.com
  • 3 edits
    2 deletes in branches/safari-601.1.46-branch

Rollout r188195. rdar://problem/22102378

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

DFG::ByteCodeParser shouldn't call tryGetConstantProperty() with some StructureSet if it isn't checking that the base has a structure in that StructureSet
https://bugs.webkit.org/show_bug.cgi?id=147891
rdar://problem/22129447

Reviewed by Mark Lam.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetByOffset): Get rid of this.
(JSC::DFG::ByteCodeParser::load): Don't call the version of handleGetByOffset() that assumes that we had CheckStructure'd some StructureSet, since we may not have CheckStructure'd anything.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::assertIsRegistered): Make this always assert even before the StructureRegistrationPhase.

  • dfg/DFGStructureRegistrationPhase.cpp:

(JSC::DFG::StructureRegistrationPhase::run): Add a FIXME that notes that we no longer believe that structures should be registered only at this phase. They should be registered before this phase and this phase should be removed.

2:02 PM Changeset in webkit [188291] by Brent Fulgham
  • 49 edits in trunk

[Win] Switch Windows build to Visual Studio 2015
https://bugs.webkit.org/show_bug.cgi?id=147887
<rdar://problem/22235098>

Reviewed by Alex Christensen.

Update Visual Studio project file settings to use the current Visual
Studio and compiler. Continue targeting binaries to run on our minimum
supported configuration of Windows 7.

Source/JavaScriptCore:

Source/ThirdParty:

  • gtest/msvc/gtest-md.vcxproj:

Source/ThirdParty/ANGLE:

  • ANGLE.vcxproj/libEGL.vcxproj:
  • ANGLE.vcxproj/libGLESv2.vcxproj:
  • ANGLE.vcxproj/preprocessor.vcxproj:
  • ANGLE.vcxproj/translator_common.vcxproj:
  • ANGLE.vcxproj/translator_glsl.vcxproj:
  • ANGLE.vcxproj/translator_hlsl.vcxproj:

Source/WebCore:

No change in behavior, so no new tests.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCoreGenerated.vcxproj:
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj:

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:

Source/WebKit:

  • WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
  • WebKit.vcxproj/WebKit.sln:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj:

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTFGenerated.vcxproj:

Tools:

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiff.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffLauncher.vcxproj:
  • DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj:
  • Scripts/webkitdirs.pm: Modify our Visual Studio search routines to

prefer the newer MSBuild included in Visual Studio 2015.
(visualStudioInstallDir):
(msBuildInstallDir):
(visualStudioVersion):

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
  • WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
  • win/AssembleBuildLogs/AssembleBuildLogs.vcxproj:
  • win/record-memory/record-memory.vcxproj:
2:01 PM Changeset in webkit [188290] by ap@apple.com
  • 6 edits in branches/safari-601.1-branch

Merge r187595.

2015-07-30 Nan Wang <n_wang@apple.com>

aria-liveregions-notifications tests are very flaky
https://bugs.webkit.org/show_bug.cgi?id=147299
<rdar://problem/21998675>

Reviewed by Chris Fleizach.

These tests were flaky because they relied on timer notification callbacks.
Fixed these tests by using different objects to capture the notifications instead.

  • platform/mac/accessibility/aria-liveregions-notifications-always-sent-expected.txt:
  • platform/mac/accessibility/aria-liveregions-notifications-always-sent.html:
  • platform/mac/accessibility/aria-liveregions-notifications-expected.txt:
  • platform/mac/accessibility/aria-liveregions-notifications.html:
1:47 PM Changeset in webkit [188289] by basile_clement@apple.com
  • 4 edits
    1 delete in branches/jsc-tailcall

jsc-tailcall: Make tail call tests run in all tiers
https://bugs.webkit.org/show_bug.cgi?id=147895

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Make the test checking that tail calls are correctly performed
when we have a syntaxic tail call run enough to get compiled to the
upper tiers.

Also remove a bogus file that contained a duplicate of those tests.

  • tests/stress/tail-call-recognize.js:
  • tests/stress/tail-call-trigger.js: Removed.

Tools:

Add a runNoInline function to jsc-stress-tests to force a test to run
globally without inlining.

  • Scripts/run-jsc-stress-tests:
1:47 PM Changeset in webkit [188288] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Tried to fix the iOS build.

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(-[WKGeolocationProviderIOS initWithProcessPool:]):

1:41 PM Changeset in webkit [188287] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

WebFrameLoaderClient::dispatchDecidePolicyForResponse() calls an std::function after it's been moved from
https://bugs.webkit.org/show_bug.cgi?id=147873

Reviewed by Alexey Proskuryakov.

I noticed during code inspection that we were calling an std::function after WTF::move() has been called on it.
Calling an empty std::function results in a C++ exception being thrown. I don't know how to make a sync IPC
message fail, so I'm not sure how to test this.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Called didReceivePolicyDecision instead.

1:38 PM Changeset in webkit [188286] by achristensen@apple.com
  • 2 edits in trunk/Tools

Another speculative build fix after r188280.

  • TestWebKitAPI/Tests/WTF/ParkingLot.cpp:

std::this_thread is too modern c++ for VS2013 and supported GCC versions,
so let's go back to usleep and I made something close to usleep, but with much lower resolution.

1:36 PM Changeset in webkit [188285] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r188053): Sometimes unable to save an image from Google Search/
imgur via long press
https://bugs.webkit.org/show_bug.cgi?id=147896

Reviewed by Enrica Casucci.

http://trac.webkit.org/changeset/188053 added code to call cleanupSheet when
the long press gesture is cancelled. However, the gesture will be called with
the cancelled state when then user taps an item in the action sheet (such as
“save image”), and sometimes the “cancel” comes in before the image has been
saved. That is a problem because we need to avoid cleaning up the sheet until
after the image is saved. Before that patch, we never cleaned up the sheet on
cancel, so this patch goes back to that behavior. We also have to remove some
assertions that assume that everything will be totally cleaned up when a new
sheet is created, but that is not necessarily true due to interactions
between the preview gesture and the long press gesture.

Remove assertions.

  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):

Revert the part of Enrica’s patch that called cleanupSheet when the gesture
is cancelled.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _longPressRecognized:]):

1:20 PM Changeset in webkit [188284] by achristensen@apple.com
  • 2 edits in trunk/Tools

Unreviewed build fix after r188280.

  • TestWebKitAPI/Tests/WTF/ParkingLot.cpp:

Include DataLog.h, and usleep is not available on Windows, so I used what I think is the c++11 equivalent.

1:15 PM Changeset in webkit [188283] by Brian Burg
  • 10 edits
    2 adds
    2 deletes in trunk

Web Inspector: Agent commands do not actually return a promise when expected
https://bugs.webkit.org/show_bug.cgi?id=138665

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

This patch unifies the handling of different invocation and dispatch modes in the
InspectorBackend protocol system. Command responses are dispatched to a provided
callback function; if no function was provided, then the command returns a promise.

Rather than awkwardly converting between promises and callbacks at invocation and
response dispatch time, the backend now stores the callback or promise thunks and
knows how to invoke each when the response comes. This mirrors how response handling
works in ProtocolTestStub.js. InspectorBackend includes more machinery to support Agent
objects and various debug flags.

Performanace impact is expected to be negligible, because there are relatively
few commands issued by the inspector frontend and returned promises are short-lived.

Remove all uses of Command.prototype.promise, since it is no longer necessary.

  • UserInterface/Base/Test.js:

(InspectorTest.reloadPage):

  • UserInterface/Controllers/ReplayManager.js:

(WebInspector.ReplayManager.prototype.getSession.get var):
(WebInspector.ReplayManager.getSegment.get var):

  • UserInterface/Models/ReplaySession.js:

(WebInspector.ReplaySession.prototype.segmentsChanged):

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.requestContentFromBackend):

  • UserInterface/Models/Script.js:

(WebInspector.Script.prototype.requestContentFromBackend):

  • UserInterface/Models/SourceMapResource.js:

(WebInspector.SourceMapResource.prototype.requestContentFromBackend):

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass):
(InspectorBackendClass.prototype.dispatch):
(InspectorBackendClass.prototype.runAfterPendingDispatches):
(InspectorBackendClass.prototype._sendCommandToBackendWithCallback.set this):
(InspectorBackendClass.set this):
(InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
(InspectorBackendClass.prototype._dispatchResponseToCallback):
(InspectorBackendClass.prototype._dispatchResponseToPromise):
(InspectorBackendClass.prototype._flushPendingScripts):
(InspectorBackend.Command.prototype.invoke):
(InspectorBackend.Command.prototype._invokeWithArguments):
(InspectorBackendClass.prototype._willSendMessageToBackend.set return): Deleted.
(InspectorBackendClass._dispatchCallback.get if): Deleted.
(InspectorBackendClass.prototype._willSendMessageToBackend): Deleted.
(InspectorBackendClass.prototype._invokeCommand): Deleted.
(.callable): Deleted.
(InspectorBackend.Command.create): Deleted.
(InspectorBackend.Command.prototype.promise): Deleted.

LayoutTests:

Add a new test that only checks for proper invocation return values.
Once the async test suite infrastructure is available for frontend tests,
more thorough tests of promises and callbacks will be added.

  • inspector/protocol/inspector-backend-invocation-return-value-expected.txt: Added.
  • inspector/protocol/inspector-backend-invocation-return-value.html: Added.
  • inspector/protocol/protocol-promise-result-expected.txt: Removed.
  • inspector/protocol/protocol-promise-result.html: Removed.
  • platform/win/TestExpectations: Remove deleted test.
1:08 PM Changeset in webkit [188282] by basile_clement@apple.com
  • 2 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: REGRESSION: DFGByteCodeParser fails when a tail call is inside a ternary
https://bugs.webkit.org/show_bug.cgi?id=147849

Reviewed by Michael Saboff.

We were assuming that a tail call could only be followed by a return.
But it could also be followed by a jump to a return when the tail call
is inside a ternary expression.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

1:06 PM Changeset in webkit [188281] by basile_clement@apple.com
  • 1 edit
    7 adds in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Add more strict mode tests
https://bugs.webkit.org/show_bug.cgi?id=147850

Reviewed by Michael Saboff.

We should have more tests in strict mode to have better test coverage.
This adds a copy of the v8-v6 tests from SunSpider as JSC stress tests,
with "use strict"; added at the top of the files.

A few modifications were necessary to make the files valid in strict
mode, namely adding a couple of "var" statements and removing some
generated code in earley-boyer that was using strings with octal
escapes.

  • tests/stress/v8-crypto-strict.js: Added.
  • tests/stress/v8-deltablue-strict.js: Added.
  • tests/stress/v8-earley-boyer-strict.js: Added.
  • tests/stress/v8-raytrace-strict.js: Added.
  • tests/stress/v8-regexp-strict.js: Added.
  • tests/stress/v8-richards-strict.js: Added.
  • tests/stress/v8-splay-strict.js: Added.
12:51 PM Changeset in webkit [188280] by fpizlo@apple.com
  • 13 edits
    5 adds in trunk

WTF should have a ParkingLot for parking sleeping threads, so that locks can fit in 1.6 bits
https://bugs.webkit.org/show_bug.cgi?id=147665

Reviewed by Mark Lam.

Source/JavaScriptCore:

Replace ByteSpinLock with ByteLock.

  • runtime/ConcurrentJITLock.h:

Source/WTF:

This change adds a major new abstraction for concurrency algorithms in WebKit. It's called a
ParkingLot, and it makes available a thread parking queue for each virtual address in memory.
The queues are maintained by a data-access-parallel concurrent hashtable implementation. The
memory usage is bounded at around half a KB per thread.

The ParkingLot makes it easy to turn any spinlock-based concurrency protocol into one that
parks threads after a while. Because queue state management is up to the ParkingLot and not
the user's data structure, this patch uses it to implement a full adaptive mutex in one byte.
In fact, only three states of that byte are used (0 = available, 1 = locked, 2 = locked and
there are parked threads). Hence the joke that ParkingLot allows locks that fit in 1.6 bits.

ByteLock is used as a replacement for ByteSpinLock in JavaScriptCore.

The API tests for this also demo how to create a completely fair (FIFO) binary semamphore. The
comment in Lock.h shows how we could accelerate Lock performance using ParkingLot. After we
are sure that this code works, we can expand the use of ParkingLot. That's covered by
https://bugs.webkit.org/show_bug.cgi?id=147841.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.xcodeproj/project.pbxproj:
  • benchmarks/LockSpeedTest.cpp:

(main):

  • wtf/Atomics.h:

(WTF::Atomic::compareExchangeWeak):
(WTF::Atomic::compareExchangeStrong):

  • wtf/ByteLock.cpp: Added.

(WTF::ByteLock::lockSlow):
(WTF::ByteLock::unlockSlow):

  • wtf/ByteLock.h: Added.

(WTF::ByteLock::ByteLock):
(WTF::ByteLock::lock):
(WTF::ByteLock::unlock):
(WTF::ByteLock::isHeld):
(WTF::ByteLock::isLocked):

  • wtf/CMakeLists.txt:
  • wtf/Lock.h:
  • wtf/ParkingLot.cpp: Added.

(WTF::ParkingLot::parkConditionally):
(WTF::ParkingLot::unparkOne):
(WTF::ParkingLot::unparkAll):
(WTF::ParkingLot::forEach):

  • wtf/ParkingLot.h: Added.

(WTF::ParkingLot::compareAndPark):

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/ParkingLot.cpp: Added.

(TestWebKitAPI::TEST):

12:48 PM Changeset in webkit [188279] by andersca@apple.com
  • 32 edits in trunk/Source/WebKit2

Remove unversioned client structs from the C SPI
https://bugs.webkit.org/show_bug.cgi?id=147894

Reviewed by Dan Bernstein.

  • Shared/API/c/WKConnectionRef.h:
  • UIProcess/API/C/WKContext.h:
  • UIProcess/API/C/WKContextConnectionClient.h:
  • UIProcess/API/C/WKContextDownloadClient.h:
  • UIProcess/API/C/WKContextHistoryClient.h:
  • UIProcess/API/C/WKContextInjectedBundleClient.h:
  • UIProcess/API/C/WKCookieManager.h:
  • UIProcess/API/C/WKDatabaseManager.h:
  • UIProcess/API/C/WKGeolocationManager.h:
  • UIProcess/API/C/WKIconDatabase.h:
  • UIProcess/API/C/WKNotificationProvider.h:
  • UIProcess/API/C/WKPageContextMenuClient.h:
  • UIProcess/API/C/WKPageDiagnosticLoggingClient.h:
  • UIProcess/API/C/WKPageFindClient.h:
  • UIProcess/API/C/WKPageFindMatchesClient.h:
  • UIProcess/API/C/WKPageFormClient.h:
  • UIProcess/API/C/WKPageLoaderClient.h:
  • UIProcess/API/C/WKPagePolicyClient.h:
  • UIProcess/API/C/WKPageUIClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundle.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
12:47 PM Changeset in webkit [188278] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merge r188243. rdar://problem/22102378

12:47 PM Changeset in webkit [188277] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601.1.46-branch

Merge r188195. rdar://problem/22102378

12:47 PM Changeset in webkit [188276] by matthew_hanson@apple.com
  • 7 edits
    2 adds in branches/safari-601.1.46-branch

Merge r188263. rdar://problem/22202935

12:36 PM Changeset in webkit [188275] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r188243. rdar://problem/22102378

12:36 PM Changeset in webkit [188274] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601.1-branch

Merge r188195. rdar://problem/22102378

12:32 PM Changeset in webkit [188273] by matthew_hanson@apple.com
  • 7 edits
    2 adds in branches/safari-601.1-branch

Merge r188263. rdar://problem/22202935

12:32 PM Changeset in webkit [188272] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r187758. rdar://problem/22095006

12:27 PM Changeset in webkit [188271] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

feMorphology is not rendered correctly on Retina display
https://bugs.webkit.org/show_bug.cgi?id=147589

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-08-11
Reviewed by Dean Jackson.

Source/WebCore:

The result ImageBuffer of any FilterEffect is already scaled up for 2x
display. The FEMorphology needs to fix its painting data dimension and
radius by multiplying them by the filter scale factor.

Test: fast/hidpi/filters-morphology.html

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::platformApplySoftware):

LayoutTests:

Ensure we take the filter scale factor into consideration when applying
the FEMorphology.

  • fast/hidpi/filters-morphology-expected.html: Added.
  • fast/hidpi/filters-morphology.html: Added.
12:15 PM Changeset in webkit [188270] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webkit-patch should not explode when $EDITOR is set incorrectly
https://bugs.webkit.org/show_bug.cgi?id=147884

Patch by Brian Burg <BJ Burg> on 2015-08-11
Reviewed by Darin Adler.

If $EDITOR doesn't exist, log a warning and continue.

  • Scripts/webkitpy/common/system/user.py:

(User.edit):
(User.edit_changelog):

12:11 PM Changeset in webkit [188269] by Yusuke Suzuki
  • 4 edits
    4 adds in trunk

Numeric setter on prototype doesn't get called.
https://bugs.webkit.org/show_bug.cgi?id=144252

Reviewed by Darin Adler.

Source/JavaScriptCore:

When switching the blank indexing type to the other one in putByIndex,
if the structure(vm)->needsSlowPutIndexing() is true, we need to switch
it to the slow put indexing type and reloop the putByIndex since there may
be some indexing accessor in the prototype chain. Previously, we just set
the value into the allocated vector.

In the putDirectIndex case, we just store the value to the vector.
This is because putDirectIndex is the operation to store the own property
and it does not check the accessors in the prototype chain.

  • runtime/JSObject.cpp:

(JSC::JSObject::putByIndexBeyondVectorLength):

  • tests/stress/injected-numeric-setter-on-prototype.js: Added.

(shouldBe):
(Trace):
(Trace.prototype.trace):
(Trace.prototype.get count):
(.):

  • tests/stress/numeric-setter-on-prototype-non-blank-array.js: Added.

(shouldBe):
(Trace):
(Trace.prototype.trace):
(Trace.prototype.get count):
(.):

  • tests/stress/numeric-setter-on-prototype.js: Added.

(shouldBe):
(Trace):
(Trace.prototype.trace):
(Trace.prototype.get count):
(.z.proto.set 3):

  • tests/stress/numeric-setter-on-self.js: Added.

(shouldBe):
(Trace):
(Trace.prototype.trace):
(Trace.prototype.get count):
(.y.set 2):

LayoutTests:

Update the test expectation file.

  • js/class-syntax-string-and-numeric-names-expected.txt:
11:29 AM Changeset in webkit [188268] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed gardening.

file references so they appear in the proper IDE locations.

11:28 AM Changeset in webkit [188267] by commit-queue@webkit.org
  • 73 edits in trunk/LayoutTests

Web Inspector: use different namespaces in test fixtures for protocol tests and frontend tests
https://bugs.webkit.org/show_bug.cgi?id=147787

Patch by Brian Burg <BJ Burg> on 2015-08-11
Reviewed by Timothy Hatcher.

Refactor test methods to use three distinct namespaces to reflect their implementation:

  • InspectorProtocol contains commands that are only used from within protocol tests.

This includes sending and receiving protocol messages and checking message errors.

  • InspectorTest contains test methods for full inspector frontend tests.
  • ProtocolTest contains test methods for protocol tests.

In a subsequent patch, most methods in InspectorTest and ProtocolTest namespaces
will be unified so that implementations of log, assert, etc. are no longer duplicated.
For now, at least make it obvious at each callsite what code is being invoked.

  • http/tests/inspector/console/access-inspected-object.html:
  • http/tests/inspector/dom/resources/InspectorDOMListener.js:
  • http/tests/inspector/page/loading-iframe-document-node.html:
  • http/tests/inspector/resources/ProtocolTestStub.js:
  • http/tests/inspector/resources/console-test.js:
  • http/tests/inspector/resources/probe-test.js:
  • inspector/console/console-message.html:
  • inspector/console/css-source-locations.html:
  • inspector/console/js-source-locations.html:
  • inspector/console/x-frame-options-message.html:
  • inspector/css/getSupportedCSSProperties.html:
  • inspector/debugger/breakpoint-action-detach.html:
  • inspector/debugger/breakpoint-action-with-exception.html:
  • inspector/debugger/breakpoint-condition-detach.html:
  • inspector/debugger/breakpoint-condition-with-bad-script.html:
  • inspector/debugger/breakpoint-condition-with-exception.html:
  • inspector/debugger/breakpoint-eval-with-exception.html:
  • inspector/debugger/breakpoint-inside-conditons-and-actions.html:
  • inspector/debugger/call-frame-function-name.html:
  • inspector/debugger/call-frame-this-host.html:
  • inspector/debugger/call-frame-this-nonstrict.html:
  • inspector/debugger/call-frame-this-strict.html:
  • inspector/debugger/debugger-statement.html:
  • inspector/debugger/didSampleProbe-multiple-probes.html:
  • inspector/debugger/hit-breakpoint-from-console.html:
  • inspector/debugger/nested-inspectors.html:
  • inspector/debugger/pause-dedicated-worker.html:
  • inspector/debugger/pause-on-assert.html:
  • inspector/debugger/regress-133182.html:
  • inspector/debugger/removeBreakpoint.html:
  • inspector/debugger/searchInContent-linebreaks.html:
  • inspector/debugger/setBreakpoint-actions.html:
  • inspector/debugger/setBreakpoint-autoContinue.html:
  • inspector/debugger/setBreakpoint-column.html:
  • inspector/debugger/setBreakpoint-condition.html:
  • inspector/debugger/setBreakpoint-dfg-and-modify-local.html:
  • inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html:
  • inspector/debugger/setBreakpoint-dfg.html:
  • inspector/debugger/setBreakpoint-options-exception.html:
  • inspector/debugger/setBreakpoint.html:
  • inspector/debugger/setBreakpointByUrl-sourceURL.html:
  • inspector/debugger/setPauseOnExceptions-all.html:
  • inspector/debugger/setPauseOnExceptions-none.html:
  • inspector/debugger/setPauseOnExceptions-uncaught.html:
  • inspector/debugger/setVariableValue.html:
  • inspector/debugger/terminate-dedicated-worker-while-paused.html:
  • inspector/dom-debugger/node-removed.html:
  • inspector/dom/dom-remove-events.html:
  • inspector/dom/dom-search-crash.html:
  • inspector/dom/dom-search-with-context.html:
  • inspector/dom/dom-search.html:
  • inspector/dom/focus.html:
  • inspector/dom/getAccessibilityPropertiesForNode.html:
  • inspector/dom/getAccessibilityPropertiesForNode_liveRegion.html:
  • inspector/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html:
  • inspector/dom/highlight-flow-with-no-region.html:
  • inspector/dom/remove-multiple-nodes.html:
  • inspector/dom/request-child-nodes-depth.html:
  • inspector/layers/layers-anonymous.html:
  • inspector/layers/layers-blending-compositing-reasons.html:
  • inspector/layers/layers-compositing-reasons.html:
  • inspector/layers/layers-for-node.html:
  • inspector/layers/layers-generated-content.html:
  • inspector/layers/layers-reflected-content.html:
  • inspector/page/archive.html:
  • inspector/page/frameScheduledNavigation.html:
  • inspector/page/frameStartedLoading.html:
  • inspector/page/javascriptDialogEvents.html:
  • inspector/page/setEmulatedMedia.html:
  • inspector/runtime/getProperties.html:
  • inspector/unit-tests/async-test-suite.html:
  • inspector/unit-tests/sync-test-suite.html:
11:26 AM Changeset in webkit [188266] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Win] Unreviewed gardening.

  • WTF.vcxproj/WTF.vcxproj.filters: Place file references so that files appear in correct

folders in IDE.

11:21 AM Changeset in webkit [188265] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed windows build fix for VS2015.

  • bindings/ScriptValue.h: Add missing JSCJSValueInlines.h include.
11:18 AM Changeset in webkit [188264] by Yusuke Suzuki
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

[ES6] Implement Reflect.has
https://bugs.webkit.org/show_bug.cgi?id=147875

Reviewed by Sam Weinig.

This patch implements Reflect.has[1].
Since the semantics is the same to the in operator in the JS[2],
we can implement it in builtin JS code.

[1]: http://www.ecma-international.org/ecma-262/6.0/#sec-reflect.has
[2]: http://www.ecma-international.org/ecma-262/6.0/#sec-relational-operators-runtime-semantics-evaluation

  • builtins/ReflectObject.js:

(has):

  • runtime/ReflectObject.cpp:
  • tests/stress/reflect-has.js: Added.

(shouldBe):
(shouldThrow):

11:05 AM Changeset in webkit [188263] by mmaxfield@apple.com
  • 7 edits
    2 adds in trunk

[iOS] Arabic letter Yeh is drawn in LastResort
https://bugs.webkit.org/show_bug.cgi?id=147862
<rdar://problem/22202935>

Reviewed by Darin Adler.

Source/WebCore:

In order to perform font fallback, we must know which fonts support which characters. We
perform this check by asking each font to map a sequence of codepoints to glyphs, and
any glyphs which end up with a 0 value are unsupported by the font.

One of the mechanisms that we use to do this is to combine the code points into a string,
and tell Core Text to lay out the string. However, this is fundamentally a different
operation than the one we are trying to perform. Strings combine adjacent codepoints into
grapheme clusters, and CoreText operates on these. However, we are trying to gain
information regarding codepoints, not grapheme clusters.

Instead of taking this string-based approach, we should try harder to use Core Text
functions which operate on ordered collections of characters, rather than strings. In
particular, CTFontGetGlyphsForCharacters() and CTFontGetVerticalGlyphsForCharacters()
have the behavior we want where any unmapped characters end up with a 0 value glyph.

Previously, we were only using the result of those functions if they were successfully
able to map their entire input. However, given the fact that we can degrade gracefully
in the case of a partial mapping, we shouldn't need to bail completely to the
string-based approach should a partial mapping occur.

At some point we should delete the string-based approach entirely. However, this path
is still explicitly used for composite fonts. Fixing that use case is out of scope
for this patch.

Test: fast/text/arabic-glyph-cache-fill-combine.html

  • platform/graphics/mac/GlyphPageMac.cpp:

(WebCore::GlyphPage::fill):

LayoutTests:

  • fast/text/arabic-glyph-cache-fill-combine-expected.html: Added.
  • fast/text/arabic-glyph-cache-fill-combine.html: Added.
  • platform/mac/TestExpectations: Mark test as iOS-specific
  • platform/gtk/TestExpectations: Mark test as iOS-specific
  • platform/efl/TestExpectations: Mark test as iOS-specific
  • platform/efl/TestExpectations: Mark test as iOS-specific
10:57 AM Changeset in webkit [188262] by Yusuke Suzuki
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

[ES6] Implement Reflect.getPrototypeOf and Reflect.setPrototypeOf
https://bugs.webkit.org/show_bug.cgi?id=147874

Reviewed by Darin Adler.

This patch implements ES6 Reflect.{getPrototypeOf, setPrototypeOf}.
The difference from the Object.* one is

  1. They dont not perform ToObject onto the non-object arguments. They make it as a TypeError.
  2. Reflect.setPrototyeOf returns false when the operation is failed. In Object.setPrototypeOf, it raises a TypeError.
  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructorGetPrototypeOfFunctor::ObjectConstructorGetPrototypeOfFunctor):
(JSC::ObjectConstructorGetPrototypeOfFunctor::result):
(JSC::ObjectConstructorGetPrototypeOfFunctor::operator()):
(JSC::objectConstructorGetPrototypeOf):

  • runtime/ObjectConstructor.h:
  • runtime/ReflectObject.cpp:

(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectSetPrototypeOf):

  • tests/stress/reflect-get-prototype-of.js: Added.

(shouldBe):
(shouldThrow):
(Base):
(Derived):

  • tests/stress/reflect-set-prototype-of.js: Added.

(shouldBe):
(shouldThrow):

10:52 AM Changeset in webkit [188261] by Chris Dumez
  • 21 edits
    2 adds in trunk

The 'length' property on interface objects should be configurable
https://bugs.webkit.org/show_bug.cgi?id=147858

Reviewed by Daniel Bates.

Source/WebCore:

Make the 'length' property configurable on interface objects to comply
with the Web IDL specification [1] and to align our behavior with
Firefox 38 and Chrome 44.

This behavior is also covered by the following W3C test suite:
http://w3c-test.org/dom/interfaces.html

[1] http://heycam.github.io/webidl/#es-interface-call (17 July 2015)

Test: fast/dom/length-property-configurable.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorHelperMethods):
Make the 'length' property configurable on interface objects.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:

(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTargetConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestExceptionConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachableConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::JSTestNodeConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::JSTestNondeterministicConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsConstructor::finishCreation):

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::JSattributeConstructor::finishCreation):

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::JSreadonlyConstructor::finishCreation):
Rebaseline bindings tests.

LayoutTests:

Add layout test to check that the 'length' property on interface
objects has the following attributes:
{ Writable?: false, Enumerable?: false, Configurable?: true }

  • fast/dom/length-property-configurable-expected.txt: Added.
  • fast/dom/length-property-configurable.html: Added.
10:18 AM Changeset in webkit [188260] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Hovering over an element in the Elements tab should highlight the whole line
https://bugs.webkit.org/show_bug.cgi?id=147855

Reviewed by Brian Burg.

  • UserInterface/Views/DOMTreeOutline.css:

(.dom-tree-outline li.hovered:not(.selected) .selection):
Removed the horizontal positioning and border radius.

10:15 AM Changeset in webkit [188259] by peavo@outlook.com
  • 2 edits in trunk/Source/WebCore

[Win] Popup menus have incorrect placement when device scale factor != 1.
https://bugs.webkit.org/show_bug.cgi?id=147880

Reviewed by Brent Fulgham.

We need to take the device scaling factor into account when calculating
the position and size of the popup menu.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::calculatePositionAndSize):

9:58 AM Changeset in webkit [188258] by Chris Dumez
  • 22 edits
    2 adds in trunk

[WebIDL] All interface objects must have a property named "name"
https://bugs.webkit.org/show_bug.cgi?id=147865

Reviewed by Darin Adler.

Source/WebCore:

As per the Web IDL specification, all interface objects must have a
property named "name" with attributes
{ Writable?: false, Enumerable?: false, Configurable?: true }
whose value is the identifier of the corresponding interface:
http://heycam.github.io/webidl/#es-interface-call
http://heycam.github.io/webidl/#named-constructors

Previously, our interface objects had no such property, this patch
addresses the problem.

Both Firefox 38 and Chrome 44 comply with the Web IDL specification
here.

Test: fast/dom/interface-name-property.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorHelperMethods):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:

(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTargetConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestExceptionConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachableConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::JSTestNodeConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::JSTestNondeterministicConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsConstructor::finishCreation):

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::JSattributeConstructor::finishCreation):

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::JSreadonlyConstructor::finishCreation):
Rebaseline bindings tests.

LayoutTests:

Add layout test to check that the 'name' property on interface
objects has the following attributes:
{ Writable?: false, Enumerable?: false, Configurable?: true }

  • fast/dom/interface-name-property-expected.txt: Added.
  • fast/dom/interface-name-property.html: Added.

New test.

  • media/track/track-cue-empty-cue-text-expected.txt:

Rebaseline, this is a progression.

9:51 AM Changeset in webkit [188257] by mitz@apple.com
  • 12 edits
    1 delete in trunk

Reverted r188255, because it turned out that delegates do nonot need this information.

Source/WebKit2:

  • UIProcess/API/APIUIClient.h:

(API::UIClient::footerHeight):
(API::UIClient::drawHeader):
(API::UIClient::drawFooter):
(API::UIClient::printFrame):
(API::UIClient::canRunModal):
(API::UIClient::runModal):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIDelegate):
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):
(WebKit::UIDelegate::UIClient::printFrame):
(WebKit::UIDelegate::UIClient::close):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runOpenPanel):
(WebKit::WebPageProxy::printFrame):
(WebKit::WebPageProxy::printMainFrame):
(WebKit::WebPageProxy::setMediaVolume):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::setShouldSendEventsSynchronously):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print):
(WebKit::WebChromeClient::exceededDatabaseQuota):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/PrintFrame.mm: Removed.
9:45 AM Changeset in webkit [188256] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Fix debug build when optimization is enabled
https://bugs.webkit.org/show_bug.cgi?id=147816

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2015-08-11
Reviewed by Alexey Proskuryakov.

Source/JavaScriptCore:

  • llint/LLIntEntrypoint.cpp:
  • runtime/FunctionExecutableDump.cpp:

Source/WebCore:

No new tests because this is only a build fix.

  • editing/InsertNodeBeforeCommand.cpp:
9:14 AM Changeset in webkit [188255] by mitz@apple.com
  • 12 edits
    1 add in trunk

[Cocoa] The UI delegate can't tell if printing was user-initiated
https://bugs.webkit.org/show_bug.cgi?id=147869

Reviewed by Sam Weinig.

Source/WebKit2:

  • UIProcess/API/APIUIClient.h:

(API::UIClient::printFrame): Added processingUserGesture argument.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient): Updated for new client function signature.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added userInitiated boolean argument to -_webView:printFrame:.
  • UIProcess/Cocoa/UIDelegate.h: Added bool to m_delegateMethods for the new method.
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIDelegate):
(WebKit::UIDelegate::setDelegate): Initialized new bool.
(WebKit::UIDelegate::UIClient::printFrame): Pass processingUserGesture as the delegate’s

userInitiated argument.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::printFrame): Added processingUserGesture argument, passing it along

to the client.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added processingUserGesture argument to printFrame.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print): Pass new argument.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/PrintFrame.mm: Added.

(-[PrintFrameController webView:didFinishNavigation:]):
(-[PrintFrameController _webView:printFrame:userInitiated:]):
(TEST):

7:56 AM Changeset in webkit [188254] by Chris Dumez
  • 19 edits in trunk/Source/WebCore

Unreviewed, rebaseline bindings tests after r188252.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:

(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTargetConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestExceptionConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachableConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::JSTestNodeConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::JSTestNondeterministicConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsConstructor::finishCreation):

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::JSattributeConstructor::finishCreation):

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::JSreadonlyConstructor::finishCreation):

12:36 AM Changeset in webkit [188253] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Ensure that Reflect.enumerate does not produce the deleted keys
https://bugs.webkit.org/show_bug.cgi?id=147677

Reviewed by Darin Adler.

Add tests for Reflect.enumerate that delete the property keys during the enumeration.

  • tests/stress/reflect-enumerate.js:

Aug 10, 2015:

11:42 PM Changeset in webkit [188252] by Chris Dumez
  • 3 edits
    2 adds in trunk

The 'prototype' property on interface objects should not be enumerable
https://bugs.webkit.org/show_bug.cgi?id=147861

Reviewed by Darin Adler.

Source/WebCore:

  1. Make the 'prototype' property not enumerable on interface object to comply with the Web IDL specification [1] and to align our behavior with Firefox 38 and Chrome 44.
  1. Also update the 'prototype' property on named constructors to have the following attributes: { Writable?: false, Enumerable?: false, Configurable?: false }

Previously, all these were true in WebKit. The new behavior complies
with the Web IDL specification [2] and aligns our behavior with
Firefox 38. On Chrome 44, the attributes are as follows:
{ Writable?: true, Enumerable?: false, Configurable?: false }

This behavior is also covered by the following W3C test suite:
http://w3c-test.org/dom/interfaces.html

[1] http://heycam.github.io/webidl/#interface-object
[2] http://heycam.github.io/webidl/#named-constructors

Test: fast/dom/prototype-property-not-enumerable.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorHelperMethods):

LayoutTests:

Add layout test to check that the 'prototype' property on interface
objects has the following attributes:
{ Writable?: false, Enumerable?: false, Configurable?: false }

  • fast/dom/prototype-property-not-enumerable-expected.txt: Added.
  • fast/dom/prototype-property-not-enumerable.html: Added.
11:40 PM Changeset in webkit [188251] by achristensen@apple.com
  • 3 edits in trunk/Tools

Another build fix after r188239.

  • TestWebKitAPI/PlatformWin.cmake:

Link with more libraries.

  • WinLauncher/CMakeLists.txt:

/NODEFAULTLIB:MSVCRT is not just needed for AppleWin.

10:07 PM Changeset in webkit [188250] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning.

10:06 PM Changeset in webkit [188249] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

9:59 PM Changeset in webkit [188248] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Another build fix after r188239.

  • PlatformWin.cmake:

Link WinCairo with Media Foundation libraries.

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

Build fix after r188239.

  • PlatformWinCairo.cmake:

MediaPlayerPrivateMediaFoundation is needed on WinCairo with video properly enabled.

9:25 PM Changeset in webkit [188246] by achristensen@apple.com
  • 2 edits in trunk/Source/ThirdParty

[Win] Unreviewed build fix after r188239.

  • gtest/CMakeLists.txt:

VS2015 requires STDC_LIMIT_MACROS to be defined for INTMAX_MAX to be defined.

8:46 PM Changeset in webkit [188245] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Build fix after r188237.

  • Scripts/webkitpy/benchmark_runner/benchmark_builder.py:

(BenchmarkBuilder.enter):

8:15 PM Changeset in webkit [188244] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

Update ReadMe and correct the way to use abstract abstract class.
https://bugs.webkit.org/show_bug.cgi?id=147860

Patch by Dewei Zhu <Dewei Zhu> on 2015-08-10
Reviewed by Ryosuke Niwa.

Update ReadMe according to recent changes. And set ABCMeta to be the metaclass of BrowserDriver and HTTPServerDriver,
so that all methods annotated by 'abstractmethod' will check whether they are implememnt by subclasses.

  • Scripts/webkitpy/benchmark_runner/README.md:
  • Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:

(BrowserDriver):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:

(OSXBrowserDriver.restore_env):

  • Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:

(HTTPServerDriver):
(HTTPServerDriver.set_device_id):

  • Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:

(SimpleHTTPServerDriver.get_return_code):
(SimpleHTTPServerDriver):
(SimpleHTTPServerDriver.set_device_id):

7:49 PM Changeset in webkit [188243] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Post-review fixup after r188195
https://bugs.webkit.org/show_bug.cgi?id=147806

Unreviewed.

Covered by fast/text/crash-obscure-text.html.

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::objectForEqualityCheck):

6:26 PM Changeset in webkit [188242] by ggaren@apple.com
  • 8 edits
    3 copies in trunk/Source/JavaScriptCore

Start beating UnlinkedCodeBlock.h/.cpp with the "One Class per File" stick
https://bugs.webkit.org/show_bug.cgi?id=147856

Reviewed by Saam Barati.

Split out UnlinkedFunctionExecutable.h/.cpp and ExecutableInfo.h into separate files.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ExecutableInfo.h: Copied from Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h.

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedStringJumpTable::offsetForValue): Deleted.
(JSC::UnlinkedSimpleJumpTable::add): Deleted.
(JSC::UnlinkedInstruction::UnlinkedInstruction): Deleted.
(JSC::UnlinkedCodeBlock::isConstructor): Deleted.
(JSC::UnlinkedCodeBlock::isStrictMode): Deleted.
(JSC::UnlinkedCodeBlock::usesEval): Deleted.
(JSC::UnlinkedCodeBlock::needsFullScopeChain): Deleted.
(JSC::UnlinkedCodeBlock::hasExpressionInfo): Deleted.
(JSC::UnlinkedCodeBlock::setThisRegister): Deleted.
(JSC::UnlinkedCodeBlock::setScopeRegister): Deleted.
(JSC::UnlinkedCodeBlock::setActivationRegister): Deleted.
(JSC::UnlinkedCodeBlock::usesGlobalObject): Deleted.
(JSC::UnlinkedCodeBlock::setGlobalObjectRegister): Deleted.
(JSC::UnlinkedCodeBlock::globalObjectRegister): Deleted.
(JSC::UnlinkedCodeBlock::setNumParameters): Deleted.
(JSC::UnlinkedCodeBlock::addParameter): Deleted.
(JSC::UnlinkedCodeBlock::numParameters): Deleted.
(JSC::UnlinkedCodeBlock::addRegExp): Deleted.
(JSC::UnlinkedCodeBlock::numberOfRegExps): Deleted.
(JSC::UnlinkedCodeBlock::regexp): Deleted.
(JSC::UnlinkedCodeBlock::numberOfIdentifiers): Deleted.
(JSC::UnlinkedCodeBlock::addIdentifier): Deleted.
(JSC::UnlinkedCodeBlock::identifier): Deleted.
(JSC::UnlinkedCodeBlock::identifiers): Deleted.
(JSC::UnlinkedCodeBlock::addConstant): Deleted.
(JSC::UnlinkedCodeBlock::registerIndexForLinkTimeConstant): Deleted.
(JSC::UnlinkedCodeBlock::constantRegisters): Deleted.
(JSC::UnlinkedCodeBlock::constantRegister): Deleted.
(JSC::UnlinkedCodeBlock::isConstantRegisterIndex): Deleted.
(JSC::UnlinkedCodeBlock::constantsSourceCodeRepresentation): Deleted.
(JSC::UnlinkedCodeBlock::numberOfJumpTargets): Deleted.
(JSC::UnlinkedCodeBlock::addJumpTarget): Deleted.
(JSC::UnlinkedCodeBlock::jumpTarget): Deleted.
(JSC::UnlinkedCodeBlock::lastJumpTarget): Deleted.
(JSC::UnlinkedCodeBlock::isBuiltinFunction): Deleted.
(JSC::UnlinkedCodeBlock::constructorKind): Deleted.
(JSC::UnlinkedCodeBlock::shrinkToFit): Deleted.
(JSC::UnlinkedCodeBlock::numberOfSwitchJumpTables): Deleted.
(JSC::UnlinkedCodeBlock::addSwitchJumpTable): Deleted.
(JSC::UnlinkedCodeBlock::switchJumpTable): Deleted.
(JSC::UnlinkedCodeBlock::numberOfStringSwitchJumpTables): Deleted.
(JSC::UnlinkedCodeBlock::addStringSwitchJumpTable): Deleted.
(JSC::UnlinkedCodeBlock::stringSwitchJumpTable): Deleted.
(JSC::UnlinkedCodeBlock::addFunctionDecl): Deleted.
(JSC::UnlinkedCodeBlock::functionDecl): Deleted.
(JSC::UnlinkedCodeBlock::numberOfFunctionDecls): Deleted.
(JSC::UnlinkedCodeBlock::addFunctionExpr): Deleted.
(JSC::UnlinkedCodeBlock::functionExpr): Deleted.
(JSC::UnlinkedCodeBlock::numberOfFunctionExprs): Deleted.
(JSC::UnlinkedCodeBlock::numberOfExceptionHandlers): Deleted.
(JSC::UnlinkedCodeBlock::addExceptionHandler): Deleted.
(JSC::UnlinkedCodeBlock::exceptionHandler): Deleted.
(JSC::UnlinkedCodeBlock::vm): Deleted.
(JSC::UnlinkedCodeBlock::addArrayProfile): Deleted.
(JSC::UnlinkedCodeBlock::numberOfArrayProfiles): Deleted.
(JSC::UnlinkedCodeBlock::addArrayAllocationProfile): Deleted.
(JSC::UnlinkedCodeBlock::numberOfArrayAllocationProfiles): Deleted.
(JSC::UnlinkedCodeBlock::addObjectAllocationProfile): Deleted.
(JSC::UnlinkedCodeBlock::numberOfObjectAllocationProfiles): Deleted.
(JSC::UnlinkedCodeBlock::addValueProfile): Deleted.
(JSC::UnlinkedCodeBlock::numberOfValueProfiles): Deleted.
(JSC::UnlinkedCodeBlock::addLLIntCallLinkInfo): Deleted.
(JSC::UnlinkedCodeBlock::numberOfLLintCallLinkInfos): Deleted.
(JSC::UnlinkedCodeBlock::codeType): Deleted.
(JSC::UnlinkedCodeBlock::thisRegister): Deleted.
(JSC::UnlinkedCodeBlock::scopeRegister): Deleted.
(JSC::UnlinkedCodeBlock::activationRegister): Deleted.
(JSC::UnlinkedCodeBlock::hasActivationRegister): Deleted.
(JSC::UnlinkedCodeBlock::addPropertyAccessInstruction): Deleted.
(JSC::UnlinkedCodeBlock::numberOfPropertyAccessInstructions): Deleted.
(JSC::UnlinkedCodeBlock::propertyAccessInstructions): Deleted.
(JSC::UnlinkedCodeBlock::constantBufferCount): Deleted.
(JSC::UnlinkedCodeBlock::addConstantBuffer): Deleted.
(JSC::UnlinkedCodeBlock::constantBuffer): Deleted.
(JSC::UnlinkedCodeBlock::hasRareData): Deleted.
(JSC::UnlinkedCodeBlock::recordParse): Deleted.
(JSC::UnlinkedCodeBlock::codeFeatures): Deleted.
(JSC::UnlinkedCodeBlock::hasCapturedVariables): Deleted.
(JSC::UnlinkedCodeBlock::firstLine): Deleted.
(JSC::UnlinkedCodeBlock::lineCount): Deleted.
(JSC::UnlinkedCodeBlock::startColumn): Deleted.
(JSC::UnlinkedCodeBlock::endColumn): Deleted.
(JSC::UnlinkedCodeBlock::addOpProfileControlFlowBytecodeOffset): Deleted.
(JSC::UnlinkedCodeBlock::opProfileControlFlowBytecodeOffsets): Deleted.
(JSC::UnlinkedCodeBlock::finishCreation): Deleted.
(JSC::UnlinkedCodeBlock::createRareDataIfNecessary): Deleted.
(JSC::UnlinkedGlobalCodeBlock::UnlinkedGlobalCodeBlock): Deleted.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
(JSC::generateFunctionCodeBlock): Deleted.
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable): Deleted.
(JSC::UnlinkedFunctionExecutable::visitChildren): Deleted.
(JSC::UnlinkedFunctionExecutable::link): Deleted.
(JSC::UnlinkedFunctionExecutable::fromGlobalCode): Deleted.
(JSC::UnlinkedFunctionExecutable::codeBlockFor): Deleted.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::ExecutableInfo::ExecutableInfo): Deleted.
(JSC::ExecutableInfo::needsActivation): Deleted.
(JSC::ExecutableInfo::usesEval): Deleted.
(JSC::ExecutableInfo::isStrictMode): Deleted.
(JSC::ExecutableInfo::isConstructor): Deleted.
(JSC::ExecutableInfo::isBuiltinFunction): Deleted.
(JSC::ExecutableInfo::constructorKind): Deleted.

  • bytecode/UnlinkedFunctionExecutable.cpp: Copied from Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp.

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): Deleted.
(JSC::UnlinkedCodeBlock::visitChildren): Deleted.
(JSC::UnlinkedCodeBlock::lineNumberForBytecodeOffset): Deleted.
(JSC::UnlinkedCodeBlock::getLineAndColumn): Deleted.
(JSC::dumpLineColumnEntry): Deleted.
(JSC::UnlinkedCodeBlock::dumpExpressionRangeInfo): Deleted.
(JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset): Deleted.
(JSC::UnlinkedCodeBlock::addExpressionInfo): Deleted.
(JSC::UnlinkedCodeBlock::typeProfilerExpressionInfoForBytecodeOffset): Deleted.
(JSC::UnlinkedCodeBlock::addTypeProfilerExpressionInfo): Deleted.
(JSC::UnlinkedProgramCodeBlock::visitChildren): Deleted.
(JSC::UnlinkedCodeBlock::~UnlinkedCodeBlock): Deleted.
(JSC::UnlinkedProgramCodeBlock::destroy): Deleted.
(JSC::UnlinkedEvalCodeBlock::destroy): Deleted.
(JSC::UnlinkedFunctionCodeBlock::destroy): Deleted.
(JSC::UnlinkedFunctionExecutable::destroy): Deleted.
(JSC::UnlinkedCodeBlock::setInstructions): Deleted.
(JSC::UnlinkedCodeBlock::instructions): Deleted.

  • bytecode/UnlinkedFunctionExecutable.h: Copied from Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h.

(JSC::ExecutableInfo::ExecutableInfo): Deleted.
(JSC::ExecutableInfo::needsActivation): Deleted.
(JSC::ExecutableInfo::usesEval): Deleted.
(JSC::ExecutableInfo::isStrictMode): Deleted.
(JSC::ExecutableInfo::isConstructor): Deleted.
(JSC::ExecutableInfo::isBuiltinFunction): Deleted.
(JSC::ExecutableInfo::constructorKind): Deleted.
(JSC::UnlinkedStringJumpTable::offsetForValue): Deleted.
(JSC::UnlinkedSimpleJumpTable::add): Deleted.
(JSC::UnlinkedInstruction::UnlinkedInstruction): Deleted.
(JSC::UnlinkedCodeBlock::isConstructor): Deleted.
(JSC::UnlinkedCodeBlock::isStrictMode): Deleted.
(JSC::UnlinkedCodeBlock::usesEval): Deleted.
(JSC::UnlinkedCodeBlock::needsFullScopeChain): Deleted.
(JSC::UnlinkedCodeBlock::hasExpressionInfo): Deleted.
(JSC::UnlinkedCodeBlock::setThisRegister): Deleted.
(JSC::UnlinkedCodeBlock::setScopeRegister): Deleted.
(JSC::UnlinkedCodeBlock::setActivationRegister): Deleted.
(JSC::UnlinkedCodeBlock::usesGlobalObject): Deleted.
(JSC::UnlinkedCodeBlock::setGlobalObjectRegister): Deleted.
(JSC::UnlinkedCodeBlock::globalObjectRegister): Deleted.
(JSC::UnlinkedCodeBlock::setNumParameters): Deleted.
(JSC::UnlinkedCodeBlock::addParameter): Deleted.
(JSC::UnlinkedCodeBlock::numParameters): Deleted.
(JSC::UnlinkedCodeBlock::addRegExp): Deleted.
(JSC::UnlinkedCodeBlock::numberOfRegExps): Deleted.
(JSC::UnlinkedCodeBlock::regexp): Deleted.
(JSC::UnlinkedCodeBlock::numberOfIdentifiers): Deleted.
(JSC::UnlinkedCodeBlock::addIdentifier): Deleted.
(JSC::UnlinkedCodeBlock::identifier): Deleted.
(JSC::UnlinkedCodeBlock::identifiers): Deleted.
(JSC::UnlinkedCodeBlock::addConstant): Deleted.
(JSC::UnlinkedCodeBlock::registerIndexForLinkTimeConstant): Deleted.
(JSC::UnlinkedCodeBlock::constantRegisters): Deleted.
(JSC::UnlinkedCodeBlock::constantRegister): Deleted.
(JSC::UnlinkedCodeBlock::isConstantRegisterIndex): Deleted.
(JSC::UnlinkedCodeBlock::constantsSourceCodeRepresentation): Deleted.
(JSC::UnlinkedCodeBlock::numberOfJumpTargets): Deleted.
(JSC::UnlinkedCodeBlock::addJumpTarget): Deleted.
(JSC::UnlinkedCodeBlock::jumpTarget): Deleted.
(JSC::UnlinkedCodeBlock::lastJumpTarget): Deleted.
(JSC::UnlinkedCodeBlock::isBuiltinFunction): Deleted.
(JSC::UnlinkedCodeBlock::constructorKind): Deleted.
(JSC::UnlinkedCodeBlock::shrinkToFit): Deleted.
(JSC::UnlinkedCodeBlock::numberOfSwitchJumpTables): Deleted.
(JSC::UnlinkedCodeBlock::addSwitchJumpTable): Deleted.
(JSC::UnlinkedCodeBlock::switchJumpTable): Deleted.
(JSC::UnlinkedCodeBlock::numberOfStringSwitchJumpTables): Deleted.
(JSC::UnlinkedCodeBlock::addStringSwitchJumpTable): Deleted.
(JSC::UnlinkedCodeBlock::stringSwitchJumpTable): Deleted.
(JSC::UnlinkedCodeBlock::addFunctionDecl): Deleted.
(JSC::UnlinkedCodeBlock::functionDecl): Deleted.
(JSC::UnlinkedCodeBlock::numberOfFunctionDecls): Deleted.
(JSC::UnlinkedCodeBlock::addFunctionExpr): Deleted.
(JSC::UnlinkedCodeBlock::functionExpr): Deleted.
(JSC::UnlinkedCodeBlock::numberOfFunctionExprs): Deleted.
(JSC::UnlinkedCodeBlock::numberOfExceptionHandlers): Deleted.
(JSC::UnlinkedCodeBlock::addExceptionHandler): Deleted.
(JSC::UnlinkedCodeBlock::exceptionHandler): Deleted.
(JSC::UnlinkedCodeBlock::vm): Deleted.
(JSC::UnlinkedCodeBlock::addArrayProfile): Deleted.
(JSC::UnlinkedCodeBlock::numberOfArrayProfiles): Deleted.
(JSC::UnlinkedCodeBlock::addArrayAllocationProfile): Deleted.
(JSC::UnlinkedCodeBlock::numberOfArrayAllocationProfiles): Deleted.
(JSC::UnlinkedCodeBlock::addObjectAllocationProfile): Deleted.
(JSC::UnlinkedCodeBlock::numberOfObjectAllocationProfiles): Deleted.
(JSC::UnlinkedCodeBlock::addValueProfile): Deleted.
(JSC::UnlinkedCodeBlock::numberOfValueProfiles): Deleted.
(JSC::UnlinkedCodeBlock::addLLIntCallLinkInfo): Deleted.
(JSC::UnlinkedCodeBlock::numberOfLLintCallLinkInfos): Deleted.
(JSC::UnlinkedCodeBlock::codeType): Deleted.
(JSC::UnlinkedCodeBlock::thisRegister): Deleted.
(JSC::UnlinkedCodeBlock::scopeRegister): Deleted.
(JSC::UnlinkedCodeBlock::activationRegister): Deleted.
(JSC::UnlinkedCodeBlock::hasActivationRegister): Deleted.
(JSC::UnlinkedCodeBlock::addPropertyAccessInstruction): Deleted.
(JSC::UnlinkedCodeBlock::numberOfPropertyAccessInstructions): Deleted.
(JSC::UnlinkedCodeBlock::propertyAccessInstructions): Deleted.
(JSC::UnlinkedCodeBlock::constantBufferCount): Deleted.
(JSC::UnlinkedCodeBlock::addConstantBuffer): Deleted.
(JSC::UnlinkedCodeBlock::constantBuffer): Deleted.
(JSC::UnlinkedCodeBlock::hasRareData): Deleted.
(JSC::UnlinkedCodeBlock::recordParse): Deleted.
(JSC::UnlinkedCodeBlock::codeFeatures): Deleted.
(JSC::UnlinkedCodeBlock::hasCapturedVariables): Deleted.
(JSC::UnlinkedCodeBlock::firstLine): Deleted.
(JSC::UnlinkedCodeBlock::lineCount): Deleted.
(JSC::UnlinkedCodeBlock::startColumn): Deleted.
(JSC::UnlinkedCodeBlock::endColumn): Deleted.
(JSC::UnlinkedCodeBlock::addOpProfileControlFlowBytecodeOffset): Deleted.
(JSC::UnlinkedCodeBlock::opProfileControlFlowBytecodeOffsets): Deleted.
(JSC::UnlinkedCodeBlock::finishCreation): Deleted.
(JSC::UnlinkedCodeBlock::createRareDataIfNecessary): Deleted.
(JSC::UnlinkedGlobalCodeBlock::UnlinkedGlobalCodeBlock): Deleted.

  • runtime/Executable.h:
6:11 PM Changeset in webkit [188241] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.49

New tag.

5:38 PM Changeset in webkit [188240] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.7

New tag.

5:09 PM Changeset in webkit [188239] by achristensen@apple.com
  • 16 edits
    1 add in trunk

Build TestWebKitAPI with CMake on Windows
https://bugs.webkit.org/show_bug.cgi?id=147851

Reviewed by Chris Dumez.

.:

  • Source/cmake/OptionsWindows.cmake:

Enable api tests and set USE_SYSTEM_MALLOC to avoid warnings when redefining it.

Source/ThirdParty:

  • gtest/CMakeLists.txt:

Include DerivedSources to find WTF/WTFHeaderDetection.h.

Source/WebCore:

  • PlatformWin.cmake:

Remove RenderThemeWin.cpp which is included in RenderingAllInOne.cpp.

  • WebCorePrefix.h:

Include cmakeconfig.h before wtf/Platform.h like we do in JavaScriptCore's config.h to avoid warnings and redefining ENABLE_* macros.

Source/WebKit:

  • PlatformWin.cmake:

WinCairo libraries conflict with LIBCMT.lib, AppleWin libraries conflict with MSVCRT.lib,
so different /NODEFAULTLIB is needed to link WebKit.dll successfully.

Tools:

  • CMakeLists.txt:
  • TestWebKitAPI/CMakeLists.txt:

Removed TestJavaScriptCore because JavaScriptCore's API tests are elsewhere and this was just making an empty binary.
Surrounded WebKit2-specific features with ENABLE_WEBKIT2 checks.
Include directories after the Platform*.cmake is included because HostWindow.h needs to be found in Tools/TestWebKitAPI/win
before we look in Source/WebCore/platform, where another file named HostWindow.h exists.

  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/PlatformGTK.cmake:

Windows needs all the binaries to be in the same directory to find gtest.dll and the other dlls.
I did this without changing the directory structure of the existing EFL and GTK builds.

  • TestWebKitAPI/PlatformWin.cmake: Added.
  • TestWebKitAPI/win/main.cpp:

(main):
(dllLauncherEntryPoint):
Added so we can launch TestWebKitAPI executables after finding the AAS directory.

  • WinLauncher/CMakeLists.txt:

AppleWin port needs /NODEFAULTLIB:MSVCRT.

4:56 PM Changeset in webkit [188238] by Devin Rousso
  • 1 edit
    8 adds in trunk/Source/WebInspectorUI

Web Inspector: Add numerical input and slider based Visual editors for CSS properties
https://bugs.webkit.org/show_bug.cgi?id=147712

Reviewed by Brian Burg.

Added editors for CSS properties with numerical values for use in the Visual style
details panel in the CSS sidebar, in the form of a combined select and input or an
input range. Also added optional visual linkages to sync values between multiple
editors of this type.

  • UserInterface/Images/VisualStylePropertyLinked.svg: Added.
  • UserInterface/Images/VisualStylePropertyUnlinked.svg: Added.
  • UserInterface/Views/VisualStyleNumberInputBox.css: Added.

(.visual-style-property-container > .visual-style-property-value-container.focused > .focus-ring):
(.visual-style-property-container > .visual-style-property-value-container > .number-input-keyword-select):
(.visual-style-property-container > .visual-style-property-value-container > .number-input-container):
(.visual-style-property-container > .visual-style-property-value-container:not(.number-input-editable) > .number-input-container):
(.visual-style-property-container > .visual-style-property-value-container > .number-input-container > .number-input-value):
(.visual-style-property-container > .visual-style-property-value-container > .number-input-container > span):

  • UserInterface/Views/VisualStyleNumberInputBox.js: Added.

(WebInspector.VisualStyleNumberInputBox):
(WebInspector.VisualStyleNumberInputBox.prototype.get value):
(WebInspector.VisualStyleNumberInputBox.prototype.set value):
(WebInspector.VisualStyleNumberInputBox.prototype.get units):
(WebInspector.VisualStyleNumberInputBox.prototype.set units):
(WebInspector.VisualStyleNumberInputBox.prototype.get placeholder):
(WebInspector.VisualStyleNumberInputBox.prototype.set placeholder):
(WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
(WebInspector.VisualStyleNumberInputBox.prototype.get numberInputEditable):
(WebInspector.VisualStyleNumberInputBox.prototype.updateValueFromText):
(WebInspector.VisualStyleNumberInputBox.prototype.parseValue):
(WebInspector.VisualStyleNumberInputBox.prototype._keywordChanged):
(WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.shiftValue):
(WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown):
(WebInspector.VisualStyleNumberInputBox.prototype._numberInputChanged):
(WebInspector.VisualStyleNumberInputBox.prototype._keywordSelectMouseDown):
(WebInspector.VisualStyleNumberInputBox.prototype._createValueOptions):
(WebInspector.VisualStyleNumberInputBox.prototype._createUnitOptions):
(WebInspector.VisualStyleNumberInputBox.prototype._addAdvancedUnits):
(WebInspector.VisualStyleNumberInputBox.prototype._removeAdvancedUnits):
(WebInspector.VisualStyleNumberInputBox.prototype._focusContentElement):
(WebInspector.VisualStyleNumberInputBox.prototype._blurContentElement):
(WebInspector.VisualStyleNumberInputBox.prototype._toggleTabbingOfSelectableElements):

  • UserInterface/Views/VisualStylePropertyEditorLink.css: Added.

(.visual-style-property-editor-link):
(.visual-style-property-editor-link.disabled):
(.visual-style-property-editor-link.link-all):
(.visual-style-property-editor-link.link-all.linked):
(.visual-style-property-editor-link > .visual-style-property-editor-link-border):
(.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-icon:hover + .visual-style-property-editor-link-border.right):
(.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.left):
(.visual-style-property-editor-link.link-all.linked > .visual-style-property-editor-link-border.right):
(.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
(.visual-style-property-editor-link > .visual-style-property-editor-link-border.left):
(.visual-style-property-editor-link > .visual-style-property-editor-link-border.right):
(.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-border):
(.visual-style-property-editor-link:not(.link-all).linked > .visual-style-property-editor-link-border):
(.visual-style-property-editor-link > .visual-style-property-editor-link-icon):
(.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
(.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .filled):
(.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon svg .stroked):
(.visual-style-property-editor-link:not(.link-all) > .visual-style-property-editor-link-icon):
(.visual-style-property-editor-link.link-all > .visual-style-property-editor-link-icon):

  • UserInterface/Views/VisualStylePropertyEditorLink.js: Added.

(WebInspector.VisualStylePropertyEditorLink):
(WebInspector.VisualStylePropertyEditorLink.prototype.get element):
(WebInspector.VisualStylePropertyEditorLink.prototype.set disabled):
(WebInspector.VisualStylePropertyEditorLink.prototype._linkedPropertyValueChanged):
(WebInspector.VisualStylePropertyEditorLink.prototype._updateLinkedEditors):
(WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseover):
(WebInspector.VisualStylePropertyEditorLink.prototype._iconMouseout):
(WebInspector.VisualStylePropertyEditorLink.prototype._iconClicked):

  • UserInterface/Views/VisualStyleRelativeNumberSlider.css: Added.

(.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-title):
(.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container):
(.visual-style-property-container.number-input-box.relative-number-slider.disabled > .relative-slider):
(.visual-style-property-container.number-input-box.relative-number-slider > .visual-style-property-value-container.no-values.no-units):
(.visual-style-property-container.number-input-box.relative-number-slider > .relative-slider):

  • UserInterface/Views/VisualStyleRelativeNumberSlider.js: Added.

(WebInspector.VisualStyleRelativeNumberSlider):
(WebInspector.VisualStyleRelativeNumberSlider.prototype.set scale):
(WebInspector.VisualStyleRelativeNumberSlider.prototype.updateEditorValues):
(WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
(WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
(WebInspector.VisualStyleRelativeNumberSlider.prototype._numberInputChanged):

4:44 PM Changeset in webkit [188237] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

Make cleanup more robust and minor code cleaning in run benchmark script.
https://bugs.webkit.org/show_bug.cgi?id=147800

Patch by Dewei Zhu <Dewei Zhu> on 2015-08-10
Reviewed by Ryosuke Niwa.

Use 'finnaly' block to make sure cleanup code is always executed.

  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(built_benchmark):
(built_benchmark.init):
(built_benchmark.enter):
(built_benchmark.exit):
(test_environment):
(test_environment.init):
(test_environment.enter):
(test_environment.exit):
(BenchmarkRunner.init):
(BenchmarkRunner.execute):
(BenchmarkRunner._dump):
(BenchmarkRunner._wrap):
(BenchmarkRunner): Deleted.
(BenchmarkRunner._cleanup): Deleted.

  • Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:

(BrowserDriver.close_browsers):
(BrowserDriver):
(BrowserDriver.restore_env):

  • Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:

(SimpleHTTPServerDriver.init): We do not actually need to know external ip address for now.

4:40 PM Changeset in webkit [188236] by mdaiter@apple.com
  • 2 edits in trunk/Source/WebKit2

Add MediaDeviceIdentifier to WebsiteDataTypes
https://bugs.webkit.org/show_bug.cgi?id=147853

Reviewed by Jer Noble.

  • Shared/WebsiteData/WebsiteDataTypes.h:
4:33 PM Changeset in webkit [188235] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188223. rdar://problem/21465328

4:27 PM Changeset in webkit [188234] by mdaiter@apple.com
  • 5 edits in trunk/Source/WebCore

HTMLMediaElement needs way to find MediaDeviceInfo
https://bugs.webkit.org/show_bug.cgi?id=147842

Reviewed by Jer Noble.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerMediaDeviceIdentifierStorageDirectory):

  • html/HTMLMediaElement.h:
  • page/Settings.h:

(WebCore::Settings::setMediaDeviceIdentifierStorageDirectory):
(WebCore::Settings::mediaDeviceIdentifierStorageDirectory):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerMediaDeviceIdentifierStorageDirectory):

3:58 PM Changeset in webkit [188233] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Simplify code for making Page-cacheability decision
https://bugs.webkit.org/show_bug.cgi?id=147829

Reviewed by Antti Koivisto.

Simplify code for making Page-cacheability decision by merging logging
code and decision making code. Having the same checks in two places was
redundant and error-prone as we needed to keep them in sync.

Also get rid of failure reason enum values as those have not been used
in a while.

  • history/PageCache.cpp:

(WebCore::canCacheFrame):
(WebCore::canCachePage):
(WebCore::PageCache::canCache):
(WebCore::logPageCacheFailureDiagnosticMessage): Deleted.
(WebCore::PageCache::singleton): Deleted.
(WebCore::PageCache::setMaxSize): Deleted.
(WebCore::PageCache::frameCount): Deleted.
(WebCore::PageCache::markPagesForVisitedLinkStyleRecalc): Deleted.
(WebCore::PageCache::markPagesForFullStyleRecalc): Deleted.
(WebCore::PageCache::markPagesForDeviceOrPageScaleChanged): Deleted.
(WebCore::PageCache::markPagesForContentsSizeChanged): Deleted.
(WebCore::PageCache::markPagesForCaptionPreferencesChanged): Deleted.
(WebCore::pruningReasonToDiagnosticLoggingKey): Deleted.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::isDisabledKey):
(WebCore::DiagnosticLoggingKeys::redirectKey):
(WebCore::DiagnosticLoggingKeys::replaceKey):
(WebCore::DiagnosticLoggingKeys::sourceKey):
(WebCore::DiagnosticLoggingKeys::underMemoryPressureKey):
(WebCore::DiagnosticLoggingKeys::reloadFromOriginKey): Deleted.

  • page/DiagnosticLoggingKeys.h:
3:09 PM Changeset in webkit [188232] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the 32-bit build.

  • UIProcess/API/mac/WKViewInternal.h:
2:54 PM Changeset in webkit [188231] by mark.lam@apple.com
  • 7 edits
    3 adds in trunk/Source/JavaScriptCore

Refactor LiveObjectList and LiveObjectData into their own files.
https://bugs.webkit.org/show_bug.cgi?id=147843

Reviewed by Saam Barati.

There is no behavior change in this patch.

(JSC::HeapVerifier::HeapVerifier):
(JSC::LiveObjectList::findObject): Deleted.

  • heap/HeapVerifier.h:

(JSC::LiveObjectData::LiveObjectData): Deleted.
(JSC::LiveObjectList::LiveObjectList): Deleted.
(JSC::LiveObjectList::reset): Deleted.

  • heap/LiveObjectData.h: Added.

(JSC::LiveObjectData::LiveObjectData):

  • heap/LiveObjectList.cpp: Added.

(JSC::LiveObjectList::findObject):

  • heap/LiveObjectList.h: Added.

(JSC::LiveObjectList::LiveObjectList):
(JSC::LiveObjectList::reset):

2:35 PM Changeset in webkit [188230] by dburkart@apple.com
  • 5 edits in trunk/Websites/test-results

Fix flakiness dashboard stability and performance issues.
https://bugs.webkit.org/show_bug.cgi?id=147835

Reviewed by Ryosuke Niwa.

  • init-database.sql:
  • public/.htaccess:
  • public/include/json-shared.php:
  • public/include/test-results.php:
1:56 PM Changeset in webkit [188229] by Devin Rousso
  • 3 edits
    30 adds in trunk/Source/WebInspectorUI

Web Inspector: Add different types of non-numerical Visual editors for CSS properties
https://bugs.webkit.org/show_bug.cgi?id=147711

Added editors for keyword based CSS properties for use in the Visual style
details panel in the CSS sidebar. Also added images for keyword values that
are simple enough to be conveyed in an image.

Reviewed by Brian Burg.

  • UserInterface/Images/ClearBoth.svg: Added.
  • UserInterface/Images/ClearLeft.svg: Added.
  • UserInterface/Images/ClearRight.svg: Added.
  • UserInterface/Images/FloatLeft.svg: Added.
  • UserInterface/Images/FloatRight.svg: Added.
  • UserInterface/Images/FontStyleItalic.svg: Added.
  • UserInterface/Images/FontStyleNormal.svg: Added.
  • UserInterface/Images/FontVariantSmallCaps.svg: Added.
  • UserInterface/Images/TextAlignCenter.svg: Added.
  • UserInterface/Images/TextAlignJustify.svg: Added.
  • UserInterface/Images/TextAlignLeft.svg: Added.
  • UserInterface/Images/TextAlignRight.svg: Added.
  • UserInterface/Images/TextDecorationLineThrough.svg: Added.
  • UserInterface/Images/TextDecorationOverline.svg: Added.
  • UserInterface/Images/TextDecorationUnderline.svg: Added.
  • UserInterface/Images/TextTransformCapitalize.svg: Added.
  • UserInterface/Images/TextTransformLowercase.svg: Added.
  • UserInterface/Images/TextTransformUppercase.svg: Added.
  • UserInterface/Images/VisualStyleNone.svg: Added.
  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
Changed color swatch title.

  • UserInterface/Views/Slider.js:

(WebInspector.Slider):
(WebInspector.Slider.prototype.set value):
(WebInspector.Slider.prototype.set knobX):
(WebInspector.Slider.prototype.get maxX):
If the given value is below 0, reset it to 0.
(WebInspector.Slider.prototype._handleMousedown):
(WebInspector.Slider.prototype._handleMousemove):
(WebInspector.Slider.prototype.get _maxX): Deleted.

  • UserInterface/Views/VisualStyleColorPicker.css: Added.

(.visual-style-property-container.input-color-picker > .visual-style-property-value-container):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .visual-style-special-property-placeholder):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:hover):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:active):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
(.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):

  • UserInterface/Views/VisualStyleColorPicker.js: Added.

(WebInspector.VisualStyleColorPicker):
(WebInspector.VisualStyleColorPicker.prototype.get value):
(WebInspector.VisualStyleColorPicker.prototype.set value):
(WebInspector.VisualStyleColorPicker.prototype.get placeholder):
(WebInspector.VisualStyleColorPicker.prototype.set placeholder):
(WebInspector.VisualStyleColorPicker.prototype.get synthesizedValue):
(WebInspector.VisualStyleColorPicker.prototype.get hasCompletions):
(WebInspector.VisualStyleColorPicker.prototype.set completions):
(WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch):
(WebInspector.VisualStyleColorPicker.prototype._colorSwatchClicked):
(WebInspector.VisualStyleColorPicker.prototype._colorPickerColorDidChange):
(WebInspector.VisualStyleColorPicker.prototype._completionClicked):
(WebInspector.VisualStyleColorPicker.prototype._textInputKeyDown):
(WebInspector.VisualStyleColorPicker.prototype._textInputKeyUp):
(WebInspector.VisualStyleColorPicker.prototype._showCompletionsIfAble):
(WebInspector.VisualStyleColorPicker.prototype._hideCompletions):
(WebInspector.VisualStyleColorPicker.prototype._toggleTabbingOfSelectableElements):

  • UserInterface/Views/VisualStyleKeywordCheckbox.css: Added.

(.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container):
(.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input):
(.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div):

  • UserInterface/Views/VisualStyleKeywordCheckbox.js: Added.

(WebInspector.VisualStyleKeywordCheckbox):
(WebInspector.VisualStyleKeywordCheckbox.prototype.get value):
(WebInspector.VisualStyleKeywordCheckbox.prototype.set value):
(WebInspector.VisualStyleKeywordCheckbox.prototype.get synthesizedValue):
(WebInspector.VisualStyleKeywordCheckbox.prototype._toggleTabbingOfSelectableElements):

  • UserInterface/Views/VisualStyleKeywordIconList.css: Added.

(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:first-child):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:last-child):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected)):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .stroked):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected svg .filled):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected) + .keyword-icon):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon > div):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:not(.selected) > div):

  • UserInterface/Views/VisualStyleKeywordIconList.js: Added.

(WebInspector.VisualStyleKeywordIconList.dashToCapital):
(WebInspector.VisualStyleKeywordIconList.createListItem):
(WebInspector.VisualStyleKeywordIconList):
(WebInspector.VisualStyleKeywordIconList.prototype.get value):
(WebInspector.VisualStyleKeywordIconList.prototype.set value):
(WebInspector.VisualStyleKeywordIconList.prototype.get synthesizedValue):
(WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):

  • UserInterface/Views/VisualStyleKeywordPicker.js: Added.

(WebInspector.VisualStyleKeywordPicker):
(WebInspector.VisualStyleKeywordPicker.prototype.get value):
(WebInspector.VisualStyleKeywordPicker.prototype.set value):
(WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
(WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
(WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
(WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
(WebInspector.VisualStyleKeywordPicker.prototype._keywordSelectMouseDown):
(WebInspector.VisualStyleKeywordPicker.prototype._addValues):
(WebInspector.VisualStyleKeywordPicker.prototype._addAdvancedValues):
(WebInspector.VisualStyleKeywordPicker.prototype._removeAdvancedValues):
(WebInspector.VisualStyleKeywordPicker.prototype._toggleTabbingOfSelectableElements):

  • UserInterface/Views/VisualStylePropertyNameInput.js: Added.

(WebInspector.VisualStylePropertyNameInput):
(WebInspector.VisualStylePropertyNameInput.prototype.get value):
(WebInspector.VisualStylePropertyNameInput.prototype.set value):
(WebInspector.VisualStylePropertyNameInput.prototype.get synthesizedValue):
(WebInspector.VisualStylePropertyNameInput.prototype.get hasCompletions):
(WebInspector.VisualStylePropertyNameInput.prototype.set completions):
(WebInspector.VisualStylePropertyNameInput.prototype._completionClicked):
(WebInspector.VisualStylePropertyNameInput.prototype._inputKeyDown):
(WebInspector.VisualStylePropertyNameInput.prototype._inputKeyUp):
(WebInspector.VisualStylePropertyNameInput.prototype._hideCompletions):
(WebInspector.VisualStylePropertyNameInput.prototype._toggleTabbingOfSelectableElements):

  • UserInterface/Views/VisualStyleURLInput.js: Added.

(WebInspector.VisualStyleURLInput):
(WebInspector.VisualStyleURLInput.prototype.set get value):
(WebInspector.VisualStyleURLInput.prototype.parseValue):

  • UserInterface/Views/VisualStyleUnitSlider.css: Added.

(.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider):
(.visual-style-property-container.unit-slider > .visual-style-property-value-container > .slider > img):
(.visual-style-property-container.unit-slider.opacity > .visual-style-property-value-container > .slider):

  • UserInterface/Views/VisualStyleUnitSlider.js: Added.

(WebInspector.VisualStyleUnitSlider):
(WebInspector.VisualStyleUnitSlider.prototype.set value):
(WebInspector.VisualStyleUnitSlider.prototype.get value):
(WebInspector.VisualStyleUnitSlider.prototype.get synthesizedValue):
(WebInspector.VisualStyleUnitSlider.prototype.sliderValueDidChange):

1:51 PM Changeset in webkit [188228] by weinig@apple.com
  • 26 edits in trunk/Source/WebKit2

Replace WebPageConfiguration with API::PageConfiguration and expose a C-SPI accessor for it
https://bugs.webkit.org/show_bug.cgi?id=147811

Reviewed by Darin Adler.

  • Adds the missing pieces from WebPageConfiguration into API::PageConfiguration.
  • Adds C-SPI to set and get the WebsiteDataStore on the WKPageConfigurationRef.
  • Uses API::PageConfiguration to pass configuration information from WKWebView/WKView to WebPageProxy.
  • Stores the API::PageConfiguration on the WebPageProxy and exposes a new C-SPI function, WKPageCopyPageConfiguration, to get a copy of it.
  • UIProcess/API/APIPageConfiguration.cpp:

(API::PageConfiguration::create):
(API::PageConfiguration::PageConfiguration):
(API::PageConfiguration::~PageConfiguration):
(API::PageConfiguration::copy):
(API::PageConfiguration::processPool):
(API::PageConfiguration::setRelatedPage):
(API::PageConfiguration::visitedLinkProvider):
(API::PageConfiguration::setVisitedLinkProvider):
(API::PageConfiguration::websiteDataStore):
(API::PageConfiguration::setWebsiteDataStore):
(API::PageConfiguration::sessionID):
(API::PageConfiguration::setSessionID):
(API::PageConfiguration::webPageConfiguration): Deleted.

  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::preferenceValues):
(API::PageConfiguration::treatsSHA1SignedCertificatesAsInsecure):
(API::PageConfiguration::setTreatsSHA1SignedCertificatesAsInsecure):
(API::PageConfiguration::alwaysRunsAtForegroundPriority):
(API::PageConfiguration::setAlwaysRunsAtForegroundPriority):
(API::PageConfiguration::create): Deleted.

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetPageGroup):
(WKPageCopyPageConfiguration):
(WKPageLoadURL):

  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/C/WKPageConfigurationRef.cpp:

(WKPageConfigurationSetRelatedPage):
(WKPageConfigurationGetWebsiteDataStore):
(WKPageConfigurationSetWebsiteDataStore):

  • UIProcess/API/C/WKPageConfigurationRef.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setPrimaryTrackingArea:]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
(-[WKView initWithFrame:configurationRef:]):
(-[WKView wantsUpdateLayer]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::create):
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::~WebPageProxy):
(WebKit::WebPageProxy::configuration):
(WebKit::WebPageProxy::processIdentifier):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::pageID):
(WebKit::WebPageProxy::sessionID):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::download):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::webPage):
(WebKit::WebProcessProxy::createWebPage):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::processPool):

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
(-[WKContentView initWithFrame:processPool:configuration:webView:]):
(-[WKContentView initWithFrame:processPool:configuration:wkView:]):
(-[WKContentView dealloc]):

1:51 PM Changeset in webkit [188227] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Web Inspector: [iOS] Allow inspector to retrieve a list of system fonts
https://bugs.webkit.org/show_bug.cgi?id=147033

Reviewed by Joseph Pecoraro.

Implement systemFontFamilies for iOS.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::systemFontFamilies):

1:49 PM Changeset in webkit [188226] by Devin Rousso
  • 4 edits
    4 adds in trunk/Source/WebInspectorUI

Web Inspector: Add VisualStyleSelectorSection
https://bugs.webkit.org/show_bug.cgi?id=147572

Reviewed by Brian Burg.

Adds a section to the new Visual style sidebar panel that contains the list of
styles for the currently selected node.

  • UserInterface/Models/CSSRule.js:

(WebInspector.CSSRule.prototype.get mediaText):
Returns a string containing the list of media queries.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WebInspector.CSSStyleDeclaration):
(WebInspector.CSSStyleDeclaration.prototype.set text):
(WebInspector.CSSStyleDeclaration.prototype.get modified):
(WebInspector.CSSStyleDeclaration.prototype.resetText):
(WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
Generates a formatted string of the style text.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):
(WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Deleted.

  • UserInterface/Views/VisualStyleSelectorSection.css: Added.

(.details-section.visual-style-selector-section > .header):
(.details-section.visual-style-selector-section:not(.collapsed) > .header):
(@media (-webkit-min-device-pixel-ratio: 2)):
(.details-section.visual-style-selector-section > .header > .current-selector):
(.visual-style-selector-section.details-section:not(.collapsed) > .header > .current-selector):
(.details-section.visual-style-selector-section > .header > .current-selector > .icon):
(.details-section.visual-style-selector-section > .header > .current-selector > span):
(.details-section.visual-style-selector-section > .header > .controls):
(.details-section.visual-style-selector-section.collapsed > .header > .controls):
(.details-section.visual-style-selector-section > .header > .controls > .visual-style-selector-section-add-rule):
(.details-section.visual-style-selector-section > .content > .selectors):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .visual-style-selector-item:nth-child(odd)):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .icon):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > :matches(.disclosure-button, .icon)):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider > .titles > .title):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(even)):
(.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider ~ .visual-style-selector-item:nth-child(odd)):

  • UserInterface/Views/VisualStyleSelectorSection.js: Added.

(WebInspector.VisualStyleSelectorSection):
(WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
(WebInspector.VisualStyleSelectorSection.prototype.update.uniqueOrderedRules):
(WebInspector.VisualStyleSelectorSection.prototype.update.insertAllMatchingPseudoRules):
(WebInspector.VisualStyleSelectorSection.prototype.update):
(WebInspector.VisualStyleSelectorSection.prototype.currentStyle):
(WebInspector.VisualStyleSelectorSection.prototype._selectorChanged):
(WebInspector.VisualStyleSelectorSection.prototype._styleTextReset):
(WebInspector.VisualStyleSelectorSection.prototype._addNewRule):
(WebInspector.VisualStyleSelectorSection.prototype._treeElementCheckboxToggled):
(WebInspector.VisualStyleSelectorSection.prototype._handleMouseOver):
(WebInspector.VisualStyleSelectorSection.prototype._handleMouseOut):

  • UserInterface/Views/VisualStyleSelectorTreeItem.css:

(.item.visual-style-selector-item):
(.item.visual-style-selector-item.selected):
(.item.visual-style-selector-item > .disclosure-button):
(.item.visual-style-selector-item > input[type="checkbox"]):
(.item.visual-style-selector-item > .icon):
(.item.visual-style-selector-item.modified > .icon):
(.item.visual-style-selector-item.selector-invalid > .icon):
(.item.visual-style-selector-item.selector-invalid > .titles > .title):
(.item.visual-style-selector-item.selector-invalid > .titles > .title::before):
(.item.visual-style-selector-item > .titles):
(.item.visual-style-selector-item:not(.dom-element-icon) > .titles > .title):
(.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):
(.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
(.item.visual-style-selector-item > .titles > .subtitle::before):
(.item.visual-style-selector-item > .titles > .subtitle):

  • UserInterface/Views/VisualStyleSelectorTreeItem.js:

(WebInspector.VisualStyleSelectorTreeItem):
(WebInspector.VisualStyleSelectorTreeItem.prototype.get iconClassName):
(WebInspector.VisualStyleSelectorTreeItem.prototype.get selectorText):
(WebInspector.VisualStyleSelectorTreeItem.prototype.onattach):
(WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
(WebInspector.VisualStyleSelectorTreeItem.prototype._highlightNodesWithSelector):
(WebInspector.VisualStyleSelectorTreeItem.prototype._hideDOMNodeHighlight):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleCheckboxChanged):
(WebInspector.VisualStyleSelectorTreeItem.prototype._updateCheckboxTitle):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleKeyDown):
(WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
(WebInspector.VisualStyleSelectorTreeItem.prototype._styleTextModified):
(WebInspector.VisualStyleSelectorTreeItem.prototype._selectorChanged):

1:38 PM Changeset in webkit [188225] by dburkart@apple.com
  • 8 edits
    2 adds in branches/safari-601.1-branch

Merge r188182. rdar://problem/21254835

1:36 PM Changeset in webkit [188224] by dburkart@apple.com
  • 2 edits in branches/safari-601.1-branch/Source/WebCore

Merge r188196. rdar://problem/22192773

1:36 PM Changeset in webkit [188223] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r187131 and r187286.
https://bugs.webkit.org/show_bug.cgi?id=147839

Causing mroe frequent crashes with invalid layer bounds

(rdar://problem/21465328) (Requested by smfr on #webkit).

Reverted changesets:

"[iOS] Menu drop down such as on nike.com does not stay"
https://bugs.webkit.org/show_bug.cgi?id=147047
http://trac.webkit.org/changeset/187131

"[iOS] REGRESSION (187131): Loading CuteOverload zooms in to
the top left corner."
https://bugs.webkit.org/show_bug.cgi?id=147251
http://trac.webkit.org/changeset/187286

1:33 PM Changeset in webkit [188222] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Web Inspector: Invalid selectors can be applied to the stylesheet
https://bugs.webkit.org/show_bug.cgi?id=147230

Reviewed by Timothy Hatcher.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::isValidSelectorListString):
(WebCore::InspectorStyleSheet::setRuleSelector):
Now checks to see that the supplied selector is valid before trying to commit it to the rule.
(WebCore::InspectorStyleSheet::addRule):
(WebCore::checkStyleRuleSelector): Deleted.

1:33 PM Changeset in webkit [188221] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: TDZ in ProbeSetDataGrid construction
https://bugs.webkit.org/show_bug.cgi?id=147834

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

  • UserInterface/Views/ProbeSetDataGrid.js:

(WebInspector.ProbeSetDataGrid):
Do not use "this" before calling super.

1:32 PM Changeset in webkit [188220] by dburkart@apple.com
  • 4 edits
    2 deletes in branches/safari-601.1-branch

Merge r188190. rdar://problem/22191482

1:24 PM Changeset in webkit [188219] by ggaren@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

Let's rename FunctionBodyNode
https://bugs.webkit.org/show_bug.cgi?id=147292

Reviewed by Mark Lam & Saam Barati.

FunctionBodyNode => FunctionMetadataNode

Make FunctionMetadataNode inherit from Node instead of StatementNode
because a FunctionMetadataNode can appear in expression context and does
not have a next statement.

(I decided to continue allocating FunctionMetadataNode in the AST arena,
and to retain "Node" in its name, because it really is a parsing
construct, and we transform its data before consuming it elsewhere.

There is still room for a future patch to distill and simplify the
metadata we track about functions between FunDeclNode/FuncExprNode,
FunctionMetadataNode, and UnlinkedFunctionExecutable. But this is a start.)

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createExecutableInternal):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

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

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitNewFunction):
(JSC::BytecodeGenerator::emitNewFunctionExpression):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::makeFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::EvalNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode): Deleted.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createFunctionBody):

  • parser/NodeConstructors.h:

(JSC::FunctionParameters::FunctionParameters):
(JSC::FuncExprNode::FuncExprNode):
(JSC::FuncDeclNode::FuncDeclNode):

  • parser/Nodes.cpp:

(JSC::EvalNode::EvalNode):
(JSC::FunctionMetadataNode::FunctionMetadataNode):
(JSC::FunctionMetadataNode::finishParsing):
(JSC::FunctionMetadataNode::setEndPosition):
(JSC::FunctionBodyNode::FunctionBodyNode): Deleted.
(JSC::FunctionBodyNode::finishParsing): Deleted.
(JSC::FunctionBodyNode::setEndPosition): Deleted.

  • parser/Nodes.h:

(JSC::FuncExprNode::body):
(JSC::FuncDeclNode::body):

  • parser/Parser.h:

(JSC::Parser::isFunctionMetadataNode):
(JSC::Parser::next):
(JSC::Parser<LexerType>::parse):
(JSC::Parser::isFunctionBodyNode): Deleted.

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CodeCache.h:
12:18 PM Changeset in webkit [188218] by mrajca@apple.com
  • 5 edits in trunk/Source/WebKit2

Media Session: generalize isFocusedContentMediaElementPlaying so it works with other playback attributes
https://bugs.webkit.org/show_bug.cgi?id=147797

Reviewed by Simon Fraser.

  • UIProcess/API/C/WKMediaSessionFocusManager.cpp:

(WKMediaSessionFocusManagerValueForPlaybackAttribute):
(WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying): Deleted.

  • UIProcess/API/C/WKMediaSessionFocusManager.h:
  • UIProcess/WebMediaSessionFocusManager.cpp:

(WebKit::WebMediaSessionFocusManager::valueForPlaybackAttribute):
(WebKit::WebMediaSessionFocusManager::mediaControlIsEnabledDidChange):
(WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPlaying): Deleted.
(WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange): Deleted.

  • UIProcess/WebMediaSessionFocusManager.h:
11:57 AM Changeset in webkit [188217] by Chris Dumez
  • 2 edits in trunk/Source/WebKit/mac

Align WebKit1's PageCache size with WebKit2's
https://bugs.webkit.org/show_bug.cgi?id=147831

Reviewed by Sam Weinig.

Align WebKit1's PageCache size with WebKit2's for consistency. Also, we
have data showing that keeping more than 3 pages in the PageCache is
not really useful.

  • WebView/WebView.mm:

(+[WebView _setCacheModel:]):

11:06 AM Changeset in webkit [188216] by Antti Koivisto
  • 3 edits
    2 adds in trunk/LayoutTests

http/tests/cache/disk-cache/disk-cache-validation.html has too many subtests
https://bugs.webkit.org/show_bug.cgi?id=147827

Rubber-stamped by Alexey Proskuryakov.

Also split the no-body variant of this.

  • http/tests/cache/disk-cache/disk-cache-validation-no-body-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-validation-no-body.html:
  • http/tests/cache/disk-cache/disk-cache-vary-no-body-expected.txt: Added.
  • http/tests/cache/disk-cache/disk-cache-vary-no-body.html: Added.
10:56 AM Changeset in webkit [188215] by peavo@outlook.com
  • 2 edits in trunk/Source/WebKit/win

[Win] Small repaint issues when device scale factor != 1.
https://bugs.webkit.org/show_bug.cgi?id=147825

Reviewed by Alex Christensen.

When scaling, we should scale a FloatRect, and then compute the enclosing IntRect.

  • WebView.cpp:

(WebView::repaint):
(WebView::scrollBackingStore):
(WebView::paintIntoBackingStore):

9:09 AM Changeset in webkit [188214] by Antti Koivisto
  • 3 edits
    2 adds in trunk/LayoutTests

http/tests/cache/disk-cache/disk-cache-validation.html has too many subtests
https://bugs.webkit.org/show_bug.cgi?id=147827

Reviewed by Chris Dumez.

Looks like it occasionally times out because a bot is running slowly and 243 subtests take >30s.

  • http/tests/cache/disk-cache/disk-cache-validation-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-validation.html:

Split Vary header cases to a separate test.

  • http/tests/cache/disk-cache/disk-cache-vary-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-vary.html:

Reduce test matrix size by no testing Expires header here.

9:01 AM Changeset in webkit [188213] by jcraig@apple.com
  • 7 edits in trunk

AX: Address follow-up comments in bug 145684
https://bugs.webkit.org/show_bug.cgi?id=147817

Reviewed by Dean Jackson.

Minor cleanup and style updates requested by Dean.
Source/WebCore:

Updated Existing Test Expectations.

  • Modules/mediacontrols/mediaControlsApple.css:

(video::-webkit-media-show-controls):

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-show-controls):

LayoutTests:

  • http/tests/contentextensions/text-track-blocked-expected.txt:
  • media/video-controls-show-on-kb-or-ax-event.html:
  • platform/mac/media/track/track-cue-rendering-horizontal-expected.txt:
7:12 AM Changeset in webkit [188212] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Fix forward declarations of CoordinatedGraphicsLayerState, ViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=147823

Reviewed by Carlos Garcia Campos.

  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/LayerTreeHost.h:
5:48 AM Changeset in webkit [188211] by Antti Koivisto
  • 22 edits in trunk

Expand network cache tests to cover memory cache behavior
https://bugs.webkit.org/show_bug.cgi?id=147783

Reviewed by Alexey Proskuryakov.

Source/WebCore:

To support testing, include memory cache as a possible source type to XHR responses.

  • loader/ResourceLoader.cpp:

(WebCore::logResourceResponseSource):

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::didAddClient):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::revalidationInProgress):

  • platform/network/ResourceResponseBase.h:
  • testing/Internals.cpp:

(WebCore::Internals::xhrResponseSource):

LayoutTests:

Add another round to existing cache tests with hot memory cache.
This add 691 individual cases worth of memory cache test coverage.

XHR (and main resource, CachedRawResource in general) behaves differently from other resource types. The added
coverage maps this behavior. The regular subresource behavior needs coverage too.

  • http/tests/cache/disk-cache/disk-cache-204-status-code-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-302-status-code-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-307-status-code-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-404-status-code-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-disable-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-media-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-range-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-request-headers-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-request-max-stale-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-validation-attachment-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-validation-expected.txt:
  • http/tests/cache/disk-cache/disk-cache-validation-no-body-expected.txt:
  • http/tests/cache/disk-cache/resources/cache-test.js:

(loadResource):
(loadResourcesWithOptions):
(loadResources):
(.):
(runTests):

3:05 AM Changeset in webkit [188210] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk

Compile warning (-Wsign-compare) on 32-bits at WebCore/platform/FileSystem.cpp
https://bugs.webkit.org/show_bug.cgi?id=146414

Reviewed by Darin Adler.

Source/WebCore:

No behavioral changes.

  • platform/FileSystem.cpp:

(WebCore::MappedFileData::MappedFileData): Making use of convertSafely.

  • platform/posix/SharedBufferPOSIX.cpp:

(WebCore::SharedBuffer::createFromReadingFile): Making use of convertSafely.

Source/WTF:

Added convertSafely routine based on isInBounds routine.
Updated BoundChecker by adding a third boolean parameter to this template giving whether Target has greater or equal precision than Source.
Removed BoundCheckElider, which is no longer necessary and had some issues.

  • wtf/CheckedArithmetic.h:

(WTF::isInBounds):
(WTF::convertSafely):

Tools:

  • TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:

(TestWebKitAPI::TEST): Improving testing of WTF::isInBounds.

3:01 AM Changeset in webkit [188209] by youenn.fablet@crf.canon.fr
  • 3 edits in trunk/Source/WebCore

[Streams API] ReadableStreamReader closed promise should use CachedAttribute
https://bugs.webkit.org/show_bug.cgi?id=147487

Reviewed by Darin Adler.

Covered by existing tests.

  • Modules/streams/ReadableStreamReader.idl: Made closed a CachedAttribute.
  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::JSReadableStreamReader::closed): Updated according CachedAttribute specific field.

1:27 AM Changeset in webkit [188208] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Crash when the web view is destroyed while the screensaver DBUs proxy is being created
https://bugs.webkit.org/show_bug.cgi?id=147780

Reviewed by Sergio Villar Senin.

We should cancel the screenSaverInhibitCancellable on
dispose. Also use adoptGRef() when creating the cancellable object
to not leak it.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDispose):
(webkitWebViewBaseSendInhibitMessageToScreenSaver):
(webkitWebViewBaseInhibitScreenSaver):

1:24 AM Changeset in webkit [188207] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

[GTK] Test /webkit2/WebKitWebView/submit-form is flaky
https://bugs.webkit.org/show_bug.cgi?id=147727

Reviewed by Sergio Villar Senin.

I think it was not this test in particular, but
/webkit2/WebKitWebView/custom-charset that is affecting the
others. This is because changing the encoding reloads the page,
but we don't wait for the page to be reloaded, so when the test
finishes and other test starts the web process is still reloading
the page.

  • Scripts/run-gtk-tests:

(TestRunner): Unskip /webkit2/WebKitWebView/submit-form.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewCustomCharset): Wait until page is reloaded after
changing the charset.

Aug 9, 2015:

11:50 PM Changeset in webkit [188206] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[EFL] Use the non-overlay scrollbar
https://bugs.webkit.org/show_bug.cgi?id=147725

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-08-09
Reviewed by Gyuyoung Kim.

No new tests because there is no behavior change.

  • platform/efl/ScrollbarThemeEfl.cpp:

(WebCore::ScrollbarThemeEfl::usesOverlayScrollbars):
Changed the condition of the 'usesOverlayScrollbars' to use the
setting value.

  • platform/efl/ScrollbarThemeEfl.h:
11:41 PM Changeset in webkit [188205] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Skip GTK+ test /webkit2/WebKitWebView/install-missing-plugins-permission-request.

It's timing out in the bots. My guess is that there's no installer
installed in the bots and gst_install_plugins_supported() returns
false, so we don't even get a permission request because no
installer will be launched.

  • Scripts/run-gtk-tests:

(TestRunner):

9:14 PM Changeset in webkit [188204] by Chris Dumez
  • 3 edits
    4 adds in trunk

Page cache doesn't work for pages actively using Geolocation
https://bugs.webkit.org/show_bug.cgi?id=147785
<rdar://problem/11147901>

Reviewed by Darin Adler.

Source/WebCore:

Allow pages actively using Geolocation into the PageCache.

Tests: fast/history/page-cache-geolocation-active-oneshot.html

fast/history/page-cache-geolocation-active-watcher.html

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::canSuspendForPageCache):
(WebCore::Geolocation::suspend): Deleted.

  • history/PageCache.cpp:

LayoutTests:

Add layout test coverage for page caching of pages actively using
the Geolocation API.

  • fast/history/page-cache-geolocation-active-oneshot-expected.txt: Added.
  • fast/history/page-cache-geolocation-active-oneshot.html: Added.
  • fast/history/page-cache-geolocation-active-watcher-expected.txt: Added.
  • fast/history/page-cache-geolocation-active-watcher.html: Added.
6:53 PM Changeset in webkit [188203] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

AX: CSS table display styles can cause malformed, inaccessible AXTables to be exposed to the AX tree
https://bugs.webkit.org/show_bug.cgi?id=136415
<rdar://problem/22026625>

Patch by Nan Wang <n_wang@apple.com> on 2015-08-09
Reviewed by Chris Fleizach.

Source/WebCore:

Applying CSS display styles to tables can end up inserting anonymous RenderTableRows, which is not handled well by the
accessibility code, which treats these as the actual rows. We can address this by diving deeper into anonymous nodes
and finding the real rows and cells we want. In addition, another thing also causing malformed tables is that "grid"
roles are being exposed as AXGrid instead of AXTable.

Test: accessibility/mac/malformed-table.html

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addRowDescendant):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::addTableCellChild):
(WebCore::AccessibilityTable::addChildrenFromSection):

  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::rowIndexRange):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::parentTable):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):

LayoutTests:

  • accessibility/aria-table-with-presentational-elements-expected.txt:
  • accessibility/aria-table-with-presentational-elements.html:
  • accessibility/mac/malformed-table-expected.txt: Added.
  • accessibility/mac/malformed-table.html: Added.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt:
  • platform/mac/accessibility/aria-table-hierarchy-expected.txt:
  • platform/mac/accessibility/aria-tables-expected.txt:
  • platform/mac/accessibility/roles-exposed-expected.txt:
5:10 PM Changeset in webkit [188202] by Darin Adler
  • 14 edits
    83 deletes in trunk

Remove -webkit-color-correction CSS property
https://bugs.webkit.org/show_bug.cgi?id=147812

Reviewed by Maciej Stachowiak.

Source/WebCore:

Covered by existing tests.

I am doing some general cleanup of handling of color spaces in WebKit.
This removes the obsolete web-visible property that allowed clients to
get color correction on older Apple platforms where we chose not to do
it all the time for performance reasons. Currently, it has no effect on
any supported platform.

Now that this property is removed, a website can detect that it's not
there if it uses getComputedStyle, but I don't expect this to have
significant compatibility fallout. It's harmless to continue using the
property in legacy content or websites that have not been updated, since
unknown property names are ignored and it had no effect before anyway.

  • css/CSSComputedStyleDeclaration.cpp: Removed

CSSPropertyWebkitColorCorrection from the list of computed properties.
(WebCore::ComputedStyleExtractor::propertyValue): Removed the
CSSPropertyWebkitColorCorrection case.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Removed the
CSSPropertyWebkitColorCorrection case.
(WebCore::isKeywordPropertyID): Ditto.
(WebCore::CSSParser::parseValue): Ditto.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted the overload
of this that converts a ColorSpace to a CSSPrimitiveValue.
(WebCore::CSSPrimitiveValue::operator ColorSpace): Deleted.

  • css/CSSPropertyNames.in: Removed -webkit-color-correction.
  • css/CSSValueKeywords.in: Removed the -webkit-color-correction section,

which contained sRGB.

  • css/SVGCSSValueKeywords.in: Uncommented sRGB now that it's not shared

with -webkit-color-correction.

  • rendering/style/RenderStyle.h: Removed setColorSpace and initialColorSpace.

Kept colorSpace around for now, but it simply returns ColorSpaceSRGB.
This prevents us from needing to touch every single call site that passes
the color space in to functions in the platform graphics abstraction.
We'll touch most of those call sites when we change Color to include the
color space and eventually we can delete this.

  • rendering/style/StyleRareInheritedData.cpp: Deleted colorSpace.

(WebCore::StyleRareInheritedData::StyleRareInheritedData): Deleted
code to initialize colorSpace and to copy colorSpace.
(WebCore::StyleRareInheritedData::operator==): Deleted code to compare
colorSpace.

LayoutTests:

Given that -webkit-color-correction had no effect on rendering on any platform in any
configuration we covered, it's amazing how many tests we had for it.

  • fast/css/getComputedStyle/computed-style-expected.txt: Removed expected results for

-webkit-color-correction property.

  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Ditto.
  • svg/css/getComputedStyle-basic-expected.txt: Ditto.
  • fast/css/getComputedStyle/resources/property-names.js: Removed -webkit-color-correction.
  • fast/css/color-correction-backgrounds-and-text.html: Removed.
  • fast/css/color-correction-on-background-image.html: Removed.
  • fast/css/color-correction-on-backgrounds.html: Removed.
  • fast/css/color-correction-on-box-shadow.html: Removed.
  • fast/css/color-correction-on-text-shadow.html: Removed.
  • fast/css/color-correction-on-text.html: Removed.
  • fast/css/color-correction-untagged-images.html: Removed.
  • fast/css/color-correction.html: Removed.
  • fast/css/parsing-color-correction-expected.txt: Removed.
  • fast/css/parsing-color-correction.html: Removed.
  • fast/css/resources/parsing-color-correction.js: Removed.
  • platform/efl/fast/css/color-correction-backgrounds-and-text-expected.png: Removed.
  • platform/efl/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-expected.png: Removed.
  • platform/efl/fast/css/color-correction-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-background-image-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-background-image-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-backgrounds-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-box-shadow-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-text-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-text-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-on-text-shadow-expected.png: Removed.
  • platform/efl/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
  • platform/efl/fast/css/color-correction-untagged-images-expected.png: Removed.
  • platform/efl/fast/css/color-correction-untagged-images-expected.txt: Removed.
  • platform/gtk/fast/css/color-correction-backgrounds-and-text-expected.png: Removed.
  • platform/gtk/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
  • platform/gtk/fast/css/color-correction-expected.png: Removed.
  • platform/gtk/fast/css/color-correction-expected.txt: Removed.
  • platform/gtk/fast/css/color-correction-on-background-image-expected.png: Removed.
  • platform/gtk/fast/css/color-correction-on-background-image-expected.txt: Removed.
  • platform/gtk/fast/css/color-correction-on-backgrounds-expected.png: Removed.
  • platform/gtk/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
  • platform/gtk/fast/css/color-correction-on-box-shadow-expected.png: Removed.
  • platform/gtk/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
  • platform/gtk/fast/css/color-correction-on-text-expected.png: Removed.
  • platform/gtk/fast/css/color-correction-on-text-expected.txt: Removed.
  • platform/gtk/fast/css/color-correction-on-text-shadow-expected.png: Removed.
  • platform/gtk/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
  • platform/gtk/fast/css/color-correction-untagged-images-expected.png: Removed.
  • platform/gtk/fast/css/color-correction-untagged-images-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/color-correction-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/color-correction-on-background-image-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/color-correction-on-text-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/color-correction-untagged-images-expected.txt: Removed.
  • platform/ios-simulator/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
  • platform/ios-simulator/fast/css/color-correction-expected.txt: Removed.
  • platform/ios-simulator/fast/css/color-correction-on-background-image-expected.txt: Removed.
  • platform/ios-simulator/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
  • platform/ios-simulator/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
  • platform/ios-simulator/fast/css/color-correction-on-text-expected.txt: Removed.
  • platform/ios-simulator/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
  • platform/ios-simulator/fast/css/color-correction-untagged-images-expected.txt: Removed.
  • platform/mac/fast/css/color-correction-backgrounds-and-text-expected.png: Removed.
  • platform/mac/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
  • platform/mac/fast/css/color-correction-expected.png: Removed.
  • platform/mac/fast/css/color-correction-expected.txt: Removed.
  • platform/mac/fast/css/color-correction-on-background-image-expected.png: Removed.
  • platform/mac/fast/css/color-correction-on-background-image-expected.txt: Removed.
  • platform/mac/fast/css/color-correction-on-backgrounds-expected.png: Removed.
  • platform/mac/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
  • platform/mac/fast/css/color-correction-on-box-shadow-expected.png: Removed.
  • platform/mac/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
  • platform/mac/fast/css/color-correction-on-text-expected.png: Removed.
  • platform/mac/fast/css/color-correction-on-text-expected.txt: Removed.
  • platform/mac/fast/css/color-correction-on-text-shadow-expected.png: Removed.
  • platform/mac/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
  • platform/mac/fast/css/color-correction-untagged-images-expected.png: Removed.
  • platform/mac/fast/css/color-correction-untagged-images-expected.txt: Removed.
  • platform/win/fast/css/color-correction-backgrounds-and-text-expected.txt: Removed.
  • platform/win/fast/css/color-correction-expected.txt: Removed.
  • platform/win/fast/css/color-correction-on-background-image-expected.txt: Removed.
  • platform/win/fast/css/color-correction-on-backgrounds-expected.txt: Removed.
  • platform/win/fast/css/color-correction-on-box-shadow-expected.txt: Removed.
  • platform/win/fast/css/color-correction-on-text-expected.txt: Removed.
  • platform/win/fast/css/color-correction-on-text-shadow-expected.txt: Removed.
  • platform/win/fast/css/color-correction-untagged-images-expected.txt: Removed.
3:55 PM Changeset in webkit [188201] by Chris Dumez
  • 38 edits
    51 deletes in trunk

Regression(r188105): Seems to have caused crashes during PLT on some iPads
https://bugs.webkit.org/show_bug.cgi?id=147818

Unreviewed, roll out r188105.

Source/JavaScriptCore:

  • bytecode/ByValInfo.h:

(JSC::ByValInfo::ByValInfo):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::getByValInfoMap): Deleted.
(JSC::CodeBlock::addByValInfo): Deleted.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::getByValInfo):
(JSC::CodeBlock::setNumberOfByValInfos):
(JSC::CodeBlock::numberOfByValInfos):
(JSC::CodeBlock::byValInfo):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString): Deleted.

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

(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback): Deleted.

  • bytecode/GetByIdStatus.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): Deleted.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize): Deleted.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants): Deleted.

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC): Deleted.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): Deleted.
(JSC::DFG::FixupPhase::observeUseKindOnNode): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasUidOperand): Deleted.
(JSC::DFG::Node::uidOperand): Deleted.

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

(JSC::DFG::PredictionPropagationPhase::propagate): Deleted.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()): Deleted.
(JSC::DFG::safeToExecute): Deleted.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCheckIdent): Deleted.
(JSC::DFG::SpeculativeJIT::speculateSymbol): Deleted.
(JSC::DFG::SpeculativeJIT::speculate): Deleted.

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

(JSC::DFG::SpeculativeJIT::compile): Deleted.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Deleted.

  • dfg/DFGUseKind.cpp:

(WTF::printInternal): Deleted.

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor): Deleted.
(JSC::DFG::isCell): Deleted.

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile): Deleted.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileNode): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckIdent): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::lowSymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::speculate): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::isNotSymbol): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::speculateSymbol): Deleted.

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::ByValCompilationInfo::ByValCompilationInfo):
(JSC::JIT::compileGetByValWithCachedId): Deleted.

  • jit/JITInlines.h:

(JSC::JIT::callOperation): Deleted.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_has_indexed_property):
(JSC::JIT::emitSlow_op_has_indexed_property):

  • jit/JITOperations.cpp:

(JSC::getByVal):

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

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::emitGetByValWithCachedId): Deleted.
(JSC::JIT::privateCompileGetByVal): Deleted.
(JSC::JIT::privateCompileGetByValWithCachedId): Deleted.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::emitGetByValWithCachedId): Deleted.

  • runtime/Symbol.h:
  • tests/stress/get-by-val-with-string-constructor.js: Removed.
  • tests/stress/get-by-val-with-string-exit.js: Removed.
  • tests/stress/get-by-val-with-string-generated.js: Removed.
  • tests/stress/get-by-val-with-string-getter.js: Removed.
  • tests/stress/get-by-val-with-string.js: Removed.
  • tests/stress/get-by-val-with-symbol-constructor.js: Removed.
  • tests/stress/get-by-val-with-symbol-exit.js: Removed.
  • tests/stress/get-by-val-with-symbol-getter.js: Removed.
  • tests/stress/get-by-val-with-symbol.js: Removed.

LayoutTests:

  • js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-expected.txt: Removed.
  • js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple-expected.txt: Removed.
  • js/regress/get-by-val-with-string-bimorphic-check-structure-elimination-simple.html: Removed.
  • js/regress/get-by-val-with-string-bimorphic-check-structure-elimination.html: Removed.
  • js/regress/get-by-val-with-string-chain-from-try-block-expected.txt: Removed.
  • js/regress/get-by-val-with-string-chain-from-try-block.html: Removed.
  • js/regress/get-by-val-with-string-check-structure-elimination-expected.txt: Removed.
  • js/regress/get-by-val-with-string-check-structure-elimination.html: Removed.
  • js/regress/get-by-val-with-string-proto-or-self-expected.txt: Removed.
  • js/regress/get-by-val-with-string-proto-or-self.html: Removed.
  • js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple-expected.txt: Removed.
  • js/regress/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.html: Removed.
  • js/regress/get-by-val-with-string-self-or-proto-expected.txt: Removed.
  • js/regress/get-by-val-with-string-self-or-proto.html: Removed.
  • js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-expected.txt: Removed.
  • js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple-expected.txt: Removed.
  • js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.html: Removed.
  • js/regress/get-by-val-with-symbol-bimorphic-check-structure-elimination.html: Removed.
  • js/regress/get-by-val-with-symbol-chain-from-try-block-expected.txt: Removed.
  • js/regress/get-by-val-with-symbol-chain-from-try-block.html: Removed.
  • js/regress/get-by-val-with-symbol-check-structure-elimination-expected.txt: Removed.
  • js/regress/get-by-val-with-symbol-check-structure-elimination.html: Removed.
  • js/regress/get-by-val-with-symbol-proto-or-self-expected.txt: Removed.
  • js/regress/get-by-val-with-symbol-proto-or-self.html: Removed.
  • js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple-expected.txt: Removed.
  • js/regress/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.html: Removed.
  • js/regress/get-by-val-with-symbol-self-or-proto-expected.txt: Removed.
  • js/regress/get-by-val-with-symbol-self-or-proto.html: Removed.
  • js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination-simple.js: Removed.
  • js/regress/script-tests/get-by-val-with-string-bimorphic-check-structure-elimination.js: Removed.
  • js/regress/script-tests/get-by-val-with-string-chain-from-try-block.js: Removed.
  • js/regress/script-tests/get-by-val-with-string-check-structure-elimination.js: Removed.
  • js/regress/script-tests/get-by-val-with-string-proto-or-self.js: Removed.
  • js/regress/script-tests/get-by-val-with-string-quadmorphic-check-structure-elimination-simple.js: Removed.
  • js/regress/script-tests/get-by-val-with-string-self-or-proto.js: Removed.
  • js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination-simple.js: Removed.
  • js/regress/script-tests/get-by-val-with-symbol-bimorphic-check-structure-elimination.js: Removed.
  • js/regress/script-tests/get-by-val-with-symbol-chain-from-try-block.js: Removed.
  • js/regress/script-tests/get-by-val-with-symbol-check-structure-elimination.js: Removed.
  • js/regress/script-tests/get-by-val-with-symbol-proto-or-self.js: Removed.
  • js/regress/script-tests/get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple.js: Removed.
  • js/regress/script-tests/get-by-val-with-symbol-self-or-proto.js: Removed.
3:39 PM Changeset in webkit [188200] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

3:26 PM Changeset in webkit [188199] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.6

New tag.

3:20 PM Changeset in webkit [188198] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Follow-up nit fixes after r187691.
https://bugs.webkit.org/show_bug.cgi?id=128006

Reviewed by Gavin Barraclough.

Use modern for-loops instead of explicit iterators.

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::shouldCoalesceChallenge):
(WebKit::AuthenticationManager::coalesceChallengesMatching):

3:15 PM Changeset in webkit [188197] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Merged r188162. rdar://problem/22126518

1:39 PM Changeset in webkit [188196] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Always require ExternalDeviceAutoPlayCandidate flag to AirPlay automatically
https://bugs.webkit.org/show_bug.cgi?id=147801

Reviewed by Dean Jackson.

Test: http/tests/media/video-media-document-disposition-download.html

  • Modules/mediasession/WebMediaSessionManager.cpp:

(WebCore::WebMediaSessionManager::configurePlaybackTargetClients): Don't tell the last element

to begin playing to the target unless the ExternalDeviceAutoPlayCandidate flag is set and
it is not currently playing.

1:01 PM Changeset in webkit [188195] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Crash in ComplexTextController when laying out obscure text
https://bugs.webkit.org/show_bug.cgi?id=147806
<rdar://problem/22102378>

Reviewed by Darin Adler.

Source/WebCore:

CTFontDescriptorCopyAttribute(fontDescriptor.get(), kCTFontReferenceURLAttribute) can return nullptr.

Test: fast/text/crash-obscure-text.html

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::safeCFEqual):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

LayoutTests:

  • fast/text/crash-obscure-text-expected.txt: Added.
  • fast/text/crash-obscure-text.html: Added.
4:15 AM Changeset in webkit [188194] by dino@apple.com
  • 10 edits in trunk

Remove the webkit prefix from CanvasRenderingContext2D imageSmoothingEnabled
https://bugs.webkit.org/show_bug.cgi?id=147803
<rdar://problem/22200553>

Reviewed by Sam Weinig.

Source/WebCore:

Rename webkitImageSmoothingEnabled to imageSmoothingEnabled.

Updated existing tests, and made sure that the prefixed version is
identical to the standard version.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::imageSmoothingEnabled): Renamed from webkitImageSmoothingEnabled.
(WebCore::CanvasRenderingContext2D::setImageSmoothingEnabled): Renamed from setWebkitImageSmoothingEnabled.
(WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled): Deleted.
(WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled): Deleted.

  • html/canvas/CanvasRenderingContext2D.h: Rename the methods.
  • html/canvas/CanvasRenderingContext2D.idl: Add the non-prefixed form, and mark is as the

implementation of the prefixed form.

LayoutTests:

Use the standard version of imageSmoothingEnabled rather than
the prefixed version.

  • fast/canvas/canvas-imageSmoothingEnabled-expected.txt:
  • fast/canvas/canvas-imageSmoothingEnabled-patterns.html:
  • fast/canvas/canvas-imageSmoothingEnabled-zero-size.html:
  • fast/canvas/script-tests/canvas-imageSmoothingEnabled-repaint.js:

(draw):

  • fast/canvas/script-tests/canvas-imageSmoothingEnabled.js: Add some tests

to make sure the prefixed version correctly maps to the standard version.

1:11 AM Changeset in webkit [188193] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Ref-ify some functions that always succeed in constructing Documents.
<https://webkit.org/b/147552>

Reviewed by Sam Weinig.

Update some functions involved in the construction of new Document objects
to codify that they always construct objects.

Bonus: DOMImplementation::createCSSStyleSheet().

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createCSSStyleSheet):
(WebCore::DOMImplementation::createHTMLDocument):
(WebCore::DOMImplementation::createDocument):

  • dom/DOMImplementation.h:
  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::createDocument):
(WebCore::DocumentWriter::begin):

  • loader/DocumentWriter.h:
  • xml/DOMParser.cpp:

(WebCore::DOMParser::parseFromString):

  • xml/DOMParser.h:
  • xml/XSLTProcessor.cpp:

(WebCore::XSLTProcessor::createDocumentFromSource):

  • xml/XSLTProcessor.h:

Aug 8, 2015:

7:06 PM Changeset in webkit [188192] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Timeline ruler handle tooltip shows wrong value when handles overlap
https://bugs.webkit.org/show_bug.cgi?id=147652

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype._updateSelection):
Now changes the title depending on whether the selection start/end is clamped.

6:22 PM Changeset in webkit [188191] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Don't show "No Filter Results" when timeline is empty
https://bugs.webkit.org/show_bug.cgi?id=147662

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.reset):
Now hides the empty content placeholder on timeline clear.

11:40 AM Changeset in webkit [188190] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk

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

Breaks product images on http://www.apple.com/shop/buy-
mac/macbook (Requested by smfr on #webkit).

Reverted changeset:

"Render: properly update body's background image"
https://bugs.webkit.org/show_bug.cgi?id=140183
http://trac.webkit.org/changeset/179871

Aug 7, 2015:

11:33 PM Changeset in webkit [188189] by ap@apple.com
  • 3 edits in branches/safari-601.1-branch/LayoutTests

Correct expectations for platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe.html.

Use a correct path, and only skip the test on WK1.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
10:39 PM Changeset in webkit [188188] by Devin Rousso
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Decrease the padding of each rule in the Rules sidebar to allow more content to show
https://bugs.webkit.org/show_bug.cgi?id=147360

Reviewed by Timothy Hatcher.

Generally tightened the padding around each section in the rules panel, as well as the
content inside each section. Also moved the new rule button to be next to the filter bar.

  • UserInterface/Views/CSSStyleDeclarationSection.css:

(.style-declaration-section):
(.style-declaration-section.last-in-group):
(.style-declaration-section.last-in-group + .style-declaration-section): Deleted.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content > .pseudo-classes):
(.sidebar > .panel.details.css-style > .content + .options-container):
(.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) + .options-container):
(.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):
(.sidebar > .panel.details.css-style > .content + .options-container > .filter-bar):
(.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .options-container > .filter-bar):
(.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar): Deleted.
(.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar): Deleted.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._newRuleButtonClicked):

  • UserInterface/Views/RulesStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style .rules .label):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
(WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton): Deleted.
(WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.
(WebInspector.RulesStyleDetailsPanel.prototype._newRuleClicked): Deleted.

10:39 PM Changeset in webkit [188187] by Gyuyoung Kim
  • 28 edits in trunk/Source

Reduce uses of PassRefPtr in bindings
https://bugs.webkit.org/show_bug.cgi?id=147781

Reviewed by Chris Dumez.

Use RefPtr when function can return null or an instance. If not, Ref is used.

Source/JavaScriptCore:

  • runtime/JSGenericTypedArrayView.h:

(JSC::toNativeTypedView):

Source/WebCore:

  • bindings/gobject/GObjectNodeFilterCondition.h:
  • bindings/gobject/GObjectXPathNSResolver.h:
  • bindings/gobject/WebKitDOMNodeFilter.cpp:

(WebKit::core):

  • bindings/gobject/WebKitDOMNodeFilterPrivate.h:
  • bindings/gobject/WebKitDOMXPathNSResolver.cpp:

(WebKit::core):

  • bindings/gobject/WebKitDOMXPathNSResolverPrivate.h:
  • bindings/js/CallbackFunction.h:

(WebCore::createFunctionOnlyCallback):

  • bindings/js/Dictionary.h:

(WebCore::Dictionary::getEventListener):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromValue):
(WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::scriptValueToIDBKey):

  • bindings/js/IDBBindingUtilities.h:
  • bindings/js/JSDOMBinding.h:

(WebCore::toInt8Array):
(WebCore::toInt16Array):
(WebCore::toInt32Array):
(WebCore::toUint8Array):
(WebCore::toUint8ClampedArray):
(WebCore::toUint16Array):
(WebCore::toUint32Array):
(WebCore::toFloat32Array):
(WebCore::toFloat64Array):

  • bindings/js/JSDOMStringListCustom.cpp:

(WebCore::JSDOMStringList::toWrapped):

  • bindings/js/JSDeviceMotionEventCustom.cpp:

(WebCore::readAccelerationArgument):
(WebCore::readRotationRateArgument):

  • bindings/js/JSErrorHandler.h:

(WebCore::createJSErrorHandler):

  • bindings/js/JSGeolocationCustom.cpp:

(WebCore::createPositionOptions):

  • bindings/js/JSNodeCustom.cpp:
  • bindings/js/JSNodeFilterCustom.cpp:

(WebCore::JSNodeFilter::toWrapped):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createWorld):
(WebCore::ScriptController::createRootObject):
(WebCore::ScriptController::createScriptInstanceForWidget):

  • bindings/js/ScriptController.h:
  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::createScriptInstanceForWidget):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::create):

  • bindings/js/SerializedScriptValue.h:
  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMNode rangeOfContainingParagraph]):

  • bindings/objc/ObjCNodeFilterCondition.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

9:08 PM Changeset in webkit [188186] by mmaxfield@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

[El Capitan] Test Gardening

Unreviewed.

  • platform/mac/css3/font-feature-settings-preinstalled-fonts-expected.txt: Added.
8:54 PM Changeset in webkit [188185] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[OS X] Remove dead code from FontCache::createFontPlatformData()
https://bugs.webkit.org/show_bug.cgi?id=147804

Reviewed by Zalan Bujtas.

CTFontCreateForCSS() always returns the best font.

No new tests because there is no behavior change.

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::fontWithFamily):

8:45 PM Changeset in webkit [188184] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Don't include zero-width space into a copied text from the console
https://bugs.webkit.org/show_bug.cgi?id=147767

Reviewed by Timothy Hatcher.

Now removes work break characters in generated javascript text when copying
to the clipboard. Also replaced var with let in the modified functions.

  • UserInterface/Views/ConsoleCommandView.js:

(WebInspector.ConsoleCommandView.prototype.toClipboardString):
(WebInspector.ConsoleCommandView):

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype.toClipboardString):

8:06 PM Changeset in webkit [188183] by Alan Bujtas
  • 22 edits in trunk/Source/WebCore

Move painting functions from RenderObject to RenderElement.
https://bugs.webkit.org/show_bug.cgi?id=147764

Reviewed by Simon Fraser.

Ideally they should live in RenderBoxModelObject, but the current SVG architecture makes is difficult
to move them there.

No change in functionality.

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::FloatRect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintOneBorderSide):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::drawLineForBoxSide):
(WebCore::RenderElement::paintFocusRing):
(WebCore::RenderElement::paintOutline):

  • rendering/RenderElement.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutline):
(WebCore::RenderInline::paintOutlineForLine):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide): Deleted.
(WebCore::RenderObject::paintFocusRing): Deleted.
(WebCore::RenderObject::paintOutline): Deleted.

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

(WebCore::RenderTableCell::paintCollapsedBorders):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::paintRowGroupBorder):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintMenuListButtonDecorations):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuListButtonDecorations):

7:14 PM Changeset in webkit [188182] by jcraig@apple.com
  • 8 edits
    2 adds in trunk

REGRESSION(r184722) AX: WebKit video playback toolbar removed from DOM; no longer accessible to VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=145684

Reviewed by Dean Jackson.

Source/WebCore:

Updated Apple Video controls to add an invisible but focusable button that allows VoiceOver
users (and when unblocked, keyboard users) to re-display the video controls.

Test: media/video-controls-show-on-kb-or-ax-event.html

  • English.lproj/mediaControlsLocalizedStrings.js:
  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-show-controls):
(video::-webkit-media-show-controls):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls):
(Controller.prototype.handleFullscreenChange):
(Controller.prototype.handleShowControlsClick):
(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.updateForShowingControls):
(Controller.prototype.showControls):
(Controller.prototype.hideControls):
(Controller.prototype.setNeedsUpdateForDisplayedWidth):

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-show-controls):
(video::-webkit-media-show-controls):

LayoutTests:

  • http/tests/contentextensions/text-track-blocked-expected.txt: Minor update to test case expectation.
  • media/video-controls-show-on-kb-or-ax-event-expected.txt: Added.
  • media/video-controls-show-on-kb-or-ax-event.html: New test validates video controls can be displayed without the need for a mouse.
  • platform/mac/media/track/track-cue-rendering-horizontal-expected.txt: Minor update to test case expectation.
6:13 PM Changeset in webkit [188181] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

5:48 PM Changeset in webkit [188180] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.5

New tag.

5:21 PM Changeset in webkit [188179] by achristensen@apple.com
  • 2 edits in trunk/Tools

[GTK] Another build fix after r188157.

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::viewSupportsOptions):
Name all the things correctly!

5:14 PM Changeset in webkit [188178] by achristensen@apple.com
  • 2 edits in trunk/Tools

[EFL, GTK] Build fix after r188176.

  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:

I moved forwarding headers out of a unix subdirectory because I am using them on Windows now.

5:09 PM Changeset in webkit [188177] by achristensen@apple.com
  • 2 edits in trunk/Tools

[GTK] Speculative build fix after r188157.

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::PlatformWebView):
Update parameter list.

4:42 PM Changeset in webkit [188176] by achristensen@apple.com
  • 9 edits
    3 moves
    3 adds in trunk

Build more testing binaries with CMake on Windows
https://bugs.webkit.org/show_bug.cgi?id=147799

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

  • shell/PlatformWin.cmake: Added.

Build jsc.dll and jsc.exe to find Apple Application Support or WinCairo dlls before using them.

Source/WebCore:

  • CMakeLists.txt:

MockCDM.cpp needs to be part of WebCoreTestSupport, not WebCore.

  • PlatformWin.cmake:

Added files needed for AppleWin port.

Source/WebKit/win:

  • WebKitDLL.cpp:

(loadResourceIntoBuffer):
AppleWin doesn't like exporting a function without a separate declaration.

Tools:

  • DumpRenderTree/CMakeLists.txt:

Build TestNetscapePlugin.

  • DumpRenderTree/PlatformWin.cmake:

Build ImageDiff and add files necessary for TestNetscapePlugin on Windows.

  • DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders: Added.
  • DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit: Added.
  • DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h: Copied from DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npapi.h.
  • DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h: Copied from DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npfunctions.h.
  • DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h: Copied from DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npruntime.h.
  • DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npapi.h: Removed.
  • DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npfunctions.h: Removed.
  • DumpRenderTree/TestNetscapePlugIn/unix/ForwardingHeaders/WebKit/npruntime.h: Removed.
4:39 PM Changeset in webkit [188175] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Being moving away from using SQLTransactionStateMachine in SQLTransactionBackend
https://bugs.webkit.org/show_bug.cgi?id=147798

Reviewed by Geoffrey Garen.

This is the first step towards getting rid of the state machine so we can ultimately merge SQLTransactionBackend
into SQLTransaction.

Instead of having the state machine run our functions, just run them ourselves where we can. For states that need
to be handled in the frontend, call SQLTransaction::requestTransitToState explicitly.

  • Modules/webdatabase/SQLTransactionBackend.cpp:

(WebCore::SQLTransactionBackend::stateFunctionFor):
(WebCore::SQLTransactionBackend::lockAcquired):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::runCurrentStatement):
(WebCore::SQLTransactionBackend::handleCurrentStatementError):
(WebCore::SQLTransactionBackend::handleTransactionError):
(WebCore::SQLTransactionBackend::postflightAndCommit):
(WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState): Deleted.
(WebCore::SQLTransactionBackend::nextStateForCurrentStatementError): Deleted.
(WebCore::SQLTransactionBackend::nextStateForTransactionError): Deleted.
(WebCore::SQLTransactionBackend::sendToFrontendState): Deleted.

  • Modules/webdatabase/SQLTransactionBackend.h:
4:31 PM Changeset in webkit [188174] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

[Mac] Test gardening

Unreviewed.

  • platform/mac/TestExpectations:
4:25 PM Changeset in webkit [188173] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Simplify OS-specific CSS class names
https://bugs.webkit.org/show_bug.cgi?id=147794

Replace "body:not(.el-capitan)" with ".legacy-mac".
Replace "body.el-capitan" with ".latest-mac".

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):

  • UserInterface/Views/Toolbar.css:

(body.legacy-mac .toolbar .dashboard-container):
(body.legacy-mac .toolbar .search-bar > input[type="search"]):
(body.legacy-mac .toolbar .search-bar > input[type="search"]:focus):
(body.legacy-mac .toolbar .item.button:active):
(body.window-inactive.legacy-mac .toolbar .dashboard-container):
(body.latest-mac .toolbar .dashboard-container):
(body.latest-mac .toolbar .search-bar > input[type="search"]):
(body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
(@media (-webkit-min-device-pixel-ratio: 2)):
(body.latest-mac .toolbar .item.button:active):
(body.latest-mac.window-inactive .toolbar .dashboard-container):
(body:not(.el-capitan) .toolbar .dashboard-container): Deleted.
(body:not(.el-capitan) .toolbar .search-bar > input[type="search"]): Deleted.
(body:not(.el-capitan) .toolbar .search-bar > input[type="search"]:focus): Deleted.
(body:not(.el-capitan) .toolbar .item.button:active): Deleted.
(body.window-inactive:not(.el-capitan) .toolbar .dashboard-container): Deleted.
(body.el-capitan .toolbar .dashboard-container): Deleted.
(body.el-capitan .toolbar .search-bar > input[type="search"]): Deleted.
(body.el-capitan .toolbar .search-bar > input[type="search"]:focus): Deleted.
(body.el-capitan .toolbar .item.button:active): Deleted.
(body.el-capitan.window-inactive .toolbar .dashboard-container): Deleted.

4:10 PM Changeset in webkit [188172] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

Refactor BuildbotQueue.compareIterations and BuildbotQueue.compareIterationsByRevisions to be more generic
https://bugs.webkit.org/show_bug.cgi?id=147667

Patch by Jason Marcell <jmarcell@apple.com> on 2015-08-07
Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.compareIterations): Refactored to work more generically with repositories
other than "openSource" and "internal".
(BuildbotQueue.prototype.compareIterationsByRevisions): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:

(Dashboard.get sortedPlatforms): Added. Returns a sorted array of platforms.
(Dashboard.get sortedRepositories): Added. Returns a sorted array of repositories.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

(documentReady): Using Dashboard.sortedPlatforms instead of sortedPlatforms.
(sortedPlatforms): Deleted.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js:

(buildQueuesTable): Using Dashboard.sortedPlatforms instead of sortedPlatforms.
(sortedPlatforms): Deleted.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Utilities.js:

(sortDictionariesByOrder): Added. Takes an array of dictionaries that have an "order" property
and sorts them by this property returning the new sorted array.

4:07 PM Changeset in webkit [188171] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1-branch/Source

Versioning.

4:04 PM Changeset in webkit [188170] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.48

New tag.

3:38 PM Changeset in webkit [188169] by fpizlo@apple.com
  • 41 edits
    5 adds in trunk

Lightweight locks should be adaptive
https://bugs.webkit.org/show_bug.cgi?id=147545

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • dfg/DFGCommon.cpp:

(JSC::DFG::startCrashing):

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::workListLock):

  • heap/CopiedBlockInlines.h:

(JSC::CopiedBlock::shouldReportLiveBytes):
(JSC::CopiedBlock::reportLiveBytes):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::doneFillingBlock):

  • heap/CopiedSpace.h:

(JSC::CopiedSpace::CopiedGeneration::CopiedGeneration):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::recycleEvacuatedBlock):

  • heap/GCThreadSharedData.cpp:

(JSC::GCThreadSharedData::didStartCopying):

  • heap/GCThreadSharedData.h:

(JSC::GCThreadSharedData::getNextBlocksToCopy):

  • heap/ListableHandler.h:

(JSC::ListableHandler::List::addThreadSafe):
(JSC::ListableHandler::List::addNotThreadSafe):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::tryCopyOtherThreadStacks):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::copyLater):

  • parser/SourceProvider.cpp:

(JSC::SourceProvider::~SourceProvider):
(JSC::SourceProvider::getID):

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::addDatabaseToAtExit):
(JSC::Profiler::Database::removeDatabaseFromAtExit):
(JSC::Profiler::Database::removeFirstAtExitDatabase):

  • runtime/TypeProfilerLog.h:

Source/WebCore:

  • bindings/objc/WebScriptObject.mm:

(WebCore::getJSWrapper):
(WebCore::addJSWrapper):
(WebCore::removeJSWrapper):
(WebCore::removeJSWrapperIfRetainCountOne):

  • platform/audio/mac/CARingBuffer.cpp:

(WebCore::CARingBuffer::setCurrentFrameBounds):
(WebCore::CARingBuffer::getCurrentFrameBounds):

  • platform/audio/mac/CARingBuffer.h:
  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setExposedScrollViewRect:]):
(-[WAKWindow exposedScrollViewRect]):

Source/WebKit2:

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::clearQueuedTouchEventsForPage):
(WebKit::EventDispatcher::getQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):
(WebKit::EventDispatcher::dispatchTouchEvents):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
(WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):

  • WebProcess/WebPage/ViewUpdateDispatcher.h:

Source/WTF:

A common idiom in WebKit is to use spinlocks. We use them because the lock acquisition
overhead is lower than system locks and because they take dramatically less space than system
locks. The speed and space advantages of spinlocks can be astonishing: an uncontended spinlock
acquire is up to 10x faster and under microcontention - short critical section with two or
more threads taking turns - spinlocks are up to 100x faster. Spinlocks take only 1 byte or 4
bytes depending on the flavor, while system locks take 64 bytes or more. Clearly, WebKit
should continue to avoid system locks - they are just far too slow and far too big.

But there is a problem with this idiom. System lock implementations will sleep a thread when
it attempts to acquire a lock that is held, while spinlocks will cause the thread to burn CPU.
In WebKit spinlocks, the thread will repeatedly call sched_yield(). This is awesome for
microcontention, but awful when the lock will not be released for a while. In fact, when
critical sections take tens of microseconds or more, the CPU time cost of our spinlocks is
almost 100x more than the CPU time cost of a system lock. This case doesn't arise too
frequently in our current uses of spinlocks, but that's probably because right now there are
places where we make a conscious decision to use system locks - even though they use more
memory and are slower - because we don't want to waste CPU cycles when a thread has to wait a
while to acquire the lock.

The solution is to just implement a modern adaptive mutex in WTF. Luckily, this isn't a new
concept. This patch implements a mutex that is reminiscent of the kinds of low-overhead locks
that JVMs use. The actual implementation here is inspired by some of the ideas from [1]. The
idea is simple: the fast path is an inlined CAS to immediately acquire a lock that isn't held,
the slow path tries some number of spins to acquire the lock, and if that fails, the thread is
put on a queue and put to sleep. The queue is made up of statically allocated thread nodes and
the lock itself is a tagged pointer: either it is just bits telling us the complete lock state
(not held or held) or it is a pointer to the head of a queue of threads waiting to acquire the
lock. This approach gives WTF::Lock three different levels of adaptation: an inlined fast path
if the lock is not contended, a short burst of spinning for microcontention, and a full-blown
queue for critical sections that are held for a long time.

On a locking microbenchmark, this new Lock exhibits the following performance
characteristics:

  • Lock+unlock on an uncontended no-op critical section: 2x slower than SpinLock and 3x faster than a system mutex.
  • Lock+unlock on a contended no-op critical section: 2x slower than SpinLock and 100x faster than a system mutex.
  • CPU time spent in lock() on a lock held for a while: same as system mutex, 90x less than a SpinLock.
  • Memory usage: sizeof(void*), so on 64-bit it's 8x less than a system mutex but 2x worse than a SpinLock.

This patch replaces all uses of SpinLock with Lock, since our critical sections are not
no-ops so if you do basically anything in your critical section, the Lock overhead will be
invisible. Also, in all places where we used SpinLock, we could tolerate 8 bytes of overhead
instead of 4. Performance benchmarking using JSC macrobenchmarks shows no difference, which is
as it should be: the purpose of this change is to reduce CPU time wasted, not wallclock time.
This patch doesn't replace any uses of ByteSpinLock, since we expect that the space benefits
of having a lock that just uses a byte are still better than the CPU wastage benefits of
Lock. But, this work will enable some future work to create locks that will fit in just 1.6
bits: https://bugs.webkit.org/show_bug.cgi?id=147665.

Rolling this back in after fixing Lock::unlockSlow() for architectures that have a truly weak
CAS. Since the Lock::unlock() fast path can go to slow path spuriously, it may go there even if
there aren't any threads on the Lock's queue. So, unlockSlow() must be able to deal with the
possibility of a null queue head.

[1] http://www.filpizlo.com/papers/pizlo-pppj2011-fable.pdf

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.xcodeproj/project.pbxproj:
  • benchmarks: Added.
  • benchmarks/LockSpeedTest.cpp: Added.

(main):

  • wtf/Atomics.h:

(WTF::Atomic::compareExchangeWeak):
(WTF::Atomic::compareExchangeStrong):

  • wtf/CMakeLists.txt:
  • wtf/Lock.cpp: Added.

(WTF::LockBase::lockSlow):
(WTF::LockBase::unlockSlow):

  • wtf/Lock.h: Added.

(WTF::LockBase::lock):
(WTF::LockBase::unlock):
(WTF::LockBase::isHeld):
(WTF::LockBase::isLocked):
(WTF::Lock::Lock):

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::release):
(WTF::MetaAllocatorHandle::shrink):
(WTF::MetaAllocator::allocate):
(WTF::MetaAllocator::currentStatistics):
(WTF::MetaAllocator::addFreshFreeSpace):
(WTF::MetaAllocator::debugFreeSpaceSize):

  • wtf/MetaAllocator.h:
  • wtf/SpinLock.h:
  • wtf/ThreadingPthreads.cpp:
  • wtf/ThreadingWin.cpp:
  • wtf/text/AtomicString.cpp:
  • wtf/text/AtomicStringImpl.cpp:

(WTF::AtomicStringTableLocker::AtomicStringTableLocker):

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/Lock.cpp: Added.

(TestWebKitAPI::runLockTest):
(TestWebKitAPI::TEST):

2:55 PM Changeset in webkit [188168] by mmaxfield@apple.com
  • 7 edits in trunk/Source/WebCore

Post-review comments on r188146
https://bugs.webkit.org/show_bug.cgi?id=147793

Reviewed by Daniel Bates.

No new tests because there is no behavior change.

  • platform/graphics/FontCache.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::appendTrueTypeFeature):
(WebCore::appendOpenTypeFeature):
(WebCore::applyFontFeatureSettings):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::getSystemFontFallbackForCharacters):
(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::fontWithFamily):
(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):

2:49 PM Changeset in webkit [188167] by mmaxfield@apple.com
  • 9 edits
    2 adds in trunk

Source/WebCore:
[Cocoa] Font fallback is not language-sensitive
https://bugs.webkit.org/show_bug.cgi?id=147390

Reviewed by Dean Jackson.

We need to make our font fallback code sensitive to locale.

This patch rolls r187729 back in. However, only particular versions of iOS and OS X are
performant enough to enable this language-sensitivity.

This patch also applies to iOS.

Test: fast/text/fallback-language-han.html

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::lookupCTFont):
(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/mac/FontCacheIOS.mm:

(WebCore::FontCache::systemFallbackForCharacters):

LayoutTests:
[OS X] Font fallback is not language-sensitive
https://bugs.webkit.org/show_bug.cgi?id=147390

Reviewed by Dean Jackson.

This test is expected to fail most places.

  • fast/text/fallback-language-han-expected.html: Added.
  • fast/text/fallback-language-han.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/iOS/TestExpectations:
2:44 PM Changeset in webkit [188166] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

RenderTheme::volumeSliderOffsetFromMuteButton should take const& RenderBox.
https://bugs.webkit.org/show_bug.cgi?id=147731

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderMediaControlElements.cpp:

(WebCore::RenderMediaVolumeSliderContainer::layout):

  • rendering/RenderMediaControls.cpp:

(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Deleted.

  • rendering/RenderMediaControls.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):

  • rendering/RenderTheme.h:
2:37 PM Changeset in webkit [188165] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r188150. rdar://problem/22123707

2:30 PM Changeset in webkit [188164] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

Replace RenderObject::isRooted() logic with isDescendantOf().
https://bugs.webkit.org/show_bug.cgi?id=147788

Reviewed by Simon Fraser.

And some related cleanups.

No change in functionality.

  • page/FrameView.cpp:

(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::extendedBackgroundRectForPainting):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintRootBoxFillLayers):

  • rendering/RenderElement.cpp:

(WebCore::shouldRepaintForImageAnimation):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::isDescendantOf):
(WebCore::scheduleRelayoutForSubtree):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
(WebCore::RenderObject::repaintSlowRepaintObject):
(WebCore::RenderObject::isRooted):

  • rendering/RenderObject.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::unextendedBackgroundRect):
(WebCore::RenderView::backgroundRect):

  • rendering/RenderView.h:
2:25 PM Changeset in webkit [188163] by Alan Bujtas
  • 9 edits in trunk/Source/WebCore

Subtree layout code should use RenderElement.
https://bugs.webkit.org/show_bug.cgi?id=147694

Reviewed by Simon Fraser.

Subtree layout will never begin at a RenderText, so tighten up
the code to operate on RenderElements instead of RenderObjects.
(This patch is based on webkit.org/b/126878)

No change in functionality.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willLayout):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView): Deleted.
(WebCore::FrameView::layoutRoot): Deleted.

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

(WebCore::RenderBox::computeLogicalWidthInRegion):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::clearLayoutRootIfNeeded):
(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderElement.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::clearLayoutRootIfNeeded): Deleted.
(WebCore::RenderObject::willBeDestroyed): Deleted.

  • rendering/RenderObject.h:
2:12 PM Changeset in webkit [188162] by Wenson Hsieh
  • 5 edits in trunk/Source

Temporarily allow programmatic input assistance for adding Gmail account
https://bugs.webkit.org/show_bug.cgi?id=147792

Reviewed by Enrica Casucci.
<rdar://problem/22126518>

Temporary fix for keyboard input sliding out and immediately back in upon user interaction
in the Gmail 2-factor authentication page.

Source/WebCore:

  • platform/RuntimeApplicationChecksIOS.h:
  • platform/RuntimeApplicationChecksIOS.mm:

(WebCore::applicationIsGmailAddAccountOnIOS): Added bundle ID for Gmail settings.

Source/WebKit2:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Early

return no longer triggers due to lack of user interaction when adding a new Gmail account
through Settings.

2:12 PM Changeset in webkit [188161] by andersca@apple.com
  • 2 edits in trunk/Tools

Fix a tyop.

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::viewSupportsOptions):

2:07 PM Changeset in webkit [188160] by Simon Fraser
  • 4 edits
    34 moves
    2 adds in trunk/LayoutTests

Move platform/mac/fast/scrolling/ tests into fast/scrolling/latching/

  • TestExpectations:
  • fast/scrolling/latching/iframe_in_iframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/iframe_in_iframe-expected.txt.
  • fast/scrolling/latching/iframe_in_iframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/iframe_in_iframe.html.
  • fast/scrolling/latching/resources/background.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/background.html.
  • fast/scrolling/latching/resources/inner_content.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/inner_content.html.
  • fast/scrolling/latching/resources/scroll_nested_iframe_test_inner.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/scroll_nested_iframe_test_inner.html.
  • fast/scrolling/latching/resources/scroll_nested_iframe_test_outer.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/scroll_nested_iframe_test_outer.html.
  • fast/scrolling/latching/resources/testContent.html: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/testContent.html.
  • fast/scrolling/latching/resources/testImage.png: Renamed from LayoutTests/platform/mac/fast/scrolling/resources/testImage.png.
  • fast/scrolling/latching/scroll-div-latched-div-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt.
  • fast/scrolling/latching/scroll-div-latched-div.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-latched-div.html.
  • fast/scrolling/latching/scroll-div-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt.
  • fast/scrolling/latching/scroll-div-latched-mainframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-latched-mainframe.html.
  • fast/scrolling/latching/scroll-div-no-latching-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-no-latching-expected.txt.
  • fast/scrolling/latching/scroll-div-no-latching.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-no-latching.html.
  • fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe-expected.txt.
  • fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe.html.
  • fast/scrolling/latching/scroll-iframe-fragment-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-fragment-expected.txt.
  • fast/scrolling/latching/scroll-iframe-fragment.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-fragment.html.
  • fast/scrolling/latching/scroll-iframe-latched-iframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt.
  • fast/scrolling/latching/scroll-iframe-latched-iframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html.
  • fast/scrolling/latching/scroll-iframe-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt.
  • fast/scrolling/latching/scroll-iframe-latched-mainframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html.
  • fast/scrolling/latching/scroll-iframe-webkit1-latching-bug-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug-expected.txt.
  • fast/scrolling/latching/scroll-iframe-webkit1-latching-bug.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug.html.
  • fast/scrolling/latching/scroll-latched-nested-div-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-latched-nested-div-expected.txt.
  • fast/scrolling/latching/scroll-latched-nested-div.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-latched-nested-div.html.
  • fast/scrolling/latching/scroll-nested-iframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-nested-iframe-expected.txt.
  • fast/scrolling/latching/scroll-nested-iframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-nested-iframe.html.
  • fast/scrolling/latching/scroll-select-bottom-test-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-bottom-test-expected.txt.
  • fast/scrolling/latching/scroll-select-bottom-test.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-bottom-test.html.
  • fast/scrolling/latching/scroll-select-latched-mainframe-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt.
  • fast/scrolling/latching/scroll-select-latched-mainframe.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-latched-mainframe.html.
  • fast/scrolling/latching/scroll-select-latched-select-expected.txt: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt.
  • fast/scrolling/latching/scroll-select-latched-select.html: Renamed from LayoutTests/platform/mac/fast/scrolling/scroll-select-latched-select.html.
  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
2:07 PM Changeset in webkit [188159] by Simon Fraser
  • 6 edits
    18 moves
    1 add
    1 delete in trunk/LayoutTests

Move platform/mac/fast/forms/ tests to fast/forms/

  • TestExpectations:
  • fast/forms/attributed-strings-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/attributed-strings-expected.txt.
  • fast/forms/attributed-strings.html: Renamed from LayoutTests/platform/mac/fast/forms/attributed-strings.html.
  • fast/forms/focus-option-control-on-page-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/focus-option-control-on-page-expected.txt.
  • fast/forms/focus-option-control-on-page.html: Renamed from LayoutTests/platform/mac/fast/forms/focus-option-control-on-page.html.
  • fast/forms/indeterminate-progress-inline-height-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/indeterminate-progress-inline-height-expected.txt.
  • fast/forms/indeterminate-progress-inline-height.html: Renamed from LayoutTests/platform/mac/fast/forms/indeterminate-progress-inline-height.html.
  • fast/forms/input-appearance-spinbutton-expected.png: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-expected.png.
  • fast/forms/input-appearance-spinbutton-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-expected.txt.
  • fast/forms/input-appearance-spinbutton-size-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-size-expected.txt.
  • fast/forms/input-appearance-spinbutton-size.html: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-size.html.
  • fast/forms/input-appearance-spinbutton-up-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt.
  • fast/forms/input-appearance-spinbutton-up.html: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton-up.html.
  • fast/forms/input-appearance-spinbutton.html: Renamed from LayoutTests/platform/mac/fast/forms/input-appearance-spinbutton.html.
  • fast/forms/input-number-click-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/input-number-click-expected.txt.
  • fast/forms/input-number-click.html: Renamed from LayoutTests/platform/mac/fast/forms/input-number-click.html.
  • fast/forms/listbox-scrollbar-hit-test-expected.txt: Renamed from LayoutTests/platform/mac/fast/forms/listbox-scrollbar-hit-test-expected.txt.
  • fast/forms/listbox-scrollbar-hit-test.html: Renamed from LayoutTests/platform/mac/fast/forms/listbox-scrollbar-hit-test.html.
  • fast/forms/script-tests/focus-option-control-on-page.js: Renamed from LayoutTests/platform/mac/fast/forms/script-tests/focus-option-control-on-page.js.
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/input-appearance-spinbutton-up-expected.png: Removed.
  • platform/wk2/TestExpectations:
1:45 PM Changeset in webkit [188158] by ap@apple.com
  • 3 edits in trunk/Tools

Update AppEngine app version numbers to the latest commit.

  • QueueStatusServer/app.yaml:
  • TestResultServer/app.yaml:
1:35 PM Changeset in webkit [188157] by andersca@apple.com
  • 10 edits
    1 add in trunk/Tools

Simplify WKTR's view options
https://bugs.webkit.org/show_bug.cgi?id=147791

Reviewed by Sam Weinig.

Instead of using a WKDictionaryRef, just use a struct for the options.

  • WebKitTestRunner/PlatformWebView.h:

(WTR::PlatformWebView::options):
(WTR::PlatformWebView::viewSupportsOptions): Deleted.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptions):
(WTR::TestController::updateLayoutTypeForTest):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/ViewOptions.h: Added.
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::viewSupportsOptions):

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::viewSupportsOptions):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::TestController::platformConfigureViewForTest):

1:19 PM Changeset in webkit [188156] by Lucas Forschler
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188115. rdar://problem/22181735

1:17 PM Changeset in webkit [188155] by Lucas Forschler
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188112. <rdar://problem/22128839>

1:16 PM Changeset in webkit [188154] by Lucas Forschler
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188111. <rdar://problem/22128839>

1:15 PM Changeset in webkit [188153] by Lucas Forschler
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188109. <rdar://problem/22128839>

1:14 PM Changeset in webkit [188152] by Lucas Forschler
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188058. <rdar://problem/22128839>

1:13 PM Changeset in webkit [188151] by Lucas Forschler
  • 3 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188053. <rdar://problem/22128839>

1:10 PM Changeset in webkit [188150] by aestes@apple.com
  • 5 edits in trunk/Source/WebCore

Crash when following a Google search link to Twitter with Limit Adult Content enabled
https://bugs.webkit.org/show_bug.cgi?id=147651

Reviewed by Brady Eidson.

When a loaded CachedRawResource gets a new client, it synthesizes the callbacks that the new client would have
received while the resource was loading. Unlike a real network load, it synthesizes these callbacks in a single
run loop iteration. When DocumentLoader receives a redirect, and finds substitute data in the app cache for the
redirect URL, it schedules a timer that removes DocumentLoader as a client of the CachedRawResource then
synthesizes its own set of CachedRawResourceClient callbacks. But since CachedRawResource has already delivered
client callbacks before the app cache timer fires, DocumentLoader unexpectedly ends up getting two sets of
client callbacks and badness ensues.

The fix is to let CachedRawResource detect if a redirect will trigger the client to load substitute data. If so,
stop delivering client callbacks.

Layout test to follow.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::syntheticRedirectReceived): If there is valid substitute data, do not continue.

  • loader/DocumentLoader.h:
  • loader/cache/CachedRawResource.cpp: Returned early if syntheticRedirectReceived() said not to continue.

(WebCore::CachedRawResource::didAddClient):

  • loader/cache/CachedRawResourceClient.h:

(WebCore::CachedRawResourceClient::syntheticRedirectReceived):

1:06 PM Changeset in webkit [188149] by msaboff@apple.com
  • 3 edits in branches/jsc-tailcall/Source/JavaScriptCore

Unreviewed. Rollout r188072 as there are crashes with release builds.

The combination of r188071 and r188072 does not properly restore all registers for
all exceptions. Rolling out to make the branch functional again.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
12:40 PM Changeset in webkit [188148] by dino@apple.com
  • 3 edits
    2 adds in trunk

Shadows don't draw on fillText when using a gradient fill
https://bugs.webkit.org/show_bug.cgi?id=147758
<rdar://problem/20860912>

Reviewed by Myles Maxfield.

Source/WebCore:

Since we use a mask to render a pattern or gradient
into text, any shadow was being clipped out. Change
this to draw the shadow before the mask + fill operation,
using a technique similar to text-shadow.

Test: fast/canvas/gradient-text-with-shadow.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawTextInternal): Get the current shadow
style, paint the text with a transformed shadow offset so that we only
see the shadow and not the text, then combine with the existing pattern/gradient
fill.

LayoutTests:

New test that exercises shadows on gradient fills. This really
should be a ref test, but there is a very small rendering difference
caused by masking, so instead it uses JS to look for pixels of
the correct color.

  • fast/canvas/gradient-text-with-shadow-expected.txt: Added.
  • fast/canvas/gradient-text-with-shadow.html: Added.
12:34 PM Changeset in webkit [188147] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Rename some variables in the JSC watchdog implementation.
https://bugs.webkit.org/show_bug.cgi?id=147790

Rubber stamped by Benjamin Poulain.

This is just a refactoring patch to give the variable better names that describe their
intended use. There is no behavior change.

  • runtime/Watchdog.cpp:

(JSC::Watchdog::Watchdog):
(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::didFire):
(JSC::Watchdog::isEnabled):
(JSC::Watchdog::fire):
(JSC::Watchdog::startCountdownIfNeeded):

  • runtime/Watchdog.h:
12:09 PM Changeset in webkit [188146] by mmaxfield@apple.com
  • 8 edits
    4 adds in trunk

Implement font-feature-settings
https://bugs.webkit.org/show_bug.cgi?id=147722

Reviewed by Simon Fraser.

Source/WebCore:

Fonts with features are simply modeled as new font objects. Font
feature information is contained within FontDescription, and our
caches are correctly sensitive to this information. Therefore,
we just need to make our font lookup code honor the request to
use certain features.

This patch creates a file, FontCacheCoreText.cpp, which will be the
new home of all shared OS X / iOS FontCache code. Over time, I will
be moving more and more source into this file, until there is
nothing left of FontCacheMac.mm and FontCacheIOS.mm. For now, the
only function in this file is the code which applies font features.

Test: css3/font-feature-settings-preinstalled-fonts.html

  • WebCore.xcodeproj/project.pbxproj: Add FontCacheCoreText.cpp.
  • platform/graphics/FontCache.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp: Added.

(WebCore::appendTrueTypeFeature): What the name says.
(WebCore::appendOpenTypeFeature): Ditto.
(WebCore::applyFontFeatureSettings): Ditto.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::getSystemFontFallbackForCharacters): Call
applyFontFeatureSettings().
(WebCore::FontCache::createFontPlatformData): Ditto.

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::fontWithFamily): Ditto.
(WebCore::FontCache::systemFallbackForCharacters): Ditto.
(WebCore::FontCache::createFontPlatformData): Ditto.

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData): Ditto.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
Ditto.

LayoutTests:

Until I can make a custom font for reference tests, use a simple dump-render-tree test.

  • css3/font-feature-settings-preinstalled-fonts.html: Added.
  • platform/mac-yosemite/css3/font-feature-settings-preinstalled-fonts-expected.txt: Added.
12:08 PM Changeset in webkit [188145] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

taking a different approach to the fix (Requested by estes on
#webkit).

Reverted changeset:

"Crash when following a Google search link to Twitter with
Limit Adult Content enabled."
https://bugs.webkit.org/show_bug.cgi?id=147651
http://trac.webkit.org/changeset/187907

11:51 AM Changeset in webkit [188144] by Chris Dumez
  • 41 edits
    4 deletes in trunk

Source/JavaScriptCore:
Interpreter::unwind shouldn't be responsible for assigning the correct scope.
https://bugs.webkit.org/show_bug.cgi?id=147666

Patch by Saam barati <saambarati1@gmail.com> on 2015-08-07
Reviewed by Geoffrey Garen.

If we make the bytecode generator know about every local scope it
creates, and if we give each local scope a unique register, the
bytecode generator has all the information it needs to assign
the correct scope to a catch handler. Because the bytecode generator
knows this information, it's a better separation of responsibilties
for it to set up the proper scope instead of relying on the exception
handling runtime to find the scope.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecode/HandlerInfo.h:

(JSC::UnlinkedHandlerInfo::UnlinkedHandlerInfo):
(JSC::HandlerInfo::initialize):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::emitGetScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitGetParentScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithScope):
(JSC::BytecodeGenerator::allocateAndEmitScope):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::pushTry):
(JSC::BytecodeGenerator::popTryAndEmitCatch):
(JSC::BytecodeGenerator::localScopeDepth):
(JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler): Deleted.

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

(JSC::WithNode::emitBytecode):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::unwind):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::compileOpStrictEq):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_to_number):

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

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/JSScope.cpp:

(JSC::JSScope::objectAtScope):
(JSC::isUnscopable):
(JSC::JSScope::depth): Deleted.

  • runtime/JSScope.h:

Source/WebCore:
Fix WinCairo build after r188130.

Patch by Alex Christensen <achristensen@webkit.org> on 2015-08-07

  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
I forgot the parameter name.

Source/WebKit2:
Move concrete KeyedDecoder/Encoder implementations to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=147757.

Patch by Brady Eidson <beidson@apple.com> on 2015-08-07
Rubberstamped by Andy Estes.

  • DatabaseProcess/IndexedDB/IDBSerialization.cpp:

(WebKit::serializeIDBKeyPath):
(WebKit::deserializeIDBKeyPath):
(WebKit::serializeIDBKeyData):
(WebKit::deserializeIDBKeyData):

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebKit2.xcodeproj/project.pbxproj:

Source/WTF:
Unreviewed, roll out http://trac.webkit.org/changeset/187972.

Patch by Filip Pizlo <fpizlo@apple.com> on 2015-08-05

  • wtf/Atomics.cpp:

(WTF::getSwapLock):
(WTF::atomicStep):

  • wtf/MessageQueue.h:

(WTF::MessageQueue::infiniteTime):
(WTF::MessageQueue<DataType>::append):
(WTF::MessageQueue<DataType>::appendAndKill):
(WTF::MessageQueue<DataType>::appendAndCheckEmpty):
(WTF::MessageQueue<DataType>::prepend):
(WTF::MessageQueue<DataType>::removeIf):
(WTF::MessageQueue<DataType>::isEmpty):
(WTF::MessageQueue<DataType>::kill):
(WTF::MessageQueue<DataType>::killed):

  • wtf/ParallelJobsGeneric.cpp:

(WTF::ParallelEnvironment::ThreadPrivate::execute):
(WTF::ParallelEnvironment::ThreadPrivate::waitForFinish):
(WTF::ParallelEnvironment::ThreadPrivate::workerThread):

  • wtf/ParallelJobsGeneric.h:
  • wtf/RunLoop.cpp:

(WTF::RunLoop::performWork):
(WTF::RunLoop::dispatch):

  • wtf/RunLoop.h:
  • wtf/ThreadSpecificWin.cpp:

(WTF::destructorsList):
(WTF::destructorsMutex):
(WTF::threadSpecificKeyCreate):
(WTF::threadSpecificKeyDelete):
(WTF::ThreadSpecificThreadExit):

  • wtf/Threading.cpp:

(WTF::threadEntryPoint):
(WTF::createThread):

  • wtf/ThreadingPrimitives.h:
  • wtf/ThreadingPthreads.cpp:

(WTF::threadMapMutex):
(WTF::initializeThreading):
(WTF::identifierByPthreadHandle):
(WTF::establishIdentifierForPthreadHandle):
(WTF::changeThreadPriority):
(WTF::waitForThreadCompletion):
(WTF::detachThread):
(WTF::threadDidExit):
(WTF::currentThread):
(WTF::Mutex::Mutex):
(WTF::Mutex::~Mutex):
(WTF::Mutex::lock):
(WTF::Mutex::tryLock):
(WTF::Mutex::unlock):
(WTF::ThreadCondition::~ThreadCondition):
(WTF::ThreadCondition::wait):
(WTF::ThreadCondition::timedWait):
(WTF::DeprecatedMutex::DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::~DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::lock): Deleted.
(WTF::DeprecatedMutex::tryLock): Deleted.
(WTF::DeprecatedMutex::unlock): Deleted.

  • wtf/ThreadingWin.cpp:

(WTF::initializeCurrentThreadInternal):
(WTF::threadMapMutex):
(WTF::initializeThreading):
(WTF::storeThreadHandleByIdentifier):
(WTF::threadHandleForIdentifier):
(WTF::clearThreadHandleForIdentifier):
(WTF::currentThread):
(WTF::Mutex::Mutex):
(WTF::Mutex::~Mutex):
(WTF::Mutex::lock):
(WTF::Mutex::tryLock):
(WTF::Mutex::unlock):
(WTF::ThreadCondition::~ThreadCondition):
(WTF::ThreadCondition::wait):
(WTF::ThreadCondition::timedWait):
(WTF::DeprecatedMutex::DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::~DeprecatedMutex): Deleted.
(WTF::DeprecatedMutex::lock): Deleted.
(WTF::DeprecatedMutex::tryLock): Deleted.
(WTF::DeprecatedMutex::unlock): Deleted.

  • wtf/WorkQueue.h:
  • wtf/dtoa.cpp:
  • wtf/dtoa.h:
  • wtf/efl/DispatchQueueEfl.cpp:

(DispatchQueue::dispatch):
(DispatchQueue::performWork):
(DispatchQueue::performTimerWork):
(DispatchQueue::insertTimerWorkItem):
(DispatchQueue::wakeUpThread):
(DispatchQueue::getNextTimeOut):

  • wtf/efl/DispatchQueueEfl.h:
  • wtf/efl/RunLoopEfl.cpp:

(WTF::RunLoop::wakeUpEvent):
(WTF::RunLoop::wakeUp):

  • wtf/threads/BinarySemaphore.cpp:

(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):

  • wtf/threads/BinarySemaphore.h:
  • wtf/win/WorkQueueWin.cpp:

(WTF::WorkQueue::handleCallback):
(WTF::WorkQueue::platformInvalidate):
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::timerCallback):
(WTF::WorkQueue::dispatchAfter):

Tools:
Running tests for a long time results in some tests running very slowly (throttling)
https://bugs.webkit.org/show_bug.cgi?id=147718

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-07
Reviewed by Chris Dumez.

Follow-up, make DumpRenderTree consistent with WebKitTestRunner.
Although COCOA ports default this setting to be disabled in WebKit1,
we should make both test harnesses disable the setting for consistency.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

11:40 AM Changeset in webkit [188143] by Simon Fraser
  • 1 edit
    8213 deletes in trunk/LayoutTests

Remove platform/ios-sim-deprecated. All of the tests here exist elsewhere already.

  • platform/ios-sim-deprecated/: Removed.
11:33 AM Changeset in webkit [188142] by Brian Burg
  • 12 edits
    149 copies
    8 moves
    7 adds
    1 delete in trunk/LayoutTests

Web Inspector: move LayoutTests/inspector-protocol/ tests to LayoutTests/inspector/
https://bugs.webkit.org/show_bug.cgi?id=147729

Reviewed by Timothy Hatcher.

Merge inspector-protocol tests into the inspector directory. Rename a few helper
resources whose names clashed. Put top-level tests into unit-tests/ and protocol/.

Update TestExpectations to not reference inspector-protocol paths.

  • TestExpectations:
  • http/tests/inspector/resources/console-test.js: Renamed from LayoutTests/inspector-protocol/resources/console-test.js.
  • http/tests/inspector/resources/probe-test.js: Renamed from LayoutTests/inspector-protocol/resources/probe-helper.js.
  • inspector-protocol/debugger/resources/breakpoint.js: Removed.
  • inspector/console/console-message-expected.txt: Renamed from LayoutTests/inspector-protocol/console/console-message-expected.txt.
  • inspector/console/console-message.html: Renamed from LayoutTests/inspector-protocol/console/console-message.html.
  • inspector/console/css-source-locations-expected.txt: Renamed from LayoutTests/inspector-protocol/console/css-source-locations-expected.txt.
  • inspector/console/css-source-locations.html: Renamed from LayoutTests/inspector-protocol/console/css-source-locations.html.
  • inspector/console/js-source-locations-expected.txt: Renamed from LayoutTests/inspector-protocol/console/js-source-locations-expected.txt.
  • inspector/console/js-source-locations.html: Renamed from LayoutTests/inspector-protocol/console/js-source-locations.html.
  • inspector/console/resources/errors.css: Renamed from LayoutTests/inspector-protocol/resources/errors.css.

(div):

  • inspector/console/resources/errors.js: Renamed from LayoutTests/inspector-protocol/resources/errors.js.

(foo):

  • inspector/console/x-frame-options-message-expected.txt: Renamed from LayoutTests/inspector-protocol/console/x-frame-options-message-expected.txt.
  • inspector/console/x-frame-options-message.html: Renamed from LayoutTests/inspector-protocol/console/x-frame-options-message.html.
  • inspector/css/getSupportedCSSProperties-expected.txt: Renamed from LayoutTests/inspector-protocol/css/getSupportedCSSProperties-expected.txt.
  • inspector/css/getSupportedCSSProperties.html: Renamed from LayoutTests/inspector-protocol/css/getSupportedCSSProperties.html.
  • inspector/debugger/breakpoint-action-detach-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-action-detach-expected.txt.
  • inspector/debugger/breakpoint-action-detach.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-action-detach.html.
  • inspector/debugger/breakpoint-action-eval.html:
  • inspector/debugger/breakpoint-action-with-exception-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-action-with-exception-expected.txt.
  • inspector/debugger/breakpoint-action-with-exception.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-action-with-exception.html.
  • inspector/debugger/breakpoint-condition-detach-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-detach-expected.txt.
  • inspector/debugger/breakpoint-condition-detach.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-detach.html.
  • inspector/debugger/breakpoint-condition-with-bad-script-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-bad-script-expected.txt.
  • inspector/debugger/breakpoint-condition-with-bad-script.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-bad-script.html.
  • inspector/debugger/breakpoint-condition-with-exception-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-exception-expected.txt.
  • inspector/debugger/breakpoint-condition-with-exception.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-exception.html.
  • inspector/debugger/breakpoint-eval-with-exception-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt.
  • inspector/debugger/breakpoint-eval-with-exception.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-eval-with-exception.html.
  • inspector/debugger/breakpoint-inside-conditons-and-actions-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-inside-conditons-and-actions-expected.txt.
  • inspector/debugger/breakpoint-inside-conditons-and-actions.html: Renamed from LayoutTests/inspector-protocol/debugger/breakpoint-inside-conditons-and-actions.html.
  • inspector/debugger/call-frame-function-name-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-function-name-expected.txt.
  • inspector/debugger/call-frame-function-name.html: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-function-name.html.
  • inspector/debugger/call-frame-this-host-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-host-expected.txt.
  • inspector/debugger/call-frame-this-host.html: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-host.html.
  • inspector/debugger/call-frame-this-nonstrict-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-nonstrict-expected.txt.
  • inspector/debugger/call-frame-this-nonstrict.html: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-nonstrict.html.
  • inspector/debugger/call-frame-this-strict-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-strict-expected.txt.
  • inspector/debugger/call-frame-this-strict.html: Renamed from LayoutTests/inspector-protocol/debugger/call-frame-this-strict.html.
  • inspector/debugger/debugger-statement-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/debugger-statement-expected.txt.
  • inspector/debugger/debugger-statement.html: Renamed from LayoutTests/inspector-protocol/debugger/debugger-statement.html.
  • inspector/debugger/didSampleProbe-multiple-probes-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/didSampleProbe-multiple-probes-expected.txt.
  • inspector/debugger/didSampleProbe-multiple-probes.html: Renamed from LayoutTests/inspector-protocol/debugger/didSampleProbe-multiple-probes.html.
  • inspector/debugger/hit-breakpoint-from-console-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/hit-breakpoint-from-console-expected.txt.
  • inspector/debugger/hit-breakpoint-from-console.html: Renamed from LayoutTests/inspector-protocol/debugger/hit-breakpoint-from-console.html.
  • inspector/debugger/nested-inspectors-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/nested-inspectors-expected.txt.
  • inspector/debugger/nested-inspectors.html: Renamed from LayoutTests/inspector-protocol/debugger/nested-inspectors.html.
  • inspector/debugger/pause-dedicated-worker-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/pause-dedicated-worker-expected.txt.
  • inspector/debugger/pause-dedicated-worker.html: Renamed from LayoutTests/inspector-protocol/debugger/pause-dedicated-worker.html.
  • inspector/debugger/pause-on-assert-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/pause-on-assert-expected.txt.
  • inspector/debugger/pause-on-assert.html: Renamed from LayoutTests/inspector-protocol/debugger/pause-on-assert.html.
  • inspector/debugger/probe-manager-add-remove-actions.html:
  • inspector/debugger/regress-133182-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/regress-133182-expected.txt.
  • inspector/debugger/regress-133182.html: Renamed from LayoutTests/inspector-protocol/debugger/regress-133182.html.
  • inspector/debugger/removeBreakpoint-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/removeBreakpoint-expected.txt.
  • inspector/debugger/removeBreakpoint.html: Renamed from LayoutTests/inspector-protocol/debugger/removeBreakpoint.html.
  • inspector/debugger/resources/assert.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/assert.js.
  • inspector/debugger/resources/dedicated-worker.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/dedicated-worker.js.
  • inspector/debugger/resources/exception.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/exception.js.
  • inspector/debugger/resources/mac-linebreaks.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/mac-linebreaks.js.
  • inspector/debugger/resources/mixed-linebreaks.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/mixed-linebreaks.js.
  • inspector/debugger/resources/script-for-breakpoint-actions.js: Copied from LayoutTests/inspector/debugger/resources/breakpoint.js.
  • inspector/debugger/resources/unix-linebreaks.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/unix-linebreaks.js.
  • inspector/debugger/resources/windows-linebreaks.js: Renamed from LayoutTests/inspector-protocol/debugger/resources/windows-linebreaks.js.
  • inspector/debugger/searchInContent-linebreaks-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/searchInContent-linebreaks-expected.txt.
  • inspector/debugger/searchInContent-linebreaks.html: Renamed from LayoutTests/inspector-protocol/debugger/searchInContent-linebreaks.html.
  • inspector/debugger/setBreakpoint-actions-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-actions-expected.txt.
  • inspector/debugger/setBreakpoint-actions.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-actions.html.
  • inspector/debugger/setBreakpoint-autoContinue-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-autoContinue-expected.txt.
  • inspector/debugger/setBreakpoint-autoContinue.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-autoContinue.html.
  • inspector/debugger/setBreakpoint-column-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-column-expected.txt.
  • inspector/debugger/setBreakpoint-column.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-column.html.
  • inspector/debugger/setBreakpoint-column.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-column.txt.
  • inspector/debugger/setBreakpoint-condition-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-condition-expected.txt.
  • inspector/debugger/setBreakpoint-condition.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-condition.html.
  • inspector/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt.
  • inspector/debugger/setBreakpoint-dfg-and-modify-local.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local.html.
  • inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt.
  • inspector/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html.
  • inspector/debugger/setBreakpoint-dfg-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg-expected.txt.
  • inspector/debugger/setBreakpoint-dfg.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-dfg.html.
  • inspector/debugger/setBreakpoint-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-expected.txt.
  • inspector/debugger/setBreakpoint-options-exception-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-options-exception-expected.txt.
  • inspector/debugger/setBreakpoint-options-exception.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint-options-exception.html.
  • inspector/debugger/setBreakpoint.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpoint.html.
  • inspector/debugger/setBreakpointByUrl-sourceURL-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpointByUrl-sourceURL-expected.txt.
  • inspector/debugger/setBreakpointByUrl-sourceURL.html: Renamed from LayoutTests/inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html.
  • inspector/debugger/setPauseOnExceptions-all-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt.
  • inspector/debugger/setPauseOnExceptions-all.html: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all.html.
  • inspector/debugger/setPauseOnExceptions-none-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt.
  • inspector/debugger/setPauseOnExceptions-none.html: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none.html.
  • inspector/debugger/setPauseOnExceptions-uncaught-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt.
  • inspector/debugger/setPauseOnExceptions-uncaught.html: Renamed from LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught.html.
  • inspector/debugger/setVariableValue-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/setVariableValue-expected.txt.
  • inspector/debugger/setVariableValue.html: Renamed from LayoutTests/inspector-protocol/debugger/setVariableValue.html.
  • inspector/debugger/terminate-dedicated-worker-while-paused-expected.txt: Renamed from LayoutTests/inspector-protocol/debugger/terminate-dedicated-worker-while-paused-expected.txt.
  • inspector/debugger/terminate-dedicated-worker-while-paused.html: Renamed from LayoutTests/inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html.
  • inspector/dom-debugger/node-removed-expected.txt: Renamed from LayoutTests/inspector-protocol/dom-debugger/node-removed-expected.txt.
  • inspector/dom-debugger/node-removed.html: Renamed from LayoutTests/inspector-protocol/dom-debugger/node-removed.html.
  • inspector/dom/dom-remove-events-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/dom-remove-events-expected.txt.
  • inspector/dom/dom-remove-events.html: Renamed from LayoutTests/inspector-protocol/dom/dom-remove-events.html.
  • inspector/dom/dom-search-crash-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/dom-search-crash-expected.txt.
  • inspector/dom/dom-search-crash.html: Renamed from LayoutTests/inspector-protocol/dom/dom-search-crash.html.
  • inspector/dom/dom-search-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/dom-search-expected.txt.
  • inspector/dom/dom-search-with-context-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/dom-search-with-context-expected.txt.
  • inspector/dom/dom-search-with-context.html: Renamed from LayoutTests/inspector-protocol/dom/dom-search-with-context.html.
  • inspector/dom/dom-search.html: Renamed from LayoutTests/inspector-protocol/dom/dom-search.html.
  • inspector/dom/focus-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/focus-expected.txt.
  • inspector/dom/focus.html: Renamed from LayoutTests/inspector-protocol/dom/focus.html.
  • inspector/dom/getAccessibilityPropertiesForNode-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt.
  • inspector/dom/getAccessibilityPropertiesForNode.html: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html.
  • inspector/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion-expected.txt.
  • inspector/dom/getAccessibilityPropertiesForNode_liveRegion.html: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html.
  • inspector/dom/getAccessibilityPropertiesForNode_mouseEventNodeId-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId-expected.txt.
  • inspector/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html: Renamed from LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html.
  • inspector/dom/highlight-flow-with-no-region-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/highlight-flow-with-no-region-expected.txt.
  • inspector/dom/highlight-flow-with-no-region.html: Renamed from LayoutTests/inspector-protocol/dom/highlight-flow-with-no-region.html.
  • inspector/dom/remove-multiple-nodes-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/remove-multiple-nodes-expected.txt.
  • inspector/dom/remove-multiple-nodes.html: Renamed from LayoutTests/inspector-protocol/dom/remove-multiple-nodes.html.
  • inspector/dom/request-child-nodes-depth-expected.txt: Renamed from LayoutTests/inspector-protocol/dom/request-child-nodes-depth-expected.txt.
  • inspector/dom/request-child-nodes-depth.html: Renamed from LayoutTests/inspector-protocol/dom/request-child-nodes-depth.html.
  • inspector/dom/resources/dom-search-crash-iframe.html: Renamed from LayoutTests/inspector-protocol/dom/resources/dom-search-crash-iframe.html.
  • inspector/dom/resources/dom-search-iframe.html: Renamed from LayoutTests/inspector-protocol/dom/resources/dom-search-iframe.html.
  • inspector/dom/resources/dom-search-queries.js: Renamed from LayoutTests/inspector-protocol/dom/resources/dom-search-queries.js.
  • inspector/layers/layers-anonymous-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-anonymous-expected.txt.
  • inspector/layers/layers-anonymous.html: Renamed from LayoutTests/inspector-protocol/layers/layers-anonymous.html.
  • inspector/layers/layers-blending-compositing-reasons-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-blending-compositing-reasons-expected.txt.
  • inspector/layers/layers-blending-compositing-reasons.html: Renamed from LayoutTests/inspector-protocol/layers/layers-blending-compositing-reasons.html.
  • inspector/layers/layers-compositing-reasons-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-compositing-reasons-expected.txt.
  • inspector/layers/layers-compositing-reasons.html: Renamed from LayoutTests/inspector-protocol/layers/layers-compositing-reasons.html.
  • inspector/layers/layers-for-node-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-for-node-expected.txt.
  • inspector/layers/layers-for-node.html: Renamed from LayoutTests/inspector-protocol/layers/layers-for-node.html.
  • inspector/layers/layers-generated-content-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-generated-content-expected.txt.
  • inspector/layers/layers-generated-content.html: Renamed from LayoutTests/inspector-protocol/layers/layers-generated-content.html.
  • inspector/layers/layers-reflected-content-expected.txt: Renamed from LayoutTests/inspector-protocol/layers/layers-reflected-content-expected.txt.
  • inspector/layers/layers-reflected-content.html: Renamed from LayoutTests/inspector-protocol/layers/layers-reflected-content.html.
  • inspector/page/archive-expected.txt: Renamed from LayoutTests/inspector-protocol/page/archive-expected.txt.
  • inspector/page/archive.html: Renamed from LayoutTests/inspector-protocol/page/archive.html.
  • inspector/page/frameScheduledNavigation-expected.txt: Renamed from LayoutTests/inspector-protocol/page/frameScheduledNavigation-expected.txt.
  • inspector/page/frameScheduledNavigation.html: Renamed from LayoutTests/inspector-protocol/page/frameScheduledNavigation.html.
  • inspector/page/frameStartedLoading-expected.txt: Renamed from LayoutTests/inspector-protocol/page/frameStartedLoading-expected.txt.
  • inspector/page/frameStartedLoading.html: Renamed from LayoutTests/inspector-protocol/page/frameStartedLoading.html.
  • inspector/page/javascriptDialogEvents-expected.txt: Renamed from LayoutTests/inspector-protocol/page/javascriptDialogEvents-expected.txt.
  • inspector/page/javascriptDialogEvents.html: Renamed from LayoutTests/inspector-protocol/page/javascriptDialogEvents.html.
  • inspector/page/resources/blank.html: Renamed from LayoutTests/inspector-protocol/page/resources/blank.html.
  • inspector/page/setEmulatedMedia-expected.txt: Renamed from LayoutTests/inspector-protocol/page/setEmulatedMedia-expected.txt.
  • inspector/page/setEmulatedMedia.html: Renamed from LayoutTests/inspector-protocol/page/setEmulatedMedia.html.
  • inspector/protocol/protocol-promise-result-expected.txt: Renamed from LayoutTests/inspector/protocol-promise-result-expected.txt.
  • inspector/protocol/protocol-promise-result.html: Renamed from LayoutTests/inspector/protocol-promise-result.html.
  • inspector/runtime/getProperties-expected.txt: Renamed from LayoutTests/inspector-protocol/runtime/getProperties-expected.txt.
  • inspector/runtime/getProperties.html: Renamed from LayoutTests/inspector-protocol/runtime/getProperties.html.
  • inspector/unit-tests/async-test-suite-expected.txt: Renamed from LayoutTests/inspector-protocol/async-test-suite-expected.txt.
  • inspector/unit-tests/async-test-suite.html: Renamed from LayoutTests/inspector-protocol/async-test-suite.html.
  • inspector/unit-tests/event-listener-expected.txt: Renamed from LayoutTests/inspector/event-listener-expected.txt.
  • inspector/unit-tests/event-listener-set-expected.txt: Renamed from LayoutTests/inspector/event-listener-set-expected.txt.
  • inspector/unit-tests/event-listener-set.html: Renamed from LayoutTests/inspector/event-listener-set.html.
  • inspector/unit-tests/event-listener.html: Renamed from LayoutTests/inspector/event-listener.html.
  • inspector/unit-tests/sync-test-suite-expected.txt: Renamed from LayoutTests/inspector-protocol/sync-test-suite-expected.txt.
  • inspector/unit-tests/sync-test-suite.html: Renamed from LayoutTests/inspector-protocol/sync-test-suite.html.
  • inspector/unit-tests/test-harness-trivially-works-expected.txt: Renamed from LayoutTests/inspector/test-harness-trivially-works-expected.txt.
  • inspector/unit-tests/test-harness-trivially-works.html: Renamed from LayoutTests/inspector/test-harness-trivially-works.html.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
11:27 AM Changeset in webkit [188141] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix WinCairo build after r188130.

  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
I forgot the parameter name.

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

Fix WinCairo build after r188130.

  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
Update fontPlatformData parameters.

11:11 AM Changeset in webkit [188139] by Joseph Pecoraro
  • 2 edits in trunk/Tools

Running tests for a long time results in some tests running very slowly (throttling)
https://bugs.webkit.org/show_bug.cgi?id=147718

Reviewed by Chris Dumez.

Follow-up, make DumpRenderTree consistent with WebKitTestRunner.
Although COCOA ports default this setting to be disabled in WebKit1,
we should make both test harnesses disable the setting for consistency.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

10:58 AM Changeset in webkit [188138] by Devin Rousso
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Option+Up/Down arrow keys should increment/decrement numbers in HTML and SVG attributes
https://bugs.webkit.org/show_bug.cgi?id=147317

Reviewed by Timothy Hatcher.

If the value under the cursor in an HTML element attribute is a number, pressing alt and
up/down will increment/decrement the number value and apply that change to the element.

  • UserInterface/Views/BoxModelDetailsSectionRow.js:

(WebInspector.BoxModelDetailsSectionRow.prototype._alteredFloatNumber):
(WebInspector.BoxModelDetailsSectionRow.prototype._handleKeyDown):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._startEditingAttribute):
(WebInspector.DOMTreeElement.prototype._attributeEditingCommitted):
(WebInspector.DOMTreeElement.prototype._attributeNumberEditingCommitted):

  • UserInterface/Views/EditingSupport.js:

(WebInspector.EditingConfig.prototype.setNumberCommitHandler):
(WebInspector.startEditing.defaultFinishHandler):
(WebInspector.startEditing.handleEditingResult):

10:47 AM Changeset in webkit [188137] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Attempt to fix the Windows build after <http://trac.webkit.org/changeset/188130>
(https://bugs.webkit.org/show_bug.cgi?id=147775)

Include header FontDescription.h.

  • platform/graphics/win/FontCustomPlatformData.cpp:
  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:
10:41 AM Changeset in webkit [188136] by saambarati1@gmail.com
  • 20 edits in trunk/Source/JavaScriptCore

Interpreter::unwind shouldn't be responsible for assigning the correct scope.
https://bugs.webkit.org/show_bug.cgi?id=147666

Reviewed by Geoffrey Garen.

If we make the bytecode generator know about every local scope it
creates, and if we give each local scope a unique register, the
bytecode generator has all the information it needs to assign
the correct scope to a catch handler. Because the bytecode generator
knows this information, it's a better separation of responsibilties
for it to set up the proper scope instead of relying on the exception
handling runtime to find the scope.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecode/HandlerInfo.h:

(JSC::UnlinkedHandlerInfo::UnlinkedHandlerInfo):
(JSC::HandlerInfo::initialize):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):
(JSC::BytecodeGenerator::emitGetScope):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitGetParentScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitPopWithScope):
(JSC::BytecodeGenerator::allocateAndEmitScope):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::pushTry):
(JSC::BytecodeGenerator::popTryAndEmitCatch):
(JSC::BytecodeGenerator::localScopeDepth):
(JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler): Deleted.

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

(JSC::WithNode::emitBytecode):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::unwind):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::compileOpStrictEq):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_to_number):

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

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/JSScope.cpp:

(JSC::JSScope::objectAtScope):
(JSC::isUnscopable):
(JSC::JSScope::depth): Deleted.

  • runtime/JSScope.h:
10:31 AM Changeset in webkit [188135] by Yusuke Suzuki
  • 6 edits in trunk/Source/JavaScriptCore

Add MacroAssembler::patchableBranch64 and fix ARM64's patchableBranchPtr
https://bugs.webkit.org/show_bug.cgi?id=147761

Reviewed by Mark Lam.

This patch implements MacroAssembler::patchableBranch64 in 64bit environments.
And fix the existing MacroAssemblerARM64::patchableBranchPtr, before this patch,
it truncates the immediate pointer into the 32bit immediate.
And use patchableBranch64 in the baseline JIT under the JSVALUE64 configuration.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::patchableBranchPtr):
(JSC::MacroAssemblerARM64::patchableBranch64):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::patchableBranch64):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::emitPatchableJumpIfNotImmediateInteger):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):

10:30 AM Changeset in webkit [188134] by Simon Fraser
  • 1 edit
    37 deletes in trunk/LayoutTests

ios-sim-deprecated/iphone/fast/events/touch/ already existed in fast/events/touch, so remove them.

  • platform/ios-sim-deprecated/iphone/fast/events/touch/document-create-touch-list-ios-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/document-create-touch-list-ios.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/gesture-event-basic-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/gesture-event-basic.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/input-touch-target-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/input-touch-target.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/inserted-fragment-touch-target-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/inserted-fragment-touch-target.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/moved-touch-target-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/moved-touch-target.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/multi-touch-some-without-handlers-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/multi-touch-some-without-handlers.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/ontouchstart-active-selector-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/ontouchstart-active-selector.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/removed-fragment-touch-target-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/removed-fragment-touch-target.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/removed-touch-target-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/removed-touch-target.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/TEMPLATE.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/document-create-touch-list-ios.js: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/input-touch-target.js: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/multi-touch-some-without-handlers.js: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/text-node-touch-target.js: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/textarea-touch-target.js: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/touch-event-frames.js: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/touch-event-pageXY.js: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/script-tests/zoomed-touch-event-pageXY.js: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/text-node-touch-target-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/text-node-touch-target.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/textarea-touch-target-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/textarea-touch-target.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/touch-event-frames-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/touch-event-frames.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/touch-event-pageXY-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/touch-event-pageXY.html: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/zoomed-touch-event-pageXY-expected.txt: Removed.
  • platform/ios-sim-deprecated/iphone/fast/events/touch/zoomed-touch-event-pageXY.html: Removed.
10:30 AM Changeset in webkit [188133] by Simon Fraser
  • 1 edit
    2 moves in trunk/LayoutTests

Move platform/ios-sim-deprecated/http/tests/loading/multiple-prioritization.html into http/tests/loading/

  • http/tests/loading/multiple-prioritization-expected.txt: Renamed from LayoutTests/platform/ios-sim-deprecated/http/tests/loading/multiple-prioritization-expected.txt.
  • http/tests/loading/multiple-prioritization.html: Renamed from LayoutTests/platform/ios-sim-deprecated/http/tests/loading/multiple-prioritization.html.
10:30 AM Changeset in webkit [188132] by Simon Fraser
  • 5 edits
    6 moves
    3 adds
    2 deletes in trunk/LayoutTests

Move ios-sim-deprecated/fast/dom/ tests into fast/dom

  • TestExpectations:
  • fast/dom/Range/expand-word-with-apostrophe-expected.txt: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/Range/expand-word-with-apostrophe-expected.txt.
  • fast/dom/Range/expand-word-with-apostrophe.html: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/Range/expand-word-with-apostrophe.html.
  • fast/dom/Window/no-window-resize-on-document-size-change-expected.txt: Added.
  • fast/dom/Window/no-window-resize-on-document-size-change.html: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/Window/no-window-resize-on-document-size-change.html.
  • fast/dom/adopt-attribute-crash-expected.txt:
  • fast/dom/navigator-iOS-userAgent-expected.txt: Added.
  • fast/dom/navigator-iOS-userAgent.html: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/navigator-iOS-userAgent.html.
  • fast/dom/timer-fire-after-page-pause-expected.txt: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/timer-fire-after-page-pause-expected.txt.
  • fast/dom/timer-fire-after-page-pause.html: Renamed from LayoutTests/platform/ios-sim-deprecated/fast/dom/timer-fire-after-page-pause.html.
  • platform/ios-sim-deprecated/fast/dom/Window/no-window-resize-on-document-size-change-expected.txt: Removed.
  • platform/ios-sim-deprecated/fast/dom/navigator-iOS-userAgent-expected.txt: Removed.
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/fast/dom/navigator-iOS-userAgent-expected.txt: Added.
10:30 AM Changeset in webkit [188131] by Simon Fraser
  • 4 edits
    1 copy
    4 moves
    1 delete in trunk/LayoutTests

Move two ios-sim-deprecated/animations/ tests into animations.

  • animations/resources/anim.html: Renamed from LayoutTests/platform/ios-sim-deprecated/animations/resources/anim.html.
  • animations/restart-after-scroll-expected.txt: Copied from LayoutTests/platform/ios-sim-deprecated/animations/restart-after-scroll-nested-expected.txt.
  • animations/restart-after-scroll-nested-expected.txt: Renamed from LayoutTests/platform/ios-sim-deprecated/animations/restart-after-scroll-nested-expected.txt.
  • animations/restart-after-scroll-nested.html: Renamed from LayoutTests/platform/ios-sim-deprecated/animations/restart-after-scroll-nested.html.
  • animations/restart-after-scroll.html: Renamed from LayoutTests/platform/ios-sim-deprecated/animations/restart-after-scroll.html.
  • platform/ios-sim-deprecated/animations/restart-after-scroll-expected.txt: Removed.
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
10:06 AM Changeset in webkit [188130] by mmaxfield@apple.com
  • 15 edits in trunk/Source/WebCore

Allow FontCustomPlatformData to consult with FontDescription
https://bugs.webkit.org/show_bug.cgi?id=147775

Reviewed by Zalan Bujtas.

In order to implement font-feature-settings, web fonts need to be
able to consult with the set of active font features. Rather than
add yet another argument to all the functions in this flow, this
patch passes around a reference to the FontDescription itself instead
of copies of constituent members of it.

No new tests because there is no behavior change.

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::font):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::createFont):
(WebCore::CachedFont::platformDataFromCustomData):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::platformDataFromCustomData):

  • loader/cache/CachedSVGFont.h:
  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • platform/graphics/freetype/FontPlatformData.h:
  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::FontPlatformData):

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::Font::platformCreateScaledFont):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • platform/graphics/mac/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData):

  • platform/graphics/win/FontCustomPlatformData.h:
10:04 AM Changeset in webkit [188129] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Use a specific version of Speedometer in run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=147769

Reviewed by Chris Dumez.

Use the current latest revision as we work towards the bug 147768 (Update frameworks in Speedometer).

  • Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan:
9:36 AM Changeset in webkit [188128] by rniwa@webkit.org
  • 2 edits in trunk/Tools

twisted_http_server.py should support --port
https://bugs.webkit.org/show_bug.cgi?id=147771

Reviewed by Chris Dumez.

Added the option. This makes the script more useful on its own.

  • Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
9:35 AM Changeset in webkit [188127] by calvaris@igalia.com
  • 22 edits
    3 adds
    1 delete in trunk

[Streams API] Create CountQueuingStrategy object as per spec
https://bugs.webkit.org/show_bug.cgi?id=146594

Reviewed by Geoffrey Garen.

Source/WebCore:

CountQueuingStrategy is a class part of the Streams API that can be found at
https://streams.spec.whatwg.org/#cqs-class. We had it as js at the tests but the spec says we have to provide it
natively. The class is implemented in this patch by creating its corresponding IDL with the size method using
the [CustomBinding] attribute, that does not create any bindings against the object allowing us full control to
do what the spec requires (just returning 1 without any cast check). The constructor sets the highWaterMark
property taking it from the argument.

Covered by current tests
(LayoutTests/streams/reference-implementation/count-queuing-strategy.html and
LayoutTests/streams/reference-implementation/brand-checks.html).

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • PlatformMac.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp: Build infrastructure.
  • Modules/streams/CountQueuingStrategy.h: Added.

(WebCore::CountQueuingStrategy::~CountQueuingStrategy): Created empty.
(WebCore::CountQueuingStrategy::size): Returns 1.

  • Modules/streams/CountQueuingStrategy.idl: Added.
  • bindings/js/JSCountQueuingStrategyCustom.cpp: Added.

(WebCore::jsCountQueuingStrategyPrototypeFunctionSize): Calls WebCore::CountQueuingStrategy::size.
(WebCore::constructJSCountQueuingStrategy): Constructs the strategy, copies the highWaterMark from the argument
and returns it.

  • bindings/js/JSDOMBinding.h:

(WebCore::getPropertyFromObject): Moved from ReadableJSStream.cpp.
(WebCore::setPropertyToObject): Added to create a property into an object.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::getPropertyFromObject): Deleted.

LayoutTests:

  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt: Updated expectations with

CountQueuingStrategy constructor.

  • streams/reference-implementation/brand-checks.html:
  • streams/reference-implementation/count-queuing-strategy.html: Removed reference to count-queuing-strategy.js.
  • streams/reference-implementation/resources/count-queuing-strategy.js: Removed.

(CountQueuingStrategy): Deleted.
(CountQueuingStrategy.prototype.size): Deleted.

9:04 AM Changeset in webkit [188126] by beidson@apple.com
  • 10 edits
    8 moves in trunk/Source

Move concrete KeyedDecoder/Encoder implementations to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=147757.

Rubberstamped by Andy Estes.

Source/WebCore:

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/KeyedCoding.h:

(WebCore::KeyedDecoder::KeyedDecoder): Static constructor to be implemented per-platform.
(WebCore::KeyedEncoder::KeyedEncoder): Ditto.

  • platform/cf/KeyedDecoderCF.cpp: Renamed from Source/WebKit2/Shared/cf/KeyedDecoder.cpp.

(WebCore::KeyedDecoder::decoder):
(WebCore::KeyedDecoderCF::KeyedDecoderCF):
(WebCore::KeyedDecoderCF::~KeyedDecoderCF):
(WebCore::KeyedDecoderCF::decodeBytes):
(WebCore::KeyedDecoderCF::decodeBool):
(WebCore::KeyedDecoderCF::decodeUInt32):
(WebCore::KeyedDecoderCF::decodeInt32):
(WebCore::KeyedDecoderCF::decodeInt64):
(WebCore::KeyedDecoderCF::decodeFloat):
(WebCore::KeyedDecoderCF::decodeDouble):
(WebCore::KeyedDecoderCF::decodeString):
(WebCore::KeyedDecoderCF::beginObject):
(WebCore::KeyedDecoderCF::endObject):
(WebCore::KeyedDecoderCF::beginArray):
(WebCore::KeyedDecoderCF::beginArrayElement):
(WebCore::KeyedDecoderCF::endArrayElement):
(WebCore::KeyedDecoderCF::endArray):

  • platform/cf/KeyedDecoderCF.h: Renamed from Source/WebKit2/Shared/cf/KeyedDecoder.h.
  • platform/cf/KeyedEncoderCF.cpp: Renamed from Source/WebKit2/Shared/cf/KeyedEncoder.cpp.

(WebCore::KeyedEncoder::encoder):
(WebCore::createDictionary):
(WebCore::KeyedEncoderCF::KeyedEncoderCF):
(WebCore::KeyedEncoderCF::~KeyedEncoderCF):
(WebCore::KeyedEncoderCF::encodeBytes):
(WebCore::KeyedEncoderCF::encodeBool):
(WebCore::KeyedEncoderCF::encodeUInt32):
(WebCore::KeyedEncoderCF::encodeInt32):
(WebCore::KeyedEncoderCF::encodeInt64):
(WebCore::KeyedEncoderCF::encodeFloat):
(WebCore::KeyedEncoderCF::encodeDouble):
(WebCore::KeyedEncoderCF::encodeString):
(WebCore::KeyedEncoderCF::beginObject):
(WebCore::KeyedEncoderCF::endObject):
(WebCore::KeyedEncoderCF::beginArray):
(WebCore::KeyedEncoderCF::beginArrayElement):
(WebCore::KeyedEncoderCF::endArrayElement):
(WebCore::KeyedEncoderCF::endArray):
(WebCore::KeyedEncoderCF::finishEncoding):

  • platform/cf/KeyedEncoderCF.h: Renamed from Source/WebKit2/Shared/cf/KeyedEncoder.h.
  • platform/glib/KeyedDecoderGlib.cpp: Renamed from Source/WebKit2/Shared/glib/KeyedDecoder.cpp.

(WebCore::KeyedDecoder::decoder):
(WebCore::KeyedDecoderGlib::KeyedDecoderGlib):
(WebCore::KeyedDecoderGlib::~KeyedDecoderGlib):
(WebCore::KeyedDecoderGlib::dictionaryFromGVariant):
(WebCore::KeyedDecoderGlib::decodeBytes):
(WebCore::KeyedDecoderGlib::decodeSimpleValue):
(WebCore::KeyedDecoderGlib::decodeBool):
(WebCore::KeyedDecoderGlib::decodeUInt32):
(WebCore::KeyedDecoderGlib::decodeInt32):
(WebCore::KeyedDecoderGlib::decodeInt64):
(WebCore::KeyedDecoderGlib::decodeFloat):
(WebCore::KeyedDecoderGlib::decodeDouble):
(WebCore::KeyedDecoderGlib::decodeString):
(WebCore::KeyedDecoderGlib::beginObject):
(WebCore::KeyedDecoderGlib::endObject):
(WebCore::KeyedDecoderGlib::beginArray):
(WebCore::KeyedDecoderGlib::beginArrayElement):
(WebCore::KeyedDecoderGlib::endArrayElement):
(WebCore::KeyedDecoderGlib::endArray):

  • platform/glib/KeyedDecoderGlib.h: Renamed from Source/WebKit2/Shared/glib/KeyedDecoder.h.
  • platform/glib/KeyedEncoderGlib.cpp: Renamed from Source/WebKit2/Shared/glib/KeyedEncoder.cpp.

(WebCore::KeyedEncoder::encoder):
(WebCore::KeyedEncoderGlib::KeyedEncoderGlib):
(WebCore::KeyedEncoderGlib::~KeyedEncoderGlib):
(WebCore::KeyedEncoderGlib::encodeBytes):
(WebCore::KeyedEncoderGlib::encodeBool):
(WebCore::KeyedEncoderGlib::encodeUInt32):
(WebCore::KeyedEncoderGlib::encodeInt32):
(WebCore::KeyedEncoderGlib::encodeInt64):
(WebCore::KeyedEncoderGlib::encodeFloat):
(WebCore::KeyedEncoderGlib::encodeDouble):
(WebCore::KeyedEncoderGlib::encodeString):
(WebCore::KeyedEncoderGlib::beginObject):
(WebCore::KeyedEncoderGlib::endObject):
(WebCore::KeyedEncoderGlib::beginArray):
(WebCore::KeyedEncoderGlib::beginArrayElement):
(WebCore::KeyedEncoderGlib::endArrayElement):
(WebCore::KeyedEncoderGlib::endArray):
(WebCore::KeyedEncoderGlib::finishEncoding):

  • platform/glib/KeyedEncoderGlib.h: Renamed from Source/WebKit2/Shared/glib/KeyedEncoder.h.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/IDBSerialization.cpp:

(WebKit::serializeIDBKeyPath):
(WebKit::deserializeIDBKeyPath):
(WebKit::serializeIDBKeyData):
(WebKit::deserializeIDBKeyData):

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebKit2.xcodeproj/project.pbxproj:
8:28 AM Changeset in webkit [188125] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] WTF unit tests are timing out in the bots
https://bugs.webkit.org/show_bug.cgi?id=147777

Reviewed by Filip Pizlo.

Add a way to mark google unit tests as slow and add
WTF_Lock.ContentedShortSection to the list. In case of slow test
we use the double of the given timeout for that particular test.

  • Scripts/run-gtk-tests:

(TestRunner):
(TestRunner._run_google_test):

5:01 AM WebKitIDL edited by calvaris@igalia.com
(diff)
4:17 AM Changeset in webkit [188124] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ compile warning also introduced in r188121.

  • UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp:

(webkit_install_missing_media_plugins_permission_request_get_description):

3:51 AM Changeset in webkit [188123] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ debug build after r188121.

  • UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp:

(webkit_install_missing_media_plugins_permission_request_get_description):

3:27 AM Changeset in webkit [188122] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] run-gtk-tests should not stop when a google test case fails
https://bugs.webkit.org/show_bug.cgi?id=147778

Reviewed by Philippe Normand.

For glib based tests we run the test runner with the -k option,
but for google tests we are aborting as soon as we find a failure.

  • Scripts/run-gtk-tests:

(TestRunner._run_google_test_suite): Use a global return code that
is set to 1 when any test has failed.

2:51 AM Changeset in webkit [188121] by Carlos Garcia Campos
  • 34 edits
    2 copies
    3 adds in trunk

[GStreamer] Do not automatically show PackageKit codec installation notifications
https://bugs.webkit.org/show_bug.cgi?id=135973

Reviewed by Philippe Normand.

Source/WebCore:

Add description parameter to requestInstallMissingPlugins() that
will be used by the API layer.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::requestInstallMissingPlugins):

  • html/HTMLMediaElement.h:
  • page/ChromeClient.h:
  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::requestInstallMissingPlugins):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

Source/WebKit2:

Add InstallMissingMediaPluginsPermissionRequest to ask the API
layer whether to allow or deny the installation of missing media
plugins. And add a GTK+ implementation based on current permission
request API. Replace the
PageClientImpl::createGstInstallPluginsContext() with
decicePolicyForInstallMissingMediaPluginsPermissionRequest() that
passes the InstallMissingMediaPluginsPermissionRequest object to
the API layer. The allow method receives the
GstInstallPluginsContext now, so that it can be created by the API implementation.

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::decicePolicyForInstallMissingMediaPluginsPermissionRequest):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp: Added.

(createGstInstallPluginsContext):
(webkitInstallMissingMediaPluginsPermissionRequestAllow):
(webkitInstallMissingMediaPluginsPermissionRequestDeny):
(webkit_permission_request_interface_init):
(webkitInstallMissingMediaPluginsPermissionRequestDispose):
(webkit_install_missing_media_plugins_permission_request_class_init):
(webkitInstallMissingMediaPluginsPermissionRequestCreate):
(webkit_install_missing_media_plugins_permission_request_get_description):

  • UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.h: Added.
  • UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequestPrivate.h: Added.
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewRequestInstallMissingMediaPlugins):

  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0.types:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
  • UIProcess/API/gtk/webkit2.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/efl/WebViewEfl.h:
  • UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.cpp: Copied from Source/WebKit2/UIProcess/gstreamer/WebPageProxyGStreamer.cpp.

(WebKit::InstallMissingMediaPluginsPermissionRequest::InstallMissingMediaPluginsPermissionRequest):
(WebKit::InstallMissingMediaPluginsPermissionRequest::~InstallMissingMediaPluginsPermissionRequest):
(WebKit::InstallMissingMediaPluginsPermissionRequest::allow):
(WebKit::InstallMissingMediaPluginsPermissionRequest::deny):
(WebKit::InstallMissingMediaPluginsPermissionRequest::didEndRequestInstallMissingMediaPlugins):

  • UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h: Copied from Source/WebKit2/WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp.

(WebKit::InstallMissingMediaPluginsPermissionRequest::create):
(WebKit::InstallMissingMediaPluginsPermissionRequest::page):
(WebKit::InstallMissingMediaPluginsPermissionRequest::details):
(WebKit::InstallMissingMediaPluginsPermissionRequest::description):

  • UIProcess/gstreamer/WebPageProxyGStreamer.cpp:

(WebKit::WebPageProxy::requestInstallMissingMediaPlugins):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::requestInstallMissingMediaPlugins):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp:

(WebKit::WebPage::requestInstallMissingMediaPlugins):

Tools:

Handle the missing media plugins installation permission request
in MiniBrowser and add a test case for the new API.

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewDecidePermissionRequest):

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(permissionRequestCallback):
(testInstallMissingPluginsPermissionRequest):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(methodCallCallback):

1:32 AM Changeset in webkit [188120] by commit-queue@webkit.org
  • 4 edits in trunk

AX: Bug 147737 is causing test failures in Mavericks WK1
https://bugs.webkit.org/show_bug.cgi?id=147763

Source/WebCore:

Restrict change made in 147737 to ElCapitan+ because it is causing tests
to fail in Mavericks.

Patch by Doug Russell <d_russell@apple.com> on 2015-08-07
Reviewed by Chris Fleizach.

Fixes failing tests.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):

LayoutTests:

Patch by Doug Russell <d_russell@apple.com> on 2015-08-07
Reviewed by Chris Fleizach.

  • platform/mac/TestExpectations:
1:15 AM Changeset in webkit [188119] by calvaris@igalia.com
  • 8 edits in trunk/Source/WebCore

Create [CustomBinding] extended IDL attribute
https://bugs.webkit.org/show_bug.cgi?id=146593

Reviewed by Geoffrey Garen.

Added the [CustomBinding] IDL extended attribute. The idea is that when using this attribute, bindings generate
only the signature of the JS functions and we have to implement all the access in the Custom.cpp files, meaning
accessing the implementations at our wish.

Added customBindingMethod, customBindingMethodWithArgs to the generator tests.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Skipped [CustomBinding] methods.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Consider CustomBinding as ForwardDeclareInHeader.
(GenerateImplementation): Avoid printing both header and implementation of the function.

  • bindings/scripts/CodeGeneratorObjC.pm:

(SkipFunction): Skipped [CustomBinding] methods.

  • bindings/scripts/IDLAttributes.txt: Added [CustomBinding] IDL extended attribute.
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/TestObj.idl: Added customBindingMethod, customBindingMethodWithArgs and their

expectations.

Note: See TracTimeline for information about the timeline view.