Timeline



Apr 12, 2015:

11:43 PM Changeset in webkit [182678] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebInspectorUI

Merge r181916 - Web Inspector: REGRESSION (r179286): ReferenceError: Can't find variable: selector
https://bugs.webkit.org/show_bug.cgi?id=143022

Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-03-24
Reviewed by Timothy Hatcher.

Fix a regression where a missing variable statement causes a ReferenceError.

  • UserInterface/Models/DOMNodeStyles.js:
9:42 PM Changeset in webkit [182677] by benjamin@webkit.org
  • 4 edits
    12 adds in trunk

Legacy scroll behavior on HTMLBodyElement should only apply to the first body element of a document
https://bugs.webkit.org/show_bug.cgi?id=143651

Source/WebCore:

Reviewed by Sam Weinig.

WebKit has some very weird behaviors for the scroll methods on body. This patch
address the first bug: only the first body element should have the legacy behavior.

The relevant text in spec:
-http://dev.w3.org/csswg/cssom-view/#dom-element-scrollleft
-http://dev.w3.org/csswg/cssom-view/#dom-element-scrolltop
-http://dev.w3.org/csswg/cssom-view/#dom-element-scrollwidth
-http://dev.w3.org/csswg/cssom-view/#dom-element-scrollheight

Tests: fast/dom/Element/body-scrollHeight-basics-quirks.html

fast/dom/Element/body-scrollLeft-basics-quirks.html
fast/dom/Element/body-scrollTop-basics-quirks.html
fast/dom/Element/body-scrollWidth-basics-quirks.html
fast/dom/Element/detached-body-element-does-not-scroll-main-frame-with-scrollLeft.html
fast/dom/Element/detached-body-element-does-not-scroll-main-frame-with-scrollTop.html

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::isFirstBodyElementOfDocument):
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
(WebCore::HTMLBodyElement::setScrollTop):
(WebCore::HTMLBodyElement::scrollHeight):
(WebCore::HTMLBodyElement::scrollWidth):

  • html/HTMLBodyElement.h:

LayoutTests:

Patch by Benjamin Poulain <benjamin@webkit.org> and Diego Perini <diego.perini@gmail.com> on 2015-04-12
Reviewed by Sam Weinig.

  • fast/dom/Element/body-scrollHeight-basics-quirks-expected.txt: Added.
  • fast/dom/Element/body-scrollHeight-basics-quirks.html: Added.
  • fast/dom/Element/body-scrollLeft-basics-quirks-expected.txt: Added.
  • fast/dom/Element/body-scrollLeft-basics-quirks.html: Added.
  • fast/dom/Element/body-scrollTop-basics-quirks-expected.txt: Added.
  • fast/dom/Element/body-scrollTop-basics-quirks.html: Added.
  • fast/dom/Element/body-scrollWidth-basics-quirks-expected.txt: Added.
  • fast/dom/Element/body-scrollWidth-basics-quirks.html: Added.

Test the various behaviors.

  • fast/dom/Element/detached-body-element-does-not-scroll-main-frame-with-scrollLeft-expected.txt: Added.
  • fast/dom/Element/detached-body-element-does-not-scroll-main-frame-with-scrollLeft.html: Added.
  • fast/dom/Element/detached-body-element-does-not-scroll-main-frame-with-scrollTop-expected.txt: Added.
  • fast/dom/Element/detached-body-element-does-not-scroll-main-frame-with-scrollTop.html: Added.

Those tests target specifically the bug.

6:29 PM Changeset in webkit [182676] by Michael Catanzaro
  • 2 edits in trunk/Source/WTF

Fix -Wparentheses warning with GCC 5 in SaturatedArithmetic.h
https://bugs.webkit.org/show_bug.cgi?id=143457

Reviewed by Benjamin Poulain.

Tested by WTF.SaturatedArithmeticAddition and WTF.SaturatedArithmeticSubtraction.

  • wtf/SaturatedArithmetic.h:

(signedAddOverflows): Use && instead of & to avoid triggering -Wparentheses in newer
versions of GCC and Clang, and to improve the clarity of the function.
(signedSubtractOverflows): Changed correspondingly, although there was no warning here.

5:54 PM Changeset in webkit [182675] by Gyuyoung Kim
  • 6 edits in trunk

[EFL] Enable Media Source
https://bugs.webkit.org/show_bug.cgi?id=143635

Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/OptionsEfl.cmake: Add ENABLE_MEDIA_SOURCE switch.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Enable media source on efl port.

LayoutTests:

  • platform/efl/TestExpectations: Update failing tests.
3:33 PM Changeset in webkit [182674] by commit-queue@webkit.org
  • 9 edits
    8 moves in trunk

Fix trival typos related to the word "coordinate".
https://bugs.webkit.org/show_bug.cgi?id=143644

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-12
Reviewed by Alexey Proskuryakov.

No new tests, no behavior change.

Source/WebCore:

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::layoutOverflowRectForPropagation):

Source/WebKit2:

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::lookupTextAtLocation):

LayoutTests:

  • css3/scroll-snap/scroll-snap-property-computed-style-expected.txt:
  • css3/scroll-snap/scroll-snap-property-computed-style.js:
  • platform/gtk/svg/custom/svg-curve-with-relative-cordinates-expected.png: Removed.
  • platform/gtk/svg/custom/svg-curve-with-relative-cordinates-expected.txt: Removed.
  • platform/ios-sim-deprecated/svg/custom/svg-curve-with-relative-cordinates-expected.txt: Removed.
  • platform/ios-simulator/svg/custom/svg-curve-with-relative-cordinates-expected.txt: Removed.
  • platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.png: Removed.
  • platform/mac/svg/custom/svg-curve-with-relative-cordinates-expected.txt: Removed.
  • platform/win/svg/custom/svg-curve-with-relative-cordinates-expected.txt: Removed.
  • svg/custom/svg-curve-with-relative-cordinates.html: Removed.
1:28 PM Changeset in webkit [182673] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Scrollbars in composited overflow and iframes fail to render on Mac
https://bugs.webkit.org/show_bug.cgi?id=143647
rdar://problem/20340544

Reviewed by Darin Adler.

When adding support for drawing scrollbars on the scrolling thread, we inadvertently
disabled scrollbar drawing in other composited, main-thread scrolling configurations.

Fix by having Scrollbar::supportsUpdateOnSecondaryThread() only return true if
the scrollable area is using async scrolling.

Sadly, we can't layout-test this.

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

1:18 PM Changeset in webkit [182672] by Simon Fraser
  • 3 edits
    2 adds in trunk

Selects don't scroll at some aspect ratios
https://bugs.webkit.org/show_bug.cgi?id=143649
rdar://problem/19365694

Reviewed by Darin Adler.
Source/WebCore:

Fix width/height flip in RenderListBox which caused us to fail to scroll when
the list was wider than the scroll height.

We're generally confused about RenderListBox scroll offsets (webkit.org/b/143648)
but this fixes the immediate problem.

Test: fast/forms/listbox-visible-size.html

  • rendering/RenderListBox.h:

LayoutTests:

  • fast/forms/listbox-visible-size-expected.txt: Added.
  • fast/forms/listbox-visible-size.html: Added.
1:08 PM Changeset in webkit [182671] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk/Source/WebKit2

Remove PluginModuleInfo.cpp from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=143643

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-12
Reviewed by Darin Adler.

Remove PluginModuleInfo.cpp from WebKit2 because it is totally empty.

No new tests, no behavior change.

  • CMakeLists.txt:
  • Shared/Plugins/PluginModuleInfo.cpp: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
1:04 PM Changeset in webkit [182670] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Crash-only queues should show failure when failure limit is exceeded
https://bugs.webkit.org/show_bug.cgi?id=143646

Reviewed by David Kilzer.

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

10:30 AM Changeset in webkit [182669] by Simon Fraser
  • 4 edits
    19 adds in trunk

Too much repainting on scrolling with fixed backgrounds
https://bugs.webkit.org/show_bug.cgi?id=143637
rdar://problem/20245243

Reviewed by Darin Adler.

Source/WebCore:

FrameView::scrollContentsSlowPath() would repaint the entire viewport if there were
any slow-repaint objects (those with background-attachment: fixed) and the contents
were using compositing for scrolling.

This is wrong; we only need to issue repaint for the slow-repaint renderers,
and, if the frame is hosted in a compositing layer and not using compositing for scrolling,
repaint that hosting layer.

Tests: compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint.html

compositing/repaint/iframes/compositing-iframe-scroll-repaint.html
compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint.html
platform/mac-wk2/tiled-drawing/fixed-background-scroll-repaint.html

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsSlowPath):

LayoutTests:

Tests with various configurations of iframes and compositing, which dump layer trees with
repaint rectangles.

Also tiled-scrolling test that exercises the simple case.

Put WebKit1-specific results in platform/mac-wk1, since they are very different from
WK2 and other platforms, due to WK1-specific layer hosting and repaint behaviors.

  • compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Added.
  • compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint.html: Added.
  • compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt: Added.
  • compositing/repaint/iframes/compositing-iframe-scroll-repaint.html: Added.
  • compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint-expected.txt: Added.
  • compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint.html: Added.
  • compositing/repaint/iframes/resources/compositing-document.html: Added.
  • compositing/repaint/iframes/resources/compositing-fixed-background-document.html: Added.
  • compositing/repaint/iframes/resources/fixed-background-document.html: Added.
  • platform/mac-wk1/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Added.
  • platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt: Added.
  • platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint-expected.txt: Added.
  • platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed-background-scroll-repaint-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fixed-background-scroll-repaint.html: Added.
2:50 AM Changeset in webkit [182668] by Yusuke Suzuki
  • 10 edits
    1 add in trunk

[ES6] Implement Array.prototype.values
https://bugs.webkit.org/show_bug.cgi?id=143633

Reviewed by Darin Adler.

Source/JavaScriptCore:

Symbol.unscopables is implemented, so we can implement Array.prototype.values
without largely breaking the web. The following script passes.

var array = [];
var values = 42;
with (array) {

assert(values, 42);

}

  • runtime/ArrayPrototype.cpp:
  • tests/stress/array-iterators-next.js:
  • tests/stress/map-iterators-next.js:
  • tests/stress/set-iterators-next.js:
  • tests/stress/values-unscopables.js: Added.

(test):

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/array-iterators-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/array-iterators.js:

Apr 11, 2015:

10:12 PM Changeset in webkit [182667] by ap@apple.com
  • 5 edits in trunk/LayoutTests

editing/spelling/spelling-marker-description.html times out on Mac
https://bugs.webkit.org/show_bug.cgi?id=143639

Reviewed by Darin Adler.

  • editing/spelling/spelling-marker-description-expected.txt:
  • editing/spelling/spelling-marker-description.html:

Changed the test to match reality.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:

Removed expectations.

10:05 PM Changeset in webkit [182666] by ap@apple.com
  • 3 edits in trunk/Tools

Use en_US spell checker for tests on Mac instead of Multilingual
https://bugs.webkit.org/show_bug.cgi?id=143641

Reviewed by Dan Bernstein.

  • DumpRenderTree/mac/DumpRenderTree.mm: (setDefaultsToConsistentValuesForTesting):

While at it, override NSUserDictionaryReplacementItems, so that user replacements
cannot affect tests.

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: (WTR::InjectedBundle::platformInitialize):

Made this more like WebKit1 version.

7:23 PM Changeset in webkit [182665] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Hide Frames Timeline if the backend doesn't support it
https://bugs.webkit.org/show_bug.cgi?id=142800

Patch by Matt Baker <Matt Baker> on 2015-04-11
Reviewed by Timothy Hatcher.

Fallback to showing the layout timeline if the backend doesn't support the rendering frames timeline.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.shouldShowViewForTimeline):
(WebInspector.TimelineManager.prototype._loadNewRecording):
Added iOS 8 compatibility check for RenderingFrame timeline record type.

  • UserInterface/Views/LayoutTimelineDataGridNode.js:

(WebInspector.LayoutTimelineDataGridNode.prototype.get data):
Restored fields used by Layout timeline view.

  • UserInterface/Views/LayoutTimelineView.js:

Updated to be compatible with both RenderingFrame and Layout timeline views.

4:52 PM Changeset in webkit [182664] by Michael Catanzaro
  • 2 edits in trunk

[CMake] Miscellaneous issues in WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=143636

Reviewed by Martin Robinson.

Rename _WEBKIT_AVAILABLE_OPTIONS_INITIALVALUE_ variables to
_WEBKIT_AVAILABLE_OPTIONS_INITIAL_VALUE_

Rename _WEBKIT_AVAILABLE_OPTIONS_ISPUBLIC_ variables to
_WEBKIT_AVAILABLE_OPTIONS_IS_PUBLIC_

Rename _SHOULD_PRINT_POINTS to _SHOULD_PRINT_DOTS

Update USE_SYSTEM_MALLOC description to not mention TCmalloc

Fix ENABLE_TOUCH_SLIDER so that it can be used

Add a comment

  • Source/cmake/WebKitFeatures.cmake:
2:28 PM Changeset in webkit [182663] by Michael Catanzaro
  • 3 edits in trunk

[CMake] Print sorted feature list at the very end of the configure process
https://bugs.webkit.org/show_bug.cgi?id=143596

Reviewed by Martin Robinson.

  • CMakeLists.txt: Call PRINT_WEBKIT_OPTIONS at the bottom of the file.
  • Source/cmake/WebKitFeatures.cmake: Split option printing into PRINT_WEBKIT_OPTIONS macro,

and sort the options before printing. Reorder some code so that features still get
propagated to the bindings generators.

1:55 PM Changeset in webkit [182662] by jonowells@apple.com
  • 6 edits
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: Debugger sidebar should show errors underneath scripts
https://bugs.webkit.org/show_bug.cgi?id=143464

Reviewed by Timothy Hatcher.

Add a new tree element called IssueTreeElement. This shows warnings and errors in the debugger sidebar. These
can be clicked to jump to the line of source code for which the error was thrown. BreakpointTreeElement and
IssueTreeElement now inherit from DebuggerTreeElement to support any needed commonalities among the interfaces
of elements in the debugger sidebar panel.

  • Localizations/en.lproj/localizedStrings.js: Updated.
  • UserInterface/Main.html: Add new files.
  • UserInterface/Models/IssueMessage.js:

(WebInspector.IssueMessage):
(WebInspector.IssueMessage.prototype.get source):
(WebInspector.IssueMessage.prototype.get lineNumber):
(WebInspector.IssueMessage.prototype.get columnNumber):
(WebInspector.IssueMessage.prototype.get displayLineNumber):
(WebInspector.IssueMessage.prototype.get displayColumnNumber):
(WebInspector.IssueMessage.prototype.get sourceCodeLocation):
(WebInspector.IssueMessage.prototype.saveIdentityToCookie):
(WebInspector.IssueMessage.prototype._sourceCodeLocationDisplayLocationChanged):
Convert to use a backing SourceCodeLocation. Expand API.

  • UserInterface/Views/BreakpointTreeElement.js: Inherits now from DebuggerTreeElement.
  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel.showResourcesWithBreakpointsOnlyFilterFunction):
(WebInspector.DebuggerSidebarPanel.showResourcesWithIssuesOnlyFilterFunction):
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint):
(WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved):
(WebInspector.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
(WebInspector.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement):
(WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
(WebInspector.DebuggerSidebarPanel.prototype._compareDebuggerTreeElements):
(WebInspector.DebuggerSidebarPanel.prototype._addDebuggerObject):
(WebInspector.DebuggerSidebarPanel.prototype._addIssue):
(WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
(WebInspector.DebuggerSidebarPanel.prototype._handleIssuesCleared):
(WebInspector.DebuggerSidebarPanel.prototype._breakpointDisplayLocationDidChange): Deleted.
(WebInspector.DebuggerSidebarPanel.prototype._removeBreakpointTreeElement): Deleted.
(WebInspector.DebuggerSidebarPanel.prototype._compareBreakpointTreeElements): Deleted.
Add IssueTreeElements to the sidebar whenever a warning or error corresponding to a line of code is found.
Add a filter function and button to filter down to just these. Ensure issue and breakpoint elements can be
properly compared.

  • UserInterface/Views/DebuggerTreeElement.js: Added.

(WebInspector.DebuggerTreeElement):
(WebInspector.DebuggerTreeElement.prototype.get debuggerObject):

  • UserInterface/Views/IssueTreeElement.css: Added.

(.issue .icon):
(.issue.error .icon):
(.navigation-sidebar-panel-content-tree-outline .item.small.issue .icon):

  • UserInterface/Views/IssueTreeElement.js: Added.

(WebInspector.IssueTreeElement):
(WebInspector.IssueTreeElement.prototype.get issueMessage):
(WebInspector.IssueTreeElement.prototype._updateTitles):

12:43 PM Changeset in webkit [182661] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Run flaky conservative GC related test first before polluting stack and registers
https://bugs.webkit.org/show_bug.cgi?id=143634

Reviewed by Ryosuke Niwa.

After r182653, JSC API tests fail. However, it's not related to the change.
After investigating the cause of this failure, I've found that the failed test is flaky
because JSC's GC is conservative. If previously allocated JSGlobalObject is accidentally alive
due to conservative roots in C stack and registers, this test fails.

Since GC marks C stack and registers as roots conservatively,
objects not referenced logically can be accidentally marked and alive.
To avoid this situation as possible as we can,

  1. run this test first before stack is polluted,
  2. extract this test as a function to suppress stack height.
  • API/tests/testapi.mm:

(testWeakValue):
(testObjectiveCAPIMain):
(testObjectiveCAPI):

12:36 PM Changeset in webkit [182660] by commit-queue@webkit.org
  • 27 edits
    4 copies
    3 moves
    5 adds in trunk/Source

Web Inspector: create content view and details sidebar for Frames timeline
https://bugs.webkit.org/show_bug.cgi?id=143533

Patch by Matt Baker <Matt Baker> on 2015-04-11
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Refactoring: RunLoop prefix changed to RenderingFrame.

  • inspector/protocol/Timeline.json:

Source/WebCore:

Refactoring: RunLoop prefix changed to RenderingFrame.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::toProtocol):

  • inspector/InspectorTimelineAgent.h:

Source/WebInspectorUI:

Added new Rendering Frames timeline content view and details sidebar, and added minor visual tweeks to the
timeline graph such as ensuring 60 FPS budget line is always visible, and large combined frames are split
up once they reach a maximum pixel width.

  • Localizations/en.lproj/localizedStrings.js:

New UI strings.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):
Support for new details sidebar panel.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.shouldShowViewForTimeline):
(WebInspector.TimelineManager.prototype._processRecord):
(WebInspector.TimelineManager.prototype._loadNewRecording):
Layout timeline is no longer added to timeline graphs, skip Rendering Frame records that have no child events.

  • UserInterface/Images/NavigationItemDoughnutChart.svg: Added.
  • UserInterface/Images/TimelineRecordRenderingFrame.svg: Added.

