⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Oct 3, 2015:

7:38 PM Changeset in webkit [190547] by commit-queue@webkit.org
  • 5 edits in trunk/Source

"Plug-in is blocked" message doesn't draw correctly
https://bugs.webkit.org/show_bug.cgi?id=149741
<rdar://problem/22920949>

Patch by Conrad Shultz and Ricky Mondello.

Patch by Ricky Mondello <Ricky Mondello> on 2015-10-03
Reviewed by Anders Carlsson.

Source/WebCore:

No new tests are added.

Add PluginData API to check whether a MIME type is supported, regardless of plug-in visibility.

  • plugins/PluginData.cpp:

(WebCore::PluginData::getWebVisibleMimesAndPluginIndices): Adopt getMimesAndPluginIndiciesForPlugins.
(WebCore::PluginData::getMimesAndPluginIndices): Added.
(WebCore::PluginData::getMimesAndPluginIndiciesForPlugins): Essentially factored out of

getWebVisibleMimesAndPluginIndices.

(WebCore::PluginData::supportsMimeType): Added. Somewhat similar to preexisting supportsWebVisibleMimeType.

  • plugins/PluginData.h: Declare supportsMimeType.

Source/WebKit2:

If a WebKit client sets plug-in X to not be visible to the web, that doesn't mean we shouldn't consult
that plug-in when determining what kind of object type an object is. Properly classifying a non-web-visible
Netscape plug-in as such allows its bounds to properly measured, allowing it to be drawn properly.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::objectContentType): Use PluginData's supportsMimeType, rather than its

supportsWebVisibleMimeType, when determining the ObjectContentType for a MIME type on a url.

6:45 PM Changeset in webkit [190546] by commit-queue@webkit.org
  • 56 edits in trunk/Source/JavaScriptCore

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

Caused a lot of leaks (Requested by ap on #webkit).

Reverted changeset:

"Unreviewed, rolling back in r190450"
https://bugs.webkit.org/show_bug.cgi?id=149727
http://trac.webkit.org/changeset/190522

5:43 PM Changeset in webkit [190545] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/events/overflow-scroll-fake-mouse-move.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=138697

Reviewed by Brent Fulgham.

  • fast/events/overflow-scroll-fake-mouse-move.html:
3:13 AM Changeset in webkit [190544] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Make the test added in r190530 not time out on the ports that don't enable shadow DOM.

Call waitUntilDone after calling attachShadow so that an exception thrown by calling attachShadow
will prevent waitUntilDone from getting called on those ports.

  • fast/shadow-dom/insert-child-to-assigned-node.html:

Oct 2, 2015:

10:04 PM Changeset in webkit [190543] by dbates@webkit.org
  • 4 edits
    2 adds in trunk/Tools

Add iOS 9 Simulator builders and testers to WebKit Bot Watcher's Dashboard
https://bugs.webkit.org/show_bug.cgi?id=149769

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9Simulator.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9Simulator@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.ios-simulator-9 img.logo):

8:18 PM Changeset in webkit [190542] by Matt Baker
  • 13 edits in trunk/Source

Web Inspector: Add breakpoint option to ignore n times before stopping
https://bugs.webkit.org/show_bug.cgi?id=147664

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • debugger/Breakpoint.h:

(JSC::Breakpoint::Breakpoint):
Added ignoreCount and hitCount fields. Cleaned up initializers.

  • debugger/Debugger.cpp:

(JSC::Debugger::hasBreakpoint):
If a breakpoint matches the current text position, increment breakpoint hit count and
compare with ignore count before testing the breakpoint condition.

  • inspector/ScriptBreakpoint.h:

(Inspector::ScriptBreakpoint::ScriptBreakpoint):
Added ignoreCount field. Cleaned up initializers.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::setBreakpoint):
Added ignoreCount field.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::didParseSource):
Plumbing for ignoreCount property.

  • inspector/protocol/Debugger.json:

Added optional ignoreCount property to BreakpointOptions object.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New strings for breakpoint popover labels.

  • UserInterface/Controllers/BreakpointPopoverController.js:

(WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
Add ignoreCount UI to popover, if backend support exists. UI based on same
feature in Xcode's breakpoint editing dialog.
(WebInspector.BreakpointPopoverController.prototype._popoverIgnoreInputChanged):
User input sanity checks on numeric input.

  • UserInterface/Controllers/DebuggerManager.js:

Listen for changes to breakpoint ignoreCount property.

  • UserInterface/Models/Breakpoint.js:

(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.get ignoreCount):
(WebInspector.Breakpoint.prototype.set ignoreCount):
New property for ignoreCount.
(WebInspector.Breakpoint.prototype.get options):
Added ignoreCount to options object.
(WebInspector.Breakpoint.prototype.get info):
Added ignoreCount to info object.

  • UserInterface/Views/BreakpointPopoverController.css:

(#edit-breakpoint-popover-ignore):
New styles for breakpoint popover.

8:10 PM Changeset in webkit [190541] by commit-queue@webkit.org
  • 1 edit
    4 adds in trunk/PerformanceTests

Add shared code for a new a graphics benchmark
https://bugs.webkit.org/show_bug.cgi?id=149691

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-10-02
Reviewed by Ryosuke Niwa.

This set of classes will be shared and used by the tests and the runner
of a new graphics benchmark.

  • Animometer/resources: Added.
  • Animometer/resources/algorithm.js: Added.

(Array.prototype.swap): Swaps two elements in an array.
(Heap): Binary Min/Max Heap object
(Heap.prototype._parentIndex): Given the child node index, it returns the parent index.
(Heap.prototype._leftIndex): Given the parent node index, it returns the left node index.
(Heap.prototype._rightIndex): Given the parent node index, it returns the right node index.
(Heap.prototype._childIndex): Given the parent node index, it returns the child index that may violate the heap property.
(Heap.prototype.init): Initializes the heap state.
(Heap.prototype.top): Returns the value stored at the top of the heap.
(Heap.prototype.push): Pushes a new node at the top of the heap.
(Heap.prototype.pop): Extracts the top node of the heap.
(Heap.prototype._bubble): Fixes the heap property by moving upward.
(Heap.prototype._sink): Fixes the heap property by moving downward.
(Heap.prototype.str): Prints the nodes of the heap to a string.
(Heap.prototype.values): Returns the last "size" heap elements values.

(Algorithm.createMinHeap): Creates a size-bounded min-heap object.
(Algorithm.createMaxHeap): Creates a size-bounded max-heap object.

  • Animometer/resources/extensions.js: Added.

(Point): Point object but can be used as size also.
(Point.pointOnCircle): Given, the radius of the circle and the angle of the point, it returns a point object.
(Point.pointOnEllipse): Given, the radiuses of the ellipse and the angle of the point, it returns a point object.
(Point.prototype.get width): Should be called when the point is used as size.
(Point.prototype.get height): Should be called when the point is used as size.
(Point.prototype.get center): Should be called when the point is used as size.
(Point.prototype.add): Returns a new point = this + other.
(Point.prototype.subtract): Returns a new point = this - other.
(Point.prototype.multiply): Returns a new point = this * other.
(Point.prototype.move): Moves the point in a given direction, velocity, time period.

(Insets): Represents borders of a container.
(Insets.prototype.get width): Returns left + right.
(Insets.prototype.get height): Returns top + bottom.

(SimplePromise):
(SimplePromise.prototype.then):
(SimplePromise.prototype.resolve):
Moved from Animometer/runner/resources/benchmark-runner.js since tests also need it.

(Options): Benchmark running options as they are set by the user.

(ProgressBar): Manages a progress bar element. The progress bar is divided into equal length ranges.
(ProgressBar.prototype._progressToPercent): Converts the progress into a percentage.
(ProgressBar.prototype.incRange): Moves to the next range (a range is the running time of a single test).
(ProgressBar.prototype.setPos): Draws the current progress in the current range.

(RecordTable): Shows the results of running a benchmark in a tabular form.
(RecordTable.prototype.clear): Clears the results table.
(RecordTable.prototype._showTitles): Shows the header titles and appends the sub-titles to a queue.
(RecordTable.prototype._showHeader): Shows the table header titles.
(RecordTable.prototype._showEmpty): Shows an empty table cell.
(RecordTable.prototype._showValue): Shows a number value in the results table.
(RecordTable.prototype._showSamples): Shows a button for the sampled data graph.
(RecordTable.prototype._showTest): Shows the results of a single test.
(RecordTable.prototype._showSuite): Shows the results of a single suite.
(RecordTable.prototype.showRecord): Shows a single iteration for a single test.
(RecordTable.prototype.showIterations): Shows the results of all the suites of the iterations.

  • Animometer/resources/sampler.js: Added.

(Statistics.sampleMean): Returns the sample mean.
(Statistics.unbiasedSampleStandardDeviation): Returns the unbiased sample variance (i.e. with Bessel's correction)
(Statistics.geometricMean): Returns the geometric mean.

(Experiment): Represents a sampling experiment.
(Experiment.prototype._init): Called when the object is created and when startSampling() is called.
(Experiment.prototype.startSampling): Called after warmup period. Restarts collecting sampled data points.
(Experiment.prototype.sample): Add a new data point.
(Experiment.prototype.mean): Returns the sample mean for the current sampled data points.
(Experiment.prototype.standardDeviation): Returns the sample standard deviation for the current sampled data points.
(Experiment.prototype.percentage): Returns the percentage of the standard deviation divided to the mean.
(Experiment.prototype.confidenceIntervalDelta): Calculates the confidence delta for the current sampled data given a confidence level.
(Experiment.prototype.concern): Returns the average of the worst given percentage from the sampled data.
(Experiment.prototype.score): Returns a score for the sampled data. It is the geometric mean of sampleMean and concern.

(Sampler): Represents a compound experiment. It manages sampling multiple data points at the same time offset.
(Sampler.prototype.startSampling): Called after warming up period. Restarts collecting sampled data points.
(Sampler.prototype.sample): Add a new data vector at a given time offset.

7:28 PM Changeset in webkit [190540] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Cleanup DebuggerManager, reduce delete and use Maps instead of objects
https://bugs.webkit.org/show_bug.cgi?id=149760

Reviewed by Joseph Pecoraro.

Replaced objects used as hashmaps with Map.

  • UserInterface/Controllers/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.breakpointsForSourceCode):
(WebInspector.DebuggerManager.prototype.breakpointForIdentifier):
(WebInspector.DebuggerManager.prototype.scriptForIdentifier):
(WebInspector.DebuggerManager.prototype.scriptsForURL):
(WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
(WebInspector.DebuggerManager.prototype.removeBreakpoint):
(WebInspector.DebuggerManager.prototype.breakpointResolved):
(WebInspector.DebuggerManager.prototype.reset):
(WebInspector.DebuggerManager.prototype.scriptDidParse):
(WebInspector.DebuggerManager.prototype._sourceCodeLocationFromPayload):
(WebInspector.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
(WebInspector.DebuggerManager.prototype._setBreakpoint):
(WebInspector.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
(WebInspector.DebuggerManager.prototype._removeBreakpoint):

6:13 PM Changeset in webkit [190539] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.40

New tag.

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

Roll out r190447. rdar://problem/22865007

6:09 PM Changeset in webkit [190537] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch/LayoutTests

Roll out r190438. rdar://problem/22865007

6:07 PM Changeset in webkit [190536] by bshafiei@apple.com
  • 18 edits in branches/safari-601.1.46-branch

Roll out r190434. rdar://problem/22865007

5:50 PM Changeset in webkit [190535] by rniwa@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r190370): Speedometer spits out an extra console message
https://bugs.webkit.org/show_bug.cgi?id=149720

Unreviewed. Temporarily ignore the console error message.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._filter_output):

5:37 PM Changeset in webkit [190534] by Simon Fraser
  • 2 edits
    3 adds in trunk/LayoutTests

New baselines for some compositing tests.

  • platform/ios-simulator/compositing/layer-creation/overlap-animation-clipping-expected.txt: Added.
  • platform/ios-simulator/compositing/layer-creation/overlap-animation-container-expected.txt: Added.
  • platform/ios-simulator/compositing/repaint/become-overlay-composited-layer-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/animated-from-none-expected.txt: Added.
5:33 PM Changeset in webkit [190533] by bshafiei@apple.com
  • 3 edits
    6 copies in tags/Safari-601.3.1

Merged r190418. rdar://problem/22936771

5:26 PM Changeset in webkit [190532] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.3.2

New tag.

4:57 PM Changeset in webkit [190531] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.3.1

New tag.

4:32 PM Changeset in webkit [190530] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Inserting a child to a slot assigned node doesn't trigger repaint
https://bugs.webkit.org/show_bug.cgi?id=149739

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/shadow-dom/insert-child-to-assigned-node.html

  • dom/Node.cpp:

(WebCore::Node::derefEventTarget):
(WebCore::traverseStyleParent):
(WebCore::traverseFirstStyleParent):
(WebCore::Node::updateAncestorsForStyleRecalc):

Traverse in style parent order.

LayoutTests:

  • fast/shadow-dom/insert-child-to-assigned-node-expected.html: Added.
  • fast/shadow-dom/insert-child-to-assigned-node.html: Added.
4:09 PM Changeset in webkit [190529] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

We should not add InferredTypeTables to old Structures
https://bugs.webkit.org/show_bug.cgi?id=149767
rdar://problem/22825526

Patch by Filip Pizlo <fpizlo@apple.com> and Mark Lam <mark.lam@apple.com> on 2015-10-02
Reviewed by Saam Barati.

Our property type inference has an optimization where the absence of an InferredTypeTable is
taken to mean that all properties are TOP. This is great because most Structures come into
existence through reflective stores, and we don't want to waste time inferring types for
those.

But our code was not obeying this rule properly. If we were doing a transition, we would
assume that this meant that we were creating a new structure, and so we would give it an
InferredTypeTable if we were doing a non-reflective store (i.e. context = PutById). But that
same structure could already have been in use prior to us giving it an InferredTypeTable. At
that point bad things will start to happen because the objects created before we created the
table, and the inline caches compiled before then, will have types that disagree with the new
objects and inline caches despite them sharing the same structure and property names.

  • runtime/JSObject.h:

(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putDirectWithoutTransition):

  • runtime/Structure.h:
  • tests/stress/add-inferred-type-table-to-existing-structure.js: Added.

(foo):
(bar):
(baz):

3:33 PM Changeset in webkit [190528] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Web Inspector: Copying inline style text puts "undefined" in the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=149155

Patch by Devin Rousso <Devin Rousso> on 2015-10-02
Reviewed by Brian Burg.

Source/WebInspectorUI:

CSSStyleDeclarations for inline styles do not have a owner CSSRule, which means
that they do not have a selector or media list. CSS strings must have a selector
and, for inline styles without an owner rule and selector, this was a problem.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WebInspector.CSSStyleDeclaration.prototype.get mediaList):
(WebInspector.CSSStyleDeclaration.prototype.get selectorText):
(WebInspector.CSSStyleDeclaration.prototype.generateCSSRuleString):
Added getters for the list of media queries and selector text with fallbacks
for CSSStyleDeclarations that do not have an owner CSSRule (inline styles).

  • UserInterface/Test.html:

Added CSSMedia include for new inspector/css/generate-css-rule-string.html test.

  • UserInterface/Views/VisualStyleSelectorTreeItem.js:

(WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
Removed parameter that no longer exists.

LayoutTests:

Added test for generating CSS rule strings with default formatting.

  • inspector/css/generate-css-rule-string.html:
3:24 PM Changeset in webkit [190527] by Joseph Pecoraro
  • 35 edits
    11 deletes in trunk

Unreviewed, rolling out r190520, some tests assert / crash.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/Heap.cpp:

(JSC::Heap::willStartCollection): Deleted.
(JSC::Heap::didFinishCollection): Deleted.

  • heap/Heap.h:

(JSC::Heap::addObserver): Deleted.
(JSC::Heap::removeObserver): Deleted.

  • heap/HeapObserver.h: Removed.
  • heap/MarkedSpace.h:
  • inspector/InspectorEnvironment.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::vm): Deleted.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/agents/InspectorHeapAgent.cpp: Removed.
  • inspector/agents/InspectorHeapAgent.h: Removed.
  • inspector/protocol/Heap.json: Removed.

Source/WebCore:

  • ForwardingHeaders/heap/HeapObserver.h: Removed.
  • ForwardingHeaders/inspector/agents/InspectorHeapAgent.h: Removed.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController): Deleted.
(WebCore::InspectorController::vm): Deleted.

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

(WebCore::WorkerInspectorController::vm): Deleted.

  • inspector/WorkerInspectorController.h:

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js:

(WebInspector.loaded): Deleted.

  • UserInterface/Base/Utilities.js:

(value): Deleted.

  • UserInterface/Controllers/HeapManager.js: Removed.
  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager): Deleted.
