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

Timeline



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.
Note: See TracTimeline for information about the timeline view.