New artwork.

  • UserInterface/Main.html:
  • UserInterface/Test.html:

New files.

  • UserInterface/Models/RenderingFrameTimelineRecord.js: Renamed from Source/WebInspectorUI/UserInterface/Models/RunLoopTimelineRecord.js.

(WebInspector.RenderingFrameTimelineRecord):
(WebInspector.RenderingFrameTimelineRecord.resetFrameNumber):
(WebInspector.RenderingFrameTimelineRecord.prototype.get frameNumber):
(WebInspector.RenderingFrameTimelineRecord.prototype.get children):
(WebInspector.RenderingFrameTimelineRecord.prototype.get durationRemainder):
(WebInspector.RenderingFrameTimelineRecord.prototype.durationForRecords.get var):
Added frame numbering and improved the accuracy of sub-frame duratation calculation.
Refactoring: RunLoop prefix changed to RenderingFrame.

  • UserInterface/Models/Timeline.js:

(WebInspector.Timeline):
(WebInspector.Timeline.create):
(WebInspector.Timeline.prototype.get recording):
(WebInspector.Timeline.prototype.get displayName):
(WebInspector.Timeline.prototype.get iconClassName):
Added up-pointer to parent recording.

  • UserInterface/Models/TimelineRecord.js:

Refactoring: RunLoop prefix changed to RenderingFrame.

  • UserInterface/Models/TimelineRecording.js:

(WebInspector.TimelineRecording.prototype.reset):
Support for new timeline type.

  • UserInterface/Views/ChartDetailsSectionLegendRow.js: Added.

(WebInspector.ChartDetailsSectionLegendRow):
New details section row type for chart legend items.

  • UserInterface/Views/ChartDetailsSectionRow.css: Added.

(.details-section .row.chart):
(.details-section .row.chart canvas):
(.details-section .row.chart.empty canvas):
(.details-section > .content > .group > .row.legend-item > .label > .color-swatch):

  • UserInterface/Views/ChartDetailsSectionRow.js: Added.

(WebInspector.ChartDetailsSectionRow):
(WebInspector.ChartDetailsSectionRow.prototype.get legendGroup):
(WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
(WebInspector.ChartDetailsSectionRow.prototype.addChartValue):
(WebInspector.ChartDetailsSectionRow.prototype.clearChart):
(WebInspector.ChartDetailsSectionRow.prototype._refresh.drawSlice):
(WebInspector.ChartDetailsSectionRow.prototype._refresh):
New details section row type for pie/doughnut charts.

  • UserInterface/Views/ContentView.js:

(WebInspector.ContentView):
Support for new timeline view type.

  • UserInterface/Views/LayoutTimelineDataGridNode.js:

(WebInspector.LayoutTimelineDataGridNode.prototype.get data):
(WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
Updated for use in rendering frame timeline view.

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
Removed references to old RunLoop objects.

  • UserInterface/Views/RenderingFrameDetailsSidebarPanel.js: Added.

(WebInspector.RenderingFrameDetailsSidebarPanel.formatChartValue):
(WebInspector.RenderingFrameDetailsSidebarPanel):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype.inspect):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype.updateRangeSelection):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype.get renderingFrameTimeline):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype.set renderingFrameTimeline):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype.refresh.durationForRecordType):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype.refresh):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype._resetAll):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype._recordAdded):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype._timelineReset):
(WebInspector.RenderingFrameDetailsSidebarPanel.prototype._getSelectedRecords):
New sidebar panel for showing time breakdown for current frame selection.

  • UserInterface/Views/RenderingFrameTimelineDataGridNode.js: Added.

(WebInspector.RenderingFrameTimelineDataGridNode):
(WebInspector.RenderingFrameTimelineDataGridNode.prototype.get record):
(WebInspector.RenderingFrameTimelineDataGridNode.prototype.get records):
(WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data):
(WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent):
New data grid row type.

  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.css: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.css.

(.timeline-overview-graph.rendering-frame > .divider):
(.timeline-overview-graph.rendering-frame > .divider > .label):

  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.js: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.js.

(WebInspector.RenderingFrameTimelineOverviewGraph):
(WebInspector.RenderingFrameTimelineOverviewGraph.prototype.get graphHeightSeconds):
(WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout.createFrame):
(WebInspector.RenderingFrameTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition.get if):

  • UserInterface/Views/RenderingFrameTimelineView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.css.

(.timeline-view.rendering-frame > .data-grid):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle):
Visual tweeks.
Refactoring: RunLoop prefix changed to RenderingFrame.

  • UserInterface/Views/RenderingFrameTimelineView.js: Added.

(WebInspector.RenderingFrameTimelineView):
(WebInspector.RenderingFrameTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.RenderingFrameTimelineView.prototype.shown):
(WebInspector.RenderingFrameTimelineView.prototype.hidden):
(WebInspector.RenderingFrameTimelineView.prototype.updateLayout):
(WebInspector.RenderingFrameTimelineView.prototype.get selectionPathComponents):
(WebInspector.RenderingFrameTimelineView.prototype.filterDidChange):
(WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
(WebInspector.RenderingFrameTimelineView.prototype.reset):
(WebInspector.RenderingFrameTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.RenderingFrameTimelineView.prototype.dataGridNodeForTreeElement):
(WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
(WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
(WebInspector.RenderingFrameTimelineView.prototype._dataGridNodeSelected):
New content view type.

  • UserInterface/Views/TimelineIcons.css:

(.rendering-frame-icon .icon):
(.rendering-frame-icon.large .icon):
(.rendering-frame-record .icon):
(.runloop-record .icon):
(.runloop-icon .icon): Deleted.
(.runloop-icon.large .icon): Deleted.
Refactoring: runloop prefix changed to rendering-frame.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype._timelineRemoved):
Support for timelines without associated views.

  • UserInterface/Views/TimelineOverviewGraph.js:

(WebInspector.TimelineOverviewGraph):
Refactoring: RunLoop prefix changed to RenderingFrame.

  • UserInterface/Views/TimelineRecordFrame.css:

(.timeline-record-frame):
(.timeline-record-frame > .frame):

  • UserInterface/Views/TimelineRecordFrame.js:

(WebInspector.TimelineRecordFrame.createCombinedFrames):
Visual tweeks, splitting up large combined frames.

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):
Refactoring: runloop prefix changed to rendering-frame.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
(WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
Added support for new details sidebar and timelines without associated views.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel._timelineAdded.set this):
Support for timelines without associated views.
Refactoring: runloop prefix changed to rendering-frame.

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

New files.

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

Stop referring to outdated RFC2616 in CacheValidation.cpp
https://bugs.webkit.org/show_bug.cgi?id=143619

Reviewed by Darin Adler.

Stop referring to outdated RFC2616 in CacheValidation.cpp and refer to
the newer RFC7230 & RFC7234. Also update some variables to match the
naming in the RFC for clarity.

No behavior change.

  • platform/network/CacheValidation.cpp:

(WebCore::updateResponseHeadersAfterRevalidation):
(WebCore::computeCurrentAge):
(WebCore::computeFreshnessLifetimeForHTTPFamily):
(WebCore::isCacheHeaderSeparator):
(WebCore::parseCacheControlDirectives):

11:13 AM Changeset in webkit [182658] by Michael Catanzaro
  • 2 edits in trunk

[CMake] Options should be marked as advanced by default
https://bugs.webkit.org/show_bug.cgi?id=143572

Reviewed by Gyuyoung Kim.

Options defined with WEBKIT_OPTION_DEFINE are now advanced so that they are hidden from
users by default, unless WEBKIT_OPTION_DEFAULT_PORT_VALUE is used. Add new macros
WEBKIT_OPTION_DEFINE_PUBLIC to define an option that's not hidden by default, to be used
for adding port-specific options, and WEBKIT_OPTION_PRIVATE_PORT_VALUE to override an
option without making it public.

  • Source/cmake/WebKitFeatures.cmake:
10:05 AM Changeset in webkit [182657] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unskip media test on EFL port

Unreviewed, media tests are being passed except for 25 tests.
The failing tests need to be investigated by Bug 131044.

  • platform/efl/TestExpectations:
9:03 AM Changeset in webkit [182656] by rniwa@webkit.org
  • 2 edits
    2 adds in trunk

WebKit places caret in front of pasted Numbers cells instead of behind
https://bugs.webkit.org/show_bug.cgi?id=143627

Reviewed by Darin Adler.

The bug was caused by Position::downstream not respecting modern position types inside a table.
Fixed it by using Position::atStartOfNode which respects before/after positions.

This bug doesn't reproduce when there is no whitespace after td element in the pasted content
because positionAtEndOfInsertedContent() will be inside the last pasted cell inside
ReplaceSelectionCommand::completeHTMLReplacement in those cases. This related but separate bug
is tracked in https://webkit.org/b/143628.

Tests: editing/pasteboard/paste-table-with-unrendered-text-nodes.html

  • dom/Position.cpp:

(WebCore::Position::downstream):

7:40 AM Changeset in webkit [182655] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Use semi-transparent map item dividers
https://bugs.webkit.org/show_bug.cgi?id=143630

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectTreeMapEntryTreeElement.css:

(.object-tree-map-entry.key:not(:first-child)):
(.object-tree-map-entry.key): Deleted.
(.object-tree-map-entry.key:first-of-type): Deleted.
Use one selector instead of two.

7:37 AM Changeset in webkit [182654] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Objects are vertically misaligned by 1px
https://bugs.webkit.org/show_bug.cgi?id=143629

Reviewed by Timothy Hatcher.

  • UserInterface/Views/FormattedValue.css:

(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):

3:02 AM Changeset in webkit [182653] by Yusuke Suzuki
  • 18 edits in trunk/Source

[ES6] Enable Symbol in web pages
https://bugs.webkit.org/show_bug.cgi?id=143375

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

Expose Symbol to web pages.
Symbol was exposed, but it was hidden since it breaks Facebook comments.
This is because at that time Symbol is implemented,
but methods for Symbol.iterator and Object.getOwnPropertySymbols are not implemented yet
and it breaks React.js and immutable.js.

Now methods for Symbol.iterator and Object.getOwnPropertySymbols are implemented
and make sure that Facebook comment input functionality is not broken with exposed Symbol.

So this patch replaces runtime flags SymbolEnabled to SymbolDisabled
and makes enabling symbols by default.

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):

  • runtime/CommonIdentifiers.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::finishCreation):

  • runtime/RuntimeFlags.h:

Source/WebCore:

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):

Source/WebKit/mac:

  • WebView/WebPreferencesPrivate.h:

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:

Source/WebKit2:

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

Apr 10, 2015:

11:23 PM Changeset in webkit [182652] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Hide volume controls when playing wirelessly.
https://bugs.webkit.org/show_bug.cgi?id=143621.
<rdar://problem/20490673>

Reviewed by Darin Adler.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.updateWirelessPlaybackStatus):

10:07 PM Changeset in webkit [182651] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix. Updated config.json after recent changes.

  • config.json:
10:07 PM Changeset in webkit [182650] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • WebCore.xcodeproj/project.pbxproj: Make LaunchServicesSPI.h a private header

instead of project, as it's used in WebKit.

8:52 PM Changeset in webkit [182649] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed, EFL gardening on 11th April.

Mark 18 table/mozilla tests to failure. The tests have been failed since r182620.

  • platform/efl/TestExpectations:
6:45 PM Changeset in webkit [182648] by weinig@apple.com
  • 10 edits
    1 add in trunk/Source

Allow LaunchServices to handle URLs on link navigations
<rdar://problem/19446826>
https://bugs.webkit.org/show_bug.cgi?id=143544

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/ios/LaunchServicesSPI.h: Added.

Add new SPI header.

Source/WebKit/mac:

  • Configurations/WebKitLegacy.xcconfig:

Link MobileCoreServices.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(shouldTryAppLink):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::setUpPolicyListener):
Only let LaunchServices have a crack at the URL if the navigation is:

1) a main frame navigation
2) a result of a user gesture

Source/WebKit2:

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::tryAppLink):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
Only let LaunchServices have a crack at the URL if the navigation is:

1) a main frame navigation
2) a result of a user gesture

Source/WTF:

  • wtf/Platform.h:

Add HAVE macro for this functionality.

6:00 PM Changeset in webkit [182647] by Yusuke Suzuki
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

ES6: Iterator toString names should be consistent
https://bugs.webkit.org/show_bug.cgi?id=142424

Reviewed by Geoffrey Garen.

Iterator Object Names in the spec right now have spaces.
In our implementation some do and some don't.
This patch aligns JSC to the spec.

  • runtime/JSArrayIterator.cpp:
  • runtime/JSStringIterator.cpp:
  • tests/stress/iterator-names.js: Added.

(test):
(iter):
(check):

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

Web Inspector: Fix Console Message Toggle

Unreviewed. Correct a post-review comment fix that went too far.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype.set expandable):
The handler needed to be bound to the object.

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

Web Inspector: Fix Console Filter Search, Uncaught Exception

Rubber-stamped by Timothy Hatcher.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._performSearch):
This regressed with recent refactoring. Fix up the property and class names.

5:40 PM Changeset in webkit [182644] by Joseph Pecoraro
  • 13 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Improve Console Message Formatting
https://bugs.webkit.org/show_bug.cgi?id=143623

Reviewed by Timothy Hatcher.

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

Misc.

  • UserInterface/Views/ConsoleMessageView.css: Added.

(.console-message.expandable .console-top-level-message::before):
(.console-message.expandable.expanded .console-top-level-message::before):
(.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider)):
(.console-message-preview-divider):
(.console-message-enclosed):
(.console-message .console-message-stack-trace-container):
(.console-message.expandable.expanded .console-message-stack-trace-container):
(.console-message .console-message-stack-trace-container > li):
(.console-message .console-message-extra-parameters-container > li::before):
New styles for the new ConsoleMessageView children.
Handle console message expansion, a list of extra parameters
and a potential list of stack frames.

(.console-message, .console-user-command):
(.console-message .repeat-count):
(.console-message-text):
(.console-message-text > span):
(.console-error-level):
(.console-error-level .console-message-text):
(.console-debug-level .console-message-text):
(.console-warning-level):
(.console-warning-level .console-message-text):
(.console-user-command .console-message):
(.console-error-level::before):
(.console-warning-level::before):
(.console-user-command::before):
(.console-debug-level::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level).console-message):
(:matches(.console-warning-level, .console-error-level, .console-log-level)::before):
(.console-user-command > .console-message-text):
(.console-message-url):
(.console-saved-variable):
(.console-user-command-result):
(.console-user-command-result.console-log-level::before):
Moved from LogContentView.css to here where it is more appropriate
since ConsoleMessageView added them.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype.get expandable):
(WebInspector.ConsoleMessageView.set expandable.this._boundExpandClickHandler):
(WebInspector.ConsoleMessageView.prototype.set expandable):
(WebInspector.ConsoleMessageView.prototype.expand):
(WebInspector.ConsoleMessageView.prototype.collapse):
(WebInspector.ConsoleMessageView.prototype.toggle):
Provide high level constructs for making a ConsoleMessageView
expandable, and APIs to expand/collapse.

(WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
Add and style the new list of extra parameters.

(WebInspector.ConsoleMessageView.prototype._appendStackTrace):
Add and style the new list stack frames.

(WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
(WebInspector.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
Handling the top level message text line for all the different cases.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._populateTagContextMenu):

  • UserInterface/Views/DOMTreeOutline.css:

(.dom-tree-outline .add-attribute): Deleted.
CSS class .add-attribute was not used. Remove all references.

(.webkit-html-fragment.shadow):
Moved from LogContentView.css to a more appropriate place.

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createObjectPreviewOrFormattedValueForRemoteObject):
Helper to create a preview or a formatted value for a given object.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype._updateMessagesSelection):
(WebInspector.LogContentView.prototype._leftArrowWasPressed):
(WebInspector.LogContentView.prototype._rightArrowWasPressed):
(WebInspector.LogContentView.prototype._rightArrowWasPressed.else.outlineTitle.treeElement.onexpand): Deleted.
(WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent): Deleted.
Lots of this code no longer makes sense. Delete some and put FIXMEs
where it makes sense to re-add back useful features.

  • UserInterface/Views/ObjectPreviewView.css:

(.object-preview > .size):

  • UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:

(.object-tree-array-index .index-value .object-tree): Deleted.

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree):
Tweak styles. Opacity instead of a specific gray to better work
with other colors. Always make objects be inline-block.

  • UserInterface/Views/LogContentView.css:

(.console-error-level + .console-item):
(.console-warning-level + .console-item):
(.console-item::before):
(.console-user-command-result): Deleted.
(.console-user-command-result.console-log-level::before): Deleted.
(.console-message, .console-user-command): Deleted.
(.console-message .repeat-count): Deleted.
(.console-message-text): Deleted.
(.console-message-text > span): Deleted.
(.console-error-level): Deleted.
(.console-error-level .section .header .title): Deleted.
(.console-debug-level .console-message-text): Deleted.
(.console-debug-level::before): Deleted.
(.console-error-level::before): Deleted.
(.console-warning-level): Deleted.
(.console-warning-level .console-message-text): Deleted.
(.console-warning-level::before): Deleted.
(.console-user-command .console-message): Deleted.
(.console-user-command::before): Deleted.
(:matches(.console-warning-level, .console-error-level, .console-log-level).console-message): Deleted.
(:matches(.console-warning-level, .console-error-level, .console-log-level)::before): Deleted.
(.console-user-command > .console-message-text): Deleted.
(.console-saved-variable): Deleted.
(.console-message-url): Deleted.
(.console-group-messages .section): Deleted.
(.console-group-messages .section .header): Deleted.
(.console-group-messages .section .header::before): Deleted.
(.console-group-messages .section .header .title): Deleted.
(.console-group-messages .section .properties li .info): Deleted.
(.console-group-messages .outline-disclosure): Deleted.
(.console-group-messages .outline-disclosure > ol): Deleted.
(.console-group-messages .outline-disclosure li .selection): Deleted.
(.console-group-messages .add-attribute): Deleted.
(.error-message): Deleted.
(.auto-complete-text, .editing .auto-complete-text): Deleted.
(.outline-disclosure li.hovered:not(.selected) .selection): Deleted.
(.outline-disclosure li.highlighted .highlight): Deleted.
(.outline-disclosure li.selected.highlighted .highlight): Deleted.
(.outline-disclosure li .selection): Deleted.
(.outline-disclosure li.selected .selection): Deleted.
(.outline-disclosure li.elements-drag-over .selection): Deleted.
(.outline-disclosure ol:focus li.selected .selection): Deleted.
(.outline-disclosure ol.search-match-not-found li.selected .selection): Deleted.
(.outline-disclosure > ol): Deleted.
(.outline-disclosure, .outline-disclosure ol): Deleted.
(.outline-disclosure li): Deleted.
(.outline-disclosure .expanded li): Deleted.
(.outline-disclosure > li.parent): Deleted.
(.outline-disclosure li .webkit-html-tag.close): Deleted.
(.outline-disclosure > li.parent::before): Deleted.
(.outline-disclosure li.parent.expanded::before): Deleted.
(.outline-disclosure ol.children): Deleted.
(.outline-disclosure ol.children.expanded): Deleted.
(.webkit-html-fragment.shadow): Deleted.
Delete now unused styles and move other styles to more appropriate places.

5:00 PM Changeset in webkit [182643] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION (182567): regress/script-tests/sorting-benchmark.js fails on 32 bit dfg-eager tests
https://bugs.webkit.org/show_bug.cgi?id=143582

Reviewed by Mark Lam.

For 32 bit builds, we favor spilling unboxed values. The ASSERT at the root of this bug doesn't
fire for 64 bit builds, because we spill an "Other" value as a full JS value (DataFormatJS).
For 32 bit builds however, if we are able, we spill Other values as JSCell* (DataFormatCell).
The fix is to add a check in fillSpeculateInt32Internal() before the ASSERT that always OSR exits
if the spillFormat is DataFormatCell. Had we spilled in DataFormatJS and the value was a JSCell*,
we would still OSR exit after the speculation check.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): Fixed an error in a comment while debugging.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):

3:09 PM Changeset in webkit [182642] by Bem Jones-Bey
  • 2 edits in trunk/Source/WebCore

Unreviewed, added CSS Shapes to features.json file.

  • features.json:
2:04 PM Changeset in webkit [182641] by rniwa@webkit.org
  • 6 edits in trunk/Websites/perf.webkit.org

Make the analysis page more useful
https://bugs.webkit.org/show_bug.cgi?id=143617

Reviewed by Chris Dumez.

  • public/api/analysis-tasks.php:

(fetch_and_push_bugs_to_tasks): Added total and finished numbers of build requests associated
with the fetched analysis tasks as buildRequestCount and finishedBuildRequestCount respectively.

  • public/v2/analysis.js:

(App.AnalysisTask.formattedCreatedAt): Added.
(App.AnalysisTask._addLeadingZero): Added.
(App.AnalysisTask.buildRequestCount): Added.
(App.AnalysisTask.finishedBuildRequestCount): Added.
(App.AnalysisTask.statusLabel): Added. Status total and finished numbers of build requests.
(App.AnalysisTask.testGroups):
(App.AnalysisTask.triggerable):
(App.AnalysisTask.label):

  • public/v2/app.css: Tweaked style rules for the analysis page.
  • public/v2/app.js:

(App.buildPopup): Sort the list of platforms by name.
(App.AnalysisRoute.model): Sort the list of analysis tasks by the order they are created.
(App.AnalysisTaskController._fetchedManifest): Added elementId to associate bug tracker names
such as "Bugzilla" with the corresponding text field.

  • public/v2/index.html: Added a bunch of columns to the analysis page and also wrapped the table

showing A/B testing results in a div with overflow: scroll so that it always leaves enough space
for the accompanying graph.

1:22 PM Changeset in webkit [182640] by timothy_horton@apple.com
  • 8 edits
    2 adds in trunk

Replace setFixedLayoutSizeEnabled: with an enum of layout modes
https://bugs.webkit.org/show_bug.cgi?id=143576

Reviewed by Simon Fraser.

  • UIProcess/API/C/WKLayoutMode.h: Added.
  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _isFixedLayoutEnabled]): Deleted.
(-[WKWebView _setFixedLayoutEnabled:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKLayoutMode.h: Added.
  • UIProcess/API/mac/WKView.mm:

(-[WKView _layoutMode]):
(-[WKView _setLayoutMode:]):
(-[WKView _isFixedLayoutEnabled]): Deleted.
(-[WKView _setFixedLayoutEnabled:]): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:

Add enums for "layout mode". Currently we have two values: "ViewSize",
which is the normal behavior, and "FixedSize", which is fixed layout mode.
More values will come in the future.

  • TestWebKitAPI/Tests/WebKit2Cocoa/FixedLayoutSize.mm:

(TEST):
Adopt.

12:39 PM Changeset in webkit [182639] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

_WKWebsiteDataStore doesn't track and remove offline application cache entries
https://bugs.webkit.org/show_bug.cgi?id=143614
rdar://problem/20243235

Reviewed by Andreas Kling.

  • Shared/WebsiteData/WebsiteDataTypes.h:

Add WebsiteDataTypeOfflineWebApplicationCache.

  • UIProcess/API/Cocoa/_WKWebsiteDataRecord.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm:

(dataTypesToString):

  • UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):
Add WKWebsiteDataTypeOfflineWebApplicationCache.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
Create a custom application cache storage and fetch the origins from it.

(WebKit::WebsiteDataStore::removeData):
Delete either all the cache entries (since we don't track time in the application cache),
or the ones specified by the given entries.

12:09 PM Changeset in webkit [182638] by ap@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix.

  • Misc/WebNSURLExtras.mm: (-[NSString _webkit_unescapedQueryValue]): Ignore a deprecation.
12:00 PM Changeset in webkit [182637] by aestes@apple.com
  • 25 edits
    2 copies
    4 adds in trunk

[Content Filtering] Support modifying request URLs
https://bugs.webkit.org/show_bug.cgi?id=143599
rdar://problem/20442560

Reviewed by Darin Adler.

Source/WebCore:

Tests: contentfiltering/modify-request-url.html

http/tests/contentfiltering/modify-redirect-request-url.html

Allow NEFilterSource to modifiy request URLs. Also teach MockContentFilter to do the same for testing.

  • platform/cocoa/NetworkExtensionContentFilter.mm:

(WebCore::NetworkExtensionContentFilter::willSendRequest): If NEFilterSource provided a string representing a
valid URL in decisionInfo[NEFilterSourceOptionsRedirectURL], then used that as the request URL.

  • platform/spi/cocoa/NEFilterSourceSPI.h: Temporarily defined NEFilterSourceOptionsRedirectURL.
  • testing/MockContentFilter.cpp:

(WebCore::MockContentFilter::willSendRequest): If settings() has a valid modifiedRequestURL, use it as the
request URL. Only do so once MockContentFilter has reached its decision point so that both initial requests and
redirect requests can be tested.

  • testing/MockContentFilterSettings.h: Added modifiedRequestURL.

(WebCore::MockContentFilterSettings::modifiedRequestURL): Ditto.
(WebCore::MockContentFilterSettings::setModifiedRequestURL): Ditto.

  • testing/MockContentFilterSettings.idl: Ditto.

LayoutTests:

  • contentfiltering/allow-after-add-data-expected.html: Changed to use pass.html.
  • contentfiltering/allow-after-finished-adding-data-expected.html: Ditto.
  • contentfiltering/allow-after-response-expected.html: Ditto.
  • contentfiltering/allow-after-will-send-request-expected.html: Ditto.
  • contentfiltering/block-after-add-data-expected.html: Ditto.
  • contentfiltering/block-after-add-data-then-allow-unblock-expected.html: Ditto.
  • contentfiltering/block-after-add-data-then-deny-unblock-expected.html: Ditto.
  • contentfiltering/block-after-finished-adding-data-expected.html: Ditto.
  • contentfiltering/block-after-finished-adding-data-then-allow-unblock-expected.html: Ditto.
  • contentfiltering/block-after-finished-adding-data-then-deny-unblock-expected.html: Ditto.
  • contentfiltering/block-after-response-expected.html: Ditto.
  • contentfiltering/block-after-response-then-allow-unblock-expected.html: Ditto.
  • contentfiltering/block-after-response-then-deny-unblock-expected.html: Ditto.
  • contentfiltering/block-after-will-send-request-expected.html: Ditto.
  • contentfiltering/block-after-will-send-request-then-allow-unblock-expected.html: Ditto.
  • contentfiltering/block-after-will-send-request-then-deny-unblock-expected.html: Ditto.
  • contentfiltering/modify-request-url-expected.html: Added.
  • contentfiltering/modify-request-url.html: Added.
  • contentfiltering/resources/fail.html: Added.
  • contentfiltering/resources/pass.html: Added.
  • http/tests/contentfiltering/allow-after-redirect-expected.html: Removed the body tag.
  • http/tests/contentfiltering/block-after-redirect-expected.html: Ditto.
  • http/tests/contentfiltering/modify-redirect-request-url-expected.html: Added.
  • http/tests/contentfiltering/modify-redirect-request-url.html: Added.
11:55 AM Changeset in webkit [182636] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Disable Linux-specific code in a Windows build
https://bugs.webkit.org/show_bug.cgi?id=137973

Patch by Milan Crha <mcrha@redhat.com> on 2015-04-10
Reviewed by Joseph Pecoraro.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):

11:14 AM Changeset in webkit [182635] by ChangSeok Oh
  • 2 edits
    4 adds in trunk/LayoutTests

[Win] Layout Test fast/backgrounds/selection-background-color-of-list-style.html is failing
https://bugs.webkit.org/show_bug.cgi?id=143543

Reviewed by Brent Fulgham.

Added missing test results after r182546 for windows.

  • platform/win/TestExpectations:
  • platform/win/fast/backgrounds/selection-background-color-of-image-list-style-expected.png: Added.
  • platform/win/fast/backgrounds/selection-background-color-of-image-list-style-expected.txt: Added.
  • platform/win/fast/backgrounds/selection-background-color-of-list-style-expected.png: Added.
  • platform/win/fast/backgrounds/selection-background-color-of-list-style-expected.txt: Added.
11:11 AM Changeset in webkit [182634] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Fix calleeSaveRegisters() on non iOS platforms after r180516
https://bugs.webkit.org/show_bug.cgi?id=143368

Reviewed by Michael Saboff.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):

11:07 AM Changeset in webkit [182633] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

showRenderTree: Include the render object to the inlinebox output.
https://bugs.webkit.org/show_bug.cgi?id=143610

This helps to match the inlinebox and its renderer.

Reviewed by Antti Koivisto.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::showLineBox):

11:07 AM Changeset in webkit [182632] by peavo@outlook.com
  • 2 edits in trunk/Source/WebKit/win

[Win] Implement some methods in DOMHTMLDocument interface.
https://bugs.webkit.org/show_bug.cgi?id=143602

Reviewed by Alex Christensen.

  • DOMHTMLClasses.cpp:

(DOMHTMLDocument::open):
(DOMHTMLDocument::close):
(DOMHTMLDocument::write):
(DOMHTMLDocument::writeln):

10:22 AM Changeset in webkit [182631] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Update wireless player placard for OSX.
https://bugs.webkit.org/show_bug.cgi?id=143585.
<rdar://problem/12067439>

Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.css:

Adjust button positioning and svg.
(audio::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-wireless-playback-picker-button.playing):
Style the wireless playback status placard, small and big versions.
(audio::-webkit-media-controls-wireless-playback-status):
(audio::-webkit-media-controls-wireless-playback-text):
(audio::-webkit-media-controls-wireless-playback-text-top):
(audio::-webkit-media-controls-wireless-playback-text-bottom):
(audio::-webkit-media-controls-wireless-playback-status.small):
(audio::-webkit-media-controls-wireless-playback-text-top.small):
(audio::-webkit-media-controls-wireless-playback-text-bottom.small):

  • Modules/mediacontrols/mediaControlsApple.js:

Add new wireless player placard elements.
(Controller.prototype.createControls):
(Controller.prototype.configureInlineControls):
Make sure to switch between small and big placards when switching between fullscreen and small videos.
(Controller.prototype.configureFullScreenControls):
(Controller.prototype.handleFullscreenChange):
(Controller.prototype.updateWirelessPlaybackStatus):

7:31 AM Changeset in webkit [182630] by eric.carlson@apple.com
  • 37 edits
    2 adds in trunk/Source

[Mac] Refactor MediaPlaybackTarget
https://bugs.webkit.org/show_bug.cgi?id=143571

Reviewed by Jer Noble.

Source/WebCore/:

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::addPlaybackTargetPickerClient): Don't call client if page playback target

is NULL.

(WebCore::Document::didChoosePlaybackTarget): MediaPlaybackTarget is passed as a Ref<>

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setWirelessPlaybackTarget): MediaPlaybackTarget is passed as a Ref<>

  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession): Don't initialize m_playbackTarget.
(WebCore::HTMLMediaSession::didChoosePlaybackTarget): MediaPlaybackTarget is passed as a Ref<>

  • html/HTMLMediaSession.h:
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::playbackTarget): m_playbackTarget is a RefPtr<MediaPlaybackTarget>
(WebCore::Page::didChoosePlaybackTarget): Ditto.

  • page/Page.h:
  • platform/audio/MediaSession.h:

(WebCore::MediaSessionClient::setWirelessPlaybackTarget): Take a Ref<MediaPlaybackTarget>&&.

Make MediaPlaybackTarget RefCounted, and don't require it to be serializable so it can be
subclassed to keep port-specific iformation out of the base class.

  • platform/graphics/MediaPlaybackTarget.h:

(WebCore::MediaPlaybackTarget::targetType):
(WebCore::MediaPlaybackTarget::targetContext):
(WebCore::MediaPlaybackTarget::hasActiveRoute):
(WebCore::MediaPlaybackTarget::MediaPlaybackTarget):
(WebCore::MediaPlaybackTarget::setDevicePickerContext): Deleted.
(WebCore::MediaPlaybackTarget::devicePickerContext): Deleted.

MediaPlaybackTargetContext is the struct that is serialized to pass across the process boudary.
It has union to hold port-specific data.

  • platform/graphics/MediaPlaybackTargetContext.h: Added.
  • platform/graphics/MediaPlaybackTargetPicker.h: didChoosePlaybackTarget takes a Ref<MediaPlaybackTarget>&&
  • platform/graphics/MediaPlaybackTargetPickerClient.h: Ditto.
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setWirelessPlaybackTarget): Ditto.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setWirelessPlaybackTarget):

  • platform/graphics/avfoundation/MediaPlaybackTargetMac.h: Added.

(WebCore::MediaPlaybackTargetMac::targetType):
(WebCore::MediaPlaybackTargetMac::outputContext):

  • platform/graphics/avfoundation/MediaPlaybackTargetMac.mm:

(WebCore::MediaPlaybackTargetMac::create):
(WebCore::MediaPlaybackTargetMac::MediaPlaybackTargetMac):
(WebCore::MediaPlaybackTargetMac::~MediaPlaybackTargetMac):
(WebCore::MediaPlaybackTargetMac::targetContext):
(WebCore::MediaPlaybackTargetMac::hasActiveRoute):
(WebCore::toMediaPlaybackTargetMac):
(WebCore::MediaPlaybackTarget::encode): Deleted.
(WebCore::MediaPlaybackTarget::decode): Deleted.
(WebCore::MediaPlaybackTarget::hasActiveRoute): Deleted.

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

(WebCore::MediaPlaybackTargetPickerMac::currentDeviceDidChange): Allocate and pass a MediaPlaybackTargetMac

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessPlaybackTarget): Take a Ref<MediaPlaybackTarget&&

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setWirelessPlaybackTarget): Ditto.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::setWirelessPlaybackTarget): Ditto.

Source/WebKit2:

Pass a MediaPlaybackTargetContext across process boundary instead of a MediaPlaybackTarget.

  • Shared/WebCoreArgumentCoders.h:

(IPC::ArgumentCoder<MediaPlaybackTargetContext>::encode): New.
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::decode): New.

  • Shared/mac/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData): New.
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::decodePlatformData): New.
(IPC::ArgumentCoder<MediaPlaybackTarget>::encode): Deleted.
(IPC::ArgumentCoder<MediaPlaybackTarget>::decode): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChoosePlaybackTarget): Take a Ref<MediaPlaybackTarget>&&.

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::playbackTargetSelected): Take a Ref<MediaPlaybackTarget>&&.

Source/WebKit/mac/:

  • WebView/WebMediaPlaybackTargetPicker.h:
  • WebView/WebMediaPlaybackTargetPicker.mm:

(WebMediaPlaybackTargetPicker::didChoosePlaybackTarget): Take a Ref<MediaPlaybackTarget>&&.

4:20 AM Changeset in webkit [182629] by calvaris@igalia.com
  • 6 edits in trunk/LayoutTests

Add total test test of Streams API
https://bugs.webkit.org/show_bug.cgi?id=142682

Unreviewed.

Increased the callbacks timeouts to make tests pass in slower bots
like Yosemite Debug.

  • streams/reference-implementation/resources/streams-utils.js:

Created a standardTimeout variable with 100 as default.

  • streams/reference-implementation/readable-stream-cancel.html:
  • streams/reference-implementation/readable-stream-reader.html:
  • streams/reference-implementation/readable-stream-templated.html:
  • streams/reference-implementation/readable-stream.html: Used

standardTimeout for the test timeout callbacks.

3:51 AM Changeset in webkit [182628] by svillar@igalia.com
  • 3 edits in trunk/Source/WebCore

[CSS Grid Layout] Fix raw function pointer usages
https://bugs.webkit.org/show_bug.cgi?id=143481

Reviewed by Antti Koivisto.

The argument list of
resolveContentBasedTrackSizingFunctionsForItems() became too long
and rather incomprehensible as it included up to 6 function
pointers. This replaces all of them by an enum which describes the
phase of the algorithm that is currently running. With that phase
we have enough information to select the right function to call.

In order not to tangle up too much the method, the new explicit
switch statements where moved to static helper functions.

No new tests as this is just a code refactoring.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::trackSizeForTrackSizeComputationPhase): New helper function.
(WebCore::RenderGrid::shouldProcessTrackForTrackSizeComputationPhase): Ditto.
(WebCore::RenderGrid::trackShouldGrowBeyondGrowthLimitsForTrackSizeComputationPhase): Ditto.
(WebCore::RenderGrid::updateTrackSizeForTrackSizeComputationPhase): Ditto.
(WebCore::RenderGrid::currentItemSizeForTrackSizeComputationPhase): Ditto.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::distributeSpaceToTracks):

  • rendering/RenderGrid.h:
3:48 AM Changeset in webkit [182627] by adam.bergkvist@ericsson.com
  • 7 edits
    6 deletes in trunk/Source/WebCore

WebRTC: Remove AudioStreamTrack and VideoStreamTrack (removed in spec)
https://bugs.webkit.org/show_bug.cgi?id=143336

Reviewed by Philippe Normand.

The specific MediaStreamTrakc types (AudioStreamTrack and VideoStreamTrack) have been
removed from the Media Capture and Streams [1] specification.

[1] http://w3c.github.io/mediacapture-main/archives/20150324/getusermedia.html

There are no test for this feature to remove.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/mediastream/AudioStreamTrack.cpp: Removed.
  • Modules/mediastream/AudioStreamTrack.h: Removed.
  • Modules/mediastream/AudioStreamTrack.idl: Removed.
  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::addRemoteTrack):
(WebCore::MediaStream::active): Deleted.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::create):
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::kind):
(WebCore::MediaStreamTrack::clone):
(WebCore::MediaStreamTrack::trackEnded): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/VideoStreamTrack.cpp: Removed.
  • Modules/mediastream/VideoStreamTrack.h: Removed.
  • Modules/mediastream/VideoStreamTrack.idl: Removed.
  • WebCore.xcodeproj/project.pbxproj:
2:23 AM Changeset in webkit [182626] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

Fix some minor typos related to the WebProcessCreationParameter.
https://bugs.webkit.org/show_bug.cgi?id=143598

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-04-10
Reviewed by Csaba Osztrogonác.

No new tests, no behavior change.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

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

(WebKit::WebProcessPool::createNewWebProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

2:00 AM Changeset in webkit [182625] by youenn.fablet@crf.canon.fr
  • 2 edits
    19 adds
    6 deletes in trunk/LayoutTests

Add total test test of Streams API
https://bugs.webkit.org/show_bug.cgi?id=142682

Reviewed by Benjamin Poulain.

This is the full test set that we have for the implementation of
Streams API. When we add more features/code the number of passing
tests will increase.

We have the tests translated from the reference implementation at
streams/reference-implementation and our own tests for some other
things at the streams upper level.

We removed testharness stacktrace in case of failure because it
dumps the filenames with paths. You can activate it for a specific
test by setting its dumpStack attribute to true.

All our former custom tests were integrated in the spec so we they
are now in their appropriate places in the reference
implementation ones. Some of them were changed to match the actual
spec and they are failing now, but we only have to progressively
fix them.

  • resources/testharnessreport.js: Avoid printing the stack in case

of test failure to be able to have failing tests as expected
unless commanded otherwise.

  • streams/readablestream-constructor-expected.txt: Removed.
  • streams/readablestream-constructor.html: Removed.
  • streams/readablestream-start-expected.txt: Removed.
  • streams/readablestream-start.html: Removed.
  • streams/readablestreamreader-constructor-expected.txt: Removed.
  • streams/readablestreamreader-constructor.html: Removed.
  • streams/reference-implementation/bad-underlying-sources-expected.txt: Added.
  • streams/reference-implementation/bad-underlying-sources.html: Added.
  • streams/reference-implementation/brand-checks-expected.txt: Added.
  • streams/reference-implementation/brand-checks.html: Added.
  • streams/reference-implementation/count-queuing-strategy-expected.txt: Added.
  • streams/reference-implementation/count-queuing-strategy.html: Added.
  • streams/reference-implementation/readable-stream-cancel-expected.txt: Added.
  • streams/reference-implementation/readable-stream-cancel.html: Added.
  • streams/reference-implementation/readable-stream-expected.txt: Added.
  • streams/reference-implementation/readable-stream-reader-expected.txt: Added.
  • streams/reference-implementation/readable-stream-reader.html: Added.
  • streams/reference-implementation/readable-stream-templated-expected.txt: Added.
  • streams/reference-implementation/readable-stream-templated.html: Added.
  • streams/reference-implementation/readable-stream.html: Added.
  • streams/reference-implementation/resources/byte-length-queuing-strategy.js: Added.
  • streams/reference-implementation/resources/count-queuing-strategy.js: Added.
  • streams/reference-implementation/resources/streams-utils.js: Added.
1:36 AM Changeset in webkit [182624] by Gyuyoung Kim
  • 5 edits in trunk

[CMake] Remove unnecessary ENABLE_WEBCORE switch
https://bugs.webkit.org/show_bug.cgi?id=143584

Reviewed by Csaba Osztrogonác.

WebCore should be built for all ports. So ENABLE_WEBCORE switch looks be redundant.
Remove it.

  • CMakeLists.txt:
  • Source/CMakeLists.txt:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitFS.cmake:
1:33 AM Changeset in webkit [182623] by aestes@apple.com
  • 14 edits in trunk/Source

[Cocoa] Add a HAVE(AVKIT) and use it
https://bugs.webkit.org/show_bug.cgi?id=143593

Reviewed by David Kilzer.

Source/WebCore:

  • page/Settings.h: Only defined setAVKitEnabled() if HAVE(AVKIT).
  • platform/ios/WebVideoFullscreenControllerAVKit.mm: Only compiled if HAVE(AVKIT).
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Ditto.

Source/WebKit/mac:

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Only set WebKitAVKitEnabled to YES if HAVE(AVKIT).
(-[WebPreferences setAVKitEnabled:]): Only set value for WebKitAVKitEnabled if HAVE(AVKIT).

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Only called Settings::setAVKitEnabled() if HAVE(AVKIT).

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _mayAutomaticallyShowVideoOptimized]): Returned false if !HAVE(AVKIT).

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Removed the check for < iOS 8.2.
(WebKit::WebPageProxy::reattachToWebProcess): Ditto.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::create): Created a version of this function that returns nullptr if
the minimum required version of iOS is less than 8.2 or if !HAVE(AVKIT).

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Only called Settings::setAVKitEnabled(true) if HAVE(AVKIT).

Source/WTF:

  • wtf/Platform.h: Defined HAVE(AVKIT) to be true on all Cocoa platforms except Watch OS.

Apr 9, 2015:

11:07 PM Changeset in webkit [182622] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Use modern loops in WebProcess
https://bugs.webkit.org/show_bug.cgi?id=143302

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-04-09
Reviewed by Darin Adler.

Use modern range for-loops in WebProcess.

No new tests, no behavior change.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::focusedWebPage):
(WebKit::WebProcess::webPageGroup):
(WebKit::WebProcess::setTextCheckerState):
(WebKit::WebProcess::resetAllGeolocationPermissions):

10:21 PM Changeset in webkit [182621] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Some CSS3 filters tests crash under iOS testing
https://bugs.webkit.org/show_bug.cgi?id=143594
rdar://problem/20491140

Reviewed by David Kilzer.

Some tests disable accelerated compositing via testRunner.overridePreference(). In this case,
we'd not create a root scrolling tree node, so null-check it in AsyncScrollingCoordinator::updateNonFastScrollableRegion().

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateNonFastScrollableRegion):

8:15 PM Changeset in webkit [182620] by Alan Bujtas
  • 46 edits
    5 adds in trunk

Simple line layout: Add <br> support.
https://bugs.webkit.org/show_bug.cgi?id=139012

This patch enables RenderBlockFlows to use simple line layout on text content when <br> is present.
Simple text with <br> is a fairly common pattern on discussion(forum)-like web pages. This patch reduces memory usage
and speeds up layout for such content.

Source/WebCore:

PerformanceTest/layout/line-layout-simple.html shows more than 2x speedup, when each paragraph is modified by appending <br> to the end.
With <br> support enabled:

mean: 70.02391461289068 runs/s
median: 70.47986488932318 runs/s

While with <br> support disabled:

mean: 30.417295049468184 runs/s
median: 30.36517778760357 runs/s

Reviewed by Antti Koivisto.

Test: fast/text/simple-line-with-br.html

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleTextNode):

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

(WebCore::RenderBlockFlow::setSelectionState):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):

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

(WebCore::simpleLineLayout):
(WebCore::ensureLineBoxes):
(WebCore::RenderLineBreak::deleteLineBoxesBeforeSimpleLineLayout):
(WebCore::RenderLineBreak::positionForPoint):
(WebCore::RenderLineBreak::setSelectionState):
(WebCore::RenderLineBreak::linesBoundingBox):
(WebCore::RenderLineBreak::absoluteRects):
(WebCore::RenderLineBreak::absoluteQuads):
(WebCore::RenderLineBreak::collectSelectionRects):

  • rendering/RenderLineBreak.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRects):
(WebCore::RenderText::absoluteQuadsClippedToEllipsis):
(WebCore::RenderText::absoluteQuads):
(WebCore::RenderText::linesBoundingBox):
(WebCore::RenderText::caretMinOffset):
(WebCore::RenderText::caretMaxOffset):
(WebCore::RenderText::containsCaretOffset):
(WebCore::RenderText::hasRenderedText):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::consumeLineBreakIfNeeded):
(WebCore::SimpleLineLayout::skipWhitespaceIfNeeded):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::forceFragmentToLine):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::create):

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::initializeSegments):
(WebCore::SimpleLineLayout::FlowContents::segmentForRenderer): Deleted.

  • rendering/SimpleLineLayoutFlowContents.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::hitTestFlow):
(WebCore::SimpleLineLayout::showLineLayoutForFlow):

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::RunResolver):
(WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Iterator::inQuirksMode):
(WebCore::SimpleLineLayout::RunResolver::Iterator::operator--):

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::nextTextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::findNextTextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::revertToFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):

  • rendering/SimpleLineLayoutTextFragmentIterator.h:

(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isLastInRenderer):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isEmpty):
(WebCore::SimpleLineLayout::TextFragmentIterator::isSoftLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::isHardLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::isLineBreak): Deleted.

LayoutTests:

Test output changes in 2 different ways:

  1. Repositioned RenderLineBreak elements. (1px wide <br> is the result of integral pixel snapping)
  2. Removed empty content (<br>).

Reviewed by Antti Koivisto.

  • fast/text/simple-line-with-br-expected.html: Added.
  • fast/text/simple-line-with-br.html: Added.
  • platform/mac-mavericks/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac-mavericks/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/editing/pasteboard/5761530-1-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.txt:
  • platform/mac/fast/dom/focus-contenteditable-expected.txt:
  • platform/mac/fast/forms/range/slider-padding-expected.txt: Added.
  • platform/mac/fast/forms/textarea-scroll-height-expected.txt:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/mac/fast/text/svg-font-face-with-kerning-expected.txt: Added.
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-goback1-expected.txt:
  • platform/mac/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
  • platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug106795-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1224-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug16252-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug20579-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug32205-3-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug82946-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:
5:39 PM Changeset in webkit [182619] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Regression(r182603): editing/selection/selection-invalid-offset.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=143591

Reviewed by Ryosuke Niwa.

Add missing null-check for m_frame->editor().client() in
FrameSelection::updateAndRevealSelection().

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateAndRevealSelection):

5:36 PM Changeset in webkit [182618] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught exception using console.table with filter argument
https://bugs.webkit.org/show_bug.cgi?id=143579

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-09
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._userProvidedColumnNames):
Reordering in the refactoring would have already converted this argument
to a RemoteObject. Assert that here instead of trying to convert.

5:30 PM Changeset in webkit [182617] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Minor cleanups to WebCore/plugins
https://bugs.webkit.org/show_bug.cgi?id=143509

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-04-09
Reviewed by Anders Carlsson.

  1. Remove unnecessary #includes.
  2. Fix some wrong namespace comments for consistency.

No new tests, no behavior change.

  • plugins/DOMMimeType.cpp:
  • plugins/DOMMimeType.h:
  • plugins/DOMMimeTypeArray.h:
  • plugins/DOMPlugin.h:
  • plugins/DOMPluginArray.h:
  • plugins/PluginData.cpp:
  • plugins/PluginData.h:
  • plugins/PluginMainThreadScheduler.cpp:
  • plugins/PluginViewBase.h:
5:21 PM Changeset in webkit [182616] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: ObjectTree Property Path tooltip has a few issues
https://bugs.webkit.org/show_bug.cgi?id=143587

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-09
Reviewed by Timothy Hatcher.

  • UserInterface/Models/PropertyPath.js:

(WebInspector.PropertyPath.prototype.appendSymbolProperty):
(WebInspector.PropertyPath.prototype.appendPropertyDescriptor):
Handle Symbol properties. They are treated as an impossible path
because we cannot guarentee a reference to the Symbol right now.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._rootPropertyPathForObject):
The savedResultIndex is on message.

  • UserInterface/Views/ObjectTreeMapEntryTreeElement.js:

(WebInspector.ObjectTreeMapEntryTreeElement):
(WebInspector.ObjectTreeMapKeyTreeElement):
(WebInspector.ObjectTreeMapValueTreeElement):
In order for "key" to be available setup the mainTitle after
the call to the base's constructor.

5:17 PM Changeset in webkit [182615] by Gyuyoung Kim
  • 2 edits in trunk/Tools

Update my email address and expertise.
https://bugs.webkit.org/show_bug.cgi?id=143586

Unreviewed, just update my info.

  • Scripts/webkitpy/common/config/contributors.json:
4:42 PM Changeset in webkit [182614] by mmirman@apple.com
  • 5 edits in trunk/LayoutTests

Updated expectations on a few tests to account for error
info not being added at throw time anymore.
https://bugs.webkit.org/show_bug.cgi?id=143542
rdar://problem/20475871

Reviewed by Michael Saboff.

Because sourceURL is now being appended at error construction time rather than when thrown,
the tests now attempt to append it during the code run by InspectorTest.sendCommand which I assume uses an eval.
Because this code is generated on the fly, it has no URL and thus sourceURL makes no sense.
Also since they are generated in a new locations, they will have a new lines and columns.

  • inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt:
  • inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt:
  • inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt:
  • platform/win/TestExpectations: Enabled the above tests on windows.
4:36 PM Changeset in webkit [182613] by jfernandez@igalia.com
  • 17 edits
    3 adds in trunk

[CSS Grid Layout] Implement justify-self and justify-item css properties.
https://bugs.webkit.org/show_bug.cgi?id=133281

Reviewed by David Hyatt.

Implement the new property 'justify-items', defined in the CSS Box Alignment
Source/WebCore:

specification to describe the container's alignment behavior, in the same way
the 'align-items' property does. The 'justify-self' 'auto' value of any relative
positioned element will be resolved to its container's 'justify-items' value.

Test: fast/css/parse-justify-items.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::resolveContainerAlignmentAuto): Function to resolve 'auto' values for 'align-items' or 'justify-items'.
(WebCore::resolveSelfAlignmentAuto): Function to resolve 'auto' values for 'align-self' or 'justify-self'.
(WebCore::valueForItemPositionWithOverflowAlignment): Take into account the 'legacy' keyword.
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::resolveAlignmentAuto): Deleted (renamed to resolveContainerAlignmentAuto).

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Refactoring to share logic between justify-xxx and align-xxx properties.
(WebCore::CSSParser::parseLegacyPosition): Parsing logic of 'legacy' keyword,
(WebCore::CSSParser::parseItemPositionOverflowPosition): Take into account the 'legacy' keyword.

  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInheritJustifyItems): Added.