(WebInspector.TimelineManager.prototype._garbageCollected): Deleted.

  • UserInterface/Images/TimelineRecordGarbageCollection.svg: Removed.
  • UserInterface/Main.html:
  • UserInterface/Models/GarbageCollection.js: Removed.
  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.EventType.displayName):
(WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection): Deleted.

  • UserInterface/Protocol/HeapObserver.js: Removed.
  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WebInspector.loaded): Deleted.

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.get data):
(WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent): Deleted.
(WebInspector.ScriptTimelineDataGridNode): Deleted.

  • UserInterface/Views/ScriptTimelineOverviewGraph.js:

(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype._processPendingRecords):

  • UserInterface/Views/SourceCodeTimelineTreeElement.js:

(WebInspector.SourceCodeTimelineTreeElement):

  • UserInterface/Views/TimelineIcons.css:

(.garbage-collection-profile-record .icon): Deleted.

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment): Deleted.

  • UserInterface/Views/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar.createCombinedBars):

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):

LayoutTests:

  • inspector/heap/garbageCollected-expected.txt: Removed.
  • inspector/heap/garbageCollected.html: Removed.
  • inspector/heap/gc-expected.txt: Removed.
  • inspector/heap/gc.html: Removed.
3:15 PM Changeset in webkit [190526] by commit-queue@webkit.org
  • 2 edits
    9 adds in trunk/PerformanceTests

Add the test runner for a new a graphics benchmark
https://bugs.webkit.org/show_bug.cgi?id=149683

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-10-02
Reviewed by Ryosuke Niwa.

The test runner collects the selected test suites and the running options
from its home page. It loops through all the tests, runs them and collects
their running results. At the end, it shows summary results and a final
score. It can also show a chart for a test sampled data.

  • Animometer: Added.
  • Animometer/runner: Added.
  • Animometer/runner/resources: Added.
  • Animometer/runner/animometer.html: Added.
  • Animometer/runner/resources/animometer.css: Added.

The benchmark runner page and css.

  • Animometer/runner/resources/animometer.js: Added.

(window.benchmarkRunnerClient.willAddTestFrame): Called after the test <iframe> is created.
(window.benchmarkRunnerClient.didRunTest): Called after running a test is finished.
(window.benchmarkRunnerClient.willStartFirstIteration): Called at the beginning before running any test.
(window.benchmarkRunnerClient.didRunSuites): Called after running all tests of a suite.
(window.benchmarkRunnerClient.didFinishLastIteration): Called after running the last test.

(showSection): Shows a section in the animometer.html page.
(startTest): Called when the "Start Test" button is clicked.
(showResults): Called after finishing all the tests.
(showGraph): Called when "Click..." button in the "Samples" column of the results table is clicked

  • Animometer/runner/resources/benchmark-runner.js: Copied from PerformanceTests/Speedometer/resources/benchmark-runner.js.

(BenchmarkRunnerState): Tracks the current running <suite, test>
(BenchmarkRunnerState.prototype.currentSuite): Returns the current running suite.
(BenchmarkRunnerState.prototype.currentTest): Returns the current running test.
(BenchmarkRunnerState.prototype.isFirstTest): Returns true if we are running the first test in the current suite.
(BenchmarkRunnerState.prototype.next): Advances to the next test.
(BenchmarkRunnerState.prototype.prepareCurrentTest): Creates a new <iframe> and waits for it to load a test.

(BenchmarkRunner): Manages running the tests and communicating with the benchmarkRunnerClient.
(BenchmarkRunner.prototype.waitForElement): Waits for an element to be created.
(BenchmarkRunner.prototype._appendFrame): Creates a new <iframe> element.
(BenchmarkRunner.prototype._removeFrame): Removed the current <iframe> element.
(BenchmarkRunner.prototype._runTestAndRecordResults): Runs the current test and saves its results.
(BenchmarkRunner.prototype.step): Either runs the current test if there is or start a new iteration.
(BenchmarkRunner.prototype.runAllSteps): Loops to run all the tests and move to the next iteration.
(this._runNextIteration): Starts a new iteration or show the results.
(BenchmarkRunner.prototype.runMultipleIterations): Loops to run all the iterations and show the results
(BenchmarkRunner.prototype._finalize): Finalizes the current iteration and starts a new one.

(SimplePromise): Deleted.
(SimplePromise.prototype.then): Deleted.
(SimplePromise.prototype.resolve): Deleted.
(BenchmarkTestStep): Deleted.
(Fibonacci): Deleted.
SimplePromise was moved t Animometer/resources/extensions.js because it is used by the runner and the tests.

(BenchmarkRunner.prototype._waitAndWarmUp): Deleted.
(BenchmarkRunner.prototype._runTest): Deleted.
(BenchmarkState.prototype.currentSuite): Deleted.
(BenchmarkState.prototype.currentTest): Deleted.
(BenchmarkState.prototype.next): Deleted.
(BenchmarkState.prototype.isFirstTest): Deleted.
(BenchmarkState.prototype.prepareCurrentSuite): Deleted.
BenchmarkState was renamed to BenchmarkRunnerState to not be confused with the tests BenchmarkState.

  • Animometer/runner/resources/d3.min.js: Copied from Websites/perf.webkit.org/public/v2/js/d3/d3.min.js.

Needed for drawing charts for the sampled scores and frame rates.

  • Animometer/runner/resources/graph.js: Added.

(graph): Draws a chart for a test sampled data. It shows two y-axes: one for the animated items and the second for FPS.

  • Skipped: Skip the Animometer benchmark for now.
2:52 PM Changeset in webkit [190525] by bshafiei@apple.com
  • 5 edits in branches/safari-601.2.7-branch/Source

Versioning.

2:44 PM Changeset in webkit [190524] by Brent Fulgham
  • 2 edits in trunk/Tools

Provide "--no-ninja" option to avoid using Ninja
https://bugs.webkit.org/show_bug.cgi?id=149757

Reviewed by Alex Christensen.

Add a new command line argument understood by webkitdirs.pm so
that we can conditionally avoid using Ninja. This is an
'opt-out' argument, so no existing Ninja users should be affected.

  • Scripts/webkitdirs.pm:

(canUseNinja): Check for option and block ninja if present.

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

Flakiness dashboard should support OS X El Capitan
https://bugs.webkit.org/show_bug.cgi?id=149648

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-10-02
Reviewed by Alexey Proskuryakov.

  • TestResultServer/static-dashboards/flakiness_dashboard.js: Fix the broken dashboard for ElCapitan.
2:16 PM Changeset in webkit [190522] by ggaren@apple.com
  • 56 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling back in r190450
https://bugs.webkit.org/show_bug.cgi?id=149727

The cause of the crash was a CodeBlock, after surviving a call to
deleteAllCode by virtue of being in the remembered set, trying to mark
its inlined CodeBlocks via pointers from its inlined executables.
Since deleteAllCode clears those pointers, the CodeBlock would ASSERT.
(Any other choice to retain a CodeBlock after deleteAllCode -- for
example, conservative marking -- could trigger the same bug.)

The fix is for InlineCallFrame to point directly to its inlined CodeBlock
instead of pointing indirectly via an executable. This guarantees that
CodeBlocks are GC safe regardless of whether we've called deleteAllCode.

Restored changesets:

"CodeBlock should be a GC object"
https://bugs.webkit.org/show_bug.cgi?id=149727
http://trac.webkit.org/changeset/190450

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

Web Inspector: Option-Click on a property name in the Computed view should jump to resource view
https://bugs.webkit.org/show_bug.cgi?id=149521

Patch by Devin Rousso <Devin Rousso> on 2015-10-02
Reviewed by Timothy Hatcher.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype.effectivePropertyForName):
Now tries to search for a non-canonical property before falling back to
the canonical version.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
If the user option-clicks the goto arrow, it shows the source for the
property instead.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty):
(WebInspector.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty):
Attempts to show the source of the given property. Will fallback to
highlighting the property in the rules panel.

1:40 PM Changeset in webkit [190520] by commit-queue@webkit.org
  • 35 edits
    4 copies
    11 adds in trunk

Web Inspector: Include Garbage Collection Event in Timeline
https://bugs.webkit.org/show_bug.cgi?id=142510

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-10-02
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/HeapObserver.h:
  • heap/Heap.cpp:

(JSC::Heap::willStartCollection):
(JSC::Heap::didFinishCollection):

  • heap/Heap.h:

(JSC::Heap::addObserver):
(JSC::Heap::removeObserver):
Allow observers on heap to add hooks for starting / ending garbage collection.

  • inspector/InspectorEnvironment.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::vm):

  • inspector/JSGlobalObjectInspectorController.h:

Access the VM through the InspectorEnvironment as it won't change.

  • inspector/agents/InspectorHeapAgent.cpp: Added.

(Inspector::InspectorHeapAgent::InspectorHeapAgent):
(Inspector::InspectorHeapAgent::~InspectorHeapAgent):
(Inspector::InspectorHeapAgent::didCreateFrontendAndBackend):
(Inspector::InspectorHeapAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorHeapAgent::enable):
(Inspector::InspectorHeapAgent::disable):
(Inspector::InspectorHeapAgent::gc):
(Inspector::protocolTypeForHeapOperation):
(Inspector::InspectorHeapAgent::willGarbageCollect):
(Inspector::InspectorHeapAgent::didGarbageCollect):

  • inspector/agents/InspectorHeapAgent.h: Added.
  • inspector/protocol/Heap.json: Added.

New domain and agent to handle tasks related to the JavaScriptCore heap.

Source/WebCore:

Tests: inspector/heap/garbageCollected.html

inspector/heap/gc.html

  • ForwardingHeaders/heap/HeapObserver.h: Added.
  • ForwardingHeaders/inspector/agents/InspectorHeapAgent.h: Added.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Forwarding headers.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::vm):

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

(WebCore::WorkerInspectorController::vm):

  • inspector/WorkerInspectorController.h:

Implement InspectorEnvironment::vm and create a Heap agent for the
Page inspector controller.

Source/WebInspectorUI:

  • UserInterface/Base/Utilities.js:

(Array.prototype.parition):
Helper to partition an Array into two arrays.

  • UserInterface/Main.html:
  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js:

(WebInspector.loaded):

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WebInspector.loaded):

  • UserInterface/Protocol/HeapObserver.js:

(WebInspector.HeapObserver.prototype.garbageCollected):
(WebInspector.HeapObserver):
Create the new observer and manager.

  • UserInterface/Models/GarbageCollection.js:

(WebInspector.GarbageCollection):
(WebInspector.GarbageCollection.fromPayload):
(WebInspector.GarbageCollection.prototype.get type):
(WebInspector.GarbageCollection.prototype.get startTime):
(WebInspector.GarbageCollection.prototype.get endTime):
(WebInspector.GarbageCollection.prototype.get duration):
Model object for Heap.GarbageCollection.

  • UserInterface/Controllers/HeapManager.js:

(WebInspector.HeapManager):
(WebInspector.HeapManager.prototype.garbageCollected):
Dispatch events with.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype._garbageCollected):
Include new GC Timeline Events as Script events.

  • UserInterface/Views/ScriptTimelineOverviewGraph.js:

(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout):
For the Script overview, make two sets of bars, one for Scripts and one for GCs.
The GCs bar will be on top of the the Scripts bar. This is particularly useful
since a GC can happen during script execution.

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.get data):
(WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
(WebInspector.ScriptTimelineDataGridNode):
Give a NaN call count to top level Script DataGridNodes.
In the UI, display the empty placeholder for NaN call counts.

  • UserInterface/Images/TimelineRecordGarbageCollection.svg: Added.
  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.prototype.isGarbageCollection):
(WebInspector.ScriptTimelineRecord.EventType.displayName):

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype._processPendingRecords):

  • UserInterface/Views/SourceCodeTimelineTreeElement.js:

(WebInspector.SourceCodeTimelineTreeElement):

  • UserInterface/Views/TimelineIcons.css:

(.garbage-collection-profile-record .icon):

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar.timeline-record-type-script.script-timeline-record-garbage-collected > .segment):
UI for GC events.

  • UserInterface/Views/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar.createCombinedBars):
Simplify by storing start time into a variable.

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):
Icon for GC events.

LayoutTests:

  • inspector/heap/garbageCollected-expected.txt: Added.
  • inspector/heap/garbageCollected.html: Added.
  • inspector/heap/gc-expected.txt: Added.
  • inspector/heap/gc.html: Added.
1:38 PM Changeset in webkit [190519] by dbates@webkit.org
  • 2 edits in trunk/Tools

Fix run-webkit-tests --ios-simulator after <http://trac.webkit.org/changeset/190515>
(https://bugs.webkit.org/show_bug.cgi?id=149753)

For now, pass --ios-simulator.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort._build_relay):

1:37 PM Changeset in webkit [190518] by Simon Fraser
  • 6 edits in trunk/LayoutTests

Test gardening.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
1:18 PM Changeset in webkit [190517] by Simon Fraser
  • 2 edits in trunk/Tools

Remove a "nullable" that breaks the iOS 8 build.

  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView scrollViewWillBeginZooming:withView:]):

12:51 PM Changeset in webkit [190516] by jer.noble@apple.com
  • 3 edits
    3 adds in trunk

[MSE] Browser crashes when appending invalid data to MSE source buffer
https://bugs.webkit.org/show_bug.cgi?id=149689

Reviewed by Darin Adler.

Source/WebCore:

Test: media/media-source/media-source-stpp-crash.html

Bail out early (as specced) after disconnecting the SourceBuffer from its MediaSource.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):

LayoutTests:

  • media/content/stpp.mp4: Added.
  • media/media-source/media-source-stpp-crash-expected.txt: Added.
  • media/media-source/media-source-stpp-crash.html: Added.
12:43 PM Changeset in webkit [190515] by dbates@webkit.org
  • 4 edits in trunk/Tools

LayoutTestRelay is not built and archived when building for iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=149753

Reviewed by Alexey Proskuryakov and Andy Estes.

Towards running layout tests on the iOS Simulator test bots, we need to teach scripts build-webkit
and built-product-archive to build the Mac tool LayoutTestRelay and include this tool in the built
product archive when building for iOS Simulator, respectively.

  • BuildSlaveSupport/built-product-archive:

(main): Pass the full platform name (options.platform) to archiveBuiltProduct() so that it can
differentiate between iOS device and iOS Simulator platforms.
(webkitBuildDirectoryForConfigurationAndPlatform): Extracted logic to run the script webkit-build-directory
from determineWebKitBuildDirectories() into this function so that it can be used by both
determineWebKitBuildDirectories() and archiveBuiltProduct().
(determineWebKitBuildDirectories): Moved logic to execute the script webkit-build-directory from here to
webkitBuildDirectoryForConfigurationAndPlatform().
(createZip): Added parameter embedParentDirectoryNameOnDarwin (defaults to False) to specify whether
we should call ditto(1) with --keepParent to embed the parent directory name in the zip archive. This
argument is only applicable when building on Darwin. We only pass embedParentDirectoryNameOnDarwin=True
when making an archive for a Mac or iOS device build. For iOS Simulator builds we archive two directories
and we do not want to keep the parent directory because it is a placeholder directory used as a workaround
for the limitation that ditto(1) can only accept a single directory to archive on its command line.
(archiveBuiltProduct): Modified to take the full platform name as an argument. Added logic for iOS.
For iOS device builds we use the same logic as for a Mac build and archive the configuration-specific
build directory. For iOS Simulator builds we archive the configuration-specific iOS build directory,
LayoutTestRelay and LayoutTestRelay.dSYM (if it exists) from the configuration-specific Mac build.

  • Scripts/build-layouttestrelay:
    • Remove unnecessary include of Perl module POSIX.
    • Only build LayoutTestRelay when building for iOS Simulator (i.e. --ios-simulator is passed).
  • Scripts/build-webkit:
    • Invoke script build-layouttestrelay when building for iOS Simulator.
12:36 PM Changeset in webkit [190514] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: param >= 0 in AnimationBase::updateStateMachine()
https://bugs.webkit.org/show_bug.cgi?id=149737
rdar://problem/19017465

Reviewed by Dean Jackson.

CoreAnimation can give us an animation beginTime that is slightly into the future,
which results in 'param' here being < 0, so relax the assertion slightly.

Fixes lots of assertions running iOS WK2 layout tests.

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::updateStateMachine):

11:33 AM Changeset in webkit [190513] by peavo@outlook.com
  • 2 edits in trunk/Source/WebCore

[WinCairo] Fix linker warnings.
https://bugs.webkit.org/show_bug.cgi?id=149754

Reviewed by Alex Christensen.

Avoid compiling these files twice, they are already included in
RenderingAllInOne.cpp.

  • PlatformWinCairo.cmake:
11:29 AM Changeset in webkit [190512] by enrica@apple.com
  • 4 edits in trunk/Source/WebKit2

Text selection is inaccurate in Wikipedia pages when starting navigation from wikipedia.org.
https://bugs.webkit.org/show_bug.cgi?id=149756
rdar://problem/22332409

Reviewed by Tim Horton.

When loading a new document into the same WebPage object, we need
to clear the assisted node, since there is no guarantee that the
node will be blurred. The bug is caused by the use of a stale
assisted node to constrain the point where the gesture occurs.
A fix for this problem was landed in http://trac.webkit.org/changeset/179885
where the cleanup was added when FrameLoaderClient::detach2 was called.
This method doesn't seem to be called any longer for the main frame,
so the correct solution is to add the cleanup to didCommitLoad in WebPage.
I've also added some checks to webSelectionsRects and selectedTextRange to avoid
the use of postLayoutData when the selection is none.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView webSelectionRects]):
(-[WKContentView selectedTextRange]):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::detachedFromParent2): Removed call to resetAssistedNodeForFrame.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad): Added call to resetAssistedNodeForFrame.

10:58 AM Changeset in webkit [190511] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed test fix.