(WebCore::StyleBuilderCustom::applyInitialJustifyItems): Added.
(WebCore::StyleBuilderCustom::applyValueJustifyItems): Added.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Resolve 'auto' values for justify-items when parents have the 'legacy' keyword.

  • rendering/style/RenderStyle.h: Managing the new ItemPositionType fields.
  • rendering/style/RenderStyleConstants.h: Added the ItemPositionType enumeration for handling the 'legacy' keyword.
  • rendering/style/StyleRareNonInheritedData.cpp: Managing the new ItemPositionType fields.

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

specification to desribe the container's alignment behavior, in the same way
the 'align-items' property does.

  • fast/css/parse-justify-items-expected.txt: Added.
  • fast/css/parse-justify-items.html: Added.
  • fast/css/resources/alignment-parsing-utils.js: Added.

(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):

4:32 PM Changeset in webkit [182612] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Make it possible to create an application cache storage with custom directories
https://bugs.webkit.org/show_bug.cgi?id=143588

Reviewed by Sam Weinig.

Add cache directory and flat file directory name parameters to ApplicationCacheStorage::create.

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::store):
(WebCore::ApplicationCacheStorage::loadCache):
(WebCore::ApplicationCacheStorage::checkForDeletedResources):
(WebCore::ApplicationCacheStorage::flatFileAreaSize):
(WebCore::ApplicationCacheStorage::ApplicationCacheStorage):
(WebCore::ApplicationCacheStorage::create):
(WebCore::ApplicationCacheStorage::singleton):

  • loader/appcache/ApplicationCacheStorage.h:
3:57 PM Changeset in webkit [182611] by rniwa@webkit.org
  • 6 edits in trunk/Websites/perf.webkit.org

Perf dashboard should automatically select ranges for A/B testing
https://bugs.webkit.org/show_bug.cgi?id=143580

Reviewed by Chris Dumez.

Added a new statistics option for picking a A/B test range selection strategy.
The selected ranges are shown in the graph using the same UI to show analysis tasks.

  • public/v2/app.js:

(App.DashboardPaneProxyForPicker._platformOrMetricIdChanged): Updated the query parameters for
charts page used by the dashboard since we've added a new parameter at the end.
(App.Pane.ranges): Added. Merges ranges created for analysis tasks and A/B testing.
(App.Pane.updateStatisticsTools): Clone and set the test range selection strategies.
(App.Pane._cloneStrategy): Copy isSegmentation.
(App.Pane._updateMovingAverageAndEnvelope): Set testRangeCandidates.
(App.Pane._movingAverageOrEnvelopeStrategyDidChange): Update the charts when a new text range
selection strategy is picked by the user.
(App.Pane._computeMovingAverageAndOutliers): Compute the test ranges using the chosen strategy.
Avoid going through isAnomalyArray when no anomaly detection strategy is enabled. Also changed
the return value from the moving average time series to a dictionary that contains the moving
average time series, a dictionary of anomalies, and an array of test ranges.
(App.ChartsController._parsePaneList): Parse the test range selection strategy configuration.
(App.ChartsController._serializePaneList): Ditto for serialization.
(App.ChartsController._scheduleQueryStringUpdate): Update the URL hash when the user picks a new
test range selection strategy.

  • public/v2/chart-pane.css: Fixed a typo as well as added a CSS rule for test ranges markers.
  • public/v2/index.html: Added UI for selecting a test range selection strategy.
  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._rangesChanged): Pass down "status" to be used as a class name.

  • public/v2/js/statistics.js:

(Statistics.MovingAverageStrategies): Added isSegmentation to segmentation strategies.
(Statistics.TestRangeSelectionStrategies): Added.

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

Track IconDatabase retain counts for WebContent processes. Balance retain/releases for processes that terminate before successfully doing it themselves.
https://bugs.webkit.org/show_bug.cgi?id=143517.

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2015-04-09
Reviewed by Brady Eidson.

  • UIProcess/WebIconDatabase.messages.in:

Move RetainIconForPageURL and ReleaseIconForPageURL messages to WebProcessProxy so they can be associated with the appropriate web process.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionDidClose):
Call releaseRemainingIconsForPageURLs() to balance retains/releases for this process.

(WebKit::WebProcessProxy::retainIconForPageURL):
Track retain counts for page URLs and call through to WebIconDatabase.

(WebKit::WebProcessProxy::releaseIconForPageURL):
Ditto.

(WebKit::WebProcessProxy::releaseRemainingIconsForPageURLs):
Call releaseIconForPageURL() once for each outstanding retain count, for each page URL.

  • UIProcess/WebProcessProxy.h:

Declare methods for retainIconForPageURL(), releaseIconForPageURL(), and releaseRemainingIconsForPageURLs().
Declare hash map to track number of retains per page URL.

  • UIProcess/WebProcessProxy.messages.in:

Moved RetainIconForPageURL and ReleaseIconForPageURL messages here from WebIconDatabase.

  • WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:

(WebKit::WebIconDatabaseProxy::retainIconForPageURL):
Modify the receiver of the message to be WebProcessProxy.

(WebKit::WebIconDatabaseProxy::releaseIconForPageURL):
Ditto.

3:36 PM Changeset in webkit [182609] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Text-combine erroneously draws vertically after non-layout-causing style change
https://bugs.webkit.org/show_bug.cgi?id=143461
<rdar://problem/19285490>

Reviewed by Darin Adler.

Source/WebCore:

RenderCombineText::styleDidChange() unconditionally uncombines its text. Layout then
recombines it. However, if there is a style change that does not cause layout, the
RenderCombineText will be left uncombined until the next layout.

Test: fast/text/text-combine-style-change-no-layout.html

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

  • fast/text/text-combine-style-change-no-layout-expected.html: Added.
  • fast/text/text-combine-style-change-no-layout.html: Added.
3:19 PM Changeset in webkit [182608] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

[WK2] Regression(r182194): The NetworkProcess is calling the wrong memory pressure handler before suspending
https://bugs.webkit.org/show_bug.cgi?id=143575
<rdar://problem/20484338>

Reviewed by Andreas Kling.

After r182194, the NetworkProcess is calling the memory pressure
handler before getting suspended to free-up as much memory as possible
at this point.

However, we were calling the default memory pressure handling code
instead of the custom handler registered by the NetworkProcess. This
patch fixes the problem.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::lowMemoryHandler):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::processWillSuspend):

  • NetworkProcess/NetworkProcess.h:
2:32 PM Changeset in webkit [182607] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r182573): Action Menus no longer appear for WebKit2 views displaying an image
rdar://problem/20486551 and https://bugs.webkit.org/show_bug.cgi?id=143574

Reviewed by Brent Fulgham.

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::Data): Clear up a name scoping issue.

1:03 PM Changeset in webkit [182606] by Joseph Pecoraro
  • 3 edits in trunk/Tools

Flakiness Dashboard not loading insecure content if loaded with https URL
https://bugs.webkit.org/show_bug.cgi?id=143570

Reviewed by Alexey Proskuryakov.

  • TestResultServer/app.yaml:
  • TestResultServer/static-dashboards/loader.js:

Switch to https scheme.

12:03 PM Changeset in webkit [182605] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Revert part of 182516: it broke tests
https://bugs.webkit.org/show_bug.cgi?id=143568
rdar://problem/20484578

Reviewed by Myles Maxfield.

Revert the FontCascadeCocoa parts of r182516, since it broke some CSS shapes tests.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::drawGlyphs):
(WebCore::dilationSizeForTextColor): Deleted.

11:57 AM Changeset in webkit [182604] by Alan Bujtas
  • 7 edits
    1 add in trunk

Simple line layout(regression): Calling innerText on RenderFlow with multiple children is slow.
https://bugs.webkit.org/show_bug.cgi?id=143554

Reviewed by Antti Koivisto.

Initialize render flow's segments only when the render flow changes in TextIterator.
The included performance test shows 6x speedup. (from ~10 runs/sec to ~60 runs/sec)

PerformanceTests:

  • Layout/simple-line-layout-innertext.html: Added.

Source/WebCore:

Test: PerformanceTests/Layout/simple-line-layout-innertext.html.

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleTextNode):

  • editing/TextIterator.h:
  • rendering/SimpleLineLayoutFlowContents.cpp: Instruments log shows that vector's expandCapacity could be expensive when flow has large amount of children.

(WebCore::SimpleLineLayout::initializeSegments):

11:31 AM Changeset in webkit [182603] by Chris Dumez
  • 21 edits in trunk/Source

[WK2][iOS] editorState() should not cause a synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=142536
<rdar://problem/20041506>

Reviewed by Enrica Casucci.

Source/WebCore:

Add didChangeSelectionAndUpdateLayout() callback to EditorClient
that is called at the end of FrameSelection::updateAndRevealSelection().

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateAndRevealSelection):

  • loader/EmptyClients.h:
  • page/EditorClient.h:

Source/WebKit/mac:

Provide implementation for EditorClient::didChangeSelectionAndUpdateLayout().

  • WebCoreSupport/WebEditorClient.h:

Source/WebKit/win:

Provide implementation for EditorClient::didChangeSelectionAndUpdateLayout().

  • WebCoreSupport/WebEditorClient.h:

Source/WebKit2:

platformEditorState() on iOS does a synchronous layout to compute some
of the EditorState members (e.g. caretRectAtStart / caretRectAtEnd).
This is bad for performance as this is called every time the selection
is changed (which happens for e.g. when you set the value of a focused
HTMLInputElement).

This patch updates the behavior on iOS to only send a partial EditorState
on selection change so that the UIProcess gets most of the information
(the ones that do not require style recalc or layout) ASAP. A full Editor
state is then sent after the asynchronous layout is done.

With this change, I see a 38% improvement on Speedometer (26.4 +/- 0.37
-> 36.5 +/- 0.54) on iPhone 6 Plus.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):
(WebKit::EditorState::PostLayoutData::encode):
(WebKit::EditorState::PostLayoutData::decode):

  • Shared/EditorState.h:

(WebKit::EditorState::EditorState): Deleted.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLayerTree:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(WebKit::WKSelectionDrawingInfo::WKSelectionDrawingInfo):
(-[WKContentView webSelectionRects]):
(-[WKContentView _addShortcut:]):
(-[WKContentView selectedText]):
(-[WKContentView isReplaceAllowed]):
(-[WKContentView _promptForReplace:]):
(-[WKContentView _transliterateChinese:]):
(-[WKContentView textStylingAtPosition:inDirection:]):
(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView _showDictionary:]):
(-[WKContentView _characterBeforeCaretSelection]):
(-[WKContentView _characterInRelationToCaretSelection:]):
(-[WKContentView _selectionAtDocumentStart]):
(-[WKContentView selectedTextRange]):
(-[WKContentView hasContent]):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::didChangeSelectionAndUpdateLayout):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):
(WebKit::WebPage::didChangeSelection):
(WebKit::WebPage::sendPostLayoutEditorStateIfNeeded):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::platformEditorState):

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformEditorState):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformEditorState):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformEditorState):

9:20 AM Changeset in webkit [182602] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Network Cache: Crash in WebCore::CachedResource::tryReplaceEncodedData
https://bugs.webkit.org/show_bug.cgi?id=143562

Reviewed by Anders Carlsson.

If another thread comes and truncates the file before we map it we end up with a map that crashes when accessed.

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::IOChannel):

When creating a new file unlink any existing file instead of using O_TRUNC.

9:13 AM Changeset in webkit [182601] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Give each cache group a storage and use it in place of the singleton
https://bugs.webkit.org/show_bug.cgi?id=143540

Reviewed by Sam Weinig.

This is another step towards making the cache storage be per page.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
(WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
(WebCore::ApplicationCacheGroup::cacheForMainRequest):
(WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::makeObsolete):
(WebCore::ApplicationCacheGroup::didReachMaxAppCacheSize):
(WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):

  • loader/appcache/ApplicationCacheGroup.h:
  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::loadCacheGroup):
(WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
(WebCore::ApplicationCacheStorage::cacheGroupForURL):
(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):

8:42 AM Changeset in webkit [182600] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] fast/css/vertical-text-overflow-ellipsis-text-align-center.html is failing
https://bugs.webkit.org/show_bug.cgi?id=142571

Unreviewed EFL Gardening.

Rebaseline the fast/css/vertical-text-overflow-ellipsis-text-align-center.html.

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-04-09

  • platform/efl/TestExpectations:
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png:
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
8:39 AM Changeset in webkit [182599] by commit-queue@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed EFL gardening. Added missing results after r182546.
https://bugs.webkit.org/show_bug.cgi?id=143557

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-04-09

  • platform/efl/fast/backgrounds/selection-background-color-of-image-list-style-expected.png: Added.
  • platform/efl/fast/backgrounds/selection-background-color-of-image-list-style-expected.txt: Added.
  • platform/efl/fast/backgrounds/selection-background-color-of-list-style-expected.png: Added.
  • platform/efl/fast/backgrounds/selection-background-color-of-list-style-expected.txt: Added.
4:51 AM Changeset in webkit [182598] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[EFL][GTK] WebKit2's generate-forwarding-headers.pl runs too many times
https://bugs.webkit.org/show_bug.cgi?id=142907

Unreviewed typo fix after r182595.

  • PlatformGTK.cmake:
2:26 AM Changeset in webkit [182597] by aestes@apple.com
  • 3 edits in trunk/Source/WebCore

Try to fix the Mac build after r182596.

I was wrong to replace PLATFORM(IOS) with HAVE(PARENTAL_CONTROLS) in ContentFilterUnblockHandler.
The conditional should be HAVE(PARENTAL_CONTROLS) && PLATFORM(IOS).

  • platform/ContentFilterUnblockHandler.h:
  • platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:

(WebCore::ContentFilterUnblockHandler::wrapWithDecisionHandler):
(WebCore::ContentFilterUnblockHandler::needsUIProcess):
(WebCore::ContentFilterUnblockHandler::encode):
(WebCore::ContentFilterUnblockHandler::decode):
(WebCore::ContentFilterUnblockHandler::canHandleRequest):
(WebCore::ContentFilterUnblockHandler::requestUnblockAsync):

1:54 AM Changeset in webkit [182596] by aestes@apple.com
  • 7 edits in trunk/Source

[Content Filtering] Add a HAVE(PARENTAL_CONTROLS) and use it
https://bugs.webkit.org/show_bug.cgi?id=143559

Reviewed by David Kilzer.

Source/WebCore:

  • loader/ContentFilter.cpp:

(WebCore::ContentFilter::types): Only registered ParentalControlsContentFilter if HAVE(PARENTAL_CONTROLS).

  • platform/ContentFilterUnblockHandler.h: Changed PLATFORM(IOS) to HAVE(PARENTAL_CONTROLS).
  • platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:

(WebCore::ContentFilterUnblockHandler::wrapWithDecisionHandler): Ditto.
(WebCore::ContentFilterUnblockHandler::needsUIProcess): Ditto.
(WebCore::ContentFilterUnblockHandler::encode): Ditto.
(WebCore::ContentFilterUnblockHandler::decode): Ditto.
(WebCore::ContentFilterUnblockHandler::canHandleRequest): Ditto.
(WebCore::ContentFilterUnblockHandler::requestUnblockAsync): Ditto.

  • platform/cocoa/ParentalControlsContentFilter.mm: Wrapped the file with HAVE(PARENTAL_CONTROLS)

Source/WTF:

Added PLATFORM(WATCHOS). Used PLATFORM() since Watch OS is just a variant of OS(IOS).
Defined HAVE(PARENTAL_CONTROLS) to be true on all Cocoa platforms except Watch OS.

  • wtf/Platform.h:
1:11 AM Changeset in webkit [182595] by Csaba Osztrogonác
  • 9 edits in trunk

[EFL][GTK] WebKit2's generate-forwarding-headers.pl runs too many times
https://bugs.webkit.org/show_bug.cgi?id=142907

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Scripts/generate-forwarding-headers.pl: Make it work with more path and platform arguments.

Tools:

  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/PlatformGTK.cmake:
  • WebKitTestRunner/PlatformEfl.cmake:
  • WebKitTestRunner/PlatformGTK.cmake:
12:33 AM Changeset in webkit [182594] by aestes@apple.com
  • 3 edits in trunk/LayoutTests

Skip http/tests/contentfiltering/ on all the platforms that skipped contentfiltering/
https://bugs.webkit.org/show_bug.cgi?id=143460

  • platform/efl/TestExpectations:
  • platform/win/TestExpectations:
12:26 AM Changeset in webkit [182593] by svillar@igalia.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, added CSS Grid Layout to features.json file.

  • features.json:

Apr 8, 2015:

11:57 PM Changeset in webkit [182592] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Simplify Legacy Tips support
https://bugs.webkit.org/show_bug.cgi?id=143551

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

  • UserInterface/Models/ConsoleMessage.js:
  • UserInterface/Protocol/ConsoleObserver.js:

(WebInspector.ConsoleObserver.prototype.messageAdded):

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype._levelString):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._filterMessageElements):

11:48 PM Changeset in webkit [182591] by youenn.fablet@crf.canon.fr
  • 8 edits
    2 adds in trunk

[Streams API] Support the start function parameter in ReadableStream constructor
https://bugs.webkit.org/show_bug.cgi?id=141160

Source/WebCore:

Reviewed by Benjamin Poulain.

Stores the JS source object in ReadableStreamJSSource and calls its "start" function.
This function takes a controller object that has three JS functions as members: close, enqueue and error.
This controller is stored in ReadableStreamJSSource as it will be reused as "pull" parameter.
All three JS functions do not currently do anything.

Test: streams/readablestream-start.html

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::start): Place holder for step 11 of https://streams.spec.whatwg.org/#rs-constructor.

  • Modules/streams/ReadableStream.h:
  • bindings/js/JSReadableStreamCustom.cpp:

(WebCore::constructJSReadableStream):

  • bindings/js/ReadableStreamJSSource.cpp:

(WebCore::getPropertyFromObject): Helper function to get a public property from an object.
(WebCore::setPropertyToObject): Helper function to set a public property to an object.
(WebCore::callFunction): Helper function to call a JS function from C++.
(WebCore::ReadableStreamJSSource::ReadableStreamJSSource):
(WebCore::notImplementedFunction):
(WebCore::createReadableStreamEnqueueFunction): Creates the JS function for enqueue.
(WebCore::createReadableStreamCloseFunction): Creates the JS function for close.
(WebCore::createReadableStreamErrorFunction): Creates the JS function for error.
(WebCore::startReadableStreamAsync): Equivalent of promise resolution for start.
(WebCore::ReadableStreamJSSource::start): Calls the "start" function of the JS source with all three JS functions (enqueue, close, error) as parameters.

  • bindings/js/ReadableStreamJSSource.h:

LayoutTests:

Reviewed by Benjamin Poulain.

Added tests to check that start JS function is called with the right parameters and can throw errors.

  • streams/readablestream-start-expected.txt: Added.
  • streams/readablestream-start.html: Added.
11:34 PM Changeset in webkit [182590] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Exception in console and broken right click after attempting to show context menu in Inspector
https://bugs.webkit.org/show_bug.cgi?id=143556

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-04-08
Reviewed by Brady Eidson.

  • Shared/mac/NativeContextMenuItem.mm:

(WebKit::NativeContextMenuItem::NativeContextMenuItem):
Add an ASSERT to immediately catch a menu item created with a nil native menu item.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):
Gracefully handle a null share context menu item.

10:38 PM Changeset in webkit [182589] by Brent Fulgham
  • 7 edits in trunk

[Mac] Unreviewed test fix after r182584
https://bugs.webkit.org/show_bug.cgi?id=143452

Source/WebCore:

Correct bit comparison to use the correct value for the Control-key

  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::typeForEvent):

Source/WebKit2:

Correct bit comparison to use the correct value for the Control-key

  • Shared/mac/WebEventFactory.mm:

(WebKit::typeForEvent):

Tools:

Put both of these tests back to their original state now that the underlying
problem is fixed.

  • TestWebKitAPI/Tests/WebKit2/MenuTypesForMouseEvents.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:

(TestWebKitAPI::TEST):

10:22 PM Changeset in webkit [182588] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Create PageUIClientEfl after sending CreateWebPage message
https://bugs.webkit.org/show_bug.cgi?id=143514

Reviewed by Gyuyoung Kim.

UIProcess sends some messages to WebPage before WebPage is created. It makes some error logs on debug build.
So this patch moves the initialization of m_pageUIClient after calling WKViewInitialize().

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):

9:58 PM Changeset in webkit [182587] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

The results of A/B testing should state statistical significance
https://bugs.webkit.org/show_bug.cgi?id=143552

Reviewed by Chris Dumez.

Added statistical comparisons between results for each configuration on analysis task page using
Welch's t-test. The probability as well as t-statistics and the degrees of freedoms are reported.

  • public/v2/app.js:

(App.TestGroupPane._populate): Report the list of statistical comparison between every pair of
root configurations in the results. e.g. if we've got A, B, C configurations then compare A/B, A/C
and B/C.
(App.TestGroupPane._computeStatisticalSignificance): Compute the statistical significance using
Welch's t-test. Report the probability by which two samples do not come from the same distribution.
(App.TestGroupPane._createConfigurationSummary): Include the array of results for this configuration.
Also renamed "items" to "requests" for clarity.

  • public/v2/index.html: Added the template for showing statistical comparisons.
  • public/v2/js/statistics.js: Renamed tDistributionQuantiles to tDistributionByOneSidedProbability

for clarity. Also factored out the functions to convert from one-sided probability to two-sided
probability and vice versa.
(Statistics.supportedConfidenceIntervalProbabilities):
(Statistics.confidenceIntervalDelta):
(Statistics.probabilityRangeForWelchsT): Added. Computes the lower bound and the upper bound for
the probability that two values are sampled from distinct distributions using Welch's t-test.
(Statistics.computeWelchsT): This function now takes two-sided probability like all other functions.
(.tDistributionByOneSidedProbability): Renamed from tDistributionQuantiles.
(.oneSidedToTwoSidedProbability): Extracted.
(.twoSidedToOneSidedProbability): Extracted.
(Statistics.MovingAverageStrategies): Converted the one-sided probability to the two-sided probability
now that computeWelchsT takes two-sided probability.

9:47 PM Changeset in webkit [182586] by fpizlo@apple.com
  • 2 edits in trunk/Tools

run-jsc-benchmarks geomean of preferred means shouldn't print the VMs header twice
https://bugs.webkit.org/show_bug.cgi?id=143553

Reviewed by Ryosuke Niwa.

Remove the spurious printVMs left over from an earlier change.

  • Scripts/run-jsc-benchmarks:
8:44 PM Changeset in webkit [182585] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Add a debug assertion that will fire if we try to paint layer contents on a background thread
https://bugs.webkit.org/show_bug.cgi?id=143547

Reviewed by Alexey Proskuryakov.

New assertion to catch cases where other frameworks erroneously trigger painting
on a non-main (or non-Web) thread.

  • platform/graphics/mac/WebLayer.mm:

(-[WebSimpleLayer display]):
(-[WebSimpleLayer drawInContext:]):

8:42 PM Changeset in webkit [182584] by Brent Fulgham
  • 3 edits in trunk/Tools

[Mac] Unreviewed test fix after r182581

The behavior of control-left-click is controlled by a system preference.
Our test bots have this turned off.

  • TestWebKitAPI/Tests/WebKit2/MenuTypesForMouseEvents.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:

(TestWebKitAPI::TEST):

8:21 PM Changeset in webkit [182583] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Unreviewed Test Fix after r182579. Add missing include.

  • UserInterface/Test.html:

Missing file was causing inspector/page/main-frame-resource.html to fail.

7:50 PM Changeset in webkit [182582] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Layout Test inspector/console/console-api.html is failing
https://bugs.webkit.org/show_bug.cgi?id=143548

  • platform/win/TestExpectations: Skipped new timeout.
7:41 PM Changeset in webkit [182581] by Brent Fulgham
  • 16 edits
    3 adds in trunk

[Mac] WebKit is not honoring OS preferences for secondary click behaviors
https://bugs.webkit.org/show_bug.cgi?id=143452
<rdar://problem/20437483>

Reviewed by Tim Horton.

Source/WebCore:

We cannot rely on the event's button number to decide behavior. The OS settings might have
mapped middle button to context menu, etc. Instead, we should ask the OS (via NSMenu) what
the proper button press behavior is.

  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::mouseButtonForEvent): Ask NSMenu what kind of button press we have received.

Source/WebKit/mac:

We were improperly intercepting contextual menu clicks and passing them through
the mouseDown handler, rather than processing via NSView's menu handling code.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView otherMouseDown:]): Treat context menu events the same as the action
menu case, and pass it to AppKit for normal menu processing.

Source/WebKit2:

We cannot rely on the event's button number to decide behavior. The OS settings might have
mapped middle button to context menu, etc. Instead, we should ask the OS (via NSMenu) what
the proper button press behavior is.

  • Shared/mac/WebEventFactory.mm:

(WebKit::mouseButtonForEvent): Ask NSMenu what kind of button press we have received.

Tools:

Add a new API test to confirm that Cocoa mouse button press events are properly
tagged with the desired menu behavior (i.e., 'None', 'Context', or 'Action'.)

The WK2 test dispatches mouse down events to a PlatformWebView, and checks with
some registered event handlers that the expected button press and context menu
events are received.

The WK1 unit test creates an NSEvent with the desired button press state, and then
uses WebCore::PlatformEventFactory::createPlatformMouseEvent to create a WebCore event.
We check the resulting PlatformMouseEvent for proper state.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test files.
  • TestWebKitAPI/Tests/WebKit2/MenuTypesForMouseEvents.cpp: Added.

(TestWebKitAPI::buildAndPerformTest): Helper function to build/run an individual test.

  • TestWebKitAPI/Tests/WebKit2/mouse-button-listener.html: Added.
  • TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm: Added.

(TestWebKitAPI::canCallMenuTypeForEvent): Helper function.
(TestWebKitAPI::buildAndPerformTest): Helper function to build/run an individual test.

  • TestWebKitAPI/mac/PlatformWebViewMac.mm:

(TestWebKitAPI::PlatformWebView::simulateButtonClick): Added method to support firing
mouse down events.

  • TestWebKitAPI/mac/PlatformWebViewMac.h:
7:15 PM Changeset in webkit [182580] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Fix -Wformat in AnimationBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=143541

Reviewed by Simon Fraser.

  • page/animation/AnimationBase.cpp:

(WebCore::nameForStateInput): Added. Converts an AnimationBase::AnimationStateInput to a
string.
(WebCore::AnimationBase::updateStateMachine): Print AnimationBase::AnimationStateInput as a
string, instead of passing it to %d and assuming that works, to silence GCC's -Wformat.

6:37 PM Changeset in webkit [182579] by Joseph Pecoraro
  • 14 edits
    2 moves
    5 adds
    2 deletes in trunk

Web Inspector: Split ConsoleMessageImpl into the View and the Model
https://bugs.webkit.org/show_bug.cgi?id=142599

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/Models/ConsoleMessage.js: Added.

(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.prototype.get source):
(WebInspector.ConsoleMessage.prototype.get level):
(WebInspector.ConsoleMessage.prototype.get messageText):
(WebInspector.ConsoleMessage.prototype.get type):
(WebInspector.ConsoleMessage.prototype.get url):
(WebInspector.ConsoleMessage.prototype.get line):
(WebInspector.ConsoleMessage.prototype.get column):
(WebInspector.ConsoleMessage.prototype.get repeatCount):
(WebInspector.ConsoleMessage.prototype.get parameters):
(WebInspector.ConsoleMessage.prototype.get stackTrace):
(WebInspector.ConsoleMessage.prototype.get request):
New readonly model object for console messages.

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

(WebInspector.loaded):
Load the new files in the main / test page.

  • UserInterface/Views/LegacyConsoleMessage.js: Removed.
  • UserInterface/Views/LegacyConsoleMessageImpl.js: Removed.

Remove Legacy versions.

  • UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController):
(WebInspector.JavaScriptLogViewController.prototype.startNewSession):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
(WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage):
(WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Deleted.
Update LogViewController to create ConsoleMessageViews from ConsoleMessages when applicable.
Also clarify when we have a view versus model object.

  • UserInterface/Protocol/ConsoleObserver.js:

(WebInspector.ConsoleObserver.prototype.messageAdded):

  • UserInterface/Controllers/LogManager.js:

(WebInspector.LogManager.prototype.messageWasAdded):
(WebInspector.LogManager.prototype.messagesCleared):
(WebInspector.LogManager.prototype._mainResourceDidChange):
Create model objects and issue events for the model objects.

  • UserInterface/Models/DefaultDashboard.js:

(WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
Update now that the event gives us a model object.

  • UserInterface/Views/ConsoleMessageView.js: Added.

(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype.get element):
(WebInspector.ConsoleMessageView.prototype.get message):
(WebInspector.ConsoleMessageView.prototype.get repeatCount):
(WebInspector.ConsoleMessageView.prototype.set repeatCount):
(WebInspector.ConsoleMessageView.prototype.toClipboardString):
(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
(WebInspector.ConsoleMessageView.prototype._appendSavedResultIndex):
(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
(WebInspector.ConsoleMessageView.prototype._appendParameters):
(WebInspector.ConsoleMessageView.prototype._appendStackTrace):
(WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
(WebInspector.ConsoleMessageView.prototype._formatParameter):
(WebInspector.ConsoleMessageView.prototype._formatParameterAsValue):
(WebInspector.ConsoleMessageView.prototype._formatParameterAsString):
(WebInspector.ConsoleMessageView.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
(WebInspector.ConsoleMessageView.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageView.prototype._rootPropertyPathForObject):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.parameterFormatter):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.stringFormatter):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.floatFormatter):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.integerFormatter):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.styleFormatter):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.isWhitelistedProperty):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
(WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString):
(WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
(WebInspector.ConsoleMessageView.prototype._shouldHideURL):
(WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame):
(WebInspector.ConsoleMessageView.prototype._linkifyLocation):
(WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
(WebInspector.ConsoleMessageView.prototype._userProvidedColumnNames):
(WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
(WebInspector.ConsoleMessageView.prototype._levelString):
(WebInspector.ConsoleMessageView.prototype._enforcesClipboardPrefixString):
(WebInspector.ConsoleMessageView.prototype._clipboardPrefixString):
New View class for a ConsoleMessage. This is a near direct port of the old code
to a view class that has a root element.

  • UserInterface/Models/ConsoleCommandResultMessage.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleCommandResult.js.

(WebInspector.ConsoleCommandResultMessage):
(WebInspector.ConsoleCommandResultMessage.clearMaximumSavedResultIndex):
(WebInspector.ConsoleCommandResultMessage.prototype.get savedResultIndex):
Rename, as this is a ConsoleMessage subclass with a specific type for console evaluation results.

  • UserInterface/Views/ConsoleCommandView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleCommand.js.

(WebInspector.ConsoleCommandView):
(WebInspector.ConsoleCommandView.prototype.get element):
(WebInspector.ConsoleCommandView.prototype.get commandText):
(WebInspector.ConsoleCommandView.prototype.get message):
(WebInspector.ConsoleCommandView.prototype.toClipboardString):

  • UserInterface/Views/ConsoleGroup.js:

(WebInspector.ConsoleGroup):
(WebInspector.ConsoleGroup.prototype.get parentGroup):
(WebInspector.ConsoleGroup.prototype.render):
(WebInspector.ConsoleGroup.prototype.addMessageView):
(WebInspector.ConsoleGroup.prototype.append):
(WebInspector.ConsoleGroup.prototype._titleMouseDown):
(WebInspector.ConsoleGroup.prototype.addMessage): Deleted.
(WebInspector.ConsoleGroup.prototype._titleClicked): Deleted.

  • UserInterface/Views/ConsoleSession.js:

(WebInspector.ConsoleSession):
(WebInspector.ConsoleSession.prototype.addMessageView):
(WebInspector.ConsoleSession.prototype.append):
(WebInspector.ConsoleSession.prototype.addMessage): Deleted.
(WebInspector.ConsoleSession.prototype.hasMessages): Deleted.
Convert to classes, and clarify these deal with View objects.

  • UserInterface/Views/LogContentView.css:

(.console-message .repeat-count):
(.console-message .bubble): Deleted.
Better class name for the repeat count element.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
(WebInspector.LogContentView.prototype._formatMessagesAsData):
(WebInspector.LogContentView.prototype._messageAdded):
(WebInspector.LogContentView.prototype._updateMessagesSelection):
(WebInspector.LogContentView.prototype._selectAllMessages):
(WebInspector.LogContentView.prototype._allMessageElements):
(WebInspector.LogContentView.prototype._unfilteredMessageElements):
(WebInspector.LogContentView.prototype._visibleMessageElements):
(WebInspector.LogContentView.prototype._scopeBarSelectionDidChange):
(WebInspector.LogContentView.prototype._filterMessageElements):
(WebInspector.LogContentView.prototype._upArrowWasPressed):
(WebInspector.LogContentView.prototype._downArrowWasPressed):
(WebInspector.LogContentView.prototype._previousMessage):
(WebInspector.LogContentView.prototype._nextMessage):
(WebInspector.LogContentView.prototype._performSearch):
(WebInspector.LogContentView.prototype._highlightRanges):
(WebInspector.LogContentView.prototype._reappendProvisionalMessages):
(WebInspector.LogContentView.prototype.didAppendConsoleMessage): Deleted.
(WebInspector.LogContentView.prototype._allMessages): Deleted.
(WebInspector.LogContentView.prototype._unfilteredMessages): Deleted.
(WebInspector.LogContentView.prototype._visibleMessages): Deleted.
(WebInspector.LogContentView.prototype._filterMessages): Deleted.
Rename lots of things to make it clear when we are dealing with
elements, model objects, or view objects. This class is still heavily
dealing with elements, and needs to be cleaned up later.

LayoutTests:

  • inspector/console/console-api-expected.txt: Added.
  • inspector/console/console-api.html: Added.

Add a basic test for console APIs creating the new ConsoleMessage model objects.

6:37 PM Changeset in webkit [182578] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Fix uncaught exception seen in Inspector.

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TreeOutline.js:

(WebInspector.TreeOutline.prototype.removeChild):
Add a null check. Everywhere else null checks this member variable
which may not exist yet, this case was missing the check.

6:37 PM Changeset in webkit [182577] by Joseph Pecoraro
  • 4 edits in trunk/Source/JavaScriptCore

Use jsNontrivialString in more places if the string is guaranteed to be 2 or more characters
https://bugs.webkit.org/show_bug.cgi?id=143430

Reviewed by Darin Adler.

  • runtime/ExceptionHelpers.cpp:

(JSC::errorDescriptionForValue):

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToPrecision):
(JSC::numberProtoFuncToString):

  • runtime/SymbolPrototype.cpp:

(JSC::symbolProtoFuncToString):

6:02 PM Changeset in webkit [182576] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Regression: Showing of color swatches no longer works in Details Sidebar
https://bugs.webkit.org/show_bug.cgi?id=143539

Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-04-08
Reviewed by Timothy Hatcher.

Fix a regression where due to an ESLint error the whole line instead of just
the variable declaration was removed.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):

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

[Win] Document some test failures.
https://bugs.webkit.org/show_bug.cgi?id=143542
https://bugs.webkit.org/show_bug.cgi?id=143543

  • platform/win/TestExpectations: Mark as failing.
4:14 PM Changeset in webkit [182574] by Michael Catanzaro
  • 2 edits in trunk/Tools

[GTK] Add pango to jhbuild-optional.modules
https://bugs.webkit.org/show_bug.cgi?id=143537

Reviewed by Martin Robinson.

  • gtk/jhbuild-optional.modules: Add pango.
4:11 PM Changeset in webkit [182573] by beidson@apple.com
  • 26 edits in trunk/Source

Expose the "Share" menu for links, images, and media.
<rdar://problem/20435340> and https://bugs.webkit.org/show_bug.cgi?id=143502

Reviewed by Tim Horton.

Source/WebCore:

  • loader/EmptyClients.h:
  • page/ContextMenuClient.h:

(WebCore::ContextMenuClient::shareSelectedTextMenuItem): Deleted.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::populate):
(WebCore::selectionContainsPossibleWord): Deleted.

  • page/ContextMenuController.h:

(WebCore::ContextMenuController::page):

  • platform/ContextMenuItem.cpp:

(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::isNull):
(WebCore::ContextMenuItem::shareMenuItem):
(WebCore::ContextMenuItem::supportsShareMenu): Deleted.
(WebCore::ContextMenuItem::shareSelectedTextMenuItem): Deleted.

  • platform/ContextMenuItem.h:
  • platform/gtk/ContextMenuItemGtk.cpp:

(WebCore::ContextMenuItem::shareMenuItem): Return a null item.
(WebCore::ContextMenuItem::supportsShareMenu): Deleted.
(WebCore::ContextMenuItem::shareSelectedTextMenuItem): Deleted.

  • platform/mac/ContextMenuItemMac.mm:

(WebCore::ContextMenuItem::shareMenuItem): Create a full-featured Share menu item instead of just for selected text.
(WebCore::ContextMenuItem::supportsShareMenu): Deleted.
(WebCore::ContextMenuItem::shareSelectedTextMenuItem): Deleted.

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::selectedText): Instead of calculating selected text outside the HitTestResult, let the

HitTestResult do what it does best: Calculate things!

  • rendering/HitTestResult.h:

Source/WebKit/mac:

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::shareMenuItem):

Source/WebKit/win:

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::shareMenuItem):

  • WebCoreSupport/WebContextMenuClient.h:

Source/WebKit2:

  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::Data):

  • Shared/WebHitTestResult.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::shareMenuItem):

  • WebProcess/WebCoreSupport/WebContextMenuClient.h:
  • WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:

(WebKit::WebContextMenuClient::shareSelectedTextMenuItem): Deleted.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):

3:47 PM Changeset in webkit [182572] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Add encoding and decoding of ints to WKRemoteObjectCoder
https://bugs.webkit.org/show_bug.cgi?id=143538

Reviewed by Tim Horton.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(-[WKRemoteObjectEncoder encodeInt:forKey:]):
(-[WKRemoteObjectDecoder decodeIntForKey:]):

3:21 PM Changeset in webkit [182571] by peavo@outlook.com
  • 2 edits in trunk/Source/WebCore

[Curl] Compile error in CurlCacheEntry::parseResponseHeaders method.
https://bugs.webkit.org/show_bug.cgi?id=143531

Reviewed by Alex Christensen.

Cache related methods in ResourceResponse have changed return type.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::parseResponseHeaders):

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

Remove ApplicationCacheGroup::m_isCopy
https://bugs.webkit.org/show_bug.cgi?id=143536

Reviewed by Tim Horton.

Code that used to set m_isCopy to true is long gone.

  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::~ApplicationCache):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
(WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):

  • loader/appcache/ApplicationCacheGroup.h:

(WebCore::ApplicationCacheGroup::isCopy): Deleted.

2:17 PM Changeset in webkit [182569] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed, update more test expectations

Remove some expected failures from tests that are passing. Also, copypaste some
expectations to more appropriate locations in the expectations file.

  • platform/gtk/TestExpectations:
2:16 PM Changeset in webkit [182568] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed fix after r182496 for when the cached runs JSON doesn't exist.

  • public/v2/app.js:

(App.Pane._fetch):
(App.Pane.refetchRuns):

2:14 PM Changeset in webkit [182567] by fpizlo@apple.com
  • 3 edits
    4 adds in trunk

JSArray::sortNumeric should handle ArrayWithUndecided
https://bugs.webkit.org/show_bug.cgi?id=143535

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

ArrayWithUndecided is what you get if you haven't stored anything into the array yet. We need to handle it.

  • runtime/JSArray.cpp:

(JSC::JSArray::sortNumeric):

  • tests/stress/sort-array-with-undecided.js: Added.

LayoutTests:

Upload the original test that first spotted this. Shortened it a bit so that it runs fast enough.

  • js/regress/script-tests/sorting-benchmark.js: Added.

(log):
(bottom_up_merge_sort):
(aMinusB):
(verify):
(benchmark):
(makeArrays):

  • js/regress/sorting-benchmark-expected.txt: Added.
  • js/regress/sorting-benchmark.html: Added.
2:12 PM Changeset in webkit [182566] by clopez@igalia.com
  • 3 edits in trunk/Tools

[XvfbDriver] Regular expression used to match running X servers fails on Fedora 22.
https://bugs.webkit.org/show_bug.cgi?id=143530

Reviewed by Žan Doberšek.

Assume that the default value for display (:0) is reserved and start checking on :1
Adjust webkitpy test and include two new test cases for this bug (display number not specified)
and for X server named Xorg.bin (previous bug 1376599)

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver._next_free_display)

  • Scripts/webkitpy/port/xvfbdriver_unittest.py:

(XvfbDriverTest.test_start_no_pixel_tests):
(XvfbDriverTest.test_start_pixel_tests):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_next_free_display):
(XvfbDriverTest.test_start_next_worker):

2:00 PM Changeset in webkit [182565] by andersca@apple.com
  • 6 edits in trunk/Source

Delete ApplicationCache static member functions
https://bugs.webkit.org/show_bug.cgi?id=143534

Reviewed by Tim Horton.

Source/WebCore:

  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::deleteCacheForOrigin): Deleted.
(WebCore::ApplicationCache::deleteAllCaches): Deleted.
(WebCore::ApplicationCache::diskUsageForOrigin): Deleted.

  • loader/appcache/ApplicationCache.h:

Source/WebKit2:

  • WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:

(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
(WebKit::WebApplicationCacheManager::deleteAllEntries):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::clearApplicationCacheForOrigin):
(WebKit::InjectedBundle::appCacheUsageForOrigin):

1:26 PM Changeset in webkit [182564] by achristensen@apple.com
  • 9 edits
    3 adds in trunk

Block popups from content extensions.
https://bugs.webkit.org/show_bug.cgi?id=143497

Reviewed by Brady Eidson.

Source/WebCore:

Test: http/tests/contentextensions/popups.html

  • loader/ResourceLoadInfo.cpp:

(WebCore::readResourceType):

  • loader/ResourceLoadInfo.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::open):

  • page/UserContentController.cpp:

(WebCore::UserContentController::actionsForResourceLoad):

  • page/UserContentController.h:

Check content extensions before opening a window.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):
Added popup test.

LayoutTests:

  • http/tests/contentextensions/popups-expected.txt: Added.
  • http/tests/contentextensions/popups.html: Added.
  • http/tests/contentextensions/popups.html.json: Added.
1:24 PM Changeset in webkit [182563] by fpizlo@apple.com
  • 2 edits in trunk

Unreviewed, revert accidental commit.

  • Makefile.shared:
1:22 PM Changeset in webkit [182562] by fpizlo@apple.com
  • 3 edits in trunk

DFG::IntegerCheckCombiningPhase's wrap-around check shouldn't trigger C++ undef behavior on wrap-around
https://bugs.webkit.org/show_bug.cgi?id=143532

Reviewed by Gavin Barraclough.

Oh the irony! We were protecting an optimization that only worked if there was no wrap-around in JavaScript.
But the C++ code had wrap-around, which is undef in C++. So, if the compiler was smart enough, our compiler
would think that there never was wrap-around.

This fixes a failure in stress/tricky-array-boiunds-checks.js when JSC is compiled with bleeding-edge clang.

  • dfg/DFGIntegerCheckCombiningPhase.cpp:

(JSC::DFG::IntegerCheckCombiningPhase::isValid):

1:09 PM Changeset in webkit [182561] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test expectation sanity-check

Remove duplicate expectation, and some expectations for tests that no longer exist.

  • platform/gtk/TestExpectations:
12:40 PM Changeset in webkit [182560] by Bem Jones-Bey
  • 4 edits
    4 adds in trunk

[CSS Shapes] Properly handle negative reference box widths and center coordinates
https://bugs.webkit.org/show_bug.cgi?id=142610

Reviewed by Rob Buis.
Source/WebCore:

Fix a few cases where values that should not be negative end up that
way.

This patch is based on a couple of Blink patches by Rob Buis.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-negative-radius-crash.html

fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-negative-width-crash.html

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computeDeltasForContainingBlockLine): A

negative margin box width means that the shape has no extent, so
clamp to zero.

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeCircle::floatValueForRadiusInBox): When computing

the radii, take the absolute value, since the radii is based on
the distance, which is always positive.

(WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Ditto.

LayoutTests:

Tests for the cases that trigger asserts.

  • fast/shapes/shape-outside-floats/shape-outside-floats-circle-negative-radius-crash-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-circle-negative-radius-crash.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-negative-width-crash-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-negative-width-crash.html: Added.
12:28 PM Changeset in webkit [182559] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/win

Add a WebApplicationCache::storage() and use it instead of the WebCore singleton
https://bugs.webkit.org/show_bug.cgi?id=143525

Reviewed by Antti Koivisto.

  • WebApplicationCache.cpp:

(WebApplicationCache::storage):
(WebApplicationCache::maximumSize):
(WebApplicationCache::setMaximumSize):
(WebApplicationCache::defaultOriginQuota):
(WebApplicationCache::setDefaultOriginQuota):
(WebApplicationCache::diskUsageForOrigin):
(WebApplicationCache::deleteAllApplicationCaches):
(WebApplicationCache::deleteCacheForOrigin):
(WebApplicationCache::originsWithCache):

  • WebApplicationCache.h:
12:11 PM BuildingGtk edited by Joone Hur
Changed the wayland jhbuild module name. (diff)
11:48 AM WebKitGTK/Debugging edited by clopez@igalia.com
(diff)
11:44 AM Changeset in webkit [182558] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

Not needed any more (Requested by ap on #webkit).

Reverted changeset:

"Fix the build."
http://trac.webkit.org/changeset/182522

11:30 AM Changeset in webkit [182557] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

32-bit build fix after r182554.

  • UIProcess/API/mac/WKView.mm:

(-[WKView resignFirstResponder]):

11:25 AM Changeset in webkit [182556] by Beth Dakin
  • 8 edits in trunk/Source

Force events should not require preventDefault in order to fire
https://bugs.webkit.org/show_bug.cgi?id=143503
-and corresponding-
rdar://problem/20458916

Reviewed by Tim Horton.

Source/WebCore:

Since these events will fire whether or not preventDefault was set on the
willBegin event, we should make sure we only send them when there are registered
event listeners. These are new events, so we don’t want to spam the vast majority
of web content that doesn’t use them yet.

  • dom/Document.cpp:

(WebCore::Document::addListenerTypeIfNeeded):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::dispatchMouseForceWillBegin):
(WebCore::Element::dispatchMouseForceChanged):
(WebCore::Element::dispatchMouseForceDown):
(WebCore::Element::dispatchMouseForceUp):
(WebCore::Element::dispatchMouseForceClick):
(WebCore::Element::dispatchMouseForceCancelled):

Source/WebKit2:

We no longer need m_lastActionMenuHitTestPreventsDefault since we’ll always
dispatch the events to Element.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::inputDeviceForceDidChange):
(WebKit::WebPage::immediateActionDidCancel):

11:12 AM Changeset in webkit [182555] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[Mac][WebAudio] Update the AVAudioMix in the AudioSourceProviderAVFObjC when the list of enabled audio tracks change.
https://bugs.webkit.org/show_bug.cgi?id=143332

Reviewed by Eric Carlson.

Some media assets (notably, mp3s) will not have an enabled audio track when the AVAsset is
first loaded, so the AVAudioMix will have no trackID in it's parameters. Whenever the list
of enabled tracks change, recreate the AVAudioMix with the new first enabled audio trackID.

To facilitate this, add a new setter to AudioSourceProviderAVFObjC taking an AVAssetTrack to
use with the AVAudioMix. Whenever this parameter changes, the AVAudioMix is destroyed and
recreated.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Drive-by fix: when the media

player switches engines, re-associate the audio source node with its provider.

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.h:
  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::setPlayerItem): Only create the mix if there is a valid AVPlayerItem and AVAssetTrack
(WebCore::AudioSourceProviderAVFObjC::setAudioTrack): Ditto.
(WebCore::AudioSourceProviderAVFObjC::createMix): Don't iterate over the AVPlayerItem's tracks,

just use the one passed in through setAudioTrack().

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Clear the provider's track.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Set the provider's track.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::audioSourceProvider): Ditto.

11:06 AM Changeset in webkit [182554] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

Calling makeFirstResponder on WKWebView doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=143482
rdar://problem/20298166

Reviewed by Dan Bernstein.

Adding forwarding of the responder status to the WKView.
We also need to avoid doing any cleanup in resignFirstResponder
if we know we are about to regain responder status again.
Same goes for becomeFirstResponder.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView becomeFirstResponder]):
(-[WKWebView acceptsFirstResponder]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView becomeFristResponder]):
(-[WKView resignFirstResponder]):

10:53 AM Changeset in webkit [182553] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.26/Source/WebCore

Merged r182521. rdar://problem/20113980

10:52 AM Changeset in webkit [182552] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.26/Source/WebCore

Merged r182519. rdar://problem/20113980

10:52 AM Changeset in webkit [182551] by andersca@apple.com
  • 6 edits in trunk/Source

Move some ApplicationCache static member functions to ApplicationCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=143524

Reviewed by Antti Koivisto.

Source/WebCore:

This is yet another step towards eliminating ApplicationCacheStorage::singleton() and making the storage be per page instead.

  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::deleteCacheForOrigin):
(WebCore::ApplicationCache::deleteAllCaches):
(WebCore::ApplicationCache::diskUsageForOrigin):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::deleteAllCaches):
(WebCore::ApplicationCacheStorage::deleteCacheForOrigin):
(WebCore::ApplicationCacheStorage::diskUsageForOrigin):

  • loader/appcache/ApplicationCacheStorage.h:

Source/WebKit/mac:

  • WebCoreSupport/WebApplicationCache.mm:

(+[WebApplicationCache diskUsageForOrigin:]):
(+[WebApplicationCache deleteAllApplicationCaches]):
(+[WebApplicationCache deleteCacheForOrigin:]):

10:51 AM Changeset in webkit [182550] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.26/Source/WebCore

Merged r182518. rdar://problem/20113980

10:49 AM Changeset in webkit [182549] by bshafiei@apple.com
  • 11 edits in tags/Safari-601.1.26/Source/WebCore

Merged r182516. rdar://problem/20113980

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

Versioning.

10:25 AM Changeset in webkit [182547] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.26

New tag.

10:14 AM Changeset in webkit [182546] by ChangSeok Oh
  • 3 edits
    10 adds in trunk

Fill list style background with same color with that of list background.
https://bugs.webkit.org/show_bug.cgi?id=143483

Reviewed by Simon Fraser.

Source/WebCore:

LayoutListMarker does not have a node so its selectionBackgroundColor alway returns
the default theme color for selection. We can make it more natural by filling
the same color with that of LayoutListItem into it.

Tests: fast/backgrounds/selection-background-color-of-image-list-style.html

fast/backgrounds/selection-background-color-of-list-style.html

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint):

LayoutTests:

  • fast/backgrounds/selection-background-color-of-image-list-style.html: Added.
  • fast/backgrounds/selection-background-color-of-list-style.html: Added.
  • platform/gtk/fast/backgrounds/selection-background-color-of-image-list-style-expected.png: Added.
  • platform/gtk/fast/backgrounds/selection-background-color-of-image-list-style-expected.txt: Added.
  • platform/gtk/fast/backgrounds/selection-background-color-of-list-style-expected.png: Added.
  • platform/gtk/fast/backgrounds/selection-background-color-of-list-style-expected.txt: Added.
  • platform/mac/fast/backgrounds/selection-background-color-of-image-list-style-expected.png: Added.
  • platform/mac/fast/backgrounds/selection-background-color-of-image-list-style-expected.txt: Added.
  • platform/mac/fast/backgrounds/selection-background-color-of-list-style-expected.png: Added.
  • platform/mac/fast/backgrounds/selection-background-color-of-list-style-expected.txt: Added.
9:47 AM Changeset in webkit [182545] by achristensen@apple.com
  • 15 edits
    1 add in trunk

Add CMake build system for WinCairo port.
https://bugs.webkit.org/show_bug.cgi?id=115944

Patch by Alex Christensen <achristensen@webkit.org> and Patrick Gansterer <Patrick Gansterer> on 2015-04-08
Reviewed by Chris Dumez.

.:

  • Source/cmake/OptionsWindows.cmake:
  • Source/cmake/WebKitMacros.cmake:

Make ADD_PRECOMPILED_HEADER more like http://stackoverflow.com/questions/148570/using-pre-compiled-headers-with-cmake

Source/WebCore:

  • CMakeLists.txt:
  • PlatformWin.cmake:
  • PlatformWinCairo.cmake:
  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::TextureMapperGL):

Source/WebKit:

  • CMakeLists.txt:

Source/WTF:

  • wtf/FeatureDefines.h:
  • wtf/PlatformWin.cmake:

Tools:

  • CMakeLists.txt:
  • WinLauncher/CMakeLists.txt: Added.
9:45 AM Changeset in webkit [182544] by Chris Dumez
  • 71 edits in trunk/Source

Rename ActiveDOMObject::canSuspend() to canSuspendForPageCache() for clarity
https://bugs.webkit.org/show_bug.cgi?id=143513

Reviewed by Andreas Kling.

Source/WebCore:

Rename ActiveDOMObject::canSuspend() to canSuspendForPageCache() for
clarity as it is only used for the page cache. Also rename the
'DocumentWillBecomeInactive' value of the ReasonForSuspension enum to
'PageCache' as it is only used by CachedFrame for the page cache and it
is a lot more understandable.

Source/WebKit/mac:

Update ScriptExecutionContext::canSuspendActiveDOMObjects() to
canSuspendActiveDOMObjectsForPageCache() as the method was renamed.

  • WebView/WebFrame.mm:

(-[WebFrame _cacheabilityDictionary]):

9:31 AM Changeset in webkit [182543] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4

Merge r182537 - [GTK] Crash in DOMObjectCache when a wrapped object owned by the cache is unreffed by the user
https://bugs.webkit.org/show_bug.cgi?id=143521

Reviewed by Martin Robinson.

This is a case we claim to support, but it only works if the
object has only one reference. In that case, when the user unrefs
it, the weak ref notify callback removes the object from the
cache. However, if the object has more than one ref, the cache
doesn't know the user unreffed it, and when clearing the cache we
try to remove more references than what the object actually has,
causing a crash in g_object_unref.

  • bindings/gobject/DOMObjectCache.cpp:

(WebKit::DOMObjectCacheData::clearObject):

9:25 AM Changeset in webkit [182542] by commit-queue@webkit.org
  • 46 edits
    5 deletes in trunk

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

Made accessibility/table-sections.html time out on debug bots
(Requested by ap on #webkit).

Reverted changeset:

"Simple line layout: Add <br> support."
https://bugs.webkit.org/show_bug.cgi?id=139012
http://trac.webkit.org/changeset/182536

9:24 AM Changeset in webkit [182541] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

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

Rubber-stamped by Žan Doberšek.

  • bindings/gobject/DOMObjectCache.cpp:

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

9:10 AM Changeset in webkit [182540] by andersca@apple.com
  • 7 edits
    1 copy in trunk/Source/WebKit

Get rid of uses of ApplicationCacheStorage::singleton() from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=143504

Reviewed by Sam Weinig.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Add WebApplicationCacheInternal.h.

Source/WebKit/mac:

Add a webApplicationCacheStorage() function and use it throughout WebKitLegacy.
In the future, webApplicationCacheStorage will return a custom singleton, but for now
it just returns ApplicationCacheStorage::singleton().

  • Misc/WebCache.mm:

(+[WebCache empty]):

  • WebCoreSupport/WebApplicationCache.mm:

(+[WebApplicationCache maximumSize]):
(+[WebApplicationCache setMaximumSize:]):
(+[WebApplicationCache defaultOriginQuota]):
(+[WebApplicationCache setDefaultOriginQuota:]):
(+[WebApplicationCache originsWithCache]):
(webApplicationCacheStorage):

  • WebCoreSupport/WebApplicationCacheInternal.h: Added.
  • WebCoreSupport/WebApplicationCacheQuotaManager.mm:

(-[WebApplicationCacheQuotaManager usage]):
(-[WebApplicationCacheQuotaManager quota]):
(-[WebApplicationCacheQuotaManager setQuota:]):

  • WebView/WebView.mm:

(WebKitInitializeApplicationCachePathIfNecessary):

8:59 AM Changeset in webkit [182539] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.6

Merge r182537 - [GTK] Crash in DOMObjectCache when a wrapped object owned by the cache is unreffed by the user
https://bugs.webkit.org/show_bug.cgi?id=143521

Reviewed by Martin Robinson.

This is a case we claim to support, but it only works if the
object has only one reference. In that case, when the user unrefs
it, the weak ref notify callback removes the object from the
cache. However, if the object has more than one ref, the cache
doesn't know the user unreffed it, and when clearing the cache we
try to remove more references than what the object actually has,
causing a crash in g_object_unref.

  • bindings/gobject/DOMObjectCache.cpp:

(WebKit::DOMObjectCacheData::clearObject):

8:54 AM Changeset in webkit [182538] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

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

Rubber-stamped by Žan Doberšek.

  • bindings/gobject/DOMObjectCache.cpp:

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

8:29 AM Changeset in webkit [182537] by Carlos Garcia Campos
  • 7 edits in trunk

[GTK] Crash in DOMObjectCache when a wrapped object owned by the cache is unreffed by the user
https://bugs.webkit.org/show_bug.cgi?id=143521

Reviewed by Martin Robinson.

This is a case we claim to support, but it only works if the
object has only one reference. In that case, when the user unrefs
it, the weak ref notify callback removes the object from the
cache. However, if the object has more than one ref, the cache
doesn't know the user unreffed it, and when clearing the cache we
try to remove more references than what the object actually has,
causing a crash in g_object_unref.

  • bindings/gobject/DOMObjectCache.cpp:

(WebKit::DOMObjectCacheData::clearObject):

8:11 AM Changeset in webkit [182536] by Alan Bujtas
  • 46 edits
    5 adds in trunk

Simple line layout: Add <br> support.
https://bugs.webkit.org/show_bug.cgi?id=139012

This patch enables RenderBlockFlows to use simple line layout on text content when <br> is present.
Simple text with <br> is a fairly common pattern on discussion(forum)-like web pages. This patch reduces memory usage
and speeds up layout for such content.

Source/WebCore:

PerformanceTest/layout/line-layout-simple.html shows more than 2x speedup, when each paragraph is modified by appending <br> to the end.
With <br> support enabled:

mean: 70.02391461289068 runs/s
median: 70.47986488932318 runs/s

While with <br> support disabled:

mean: 30.417295049468184 runs/s
median: 30.36517778760357 runs/s

Reviewed by Antti Koivisto.

Test: fast/text/simple-line-with-br.html

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleTextNode):

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

(WebCore::RenderBlockFlow::setSelectionState):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):

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

(WebCore::simpleLineLayout):
(WebCore::ensureLineBoxes):
(WebCore::RenderLineBreak::deleteLineBoxesBeforeSimpleLineLayout):
(WebCore::RenderLineBreak::positionForPoint):
(WebCore::RenderLineBreak::setSelectionState):
(WebCore::RenderLineBreak::linesBoundingBox):
(WebCore::RenderLineBreak::absoluteRects):
(WebCore::RenderLineBreak::absoluteQuads):
(WebCore::RenderLineBreak::collectSelectionRects):

  • rendering/RenderLineBreak.h:
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::consumeLineBreakIfNeeded):
(WebCore::SimpleLineLayout::skipWhitespaceIfNeeded):
(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::forceFragmentToLine):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::create):

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::initializeSegments):
(WebCore::SimpleLineLayout::FlowContents::segmentForRenderer): Deleted.

  • rendering/SimpleLineLayoutFlowContents.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):
(WebCore::SimpleLineLayout::hitTestFlow):
(WebCore::SimpleLineLayout::showLineLayoutForFlow):

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::RunResolver):
(WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Iterator::inQuirksMode):
(WebCore::SimpleLineLayout::RunResolver::Iterator::operator--):

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::EndOfSegmentSetter::EndOfSegmentSetter):
(WebCore::SimpleLineLayout::EndOfSegmentSetter::~EndOfSegmentSetter):
(WebCore::SimpleLineLayout::TextFragmentIterator::nextTextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::revertToFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):

  • rendering/SimpleLineLayoutTextFragmentIterator.h:

(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isLastInRenderer):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isEmpty):
(WebCore::SimpleLineLayout::TextFragmentIterator::isSoftLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::isHardLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::isLineBreak): Deleted.

LayoutTests:

Test output changes in 2 different ways:

  1. Repositioned RenderLineBreak elements. (1px wide <br> is the result of integral pixel snapping)
  2. Removed empty content (<br>).

Reviewed by Antti Koivisto.

  • fast/text/simple-line-with-br-expected.html: Added.
  • fast/text/simple-line-with-br.html: Added.
  • platform/mac-mavericks/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac-mavericks/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.txt:
  • platform/mac/fast/dom/focus-contenteditable-expected.txt:
  • platform/mac/fast/forms/range/slider-padding-expected.txt: Added.
  • platform/mac/fast/forms/textarea-scroll-height-expected.txt:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/mac/fast/text/svg-font-face-with-kerning-expected.txt: Added.
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-goback1-expected.txt:
  • platform/mac/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
  • platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug106795-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1224-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug16252-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug20579-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug32205-3-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug82946-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:
7:03 AM Changeset in webkit [182535] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Lazily initialize LogToSystemConsole flag to reduce memory usage
https://bugs.webkit.org/show_bug.cgi?id=143506

Reviewed by Mark Lam.

Only call into CF preferences code when we need to in order to reduce memory usage.

  • inspector/JSGlobalObjectConsoleClient.cpp:

(Inspector::JSGlobalObjectConsoleClient::logToSystemConsole):
(Inspector::JSGlobalObjectConsoleClient::setLogToSystemConsole):
(Inspector::JSGlobalObjectConsoleClient::initializeLogToSystemConsole):
(Inspector::JSGlobalObjectConsoleClient::JSGlobalObjectConsoleClient):

3:32 AM Changeset in webkit [182534] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] compress property for the HTTP source element
https://bugs.webkit.org/show_bug.cgi?id=143518

Reviewed by Carlos Garcia Campos.

Added a compress property so the default behavior or not
requesting content encoded to the server can be overridden if
needed. This is useful for adaptive streaming playback.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcSetProperty):
(webKitWebSrcGetProperty):
(webKitWebSrcStart):

3:12 AM Changeset in webkit [182533] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r175088 - Do not include GraphicsContext3D.h when 3D_GRAPHICS is not used.
<https://webkit.org/b/137969>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1:44 AM Changeset in webkit [182532] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r175087 - Do not build WidgetBackingStoreGtkX11 when not used.
<https://webkit.org/b/137972>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/gtk/WidgetBackingStoreGtkX11.cpp:
  • platform/gtk/WidgetBackingStoreGtkX11.h:
1:20 AM Changeset in webkit [182531] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r174922 - Ensure attached frame count doesn't exceed the maximum allowed frames
https://bugs.webkit.org/show_bug.cgi?id=136457

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/frames/exponential-frames.html

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::isURLAllowed):

LayoutTests:

  • fast/frames/exponential-frames-expected.txt: Added.
  • fast/frames/exponential-frames.html: Added.
1:16 AM Changeset in webkit [182530] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r174807 - REGRESSION (r169024): Undetermined text is not displayed in the search field of Adobe Help Website
https://bugs.webkit.org/show_bug.cgi?id=137679
rdar://problem/18450335

Reviewed by Enrica Casucci.

Source/WebCore:

Test: platform/mac/editing/input/selected-composed-text-painting.html

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): We do not paint

selection beckground for unconfirmed text with underlines, so we should use a regular
style for text painting, as well.

LayoutTests:

  • platform/mac/editing/input/selected-composed-text-painting-expected.html: Added.
  • platform/mac/editing/input/selected-composed-text-painting.html: Added.
1:14 AM Changeset in webkit [182529] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r174720 - REGRESSION (r159208): Crash when clicking scrubber after navigating away/back to video
https://bugs.webkit.org/show_bug.cgi?id=137715

Reviewed by Darin Adler.

Simple null-check of m_player in refreshCachedTime.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime):

1:08 AM Changeset in webkit [182528] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.4

Merge r174712 - URLs that start with http:/// and https:/// lose two slashes when parsed, causing assertion failure and inconsistent behavior
https://bugs.webkit.org/show_bug.cgi?id=137718

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added cases to fast/loader/url-parse-1.html.

  • platform/URL.cpp:

(WebCore::URL::parse): In hierarchical schemes other than file:, ignore any additional
slashes after the :, as prescribed by the authority-ignore-slashes state in the current
URL spec.

LayoutTests:

  • fast/loader/url-parse-1-expected.txt: Updated results.
  • fast/loader/url-parse-1.html: Added a few test cases.
  • fast/url/file-http-base-expected.txt: Updated results.
  • fast/url/host-expected.txt: Ditto.
  • fast/url/invalid-urls-utf8-expected.txt: Ditto.
  • fast/url/relative-expected.txt: Ditto.
  • fast/url/standard-url-expected.txt: Ditto.
1:04 AM Changeset in webkit [182527] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r174684 - [XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry
https://bugs.webkit.org/show_bug.cgi?id=126975

Patch by Youenn Fablet <youennf@gmail.com> on 2014-10-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Merging https://chromium.googlesource.com/chromium/blink/+/0d75daf2053631518606ae15daaece701a25b2c4
Ensuring new test from https://codereview.chromium.org/76133002/ is passing.

Test: http/tests/xmlhttprequest/reentrant-cancel-abort.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::abort): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::internalAbort): ask calling function to exit early if a new loader is created during the cancellation of the loader (potential reentrant case through window.onload callback)
(WebCore::XMLHttpRequest::didTimeout): exit early if internalAbort asks so

  • xml/XMLHttpRequest.h:

LayoutTests:

Adding reentrant-cancel-abort.html (from https://codereview.chromium.org/76133002/)
that crashes without the patch
Updated reentrant-cancel.html test to expect the exception
that is now hit in initSend function (since a XHR open() call is aborted)

  • http/tests/xmlhttprequest/reentrant-cancel-abort-expected.txt: Added.
  • http/tests/xmlhttprequest/reentrant-cancel-abort.html: Added.
  • http/tests/xmlhttprequest/reentrant-cancel.html:
12:46 AM Changeset in webkit [182526] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r174137 - Stack overflow with enormous SVG filter
https://bugs.webkit.org/show_bug.cgi?id=63290

Prevent building an SVG filter if it has more than 200 FilterEffect nodes in its map
regardless whether they will be connected to its lastEffect or not. Also discard any
filter which has more 100 contributing FilterEffect nodes in its tree.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-09-30
Reviewed by Dean Jackson.

Tests: svg/filters/svg-deeply-nested-crash.html

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::collectEffects):
(WebCore::FilterEffect::totalNumberOfEffectInputs):

  • platform/graphics/filters/FilterEffect.h:

-- Add a method to return the total number of input FilterEffect's contributing to a FilterEffect.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives):
-- Do not build a filter if it has more than 200 FilterEffects in its map.
(WebCore::RenderSVGResourceFilter::applyResource):
-- Discard a filter after it was built if it has more than 100 FilterEffects in its tree.

LayoutTests:
Stack overflow with enormous SVG filter.
https://bugs.webkit.org/show_bug.cgi?id=63290.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-09-30
Reviewed by Dean Jackson.

Test if an SVG filter with deeply nested tree of FilterEffects can be loaded
with no crash. Make sure other valid filters can still be referenced by SVG
drawing elements. An SVG Filter will be ignored if the number of effects in
its map is greater than 200 or the total number of effects connected to its
last effect is greater than 100.

  • svg/filters/svg-deeply-nested-crash-expected.txt: Added.
  • svg/filters/svg-deeply-nested-crash.html: Added.
12:44 AM Changeset in webkit [182525] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove CSS functions min() and max() which had been dropped from specification
https://bugs.webkit.org/show_bug.cgi?id=143440

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-04-08
Reviewed by Darin Adler.

No new tests, No Behavior changes.

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::create):

  • css/CSSParser.cpp:

(WebCore::CSSParser::isCalculation):

12:29 AM Changeset in webkit [182524] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r173848 - WebSocket crash when a connection is closed from server side
https://bugs.webkit.org/show_bug.cgi?id=137009
rdar://problem/18333977
rdar://problem/12708225

Reviewed by Brady Eidson.

I don't think that this can be tested with our test server.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::WebSocketChannel): Added logging.
(WebCore::WebSocketChannel::~WebSocketChannel): Ditto.
(WebCore::WebSocketChannel::close): Protect self, because startClosingHandshake
can release the last reference.
(WebCore::WebSocketChannel::fail): Added an assertion that the channel is always
closed after this function.
(WebCore::WebSocketChannel::startClosingHandshake): Protect self, and don't change
the stack from closed back to closing if after failing to send closing handshake.
(WebCore::WebSocketChannel::processOutgoingFrameQueue): Protect self.

12:09 AM Changeset in webkit [182523] by Philippe Normand
  • 2 edits
    1 add in trunk/Source/WebCore

[GStreamer] extra-headers and keep-alive properties for HTTP source element
https://bugs.webkit.org/show_bug.cgi?id=143480

Reviewed by Carlos Garcia Campos.

Keep the resource loader around when persistent HTTP connection
support is enabled. The keep-alive property is set to false by
default. Also before sending the HTTP request we now check the
contents of the extra-headers GstStructure and set additional
headers based on the structure contents.

Patch inspired by GStreamer's souphttpsrc element.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webkit_web_src_init):
(webKitWebSrcFinalize):
(webKitWebSrcSetProperty):
(webKitWebSrcGetProperty):
(webKitWebSrcStop): Clear resource loader only for non-persistent connections.
(webKitWebSrcSetExtraHeader): Utility function to append headers
to an existing request based on a GValue contents.
(webKitWebSrcProcessExtraHeaders): Parse a GValue and set headers
based on its contents.
(webKitWebSrcStart): Extra headers and persistent connection
support. The resource loader is now lazily initialized here.

12:02 AM WindowsWithoutCygwin edited by mmaxfield@apple.com
(diff)
Note: See TracTimeline for information about the timeline view.