You cannot run 'run-webkit-tests' from the command line because it does not know
to append the binary subdirectory (bin32/bin64). We don't see this on our builders
because they explicitly set use the 'root' argument to provide the full path to
the test binaries.

  • Scripts/webkitpy/port/win.py:

(WinPort._build_path): Added.

10:46 AM Changeset in webkit [190510] by achristensen@apple.com
  • 15 edits
    3 adds in trunk

Source/WebCore:
Reloading without content blockers doesn't apply to resource loads after the main frame finishes
https://bugs.webkit.org/show_bug.cgi?id=149430
rdar://problem/22742222

Reviewed by Geoffrey Garen.

Test: http/tests/contentextensions/disable-blocker.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource):

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::userContentExtensionsEnabled):
(WebCore::DocumentLoader::setUserContentExtensionsEnabled):
Store and use the state of whether content blockers are enabled or not on the DocumentLoader
so that it stays constant for a document's entire life. This state comes from the Page when
making the DocumentLoader in WebKit2.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestInternal):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::open):

  • page/UserContentController.cpp:

(WebCore::UserContentController::removeAllUserContentExtensions):
(WebCore::UserContentController::processContentExtensionRulesForLoad):
(WebCore::UserContentController::actionsForResourceLoad):

  • page/UserContentController.h:

Source/WebKit2:
Reloading without content blockers doesn't apply to resource loads after the main frame finishes
https://bugs.webkit.org/show_bug.cgi?id=149430
rdar://problem/22742222

Reviewed by Geoffrey Garen.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createDocumentLoader):
Copy the state of whether content extensions are disabled from the Page to the DocumentLoader
when making a DocumentLoader.

Tools:
Reloading without content blockers doesn't apply to resource loads after the main frame finishes
https://bugs.webkit.org/show_bug.cgi?id=149430
rdar://problem/22742222

Reviewed by Geoffrey Garen.

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::cocoaResetStateToConsistentValues):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::TestController::platformConfigureViewForTest):
Test what happens when you disable content blockers from the SPI.

LayoutTests:
Reloading without content blockers doesn’t apply to resource loads after the main frame finishes
https://bugs.webkit.org/show_bug.cgi?id=149430
rdar://problem/22742222

Reviewed by Geoffrey Garen.

  • http/tests/contentextensions/disable-blocker-expected.txt: Added.
  • http/tests/contentextensions/disable-blocker.html: Added.
  • http/tests/contentextensions/disable-blocker.html.json: Added.
10:30 AM Changeset in webkit [190509] by bshafiei@apple.com
  • 3 edits
    6 copies in branches/safari-601-branch

Merged r190418. rdar://problem/22936771

10:28 AM Changeset in webkit [190508] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

9:55 AM Changeset in webkit [190507] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

8:13 AM Changeset in webkit [190506] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix indentation of console message parameters
https://bugs.webkit.org/show_bug.cgi?id=149740

Reviewed by Darin Adler.

  • UserInterface/Views/ConsoleMessageView.css:

(.console-message .console-message-stack-trace-container > li):
(.console-message .console-message-extra-parameters-container > li::before):

8:13 AM Changeset in webkit [190505] by commit-queue@webkit.org
  • 28 edits in trunk

popstate is fired at the wrong time on load
https://bugs.webkit.org/show_bug.cgi?id=94265

Patch by Antoine Quint <Antoine Quint> on 2015-10-02
Reviewed by Darin Adler.

Source/WebCore:

Don't fire popstate event on initial document load

According to the specification [1], a popstate event should only be fired
when the document has a "last entry" and the entry being navigated to isn't
it. A document is created without a "last entry" and gets one just after
this check when it is first navigated to, so a popstate should be fired any
time a document is navigated to except for the first time after it has been
created.

Patch adapted from work by jl@opera.com on Blink [2].

[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#traverse-the-history (step 12-14 in particular)
[2] https://src.chromium.org/viewvc/blink?revision=165221&view=revision

  • dom/Document.cpp:

(WebCore::Document::implicitClose):

Source/WebKit2:

Ensure we have a valid page before trying to get to its drawingArea as this could lead
to a crash as observed with fast/loader/stateobjects/pushstate-object-types.html.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::restoreViewState):

LayoutTests:

Updating tests that relied on a "popstate" event being fired at page load.

  • fast/history/same-document-iframes-changing-fragment-expected.txt:
  • fast/history/same-document-iframes-changing-pushstate-expected.txt:
  • fast/loader/javascript-url-iframe-remove-on-navigate.html:
  • fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html:
  • fast/loader/stateobjects/document-destroyed-navigate-back.html:
  • fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html:
  • fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html:
  • fast/loader/stateobjects/popstate-after-load-complete-body-inline-attribute.html:
  • fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html:
  • fast/loader/stateobjects/popstate-fires-on-history-traversal-expected.txt:
  • fast/loader/stateobjects/popstate-fires-on-history-traversal.html:
  • fast/loader/stateobjects/popstate-fires-with-page-cache-expected.txt:
  • fast/loader/stateobjects/popstate-fires-with-page-cache.html:
  • fast/loader/stateobjects/pushstate-object-types.html:
  • fast/loader/stateobjects/pushstate-then-replacestate.html:
  • fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html:
  • fast/loader/stateobjects/replacestate-then-pushstate.html:
  • fast/loader/stateobjects/resources/popstate-fires-with-page-cache-1.html:
  • fast/loader/stateobjects/resources/popstate-fires-with-page-cache-2.html:
  • fast/loader/stateobjects/resources/replacestate-in-iframe-window-child.html:
  • http/tests/history/popstate-fires-with-pending-requests.html:
  • http/tests/navigation/redirect-on-back-updates-history-item-expected.txt:
  • http/tests/navigation/redirect-on-reload-updates-history-item-expected.txt:
7:08 AM Changeset in webkit [190504] by Andres Gomez
  • 2 edits
    1 copy
    1 move in trunk/Source/WebInspectorUI

[GTK] Web Inspector: Add GTK+ icons for new plus icons in the style sidebar
https://bugs.webkit.org/show_bug.cgi?id=149227

Reviewed by Carlos Garcia Campos.

  • UserInterface/Images/gtk/NewTabPlus.svg: Updated.
  • UserInterface/Images/gtk/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
  • UserInterface/Images/gtk/Plus15.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/gtk/Plus.svg.
6:58 AM Changeset in webkit [190503] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Merge r190380. rdar://problem/22888962

6:58 AM Changeset in webkit [190502] by matthew_hanson@apple.com
  • 4 edits in branches/safari-601-branch/Source

Merge r190252. rdar://problem/22867962

6:58 AM Changeset in webkit [190501] by matthew_hanson@apple.com
  • 3 edits
    6 adds in branches/safari-601-branch

Merge r189560. rdar://problem/22824659

6:57 AM Changeset in webkit [190500] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601-branch/Source/JavaScriptCore

Merge r189460. rdar://problem/22802036

6:57 AM Changeset in webkit [190499] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebKit/mac

Merge r189122. rdar://problem/22801996

6:57 AM Changeset in webkit [190498] by matthew_hanson@apple.com
  • 7 edits in branches/safari-601-branch/Source

Merge r188990. rdar://problem/22802029

6:57 AM Changeset in webkit [190497] by matthew_hanson@apple.com
  • 3 edits
    4 adds in branches/safari-601-branch

Merge r188768. rdar://problem/22802019

6:57 AM Changeset in webkit [190496] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601-branch

Merge r188755. rdar://problem/22802005

6:57 AM Changeset in webkit [190495] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebInspectorUI

Merge r188748. rdar://problem/22802023

6:57 AM Changeset in webkit [190494] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-601-branch

Merge r188690. rdar://problem/22802006

6:56 AM Changeset in webkit [190493] by matthew_hanson@apple.com
  • 11 edits in branches/safari-601-branch/Source

Merge r189102. rdar://problem/22802034

6:56 AM Changeset in webkit [190492] by matthew_hanson@apple.com
  • 7 edits
    3 adds in branches/safari-601-branch

Merge r188640. rdar://problem/22802005

6:56 AM Changeset in webkit [190491] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601-branch

Merge r188634. rdar://problem/22802013

6:56 AM Changeset in webkit [190490] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Merge r188622. rdar://problem/22802016

6:56 AM Changeset in webkit [190489] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601-branch/Source/WebCore

Merge r188298. rdar://problem/22885242

6:56 AM Changeset in webkit [190488] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-601-branch

Merge r187921. rdar://problem/22801988

6:56 AM Changeset in webkit [190487] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-601-branch

Merge r187593. rdar://problem/22801973

6:56 AM Changeset in webkit [190486] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601-branch

Merge r187210. rdar://problem/22801995

6:56 AM Changeset in webkit [190485] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Merge r187145. rdar://problem/22801952

5:14 AM Changeset in webkit [190484] by jfernandez@igalia.com
  • 9 edits
    42 adds in trunk

[CSS Grid Layout] Support for Content Alignment in grid layout
https://bugs.webkit.org/show_bug.cgi?id=145520

Reviewed by Darin Adler.

Source/WebCore:

According to CSS Box Alignment specification, Content Distribution
alignment controls alignment of the box's content within the box. The
alignment container is the grid container's content box. The alignment
subjects are the grid tracks.

This patch implements Grid Layout support for Content Distribution
alignment along both block/column and inline/row axis, which are handled
by align-content and justify-content properties respectively.

This patch provides support for overflow handling, similar to what
Self Alignment provides with grid items, and both <content-position>
and <content-distribution> values.

Baseline Alignment is still missing because it requires some additional
behavior to be supported on grids before considering its implementation.

Tests: css3/overwrite-content-alignment.html

css3/overwrite-self-alignment.html
fast/css-grid-layout/grid-align-content-distribution-vertical-lr.html
fast/css-grid-layout/grid-align-content-distribution-vertical-rl.html
fast/css-grid-layout/grid-align-content-distribution.html
fast/css-grid-layout/grid-align-content-vertical-lr.html
fast/css-grid-layout/grid-align-content-vertical-rl.html
fast/css-grid-layout/grid-align-content.html
fast/css-grid-layout/grid-content-alignment-overflow.html
fast/css-grid-layout/grid-content-alignment-with-different-sized-tracks.html
fast/css-grid-layout/grid-content-alignment-with-span-vertical-lr.html
fast/css-grid-layout/grid-content-alignment-with-span-vertical-rl.html
fast/css-grid-layout/grid-content-alignment-with-span.html
fast/css-grid-layout/grid-justify-content-distribution-vertical-lr.html
fast/css-grid-layout/grid-justify-content-distribution-vertical-rl.html
fast/css-grid-layout/grid-justify-content-distribution.html
fast/css-grid-layout/grid-justify-content-vertical-lr.html
fast/css-grid-layout/grid-justify-content-vertical-rl.html
fast/css-grid-layout/grid-justify-content.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::RenderFlexibleBox::alignFlexLines):

  • rendering/RenderGrid.cpp:

(WebCore::ContentAlignmentData::ContentAlignmentData):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::populateGridPositions):
(WebCore::resolveContentDistributionFallback):
(WebCore::offsetToStartEdge):
(WebCore::offsetToEndEdge):
(WebCore::contentDistributionOffset):
(WebCore::RenderGrid::computeContentPositionAndDistributionColumnOffset):
(WebCore::RenderGrid::computeContentPositionAndDistributionRowOffset):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::computePreferredLogicalWidths): Deleted.
(WebCore::RenderGrid::autoPlacementMajorAxisDirection): Deleted.
(WebCore::RenderGrid::autoPlacementMinorAxisDirection): Deleted.
(WebCore::RenderGrid::cachedGridCoordinate): Deleted.
(WebCore::RenderGrid::rowPositionForChild): Deleted.

  • rendering/RenderGrid.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::resolvedAlignContentPosition):
(WebCore::RenderStyle::resolvedAlignContentDistribution):
(WebCore::RenderStyle::resolvedJustifyContentPosition):
(WebCore::RenderStyle::resolvedJustifyContentDistribution):

  • rendering/style/RenderStyle.h:

LayoutTests:

Content Distribution alignment controls alignment of the box's
content within the box. The alignment container is the grid
container's content box. The alignment subjects are the grid
tracks.

In addition to the tests to verify the new functionality, I've
added some tests to check out that the new complex values are
overwritten properly.

I had to modify the grid-item-margin-auto-columns-rows-horizontal-rtl
test because when using RTL direction the whole grid must flow form
right to left, not only its items, so I rebaselined text expectations
to adapt it to the new behavior.

  • css3/overwrite-content-alignment-expected.txt: Added.
  • css3/overwrite-content-alignment.html: Added.
  • css3/overwrite-self-alignment-expected.txt: Added.
  • css3/overwrite-self-alignment.html: Added.
  • fast/css-grid-layout/grid-align-content-distribution-expected.txt: Added.
  • fast/css-grid-layout/grid-align-content-distribution-vertical-lr-expected.txt: Added.
  • fast/css-grid-layout/grid-align-content-distribution-vertical-lr.html: Added.
  • fast/css-grid-layout/grid-align-content-distribution-vertical-rl-expected.txt: Added.
  • fast/css-grid-layout/grid-align-content-distribution-vertical-rl.html: Added.
  • fast/css-grid-layout/grid-align-content-distribution.html: Added.
  • fast/css-grid-layout/grid-align-content-expected.txt: Added.
  • fast/css-grid-layout/grid-align-content-vertical-lr-expected.txt: Added.
  • fast/css-grid-layout/grid-align-content-vertical-lr.html: Added.
  • fast/css-grid-layout/grid-align-content-vertical-rl-expected.txt: Added.
  • fast/css-grid-layout/grid-align-content-vertical-rl.html: Added.
  • fast/css-grid-layout/grid-align-content.html: Added.
  • fast/css-grid-layout/grid-content-alignment-overflow-expected.txt: Added.
  • fast/css-grid-layout/grid-content-alignment-overflow.html: Added.
  • fast/css-grid-layout/grid-content-alignment-with-different-sized-tracks.html: Added.
  • fast/css-grid-layout/grid-content-alignment-with-different-sized-tracks-expected.txt: Added.
  • fast/css-grid-layout/grid-content-alignment-with-span-expected.txt: Added.
  • fast/css-grid-layout/grid-content-alignment-with-span-vertical-lr-expected.txt: Added.
  • fast/css-grid-layout/grid-content-alignment-with-span-vertical-lr.html: Added.
  • fast/css-grid-layout/grid-content-alignment-with-span-vertical-rl-expected.txt: Added.
  • fast/css-grid-layout/grid-content-alignment-with-span-vertical-rl.html: Added.
  • fast/css-grid-layout/grid-content-alignment-with-span.html: Added.
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl-expected.html:
  • fast/css-grid-layout/grid-justify-content-distribution-expected.txt: Added.
  • fast/css-grid-layout/grid-justify-content-distribution-vertical-lr-expected.txt: Added.
  • fast/css-grid-layout/grid-justify-content-distribution-vertical-lr.html: Added.
  • fast/css-grid-layout/grid-justify-content-distribution-vertical-rl-expected.txt: Added.
  • fast/css-grid-layout/grid-justify-content-distribution-vertical-rl.html: Added.
  • fast/css-grid-layout/grid-justify-content-distribution.html: Added.
  • fast/css-grid-layout/grid-justify-content-expected.txt: Added.
  • fast/css-grid-layout/grid-justify-content-vertical-lr-expected.txt: Added.
  • fast/css-grid-layout/grid-justify-content-vertical-lr.html: Added.
  • fast/css-grid-layout/grid-justify-content-vertical-rl-expected.txt: Added.
  • fast/css-grid-layout/grid-justify-content-vertical-rl.html: Added.
  • fast/css-grid-layout/grid-justify-content.html: Added.
  • fast/css-grid-layout/resources/grid.css:

(.firstRowThirdColumn):
(.firstRowFourthColumn):
(.secondRowThirdColumn):
(.secondRowFourthColumn):
(.thirdRowFirstColumn):
(.thirdRowSecondColumn):
(.fourthRowFirstColumn):
(.fourthRowSecondColumn):

4:26 AM Changeset in webkit [190483] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

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

Attempted build fix.

  • DerivedSources.make:
  • page/make_settings.pl:

(printGetterAndSetter):

3:53 AM Changeset in webkit [190481] by dino@apple.com
  • 8 edits
    2 adds in trunk

Expose WEBGL_debug_renderer_info
https://bugs.webkit.org/show_bug.cgi?id=149735
<rdar://problem/18343500>

Reviewed by Simon Fraser.

Source/WebCore:

Enable the extension that allows content to query
for the GPUs vendor and details.

Now that we're enabling this, there was no need for
the internal setting that identified privileged situations.
However, since this meant that WEBGL_debug_shaders was
also exposed, I explicitly disable it since it is
not yet conformant.

Test: fast/canvas/webgl/webgl-debug-renderer-info.html
as well as the general conformance suite.

  • html/canvas/WebGL2RenderingContext.cpp: No need to guard around allowPrivilegedExtensions().

(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):

  • html/canvas/WebGLRenderingContext.cpp: Ditto.

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::allowPrivilegedExtensions): Deleted.

  • html/canvas/WebGLRenderingContextBase.h:
  • page/Settings.in: Remove privilegedWebGLExtensions.
  • platform/graphics/opengl/Extensions3DOpenGL.cpp: Forbid the translated shader

extension while it is still buggy.
(WebCore::Extensions3DOpenGL::supportsExtension):

LayoutTests:

Modify a test from the 1.0.2 conformance suite to make sure
we're actually enabling and passing the info.

  • fast/canvas/webgl/webgl-debug-renderer-info-expected.txt: Added.
  • fast/canvas/webgl/webgl-debug-renderer-info.html: Added.
1:17 AM Changeset in webkit [190480] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r190447. rdar://problem/22865007

1:16 AM Changeset in webkit [190479] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch/LayoutTests

Merged r190438. rdar://problem/22865007

1:15 AM Changeset in webkit [190478] by bshafiei@apple.com
  • 18 edits in branches/safari-601.1.46-branch

Merged r190434. rdar://problem/22865007

1:14 AM Changeset in webkit [190477] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r190380. rdar://problem/22888927

1:13 AM Changeset in webkit [190476] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-601.1.46-branch

Merged r190375. rdar://problem/22881731

1:12 AM Changeset in webkit [190475] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r190327. rdar://problem/22865398

1:11 AM Changeset in webkit [190474] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit/mac

Merged r190092. rdar://problem/22824439

1:10 AM Changeset in webkit [190473] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r189773. rdar://problem/22824430

1:09 AM Changeset in webkit [190472] by bshafiei@apple.com
  • 3 edits
    6 copies in branches/safari-601.1.46-branch

Merged r189560. rdar://problem/22824445

1:08 AM Changeset in webkit [190471] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r189366. rdar://problem/22824453

1:07 AM Changeset in webkit [190470] by bshafiei@apple.com
  • 6 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r189322. rdar://problem/22824435

1:06 AM Changeset in webkit [190469] by bshafiei@apple.com
  • 3 edits
    4 copies in branches/safari-601.1.46-branch

Merged r188768. rdar://problem/22707478

1:05 AM Changeset in webkit [190468] by bshafiei@apple.com
  • 3 edits in branches/safari-601.1.46-branch

Merged r188755. rdar://problem/22707467

1:04 AM Changeset in webkit [190467] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-601.1.46-branch

Merged r188690. rdar://problem/22707471

1:03 AM Changeset in webkit [190466] by bshafiei@apple.com
  • 7 edits
    3 copies in branches/safari-601.1.46-branch

Merged r188640. rdar://problem/22707467

1:02 AM Changeset in webkit [190465] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-601.1.46-branch

Merged r188634. rdar://problem/22707475

1:01 AM Changeset in webkit [190464] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r188622. rdar://problem/22823235

1:00 AM Changeset in webkit [190463] by bshafiei@apple.com
  • 11 edits
    2 copies in branches/safari-601.1.46-branch

Merged r188405. rdar://problem/22707490

12:58 AM Changeset in webkit [190462] by bshafiei@apple.com
  • 8 edits
    2 copies in branches/safari-601.1.46-branch

Merged r188182. rdar://problem/22707488

12:57 AM Changeset in webkit [190461] by bshafiei@apple.com
  • 1 edit
    4 copies in branches/safari-601.1.46-branch/LayoutTests

Merged r188016. rdar://problem/22707482

12:56 AM Changeset in webkit [190460] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r187994. rdar://problem/22707482

12:55 AM Changeset in webkit [190459] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-601.1.46-branch

Merged r187921. rdar://problem/22707460

12:54 AM Changeset in webkit [190458] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-601.1.46-branch

Merged r187210. rdar://problem/22707464

12:53 AM Changeset in webkit [190457] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r187145. rdar://problem/22707457

Note: See TracTimeline for information about the timeline view.