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

Timeline



Feb 1, 2016:

10:35 PM Changeset in webkit [196004] by Chris Dumez
  • 3 edits
    2 adds in trunk

object.lookupGetter() / object.lookupSetter() does not work for native bindings
https://bugs.webkit.org/show_bug.cgi?id=153765
<rdar://problem/24439699>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Add support for CustomAccessor slots to objectProtoFuncLookupGetter() and
objectProtoFuncLookupSetter() by return getOwnPropertyDescriptor().get / set.
getOwnPropertyDescriptor() now correctly deals with CustomAccessors since
r196001.

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

LayoutTests:

Add layout tests to test that object.lookupGetter() / object.lookupSetter()
works for native bindings.

  • js/lookupGetterGetter-native-bindings-expected.txt: Added.
  • js/lookupGetterGetter-native-bindings.html: Added.
10:15 PM Changeset in webkit [196003] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Option+Up/Down should not move cursor outside of number
https://bugs.webkit.org/show_bug.cgi?id=153784
<rdar://problem/24453133>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-02-01
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CodeMirrorAdditions.js:

When selectionStart === selectionEnd we were duplicating the
movement mutation by performing it twice on the same object.
After much experimentation, I left in the existing code path
for handling mutation with a selection. It is not perfect,
but it is better then just applying the ch diff.

10:12 PM Changeset in webkit [196002] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, fix http/tests/security/cross-origin-window-property-access.html

Update http/tests/security/cross-origin-window-property-access.html that was
introduced in r196001 so that it does not assert on Mac DRT. Mac DRT asserts
that testRunner.waitUntilDone() must be called *BEFORE* calling window.open().

  • http/tests/security/cross-origin-window-property-access.html:
7:47 PM Changeset in webkit [196001] by Chris Dumez
  • 19 edits
    13 adds in trunk

Native Bindings Descriptors are Incomplete
https://bugs.webkit.org/show_bug.cgi?id=140575
<rdar://problem/19506502>

Reviewed by Oliver Hunt.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that a lot more checks are passing.

  • web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/html/dom/interfaces-expected.txt:

Source/JavaScriptCore:

This patch is based on initial work by Joe Pecoraro and Matthew Mirman.

This patch was initially rolled out for breaking chromeexperiments.com,
presumably because our IDL attributes were not marked as [configurable]
at the time. However, since r190104, our IDL attributes are now
configurable. Based on local testing, chromeexperiments.com seems to be
working fine now.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/InjectedScriptSource.js:

(endsWith):
(InjectedScript.prototype.processProperties):

  • runtime/JSBoundSlotBaseFunction.cpp: Added.

(JSC::boundSlotBaseFunctionCall):
(JSC::JSBoundSlotBaseFunction::JSBoundSlotBaseFunction):
(JSC::JSBoundSlotBaseFunction::create):
(JSC::JSBoundSlotBaseFunction::visitChildren):
(JSC::JSBoundSlotBaseFunction::finishCreation):

  • runtime/JSBoundSlotBaseFunction.h: Added.

(JSC::JSBoundSlotBaseFunction::createStructure):
(JSC::JSBoundSlotBaseFunction::boundSlotBase):
(JSC::JSBoundSlotBaseFunction::customGetterSetter):
(JSC::JSBoundSlotBaseFunction::isSetter):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::boundSlotBaseFunctionStructure):

  • runtime/JSObject.cpp:

(JSC::getBoundSlotBaseFunctionForGetterSetter):
(JSC::JSObject::getOwnPropertyDescriptor):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

LayoutTests:

Add test coverage.

  • http/tests/security/cross-origin-window-property-access-expected.txt: Added.
  • http/tests/security/cross-origin-window-property-access.html: Added.
  • inspector/runtime/getProperties-expected.txt:
  • js/dom/native-bindings-descriptors-expected.txt: Added.
  • js/dom/native-bindings-descriptors.html: Added.
  • js/dom/native-bindings-descriptors2-expected.txt: Added.
  • js/dom/native-bindings-descriptors2.html: Added.
  • js/dom/native-bindings-descriptors3-expected.txt: Added.
  • js/dom/native-bindings-descriptors3.html: Added.
  • js/dom/native-bindings-descriptors4-expected.txt: Added.
  • js/dom/native-bindings-descriptors4.html: Added.
  • js/dom/native-bindings-descriptors5-expected.txt: Added.
  • js/dom/native-bindings-descriptors5.html: Added.
6:35 PM Changeset in webkit [196000] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] [EFL] [AppleWin] Layout Test fast/shadow-dom/slot-removal-crash-2.html timeouts
https://bugs.webkit.org/show_bug.cgi?id=153772

Reviewed by Michael Catanzaro.

Don't call wait untilDone if attachShadow is not available.

  • fast/shadow-dom/slot-removal-crash-2.html:
5:52 PM Changeset in webkit [195999] by Joseph Pecoraro
  • 32 edits
    6 copies
    14 adds in trunk

Web Inspector: High Level Memory Overview Instrument
https://bugs.webkit.org/show_bug.cgi?id=153516
<rdar://problem/24356378>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • inspector/protocol/Memory.json: Added.
  • inspector/scripts/codegen/generator.py:

New Memory domain guarded by ENABLE(RESOURCE_USAGE).
This feature flag was already used in WebCore.

Source/WebCore:

Add a new agent that gathers data from the ResourceUsageThread
and sends to the frontend.

Test: inspector/memory/tracking.html

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • WebCore.xcodeproj/project.pbxproj:

New files.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
Add the new agent.

  • inspector/InspectorMemoryAgent.h: Added.
  • inspector/InspectorMemoryAgent.cpp: Added.

(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
(WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
(WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorMemoryAgent::startTracking):
(WebCore::InspectorMemoryAgent::stopTracking):
(WebCore::InspectorMemoryAgent::collectSample):
Implement the agent by adding / removing it as a ResourceUsage
observer. When receiving the data forward it to the frontend.

Source/WebInspectorUI:

Use the new "Memory" domain to track page memory size over time.
This allows the timeline to help visualize total process memory
broken down into a few different categories. The timeline graph
allows seeing the total size over time, and you can drill in to
a specific section and get a better breakdown and comparison
of the different categories of memory that we currently track.

  • Localizations/en.lproj/localizedStrings.js:

New UI strings.

  • UserInterface/Main.html:

New files.

  • UserInterface/Base/Main.js:

(WebInspector.loaded):

  • UserInterface/Protocol/MemoryObserver.js:

(WebInspector.MemoryObserver.prototype.trackingStart):
(WebInspector.MemoryObserver.prototype.trackingUpdate):
(WebInspector.MemoryObserver.prototype.trackingComplete):
Add a memory observer.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.defaultInstruments):
(WebInspector.TimelineManager.prototype.memoryTrackingStart):
(WebInspector.TimelineManager.prototype.memoryTrackingUpdate):
(WebInspector.TimelineManager.prototype.memoryTrackingComplete):
Create Memory timeline records from Memory tracking updates.

  • UserInterface/Models/MemoryCategory.js:

(WebInspector.MemoryCategory):
Consolidate some of the raw data of categories we get from the backend
into a set of 4 user-facing categories.

  • UserInterface/Models/MemoryTimelineRecord.js: Added.

(WebInspector.MemoryTimelineRecord):
(WebInspector.MemoryTimelineRecord.memoryCategoriesFromProtocol):
(WebInspector.MemoryTimelineRecord.prototype.get timestamp):
(WebInspector.MemoryTimelineRecord.prototype.get categories):
(WebInspector.MemoryTimelineRecord.prototype.get totalSize):
(WebInspector.MemoryTimelineRecord.prototype.get startTime):
(WebInspector.MemoryTimelineRecord.prototype.get endTime):
Memory timeline record for the event data.

  • UserInterface/Models/MemoryInstrument.js:

(WebInspector.MemoryInstrument):
(WebInspector.MemoryInstrument.supported):
(WebInspector.MemoryInstrument.prototype.get timelineRecordType):
(WebInspector.MemoryInstrument.prototype.startInstrumentation):
(WebInspector.MemoryInstrument.prototype.stopInstrumentation):
Instrument to start / stop memory tracking.

  • UserInterface/Models/TimelineRecord.js:

Add a new "Memory" Timeline type.

  • UserInterface/Views/ContentView.js:

(WebInspector.ContentView.createFromRepresentedObject):

  • UserInterface/Models/TimelineRecording.js:

(WebInspector.TimelineRecording):
Add the new "Memory" Timeline.

(WebInspector.TimelineRecording.prototype.addRecord):
Memory timeline records do not show in the SourceCode Timelines Overview.

  • UserInterface/Views/CircleChart.css:

(.circle-chart):
(.circle-chart > svg > path.background):
(.circle-chart > .center):

  • UserInterface/Views/CircleChart.js: Added.

(WebInspector.CircleChart):
(WebInspector.CircleChart.prototype.get element):
(WebInspector.CircleChart.prototype.get points):
(WebInspector.CircleChart.prototype.get size):
(WebInspector.CircleChart.prototype.get centerElement):
(WebInspector.CircleChart.prototype.get segments):
(WebInspector.CircleChart.prototype.set segments):
(WebInspector.CircleChart.prototype.get values):
(WebInspector.CircleChart.prototype.set values):
(WebInspector.CircleChart.prototype.clear):
(WebInspector.CircleChart.prototype.needsLayout):
(WebInspector.CircleChart.prototype.updateLayout):
(WebInspector.CircleChart.prototype._needsLayout):
(WebInspector.CircleChart.prototype._createCompleteCirclePathData):
(WebInspector.CircleChart.prototype._createSegmentPathData):
(WebInspector.CircleChart.prototype._updateLayout):
Standalone circle "donut" chart, copied mostly from Rendering Frames Timeline.
Initialize the chart's segments, then feed it a set of ([v1, v2, ...]) values
corresponding to each of the segments.

  • UserInterface/Views/LineChart.js: Added.

(WebInspector.LineChart):
(WebInspector.LineChart.prototype.get element):
(WebInspector.LineChart.prototype.get points):
(WebInspector.LineChart.prototype.get size):
(WebInspector.LineChart.prototype.set size):
(WebInspector.LineChart.prototype.addPoint):
(WebInspector.LineChart.prototype.clear):
(WebInspector.LineChart.prototype.needsLayout):
(WebInspector.LineChart.prototype.updateLayout):
(WebInspector.LineChart.prototype._needsLayout):
(WebInspector.LineChart.prototype._updateLayout):
Standalone line chart. Uses a single SVG path, given a set of (x, y) points.

  • UserInterface/Views/StackedLineChart.js: Added.

(WebInspector.StackedLineChart):
(WebInspector.StackedLineChart.prototype.get element):
(WebInspector.StackedLineChart.prototype.get points):
(WebInspector.StackedLineChart.prototype.get size):
(WebInspector.StackedLineChart.prototype.set size):
(WebInspector.StackedLineChart.prototype.initializeSections):
(WebInspector.StackedLineChart.prototype.addPointSet):
(WebInspector.StackedLineChart.prototype.clear):
(WebInspector.StackedLineChart.prototype.needsLayout):
(WebInspector.StackedLineChart.prototype.updateLayout):
(WebInspector.StackedLineChart.prototype._needsLayout):
(WebInspector.StackedLineChart.prototype._updateLayout):
Standalone stacked line chart. Initialize the chart's sections,
then feed it a set of (x, [y1, y2 ...]) points where the y
values correspond to each of the sections.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype.get scrollContainerWidth):
Add a way to get this value without forcing layout all the time.

  • UserInterface/Views/TimelineTabContentView.js:

(WebInspector.TimelineTabContentView.displayNameForTimeline):
(WebInspector.TimelineTabContentView.iconClassNameForTimeline):
(WebInspector.TimelineTabContentView.genericClassNameForTimeline):
(WebInspector.TimelineTabContentView.iconClassNameForRecord):
(WebInspector.TimelineTabContentView.displayNameForRecord):
Add placeholders for the new Memory Timeline Type.

  • UserInterface/Views/MemoryCategoryView.css:

(.memory-category-view):
(.memory-category-view > .details):
(.memory-category-view > .details > .name):
(.memory-category-view > .graph):

  • UserInterface/Views/MemoryCategoryView.js: Added.

(WebInspector.MemoryCategoryView):
(WebInspector.MemoryCategoryView.prototype.get element):
(WebInspector.MemoryCategoryView.prototype.get category):
(WebInspector.MemoryCategoryView.prototype.clear):
(WebInspector.MemoryCategoryView.prototype.layoutWithDataPoints):
(WebInspector.MemoryCategoryView.prototype._updateDetails):

  • UserInterface/Views/MemoryTimelineOverviewGraph.css:

(body .timeline-overview > .graphs-container > .timeline-overview-graph.memory):
(.timeline-overview-graph.memory):
(.timeline-overview-graph.memory > .legend):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.javascript):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.images):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.layers):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.page):

  • UserInterface/Views/MemoryTimelineOverviewGraph.js: Added.

(WebInspector.MemoryTimelineOverviewGraph):
(WebInspector.MemoryTimelineOverviewGraph.prototype.get height):
(WebInspector.MemoryTimelineOverviewGraph.prototype.reset):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.timeToX):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.sizeToY):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.sizesToYs):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.ysForRecord):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout):
(WebInspector.MemoryTimelineOverviewGraph.prototype._updateLegend):
(WebInspector.MemoryTimelineOverviewGraph.prototype._visibleRecords):
(WebInspector.MemoryTimelineOverviewGraph.prototype._memoryTimelineRecordAdded):

  • UserInterface/Views/MemoryTimelineView.css: Added.

(.timeline-view.memory):
(.timeline-view.memory > .content):
(.timeline-view.memory > .content > .overview):
(.timeline-view.memory > .content .title):
(.timeline-view.memory > .content .subtitle):
(.timeline-view.memory > .content > .details > .timeline-ruler):
(.timeline-view.memory > .content > .details > .subtitle):
(.timeline-view.memory > .content > .overview > .chart):
(.timeline-view.memory > .content > .overview > .chart > .subtitle):
(.timeline-view.memory > .content > .overview > .chart > .container):
(.timeline-view.memory > .content > .overview > .divider):
(.timeline-view.memory > .content > .overview .max-percentage):
(.timeline-view.memory .legend):
(.timeline-view.memory .legend > .row):
(.timeline-view.memory .legend > .row > .swatch):
(.timeline-view.memory .legend > .row > p):
(.timeline-view.memory .legend > .row > .label):
(.timeline-view.memory .legend > .row > .size):
(.timeline-view.memory .legend > .row > .swatch.javascript):
(.timeline-view.memory .legend > .row > .swatch.images):
(.timeline-view.memory .legend > .row > .swatch.layers):
(.timeline-view.memory .legend > .row > .swatch.page):
(.memory-category-view.javascript .line-chart > svg > path):
(.memory-category-view.images .line-chart > svg > path):
(.memory-category-view.layers .line-chart > svg > path):
(.memory-category-view.page .line-chart > svg > path):
(.timeline-view.memory .legend > .row > .swatch.current):
(.timeline-view.memory .circle-chart > svg > path.current):
(.timeline-view.memory .circle-chart > svg > path.remainder):

  • UserInterface/Views/MemoryTimelineView.js: Added.

(WebInspector.MemoryTimelineView):
(WebInspector.MemoryTimelineView.displayNameForCategory):
(WebInspector.MemoryTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.MemoryTimelineView.prototype.shown):
(WebInspector.MemoryTimelineView.prototype.hidden):
(WebInspector.MemoryTimelineView.prototype.closed):
(WebInspector.MemoryTimelineView.prototype.reset):
(WebInspector.MemoryTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.MemoryTimelineView.prototype.layout.timeToX):
(WebInspector.MemoryTimelineView.prototype.layout.sizeToY):
(WebInspector.MemoryTimelineView.prototype.layout.layoutCategoryView):
(WebInspector.MemoryTimelineView.prototype.layout):
(WebInspector.MemoryTimelineView.prototype._clearUsageLegend):
(WebInspector.MemoryTimelineView.prototype._updateUsageLegend):
(WebInspector.MemoryTimelineView.prototype._clearMaxComparisonLegend):
(WebInspector.MemoryTimelineView.prototype._updateMaxComparisonLegend):
(WebInspector.MemoryTimelineView.prototype._visibleRecords):
(WebInspector.MemoryTimelineView.prototype._initializeCategoryViews.appendLegendRow):
(WebInspector.MemoryTimelineView.prototype._initializeCategoryViews):
(WebInspector.MemoryTimelineView.prototype._memoryTimelineRecordAdded):

  • UserInterface/Views/Variables.css:

(:root):
Memory timeline view styles.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

  • inspector/memory/tracking-expected.txt: Added.
  • inspector/memory/tracking.html: Added.

Basic test for the new domain tracking commands and events.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:

Skip the directory on ports that have not implemented ENABLE(RESOURCE_USAGE).

5:51 PM Changeset in webkit [195998] by achristensen@apple.com
  • 4 edits in trunk/Source

Fix CMake build.

  • PlatformMac.cmake:
5:42 PM Changeset in webkit [195997] by beidson@apple.com
  • 13 edits
    2 adds in trunk/Source/WebCore

Modern IDB: Cursors (still) do not keep their opening request alive.
https://bugs.webkit.org/show_bug.cgi?id=153724

Reviewed by Alex Christensen.

No new tests (All existing tests pass without flakiness).

IDBCursors did not properly keep their JS wrappers alive.
Making them ActiveDOMObjects that keep track of how many requests might be in flight fixes this.
This also makes them actually keep their opening-request live via the opaque-root mechanism.

IDBCursorWithValue also needed to opt in to all of these mechanisms.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBCursor.h:

(WebCore::IDBCursor::hasPendingActivity): The base IDBCursor always has no pending activity,

to maintain current behavior in LegacyIDB. This weirdness will go away when LegacyIDB does.

  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBCursorWithValue.idl:

Track a count for all outstanding requests to keep the cursor alive as an ActiveDOMObject.

  • Modules/indexeddb/client/IDBCursorImpl.cpp:

(WebCore::IDBClient::IDBCursor::IDBCursor):
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::uncheckedIterateCursor):
(WebCore::IDBClient::IDBCursor::deleteFunction):
(WebCore::IDBClient::IDBCursor::activeDOMObjectName):
(WebCore::IDBClient::IDBCursor::canSuspendForDocumentSuspension):
(WebCore::IDBClient::IDBCursor::hasPendingActivity):
(WebCore::IDBClient::IDBCursor::decrementOutstandingRequestCount):

  • Modules/indexeddb/client/IDBCursorImpl.h:

Rework the "delete" family of functions on the object store to allow for returning a modern IDBRequest.
A lot of this can go away when LegacyIDB does.

  • Modules/indexeddb/client/IDBObjectStoreImpl.cpp:

(WebCore::IDBClient::IDBObjectStore::deleteFunction):
(WebCore::IDBClient::IDBObjectStore::doDelete):
(WebCore::IDBClient::IDBObjectStore::modernDelete):

  • Modules/indexeddb/client/IDBObjectStoreImpl.h:
  • Modules/indexeddb/client/IDBRequestImpl.cpp:

(WebCore::IDBClient::IDBRequest::setSource): Setup a ScopeGuard to decrement the cursor's request

count whenever it makes sense to do so.

(WebCore::IDBClient::IDBRequest::dispatchEvent): Clear the ScopeGuard (if it exists) to decrement the count.
(WebCore::IDBClient::IDBRequest::willIterateCursor): Set the ScopeGuard.
(WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor): Clear the ScopeGuard (if it exists) to decrement the count.

  • Modules/indexeddb/client/IDBRequestImpl.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::ScopeGuard::ScopeGuard): Deleted.
(WebCore::IDBServer::ScopeGuard::~ScopeGuard): Deleted.
(WebCore::IDBServer::ScopeGuard::enable): Deleted.
(WebCore::IDBServer::ScopeGuard::disable): Deleted.

  • bindings/js/JSIDBCursorWithValueCustom.cpp: Added.

(WebCore::JSIDBCursorWithValue::visitAdditionalChildren):

  • platform/ScopeGuard.h: Added.

(WebCore::ScopeGuard::ScopeGuard):
(WebCore::ScopeGuard::~ScopeGuard):
(WebCore::ScopeGuard::enable):
(WebCore::ScopeGuard::disable):

5:39 PM Changeset in webkit [195996] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skipping http/tests/plugins/visible_plugins.html on Yosemite during investigation.
https://bugs.webkit.org/show_bug.cgi?id=153752

Unreviewed test gardening.

  • platform/mac/TestExpectations:
5:27 PM Changeset in webkit [195995] by Matt Baker
  • 8 edits in trunk/Source/WebInspectorUI

Web Inspector: add a LayoutReason enum to the View base class
https://bugs.webkit.org/show_bug.cgi?id=153731
<rdar://problem/24430938>

Reviewed by Brian Burg.

Added a LayoutReason enum to the View base class, which can be passed as an optional
argument to needsLayout() and updateLayout(). The value is propagated to the view's
subtree during layout.

  • UserInterface/Base/Main.js:

Update top-level views with Resize layout reason when window is resized.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype._positionHeaderViews):
Update header view with Resize layout reason when column is resized.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.shown):
Assume the view has been resized when shown, and update layout.
(WebInspector.OverviewTimelineView.prototype.updateLayoutForResize): Deleted.
No longer needed, handled by the View base class.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype.shown):
Assume the view has been resized when shown, and update layout.
(WebInspector.TimelineOverview.prototype.layout):
Invalidate cached scroll container width if resized.
(WebInspector.TimelineOverview.prototype.updateLayoutForResize): Deleted.
No longer needed, handled by the View base class.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype.layout): Deleted.
No longer needed, handled by the View base class.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.needsLayout):
(WebInspector.TimelineRuler.prototype.layout):
Update cached client width if resized.
(WebInspector.TimelineRuler.prototype.resize): Deleted.
Moved resize logic to layout override.

  • UserInterface/Views/View.js:

(WebInspector.View):
(WebInspector.View.prototype.updateLayout):
Set layout reason.
(WebInspector.View.prototype.needsLayout):
Set layout reason even if an animation frame has already been scheduled,
since the layout reason could have changed.
(WebInspector.View.prototype._layoutSubtree):
Propagate layout reason to subtree, and reset the value when done.
(WebInspector.View.prototype._setLayoutReason):
Helper method for updating the layout reason. Ensures that LayoutReason.Resize
has priority over the default (LayoutReason.Dirty).

5:12 PM Changeset in webkit [195994] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection-1.html as flaky on Mac debug
https://bugs.webkit.org/show_bug.cgi?id=153781

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:55 PM Changeset in webkit [195993] by jmarcell@apple.com
  • 4 edits
    1 add in trunk/Tools

Add code to parse the git branches out of the Trac RSS feed https://bugs.webkit.org/show_bug.cgi?id=153624

Reviewed by Daniel Bates.

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

(Trac.prototype.commitsOnBranch): Update filter to check for Git branches.
(Trac.prototype._convertCommitInfoElementToObject): Parse Git branches from the Trac RSS feed. Also changed "branchName" to
"branches" and updated the code to work with an array instead of a string.

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

(MockTrac): Refactored example commits out into a constant, MockTrac.EXAMPLE_TRAC_COMMITS.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/test-fixture-git-trac-rss.xml: Added. Test

fixture that contains XML with a Git branch.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Added unit test to test parsing Git

branches from Trac RSS feed. Also updated code to work with the new MockTrac.EXAMPLE_TRAC_COMMITS constant.

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

Free Colormap when XWindow is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=153413

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2016-02-01
Reviewed by Žan Doberšek.

Colormap is needed to create XWindow and it should be freed when XWindow is destroyed.
Unless Colormap is freed before destroying XWindow, memory leak is suspected.
XFreeColormap therefore is needed on X11Helper.

  • platform/graphics/surfaces/glx/X11Helper.cpp: Added XFreeColormap.

(WebCore::X11Helper::destroyWindow):

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

More iOS build fix.

  • Platform/spi/ios/UIKitSPI.h:
4:41 PM Changeset in webkit [195990] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • Platform/IPC/mac/ConnectionMac.mm:
4:35 PM Changeset in webkit [195989] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Copy sandbox profiles during installhdrs.

Reviewed by Anders Carlsson.

  • Configurations/SandboxProfiles.xcconfig:
4:32 PM Changeset in webkit [195988] by matthew_hanson@apple.com
  • 1 edit
    2 adds in branches/safari-601-branch/LayoutTests

Merge Layout Tests for r191331. rdar://problem/24448992

4:20 PM Changeset in webkit [195987] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-601-branch

Merge r195837. rdar://problem/24002220

4:19 PM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
4:00 PM Changeset in webkit [195986] by clopez@igalia.com
  • 4 edits in trunk/LayoutTests

[GTK] Unreviewed GTK+ Gardening.

  • platform/efl/TestExpectations: Add fast/shadow-dom/slot-removal-crash-2.html timeout expectation.
  • platform/gtk/TestExpectations: Report and update a bunch of test expectations.
  • platform/win/TestExpectations: Add fast/shadow-dom/slot-removal-crash-2.html timeout expectation.
3:55 PM Changeset in webkit [195985] by mitz@apple.com
  • 7 edits in trunk/Source/WebKit2

[Cocoa] Remove some more has_include guards
https://bugs.webkit.org/show_bug.cgi?id=153774

Reviewed by Tim Horton.

Guard private header includes with #if USE(APPLE_INTERNAL_SDK) rather than with has_include.

  • Platform/IPC/mac/ConnectionMac.mm:
  • Platform/IPC/mac/ImportanceAssertion.h:
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
  • Shared/cf/ArgumentCodersCF.cpp:
  • Shared/mac/ChildProcessMac.mm:
  • Shared/mac/SecItemShim.cpp:
3:40 PM Changeset in webkit [195984] by beidson@apple.com
  • 2 edits in trunk/Tools

Add command line flag to DRT to output the number of tests completed in server mode.
https://bugs.webkit.org/show_bug.cgi?id=153750

Reviewed by Darin Adler.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(initializeGlobalsFromCommandLineOptions):
(runTestingServerLoop):

3:37 PM Changeset in webkit [195983] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Xcode] Let Xcode know that the WebKit XPC service products are XPC services
https://bugs.webkit.org/show_bug.cgi?id=153773

Reviewed by Tim Horton.

  • Configurations/BaseXPCService.xcconfig: Removed now-redundant definitions of MACH_O_TYPE and WRAPPER_EXTENSION.
  • WebKit2.xcodeproj/project.pbxproj: Updated product types.
3:31 PM Changeset in webkit [195982] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash using WKPDFView, in -[UIPDFPageView showContent]
https://bugs.webkit.org/show_bug.cgi?id=153770
<rdar://problem/20157864>

Reviewed by Anders Carlsson.

When scrolling, we throw away UIPDFPageViews, but forget to unhook their delegates.
In some cases (also because their delegate is a raw pointer, not weak), they can call
back into a deleted WKPDFView, causing a crash.

  • UIProcess/ios/WKPDFView.mm:

(detachViewForPage):
Add a helper to detach a page view, and unhook its delegates.

(-[WKPDFView _clearPages]):
(-[WKPDFView _revalidateViews]):
Make use of the new helper.

3:19 PM Changeset in webkit [195981] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] IRC can coalesce the frame pointer with a Tmp that is modified
https://bugs.webkit.org/show_bug.cgi?id=153694

Reviewed by Filip Pizlo.

Let's say we have:

Move(FP, Tmp1)
Add64(#1, Tmp1)

If we were to coalesce the Move, we would modify the frame pointer.
Well, that's exactly what was happening with IRC.

Since the epilogue is not know to Air before IRC, the liveness analysis
never discovers that FP is live when Tmp1 is UseDef by Add64. Adding
FP would a be a problem anyway for a bunch of reasons.

I tried two ways to prevent IRC to override IRC:
1) Add an interference edge with FP for all non-duplication Defs.
2) Let coalesce() know about FP and constraint any coalescing with a re-Def.

The two are within margin of error for performance. The second one was considerably
more complicated. This patch implements the first one.

Some extra note:
-It is very important to not increment the degree of a Tmp when making it interfere

with FP. FP is not a valid color, it is not counted in the "K" colors considered
for coloring. Increasing the degree with the edge to FP would make every stage
pessimistic since there is an extra degree that can never be removed.

-I put "interferenceEdges" and "adjacencyList" in an inconsistent state.

This is intentional, "interferenceEdges" is used to test the existence of an edge,
"adjacencyList" is used to go over all the edges. In this case, we don't want
the edge with FP to be considered when pruning the graph.

  • b3/air/AirIteratedRegisterCoalescing.cpp:

One branch could be transformed into an assertion: TmpLiveness is type specific now.

  • b3/testb3.cpp:

(JSC::B3::testOverrideFramePointer):
(JSC::B3::run):

2:13 PM Changeset in webkit [195980] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/w3c/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153336

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
2:07 PM Changeset in webkit [195979] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Move some SPI declarations into the appropriate SPI header
https://bugs.webkit.org/show_bug.cgi?id=153755

Reviewed by Darin Adler.

  • platform/graphics/cocoa/IOSurface.mm:
  • platform/spi/cg/CoreGraphicsSPI.h:
1:50 PM Changeset in webkit [195978] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking http/tests/appcache/404-resource-with-slow-main-resource.php as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=153503

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
1:31 PM Changeset in webkit [195977] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking fast/replaced/preferred-widths.html as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153311

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
1:25 PM Changeset in webkit [195976] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip fast/shadow-dom/touch-event-ios.html on ios-simulator since touch events are not supported.
https://bugs.webkit.org/show_bug.cgi?id=149592

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
12:47 PM Changeset in webkit [195975] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Snapshot surfaces are forever wired after being compressed
https://bugs.webkit.org/show_bug.cgi?id=153751
<rdar://problem/24354546>

Reviewed by Darin Adler.

  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::convertToFormat):
Allow IOSurfaceAccelerator to unwire surfaces after they're transformed.

12:40 PM Changeset in webkit [195974] by bshafiei@apple.com
  • 2 edits in tags/Safari-602.1.18.0.1/Source/WebKit2

Merged r195964. rdar://problem/24424987

12:35 PM Changeset in webkit [195973] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.18.0.1/Source

Versioning.

12:33 PM Changeset in webkit [195972] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.18.0.1

New tag.

12:23 PM Changeset in webkit [195971] by mitz@apple.com
  • 5 edits in trunk/Source

<rdar://problem/20150072> [iOS] Remove some file upload code only needed before iOS 9
https://bugs.webkit.org/show_bug.cgi?id=153754

Reviewed by Darin Adler.

Source/WebCore:

  • English.lproj/Localizable.strings: Updated for removal of WebKit2 string.

Source/WebKit2:

  • Platform/spi/ios/UIKitSPI.h: Removed conditional forward declaration of SPI.
  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(photoLibraryIcon): Removed check for HAVE_WEBKIT_DOC_PICKER_ICONS, which is always true in

iOS 9 and later.

(cameraIcon): Ditto.
(-[WKFileUploadPanel presentWithParameters:resultListener:]): Removed branch for when

UIDocumentMenuViewController doesn’t respond to
-_initIgnoringApplicationEntitlementForImportOfTypes:.

(-[WKFileUploadPanel _showMediaSourceSelectionSheet]): Deleted now-unused method.

11:45 AM Changeset in webkit [195970] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Cache the Path instead of creating it every time it is required
https://bugs.webkit.org/show_bug.cgi?id=152939

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-02-01
Reviewed by Darin Adler.

Source/WebCore:

Instead of creating the Path object every time it is required, we should
cache it in an LRU cache. TinyLRUCache returns a reference to the cached
entry so we do not have to pay the cost of copying it either.

  • platform/graphics/FloatRoundedRect.h:

(WebCore::operator!=):
Implement the inequality operator for FloatRoundedRect since it is
called by TinyLRUCache.

  • rendering/ClipPathOperation.h:

Return a reference to the path in the cache since instead of creating a
new copy.

  • rendering/style/BasicShapes.cpp:

(WebCore::SVGPathTranslatedByteStream::SVGPathTranslatedByteStream):
(WebCore::SVGPathTranslatedByteStream::operator==):
(WebCore::SVGPathTranslatedByteStream::operator!=):
(WebCore::SVGPathTranslatedByteStream::isEmpty):
(WebCore::SVGPathTranslatedByteStream::path):
This struct holds an offset and an SVGPathByteStream. It is the key of
the LRU cache for the the translated SVGPathByteStream.

(WebCore::EllipsePathPolicy::isKeyNull):
(WebCore::EllipsePathPolicy::createValueForKey):
(WebCore::RoundedRectPathPolicy::isKeyNull):
(WebCore::RoundedRectPathPolicy::createValueForKey):
(WebCore::PolygonPathPolicy::isKeyNull):
(WebCore::PolygonPathPolicy::createValueForKey):
(WebCore::TranslatedByteStreamPathPolicy::isKeyNull):
(WebCore::TranslatedByteStreamPathPolicy::createValueForKey):
Inherit from the LRU cache policy template, so have a specific name for
the desired path contents and pass this class explicitly to the LRU cache
template.

(WebCore::cachedEllipsePath):
(WebCore::cachedRoundedRectPath):
(WebCore::cachedPolygonPath):
(WebCore::cachedTranslatedByteStreamPath):
Return a cached path object for specific path contents.

(WebCore::BasicShapeCircle::path):
(WebCore::BasicShapeEllipse::path):
(WebCore::BasicShapePolygon::path):
(WebCore::BasicShapePath::path):
(WebCore::BasicShapeInset::path):
Get the Path object from the cache; create a new one if it does not exist.

  • rendering/style/BasicShapes.h:

Change the prototype of the path() function to return a reference to the
path in the cache instead of a having to copying it.

  • svg/SVGPathByteStream.h:

(WebCore::SVGPathByteStream::operator!=):
Implement the inequality operator for SVGPathByteStream because it is
called by TinyLRUCache.

Source/WTF:

If the key type of an LRU cache can't to be strongly tided to a specific
data type; e.g. FloatRect -> Path, we need to be able to pass the policy
type to the TinyLRUCache template instead of just specializing it. This
will make the code more readable and will allow different caches for the
same key type.

  • wtf/TinyLRUCache.h:

(WebCore::TinyLRUCache::get):

11:42 AM Changeset in webkit [195969] by Chris Dumez
  • 20 edits in trunk

Move properties that use custom bindings to the prototype
https://bugs.webkit.org/show_bug.cgi?id=153735

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/XMLHttpRequest/interfaces-expected.txt:

Source/WebCore:

Move properties that use custom bindings to the prototype. Whether a
property's bindings code is generated or custom-written should not
impact where the property is located.

No new tests, already covered by existing tests.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):
Add null-check for staticPropHashTable. HTMLDocument no longer has
any property on the instance so staticPropHashTable is now null.

  • bindings/scripts/CodeGeneratorJS.pm:

LayoutTests:

Rebaseline / update existing tests now that properties using custom
bindings are on the prototype, as expected.

  • fast/mediastream/MediaStream-video-element-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-properties-prototype-expected.txt:
  • inspector/model/remote-object-get-properties-expected.txt:
  • js/dom/dom-attributes-on-mismatch-type-expected.txt:
  • js/dom/dom-attributes-on-mismatch-type.html:
  • platform/mac/inspector/model/remote-object-expected.txt:
11:05 AM Changeset in webkit [195968] by achristensen@apple.com
  • 5 edits in trunk

[Win] WTFHeaderDetection.h no longer needed
https://bugs.webkit.org/show_bug.cgi?id=153753
rdar://problem/24434627

Reviewed by Darin Adler.

.:

  • Source/cmake/WebKitFS.cmake:

Source/WTF:

  • wtf/Platform.h:
  • wtf/PlatformWin.cmake:
10:24 AM Changeset in webkit [195967] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Rendering Frames timeline draws all frame bars at minimum height
https://bugs.webkit.org/show_bug.cgi?id=153736
<rdar://problem/21946301>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
Update the new timeline overview's height before it's shown. Showing the
overview causes the rendering frames graph to do a layout, which requires
the height of the containing view to be a valid value.

10:22 AM Changeset in webkit [195966] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: DataGridNode should support adding go-to arrow buttons to any cell
https://bugs.webkit.org/show_bug.cgi?id=153733
<rdar://problem/24431813>

Reviewed by Brian Burg.

Provide a way to add go-to arrow buttons to any grid cell from within a
DataGridNode subclass's implementation of createCellContent.

  • UserInterface/Views/DataGrid.js:

New event type, GoToArrowClicked.
(WebInspector.DataGridNode.prototype.createGoToArrowButton.buttonClicked):
(WebInspector.DataGridNode.prototype.createGoToArrowButton):
Adds a go-to arrow button to the cell's content element. Clicking the button
dispatches an event on the DataGrid, with event data containing the
DataGridNode and identifier of the cell containing the arrow button.

10:15 AM Changeset in webkit [195965] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r195770): Use-after-free in ResourceLoaderOptions::cachingPolicy
https://bugs.webkit.org/show_bug.cgi?id=153727
<rdar://problem/24429886>

Reviewed by Chris Dumez.

The this object may be freed after calling deleteIfPossible(). Make the early-return-if-
deleted more explicit, and only check allowsCaching() after the deleteIfPossible() return
value check.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::removeClient):

9:56 AM Changeset in webkit [195964] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Stop linking to PassKit
https://bugs.webkit.org/show_bug.cgi?id=153746

Reviewed by Tim Horton.

  • Configurations/WebKit.xcconfig:
9:53 AM Changeset in webkit [195963] by mitz@apple.com
  • 7 edits in trunk/Source/WebKit2

[Cocoa] Get rid of WK_ macros for initializers
https://bugs.webkit.org/show_bug.cgi?id=153744

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_DESIGNATED_INITIALIZER and WK_UNAVAILABLE.
  • mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also removed Foundation import that became unnecessary, and definitions that were only needed before iOS 8.

Replaced instances of the above macros with their expansions.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/WKSecurityOrigin.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.h:
9:02 AM Changeset in webkit [195962] by jmarcell@apple.com
  • 4 edits in trunk/Tools

Improvements to botwatcher's dashboard unit tests.
https://bugs.webkit.org/show_bug.cgi?id=153621

Reviewed by Darin Adler.

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

(PopoverTracker): Retain a reference to the PopoverTracker so that we can make assertions about it in the unit tests.

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

(MockTrac): Changing revision 33019 to be on a different branch so that _appendPendingRevisionCount and
_popoverLinesForCommitRange have to traverse commits from different branches.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Changing equal to strictEqual

in unit test for _appendPendingRevisionCount. Also added assertions for Popover in test for
_revisionContentWithPopoverForIteration.

9:01 AM Changeset in webkit [195961] by jmarcell@apple.com
  • 3 edits in trunk/Tools

Refactor to add event listeners and start periodic updates for all trac instances.
https://bugs.webkit.org/show_bug.cgi?id=153609

Reviewed by Darin Adler.

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

(BuildbotQueueView): Adding event listeners for all trac instances.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js: Starting periodic updates

for all trac instances.

8:00 AM Changeset in webkit [195960] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix a build after r195899.

  • dom/EventContext.h: Enabled TouchEventContext type trait specialization on iOS.
4:33 AM Changeset in webkit [195959] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk/LayoutTests

Unreviewed. Updating global-constructors-attributes expectations after introducing Request in r195954.

4:31 AM Changeset in webkit [195958] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

One more unreviewed speculative buildfix after r195755.

  • PlatformMac.cmake:
4:19 AM Changeset in webkit [195957] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Unreviewed speculative buildfix after r195755.

  • PlatformMac.cmake:
3:26 AM Changeset in webkit [195956] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed speculative buildfix.

  • dfg/DFGCommon.h: FTL_USES_B3 should be false if FTL JIT is disabled.
3:20 AM Changeset in webkit [195955] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Unreviewed speculative buildfix after r195795.

  • PlatformMac.cmake: Remove Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm.
3:05 AM Changeset in webkit [195954] by youenn.fablet@crf.canon.fr
  • 23 edits
    2 copies
    36 adds in trunk

[Fetch API] Implement Fetch API Request
https://bugs.webkit.org/show_bug.cgi?id=153437

LayoutTests/imported/w3c:

Reviewed by Darin Adler.

  • web-platform-tests/fetch/api/headers/headers-basic.html:
  • web-platform-tests/fetch/api/request/request-clone.sub-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-clone.sub.html: Added.
  • web-platform-tests/fetch/api/request/request-consume-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-consume.html: Added.
  • web-platform-tests/fetch/api/request/request-disturbed-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-disturbed.html: Added.
  • web-platform-tests/fetch/api/request/request-error-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-error.html: Added.
  • web-platform-tests/fetch/api/request/request-headers-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-headers.html: Added.
  • web-platform-tests/fetch/api/request/request-idl-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-idl.html: Added.
  • web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-init-001.sub.html: Added.
  • web-platform-tests/fetch/api/request/request-init-002-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-init-002.html: Added.
  • web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-init-003.sub.html: Added.
  • web-platform-tests/fetch/api/request/request-structure-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-structure.html: Added.
  • web-platform-tests/fetch/api/resources/authentication.py: Added.

(main):

  • web-platform-tests/fetch/api/resources/clean-stash.py: Added.

(main):

  • web-platform-tests/fetch/api/resources/inspect-headers.py: Added.

(main):

  • web-platform-tests/fetch/api/resources/method.py: Added.

(main):

  • web-platform-tests/fetch/api/resources/preflight.py: Added.

(main):

  • web-platform-tests/fetch/api/resources/redirect.py: Added.

(main):

  • web-platform-tests/fetch/api/resources/top.txt: Added.
  • web-platform-tests/fetch/api/resources/trickle.py: Added.

(main):

  • web-platform-tests/fetch/api/resources/utils.js: Added.

(catch):
(dirname):
(checkRequest):
(readTextStream):

Source/WebCore:

Added support for Fetch Request and Body.
Body is sharing functionality between Request and Response.
Conversion between various body types are not implemented yet.

Added a FetchOptions class. Options in this class are partially redundant with ResourceLoaderOptions.

Fixing bug in Headers constructor.
Making error reporting in case of modifying headers compliant with the spec.

Reviewed by Darin Adler.

Tests: imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub.html

imported/w3c/web-platform-tests/fetch/api/request/request-consume.html
imported/w3c/web-platform-tests/fetch/api/request/request-disturbed.html
imported/w3c/web-platform-tests/fetch/api/request/request-error.html
imported/w3c/web-platform-tests/fetch/api/request/request-headers.html
imported/w3c/web-platform-tests/fetch/api/request/request-idl.html
imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub.html
imported/w3c/web-platform-tests/fetch/api/request/request-init-002.html
imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html
imported/w3c/web-platform-tests/fetch/api/request/request-structure.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • Modules/fetch/FetchBody.cpp: Added.

(WebCore::FetchBody::initBody):
(WebCore::FetchBody::clear):
(WebCore::FetchBody::processIfEmptyOrDisturbed):
(WebCore::FetchBody::arrayBuffer):
(WebCore::FetchBody::formData):
(WebCore::FetchBody::blob):
(WebCore::FetchBody::text):
(WebCore::FetchBody::json):

  • Modules/fetch/FetchBody.h: Added.

(WebCore::FetchBody::~FetchBody):
(WebCore::FetchBody::isEmpty):
(WebCore::FetchBody::isDisturbed):
(WebCore::FetchBody::setDisturbed):
(WebCore::FetchBody::setMimeType):
(WebCore::FetchBody::mimeType):

  • Modules/fetch/FetchBody.idl: Added.
  • Modules/fetch/FetchHeaders.cpp:

(WebCore::canWriteHeader):
(WebCore::FetchHeaders::append):
(WebCore::FetchHeaders::remove):
(WebCore::FetchHeaders::set):
(WebCore::FetchHeaders::fill): Helper routine implementing https://fetch.spec.whatwg.org/#concept-headers-fill

  • Modules/fetch/FetchHeaders.h: Adding header getter/setter for FetchRequest.

(WebCore::FetchHeaders::fastGet):
(WebCore::FetchHeaders::fastSet):

  • Modules/fetch/FetchHeaders.js: Fixing bug in constructor (covered by modified headers-basc.html test).

(initializeFetchHeaders):

  • Modules/fetch/FetchOptions.h: Added.

(WebCore::FetchOptions::FetchOptions):
(WebCore::FetchOptions::type):
(WebCore::FetchOptions::destination):
(WebCore::FetchOptions::mode):
(WebCore::FetchOptions::credentials):
(WebCore::FetchOptions::cache):
(WebCore::FetchOptions::redirect):
(WebCore::FetchOptions::referrerPolicy):
(WebCore::FetchOptions::setType):
(WebCore::FetchOptions::setDestination):
(WebCore::FetchOptions::setMode):
(WebCore::FetchOptions::setCredentials):
(WebCore::FetchOptions::setCache):
(WebCore::FetchOptions::setRedirect):
(WebCore::FetchOptions::setReferrerPolicy):

  • Modules/fetch/FetchRequest.cpp: Added.

(WebCore::FetchRequest::create):
(WebCore::FetchRequest::FetchRequest):
(WebCore::FetchRequest::init):
(WebCore::FetchRequest::setReferrer):
(WebCore::FetchRequest::setReferrerPolicy):
(WebCore::FetchRequest::setMode):
(WebCore::FetchRequest::setCredentials):
(WebCore::FetchRequest::setCache):
(WebCore::FetchRequest::setRedirect):
(WebCore::FetchRequest::type):
(WebCore::FetchRequest::destination):
(WebCore::FetchRequest::referrerPolicy):
(WebCore::FetchRequest::referrer):
(WebCore::FetchRequest::mode):
(WebCore::FetchRequest::credentials):
(WebCore::FetchRequest::cache):
(WebCore::FetchRequest::redirect):
(WebCore::FetchRequest::setMethod):
(WebCore::FetchRequest::clone):

  • Modules/fetch/FetchRequest.h: Added.

(WebCore::FetchRequest::method):
(WebCore::FetchRequest::url):
(WebCore::FetchRequest::integrity):
(WebCore::FetchRequest::headers):

  • Modules/fetch/FetchRequest.idl: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/Dictionary.h:

(WebCore::Dictionary::execState):

  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDictionary.h:

(WebCore::JSDictionary::get):

LayoutTests:

Reviewed by Darin Adler.

  • js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
  • js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:

Jan 31, 2016:

10:34 PM Changeset in webkit [195953] by commit-queue@webkit.org
  • 17 edits
    4 adds in trunk

Add resize event for HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=125715

Patch by Jeremy Jones <jeremyj@apple.com> on 2016-01-31
Reviewed by Darin Adler.
LayoutTests/imported/w3c:

Rebaselined test after moving 'resize' from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

  • web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

Tests: http/tests/media/hls/hls-video-resize.html

media/video-resize.html

Move resize javascript event from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

Post resize event from video element when metadata loads and when content size changes.

  • dom/GlobalEventHandlers.idl: Add onresize.
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createEventHandlerNameMap): Add onresizeAttr.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged):

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::scheduleResizeEvent):
(WebCore::HTMLMediaElement::scheduleResizeEventIfSizeChanged):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::scheduleResizeEvent): Sechedule event.
(WebCore::HTMLVideoElement::scheduleResizeEventIfSizeChanged): Schedule event if size has changed.

  • html/HTMLVideoElement.h: Add declarations.
  • page/DOMWindow.idl: Remove onresize.

Source/WebInspectorUI:

Add a display name for "resize" event.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.EventType.displayName):

LayoutTests:

Update test for change: move resize javascript event from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

  • fast/dom/event-handler-attributes-expected.txt: Rebaselined.
  • fast/dom/event-handler-attributes.html:

Move resize from uniqueWindowEvents to eventsInGlobalEventHandlers.

  • http/tests/media/hls/hls-video-resize-expected.txt: Added.
  • http/tests/media/hls/hls-video-resize.html: Added.
  • js/dom/dom-static-property-for-in-iteration-expected.txt: Rebaselined.
  • media/video-resize-expected.txt: Added.
  • media/video-resize.html: Added.
  • media/video-test.js:

(requiredEvents): Deleted global. Value is now captured by closure.
(waitForEventsAndCall): Remove dependence on global variable, and fix event observation leak.

9:51 PM Changeset in webkit [195952] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Revert accidental behavior change from previous patch.

  • platform/URL.cpp:

(WebCore::mimeTypeFromDataURL): Restore behavior where an empty MIME type would
be turned into "text/plain".

9:46 PM Changeset in webkit [195951] by Darin Adler
  • 53 edits in trunk/Source

Cut down on calls to String::lower; mostly replace with convertToASCIILowercase
https://bugs.webkit.org/show_bug.cgi?id=153732

Reviewed by Dean Jackson.

Source/WebCore:

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::isTypeSupported): Added comment about mysterious call
to lower(); should probably return here and remove it.

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::initProtocolHandlerWhitelist): Deleted. Moved into isProtocolWhitelisted.
(WebCore::isProtocolWhitelisted): Changed set to be ASCIICaseInsensitiveHash and
initialized it using a lambda instead of a separate function.
(WebCore::verifyProtocolHandlerScheme): Added a FIXME about some case sensitive
checking of the protocol prefix here.

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement::supportsMimeType): Changed set to be
ASCIICaseInsensitiveHash and initialized it using a lambda instead of using
an explict check for empty.
(WebCore::QuickTimePluginReplacement::supportsFileExtension): Ditto.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::queryKeysAndValues): Use convertToASCIILowercase. The keys here are
going to be all ASCII.
(WebCore::isYouTubeURL): Use equalLettersIgnoringASCIICase instead of lowercasing
the string.
(WebCore::processAndCreateYouTubeURL): Use url.protocolIsInHTTPFamily instead of
listing "http" and then "https" explicitly. Use equalLettersIgnoringASCIICase
instead of lowercasing a string.
(WebCore::YouTubePluginReplacement::youTubeURL): Ditto.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::hostName): Use convertToASCIILowercase on host name.
(WebCore::WebSocketHandshake::host): Ditto.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes): Call convertToASCIILowercase instead of lower
to lowercase an element's tag name. This is a strange way to do things; typically
would be better to use some other function on Element, since tagName goes out of
its way to be capitalized, but some ATK expert can improve this later.

  • css/CSSGrammar.y.in: Use the new convertToASCIILowercaseInPlace function rather

than the old lower function. We only need to lowercase the ASCII letters, and it's
also better to have the function have a clearer name.

  • css/CSSParser.cpp:

(WebCore::convertToASCIILowercaseInPlace): Renamed from makeLower and made it deal
with only ASCII lowercasing.
(WebCore::CSSParserString::convertToASCIILowercaseInPlace): Renamed from lower.
(WebCore::isUniversalKeyword): Added. Helper for the function below that uses
equalLettersIgnoringASCIICase rather than lowercasing the string.
(WebCore::parseKeywordValue): Use isUniversalKeyword. Also clarified a comment.
(WebCore::CSSParser::parseAttr): Use convertToASCIILowercaseInPlace and delay
String creation until later in the function, using CSSParserString operations more.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePseudoElementSelector): Use
convertToASCIILowercaseInPlace by its new name, with its new behavior.

  • css/CSSParserValues.h: Tweaked comment and formatting a bit. Replaced the lower

function with the convertToASCIILowercaseInPlace function.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::RareData::parseNth): Rewrote this to avoid the need to
make a lowercased copy of m_argument. Use equalLettersIgnoringASCIICase, and two
calls to find. Also use String::toIntStrict so we don't have to create String
objects for substrings.

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::MediaQuery): Use convertToASCIILowercase for media type name.

  • css/MediaQueryExp.cpp:

(WebCore::MediaQueryExp::serialize): Use convertToASCIILowercase for media feature name.

  • dom/Document.cpp:

(WebCore::isSeparator): Tweaked formatting and removed non-helpful comment.
(WebCore::processArguments): Changed this from a static member function to a non-member
file internal function. Use a std::function instead of a function pointer with a void*
pointer. Rewrote algorithm to simplify it and use StringView instead of String for the
keys and values.
(WebCore::Document::processViewport): Use a lambda instead of a function pointer to
call setViewportFeature, so that function's interface is no longer dictated by
the exact type of the function pointer argument to processArguments.
(WebCore::Document::processFormatDetection): Use a lambda instead of the
setParserFeature function above; use equalLettersIgnoringASCIICase for both the
key and the value, since processArguments no longer lowercases the string.
(WebCore::Document::processArguments): Deleted.

  • dom/Document.h: Removed unnecessary declaration of processArguments and

ArgumentsCallback. Both are now private to the cpp file.

  • dom/Element.cpp:

(WebCore::makeIdForStyleResolution): Use convertToASCIILowercase. When in quirks mode,
we want to match IDs in an ASCII case-insensitive way not match compatibility caseless.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::isScriptTypeSupported): Remove the use of lower here since
the MIME type registry is now itself ASCII case-insensitive.

  • dom/ViewportArguments.cpp:

(WebCore::numericPrefix): Changed to use StringView and take a Document&, rearranged
argument order so Document& comes first.
(WebCore::findSizeValue): Ditto.
(WebCore::findScaleValue): Ditto.
(WebCore::findBooleanValue): Ditto. Also use std::abs instead of fabs, possibly
avoiding a conversion from float to double (not sure it was happening before but it's
definitely not happening now).
(WebCore::setViewportFeature): Changed to put arguments in a more logical order, to take
the ViewportArguments as a reference, not a void*, and to use StringView to avoid forcing
the caller to allocate strings. Also changed to use equalLettersIgnoringASCIICase so we
don't rely on the caller to make the key lowercase for us.
(WebCore::reportViewportWarning): Changed argument types. Added a couple comments about
mistakes in the function.

  • dom/ViewportArguments.h: Removed unnecessary declaration of reportViewportWarning,

which is now private to the cpp file. Updated for new arguments to setViewportFeature.

  • editing/EditorCommand.cpp:

(WebCore::executeFormatBlock): Use convertToASCIILowercase on the argument, which is
specifying a tag name.

  • fileapi/Blob.cpp:

(WebCore::Blob::isValidContentType): Removed unnecessary separate loops for
8-bit and 16-bit strings. Content types are short strings and this small optimization is
not worth the additional code complexity.
(WebCore::Blob::normalizedContentType): Use convertToASCIILowercase since valid
content types are guaranteed to be all ASCII.
(WebCore::Blob::isNormalizedContentType): Removed unnecessary separate loops for
8-bit and 16-bit strings. Content types are short strings and this small optimization is
not worth the additional code complexity.

  • html/parser/HTMLParserIdioms.cpp: Added now-needed include of QualifiedName.h.
  • html/parser/HTMLParserIdioms.h: Removed unneeded include of QualifiedName.h and

WTFString.h. Made sure every function is declared first, even if it's also defined
later in the header in the section for functions templates and inline functions.

  • loader/archive/ArchiveFactory.cpp:

(WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): Use auto& for the type of
the set of MIME types here, since it's now using ASCIICaseInsensitiveHash.

  • platform/MIMETypeRegistry.cpp: Changed the MIME type sets to use

ASCIICaseInsensitiveHash since MIME type are not case sensitive.
(WebCore::initializeSupportedImageMIMETypes): Use a modern for loop.
(WebCore::initializeSupportedImageMIMETypesForEncoding): Updated for HashSet type change.
(WebCore::initializePDFMIMETypes): Use a modern for loop.
(WebCore::initializeSupportedNonImageMimeTypes): Use a modern for loop.
(WebCore::initializeSupportedMediaMIMETypes): Updated for HashSet type change.
(WebCore::initializeUnsupportedTextMIMETypes): Use a modern for loop.
(WebCore::initializeMIMETypeRegistry): Updated for HashSet type change.
(WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): Ditto.
(WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getPDFMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getPDFAndPostScriptMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes): Ditto.
(WebCore::mimeTypeAssociationMap): Use ASCIICaseInsensitiveHash.
(WebCore::MIMETypeRegistry::getNormalizedMIMEType): Use auto to make code tighter.

  • platform/MIMETypeRegistry.h: Changed return types of the getMIMETypes functions

to use ASCIICaseInsensitiveHash.

  • platform/SchemeRegistry.cpp:

(WebCore::schemesForbiddenFromDomainRelaxation): Changed type to
use ASCIICaseInsensitiveHash.

  • platform/URL.cpp:

(WebCore::mimeTypeFromDataURL): Use convertToASCIILowercase instead of lower.
Also removed some dead code that tried to handle the case where the data URL
has a comma as one of the first 5 characters: That can't happen since it's a
precondition of this function that the first five characters are "data:".

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::getSupportedTypes): Change type of argument to
a HashSet with ASCIICaseInsensitiveHash.

  • platform/graphics/MediaPlayer.h: Ditto.
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::staticMIMETypeList):
Changed type of HashSet to use ASCIICaseInsensitiveHash.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Ditto.
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::avfMIMETypes):
Changed type of HashSet to use ASCIICaseInsensitiveHash.
(WebCore::MediaPlayerPrivateAVFoundationCF::getSupportedTypes): Ditto.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Ditto.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

Changed type of HashSet to use ASCIICaseInsensitiveHash.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator): Removed
an unnecessary line of code to set a local variable to 0 just before it falls
out of scope.
(WebCore::avfMIMETypes): Ditto. Also tightened up the code a bit.
(WebCore::MediaPlayerPrivateAVFoundationObjC::getSupportedTypes): Ditto.

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

Changed type of HashSet to use ASCIICaseInsensitiveHash.

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

(WebCore::mimeTypeCache): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes): Ditto.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h: Ditto.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::getSupportedTypes): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::mimeTypeCache): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::shouldRejectMIMEType): Made this non-case-sensitive by using startsWith
and the "false" argument. Later change this to startsWithIgnoringASCIICase or
startsWithLettersIgnoringASCIICase.
(WebCore::addFileTypesToCache): Use ASCIICaseInsensitiveHash. ALso rewrote to
tighten up the code a bit and use modern Objective-C for loops.
(WebCore::mimeCommonTypesCache): Use ASCIICaseInsensitiveHash.
(WebCore::mimeModernTypesCache): Ditto.
(WebCore::concatenateHashSets): Ditto.
(WebCore::MediaPlayerPrivateQTKit::getSupportedTypes): Ditto.
(WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks): Initialied
track type set using lambda, but left it case sensitive.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::mimeTypeCache): Changed type of HashSet to use ASCIICaseInsensitiveHash.
(WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes): Ditto.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::mimeTypeCache): Ditto.
(WebCore::MockMediaPlayerMediaSource::getSupportedTypes): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h: Ditto.

Source/WebKit/mac:

  • WebView/WebHTMLRepresentation.mm:

(newArrayWithStrings): Updated to use HashSet<String, ASCIICaseInsensitiveHash>
and also to use a modern for loop.

Source/WTF:

  • wtf/text/StringView.h: Added toIntStrict. Not thrilled about the name of this

function, but generally it seems likely to be useful more often than toInt.
And it's needed for one call site in WebCore that was using String::lower.

8:44 PM Changeset in webkit [195950] by Brent Fulgham
  • 3 edits
    4 adds in trunk

Add "WebKit built-in PDF" Plugin to set of publicly visible plugins
https://bugs.webkit.org/show_bug.cgi?id=153657
<rdar://problem/24413107>

Reviewed by Darin Adler.

Source/WebCore:

Tested by http/tests/plugins/visible_plugins.html.

A number of poorly-coded sites break when WebKit reports that it understands PDF mime types,
but does not have a list of plugins that the site can iterate through.

To avoid this compatibility problem, we should also expose the "WebKit built-in PDF" plugin
to avoid this edge case.

  • plugins/PluginData.cpp:

(WebCore::shouldBePubliclyVisible): Add "WebKit built-in PDF" plugin.

LayoutTests:

  • http/tests/plugins/visible_plugins-expected.txt: Added.
  • http/tests/plugins/visible_plugins.html: Added.
  • platform/mac-wk2/http/tests/plugins: Added.
  • platform/mac-wk2/http/tests/plugins/visible_plugins-expected.txt: Added.
8:09 PM Changeset in webkit [195949] by commit-queue@webkit.org
  • 11 edits
    2 adds in trunk

AX: Add a boundary value to AXTextStateChangeType
https://bugs.webkit.org/show_bug.cgi?id=153085

Patch by Doug Russell <d_russell@apple.com> on 2016-01-31
Reviewed by Darin Adler.

Post an AT notification when navigation is attempted past
an editable element's boundaries.

Source/WebCore:

Test: accessibility/mac/selection-boundary-userinfo.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::showIntent):

  • accessibility/AXTextStateChangeIntent.h:
  • accessibility/mac/AXObjectCacheMac.mm:

(platformChangeTypeForWebCoreChangeType):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingForward):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::modifyMovingBackward):
(WebCore::textSelectionWithDirectionAndGranularity):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::modifyExtendingBackward): Deleted.
(WebCore::FrameSelection::textSelectionIntent): Deleted.

  • editing/FrameSelection.h:
  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::next):
(WebCore::VisiblePosition::previous):
(WebCore::VisiblePosition::left):
(WebCore::VisiblePosition::right):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter):
(WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Deleted.
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Deleted.

  • editing/VisiblePosition.h:
  • editing/VisibleUnits.cpp:

(WebCore::startOfLine):
(WebCore::logicalStartOfLine):
(WebCore::endOfLine):
(WebCore::logicalEndOfLine):
(WebCore::leftBoundaryOfLine):
(WebCore::rightBoundaryOfLine):
(WebCore::inSameLogicalLine): Deleted.
(WebCore::endOfEditableContent): Deleted.
(WebCore::isEndOfEditableOrNonEditableContent): Deleted.

  • editing/VisibleUnits.h:

LayoutTests:

  • accessibility/mac/selection-boundary-userinfo-expected.txt: Added.
  • accessibility/mac/selection-boundary-userinfo.html: Added.
7:10 PM Changeset in webkit [195948] by dbates@webkit.org
  • 26 edits
    10 adds in trunk

CSP: Use the served CSP header for dedicated workers
https://bugs.webkit.org/show_bug.cgi?id=153157
<rdar://problem/24383254>
And
https://bugs.webkit.org/show_bug.cgi?id=153156
<rdar://problem/24383246>

Patch by Daniel Bates <dabates@apple.com> on 2016-01-31
Reviewed by Brent Fulgham.

Source/WebCore:

Inspired by Blink commit:
<https://src.chromium.org/viewvc/blink?revision=194143&view=revision>

Implement support for respecting Content Security Policy (CSP) HTTP headers included in the
HTTP response for a Web Worker's script as per section Workers of the CSP 2.0 spec,
<https://w3c.github.io/webappsec-csp/2/#processing-model-workers> (29 August 2015).

Currently a Web Worker always inherits the CSP of its owner document. Instead a web worker
will inherit the CSP of its owner document only if its script is incapable of defining a
content security policy (i.e. its origin is a globally unique identifier). Otherwise, the
CSP HTTP headers delivered with the script will be used to define the CSP for the worker.

Tests: fast/workers/worker-inherits-csp-blocks-eval.html

fast/workers/worker-inherits-csp-blocks-xhr.html
http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html

  • CMakeLists.txt: Add file ContentSecurityPolicyResponseHeaders.cpp.
  • WebCore.vcxproj/WebCore.vcxproj: Add files ContentSecurityPolicyResponseHeaders.{cpp, h}.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv): Update code to use enum class ContentSecurityPolicyHeaderType.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didBeginDocument): Extract logic to collect Content Security Policy HTTP headers
into class ContentSecurityPolicyResponseHeaders and make use of it here.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::headerType): Modified to use enum class ContentSecurityPolicyHeaderType.
(WebCore::CSPDirectiveList::CSPDirectiveList): Ditto.
(WebCore::CSPDirectiveList::create): Ditto.
(WebCore::ContentSecurityPolicy::responseHeaders): Creates and returns a ContentSecurityPolicyResponseHeaders
object with the parsed CSP policy headers.
(WebCore::ContentSecurityPolicy::didReceiveHeaders): Processed the CSP policy headers represented by the
specified ContentSecurityPolicyResponseHeaders object.
(WebCore::ContentSecurityPolicy::deprecatedHeader): Deleted.
(WebCore::ContentSecurityPolicy::deprecatedHeaderType): Deleted.

  • page/csp/ContentSecurityPolicy.h: Defines a class that represents a collection of CSP policy headers.

This class has two purposes:

  • It extracts the CSP policy headers from a HTTP response (ResourceResponse object). We make use of this functionality in both FrameLoader::didBeginDocument() and Worker::didReceiveResponse().
  • It serves as a memento that externalizes the internal CSP policy details of an instance of ContentSecurityPolicy. We make use of this memento functionality to support inheriting the CSP policy of the worker's owner document in a thread-safe manner. You can create and restore a memento using ContentSecurityPolicy::responseHeaders() and ContentSecurityPolicy::didReceiveHeaders(), respectively.
  • page/csp/ContentSecurityPolicyResponseHeaders.cpp: Added.

(WebCore::ContentSecurityPolicyResponseHeaders::ContentSecurityPolicyResponseHeaders): Extracts the
CSP HTTP headers from a ResourceResponse object.
(WebCore::ContentSecurityPolicyResponseHeaders::isolatedCopy): Make a copy of this object that is
safe to pass to another thread.

  • page/csp/ContentSecurityPolicyResponseHeaders.h: Added.
  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::create): Modified to use class ContentSecurityPolicyResponseHeaders.

  • workers/DedicatedWorkerGlobalScope.h:
  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::create): Ditto.
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread): Ditto.
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope): Ditto.

  • workers/DedicatedWorkerThread.h:
  • workers/Worker.cpp:

(WebCore::Worker::didReceiveResponse): Create a ContentSecurityPolicyResponseHeaders if the origin of
the worker's script is capable of providing a CSP. Otherwise, we will inherit the CSP of the worker's owner
document in Worker::notifyFinished().
(WebCore::Worker::notifyFinished): Pass the appropriate CSP response headers to WorkerMessagingProxy::startWorkerGlobalScope().

  • workers/Worker.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::applyContentSecurityPolicyResponseHeaders): Renamed; formerly named applyContentSecurityPolicyFromString().
Modified to take a ContentSecurityPolicyResponseHeaders and apply it to the ContentSecurityPolicy object associated with the worker.
(WebCore::WorkerGlobalScope::applyContentSecurityPolicyFromString): Deleted.

  • workers/WorkerGlobalScope.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope): Pass the worker's ContentSecurityPolicyResponseHeaders object.

  • workers/WorkerThread.cpp:

(WebCore::WorkerThreadStartupData::WorkerThreadStartupData): Added field m_contentSecurityPolicyResponseHeaders to store
the CSP response headers to be applied to the worker's ContentSecurityPolicy object.
(WebCore::WorkerThread::WorkerThread): Modified to use ContentSecurityPolicyResponseHeaders.
(WebCore::WorkerThread::workerThread): Pass the ContentSecurityPolicyResponseHeaders object from the start up data struct
to DedicatedWorkerThread::createWorkerGlobalScope().

  • workers/WorkerThread.h:

LayoutTests:

Add new tests to ensure we block eval() in blob-, file-URL workers and block XHR in a file-URL worker.

  • TestExpectations: Remove now passing tests http/tests/security/contentSecurityPolicy/worker-{multiple-csp-headers, without-own-csp}.html

and update the associated bug # for tests that fail.

  • fast/workers/resources/worker-inherits-csp-blocks-eval.js: Added.

(catch):

  • fast/workers/resources/worker-inherits-csp-blocks-xhr.js: Added.

(catch):

  • fast/workers/worker-inherits-csp-blocks-eval-expected.txt: Added.
  • fast/workers/worker-inherits-csp-blocks-eval.html: Added.
  • fast/workers/worker-inherits-csp-blocks-xhr-expected.txt: Added.
  • fast/workers/worker-inherits-csp-blocks-xhr.html: Added.
  • http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html: Added.
  • http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers-expected.txt: Updated expected results as

the result was incorrect.

  • http/tests/security/contentSecurityPolicy/worker-without-own-csp-expected.txt: Ditto.
6:22 PM Changeset in webkit [195947] by Hunseop Jeong
  • 322 edits in trunk/LayoutTests

Unreviewed. EFL gardening: rebaseline tests after r195740. (more to follow)

  • platform/efl/css1/basic/containment-expected.txt:
  • platform/efl/css1/basic/contextual_selectors-expected.txt:
  • platform/efl/css1/basic/grouping-expected.txt:
  • platform/efl/css1/basic/id_as_selector-expected.txt:
  • platform/efl/css1/basic/inheritance-expected.txt:
  • platform/efl/css1/box_properties/border-expected.txt:
  • platform/efl/css1/box_properties/border_bottom-expected.txt:
  • platform/efl/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/efl/css1/box_properties/border_bottom_width-expected.txt:
  • platform/efl/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/efl/css1/box_properties/border_color-expected.txt:
  • platform/efl/css1/box_properties/border_color_inline-expected.txt:
  • platform/efl/css1/box_properties/border_inline-expected.txt:
  • platform/efl/css1/box_properties/border_left-expected.txt:
  • platform/efl/css1/box_properties/border_left_inline-expected.txt:
  • platform/efl/css1/box_properties/border_left_width-expected.txt:
  • platform/efl/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/efl/css1/box_properties/border_right-expected.txt:
  • platform/efl/css1/box_properties/border_right_inline-expected.txt:
  • platform/efl/css1/box_properties/border_right_width-expected.txt:
  • platform/efl/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/efl/css1/box_properties/border_style-expected.txt:
  • platform/efl/css1/box_properties/border_style_inline-expected.txt:
  • platform/efl/css1/box_properties/border_top-expected.txt:
  • platform/efl/css1/box_properties/border_top_inline-expected.txt:
  • platform/efl/css1/box_properties/border_top_width-expected.txt:
  • platform/efl/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/efl/css1/box_properties/clear-expected.txt:
  • platform/efl/css1/box_properties/clear_float-expected.txt:
  • platform/efl/css1/box_properties/float-expected.txt:
  • platform/efl/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/efl/css1/box_properties/float_margin-expected.txt:
  • platform/efl/css1/box_properties/height-expected.txt:
  • platform/efl/css1/box_properties/margin-expected.txt:
  • platform/efl/css1/box_properties/margin_bottom-expected.txt:
  • platform/efl/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/efl/css1/box_properties/margin_inline-expected.txt:
  • platform/efl/css1/box_properties/margin_left-expected.txt:
  • platform/efl/css1/box_properties/margin_left_inline-expected.txt:
  • platform/efl/css1/box_properties/margin_right-expected.txt:
  • platform/efl/css1/box_properties/margin_right_inline-expected.txt:
  • platform/efl/css1/box_properties/margin_top-expected.txt:
  • platform/efl/css1/box_properties/margin_top_inline-expected.txt:
  • platform/efl/css1/box_properties/padding-expected.txt:
  • platform/efl/css1/box_properties/padding_bottom-expected.txt:
  • platform/efl/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/efl/css1/box_properties/padding_inline-expected.txt:
  • platform/efl/css1/box_properties/padding_left-expected.txt:
  • platform/efl/css1/box_properties/padding_left_inline-expected.txt:
  • platform/efl/css1/box_properties/padding_right-expected.txt:
  • platform/efl/css1/box_properties/padding_right_inline-expected.txt:
  • platform/efl/css1/box_properties/padding_top-expected.txt:
  • platform/efl/css1/box_properties/padding_top_inline-expected.txt:
  • platform/efl/css1/box_properties/width-expected.txt:
  • platform/efl/css1/cascade/cascade_order-expected.txt:
  • platform/efl/css1/cascade/important-expected.txt:
  • platform/efl/css1/classification/display-expected.txt:
  • platform/efl/css1/classification/list_style-expected.txt:
  • platform/efl/css1/classification/list_style_image-expected.txt:
  • platform/efl/css1/classification/list_style_position-expected.txt:
  • platform/efl/css1/classification/list_style_type-expected.txt:
  • platform/efl/css1/classification/white_space-expected.txt:
  • platform/efl/css1/color_and_background/background-expected.txt:
  • platform/efl/css1/color_and_background/background_attachment-expected.txt:
  • platform/efl/css1/color_and_background/background_color-expected.txt:
  • platform/efl/css1/color_and_background/background_image-expected.txt:
  • platform/efl/css1/color_and_background/background_position-expected.txt:
  • platform/efl/css1/color_and_background/background_repeat-expected.txt:
  • platform/efl/css1/color_and_background/color-expected.txt:
  • platform/efl/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/efl/css1/font_properties/font-expected.txt:
  • platform/efl/css1/font_properties/font_family-expected.txt:
  • platform/efl/css1/font_properties/font_size-expected.txt:
  • platform/efl/css1/font_properties/font_style-expected.txt:
  • platform/efl/css1/font_properties/font_variant-expected.txt:
  • platform/efl/css1/font_properties/font_weight-expected.txt:
  • platform/efl/css1/formatting_model/canvas-expected.txt:
  • platform/efl/css1/formatting_model/height_of_lines-expected.txt:
  • platform/efl/css1/formatting_model/inline_elements-expected.txt:
  • platform/efl/css1/formatting_model/replaced_elements-expected.txt:
  • platform/efl/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/efl/css1/pseudo/anchor-expected.txt:
  • platform/efl/css1/pseudo/firstletter-expected.txt:
  • platform/efl/css1/pseudo/firstline-expected.txt:
  • platform/efl/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/efl/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/efl/css1/text_properties/letter_spacing-expected.txt:
  • platform/efl/css1/text_properties/line_height-expected.txt:
  • platform/efl/css1/text_properties/text_align-expected.txt:
  • platform/efl/css1/text_properties/text_decoration-expected.txt:
  • platform/efl/css1/text_properties/text_indent-expected.txt:
  • platform/efl/css1/text_properties/text_transform-expected.txt:
  • platform/efl/css1/text_properties/vertical_align-expected.txt:
  • platform/efl/css1/text_properties/word_spacing-expected.txt:
  • platform/efl/css1/units/color_units-expected.txt:
  • platform/efl/css1/units/length_units-expected.txt:
  • platform/efl/css1/units/percentage_units-expected.txt:
  • platform/efl/css1/units/urls-expected.txt:
  • platform/efl/css2.1/20110323/border-collapse-offset-002-expected.txt:
  • platform/efl/css2.1/20110323/border-conflict-style-079-expected.txt:
  • platform/efl/css2.1/20110323/border-conflict-style-088-expected.txt:
  • platform/efl/css2.1/20110323/dynamic-top-change-002-expected.txt:
  • platform/efl/css2.1/20110323/dynamic-top-change-003-expected.txt:
  • platform/efl/css2.1/20110323/inline-table-001-expected.txt:
  • platform/efl/css2.1/20110323/inline-table-002a-expected.txt:
  • platform/efl/css2.1/20110323/inline-table-003-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-001-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-002-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-003-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-004-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-005-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-006-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-007-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-013-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-014-expected.txt:
  • platform/efl/css2.1/20110323/margin-applies-to-015-expected.txt:
  • platform/efl/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt:
  • platform/efl/css2.1/20110323/table-caption-001-expected.txt:
  • platform/efl/css2.1/20110323/table-caption-optional-001-expected.txt:
  • platform/efl/css2.1/20110323/table-caption-optional-002-expected.txt:
  • platform/efl/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
  • platform/efl/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt:
  • platform/efl/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt:
  • platform/efl/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt:
  • platform/efl/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt:
  • platform/efl/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt:
  • platform/efl/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-30-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-70-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
  • platform/efl/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-18-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-29-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-29b-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-33-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-73-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-73b-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-77-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-77b-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-29-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-29b-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-33-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-73-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-73b-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-77-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-77b-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-18-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-29-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-29b-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-33-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-73-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-73b-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-77-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-77b-expected.txt:
  • platform/efl/editing/deleting/4922367-expected.txt:
  • platform/efl/editing/deleting/5126166-expected.txt:
  • platform/efl/editing/deleting/5206311-1-expected.txt:
  • platform/efl/editing/deleting/5433862-2-expected.txt:
  • platform/efl/editing/inserting/paragraph-separator-in-table-1-expected.txt:
  • platform/efl/editing/selection/3690703-2-expected.txt:
  • platform/efl/editing/selection/3690703-expected.txt:
  • platform/efl/editing/selection/3690719-expected.txt:
  • platform/efl/editing/selection/5057506-2-expected.txt:
  • platform/efl/editing/selection/5057506-expected.txt:
  • platform/efl/editing/selection/5131716-1-expected.txt:
  • platform/efl/editing/selection/5131716-2-expected.txt:
  • platform/efl/editing/selection/5131716-3-expected.txt:
  • platform/efl/editing/selection/5131716-4-expected.txt:
  • platform/efl/editing/selection/move-by-line-001-expected.txt:
  • platform/efl/editing/selection/select-all-004-expected.txt:
  • platform/efl/editing/unsupported-content/table-type-after-expected.txt:
  • platform/efl/editing/unsupported-content/table-type-before-expected.txt:
  • platform/efl/fast/block/basic/016-expected.txt:
  • platform/efl/fast/block/basic/quirk-percent-height-table-cell-expected.txt:
  • platform/efl/fast/block/float/015-expected.txt:
  • platform/efl/fast/block/margin-collapse/006-expected.txt:
  • platform/efl/fast/block/margin-collapse/010-expected.txt:
  • platform/efl/fast/block/margin-collapse/011-expected.txt:
  • platform/efl/fast/block/margin-collapse/012-expected.txt:
  • platform/efl/fast/block/margin-collapse/015-expected.txt:
  • platform/efl/fast/block/margin-collapse/016-expected.txt:
  • platform/efl/fast/block/margin-collapse/017-expected.txt:
  • platform/efl/fast/block/margin-collapse/018-expected.txt:
  • platform/efl/fast/block/margin-collapse/019-expected.txt:
  • platform/efl/fast/block/margin-collapse/020-expected.txt:
  • platform/efl/fast/block/margin-collapse/021-expected.txt:
  • platform/efl/fast/block/margin-collapse/022-expected.txt:
  • platform/efl/fast/block/margin-collapse/025-expected.txt:
  • platform/efl/fast/block/margin-collapse/032-expected.txt:
  • platform/efl/fast/block/margin-collapse/033-expected.txt:
  • platform/efl/fast/block/margin-collapse/034-expected.txt:
  • platform/efl/fast/block/margin-collapse/041-expected.txt:
  • platform/efl/fast/block/margin-collapse/042-expected.txt:
  • platform/efl/fast/block/margin-collapse/055-expected.txt:
  • platform/efl/fast/block/margin-collapse/056-expected.txt:
  • platform/efl/fast/block/margin-collapse/057-expected.txt:
  • platform/efl/fast/block/margin-collapse/058-expected.txt:
  • platform/efl/fast/block/margin-collapse/059-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/006-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/010-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/011-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/012-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/015-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/016-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/017-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/018-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/019-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/020-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/021-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/022-expected.txt:
  • platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
  • platform/efl/fast/block/positioning/negative-right-pos-expected.txt:
  • platform/efl/fast/block/positioning/table-cell-static-position-expected.txt:
  • platform/efl/fast/borders/border-antialiasing-expected.txt:
  • platform/efl/fast/borders/border-radius-different-width-001-expected.txt:
  • platform/efl/fast/borders/table-borders-expected.txt:
  • platform/efl/fast/css-generated-content/first-letter-in-nested-before-expected.txt:
  • platform/efl/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
  • platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
  • platform/efl/fast/css-generated-content/table-cell-before-after-child-add-expected.txt:
  • platform/efl/fast/css-generated-content/table-parts-before-and-after-expected.txt:
  • platform/efl/fast/css-generated-content/table-row-group-with-before-expected.txt:
  • platform/efl/fast/css-generated-content/table-row-with-before-expected.txt:
  • platform/efl/fast/css-generated-content/table-with-before-expected.txt:
  • platform/efl/fast/css/003-expected.txt:
  • platform/efl/fast/css/absolute-poition-in-rtl-parent-expected.txt:
  • platform/efl/fast/css/acid2-expected.txt:
  • platform/efl/fast/css/acid2-pixel-expected.txt:
  • platform/efl/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/efl/fast/css/box-shadow-and-border-radius-expected.txt:
  • platform/efl/fast/css/caption-width-absolute-position-expected.txt:
  • platform/efl/fast/css/caption-width-absolute-position-offset-top-expected.txt:
  • platform/efl/fast/css/caption-width-fixed-position-expected.txt:
  • platform/efl/fast/css/caption-width-fixed-position-offset-top-expected.txt:
  • platform/efl/fast/css/caption-width-relative-position-expected.txt:
  • platform/efl/fast/css/caption-width-relative-position-offset-top-expected.txt:
  • platform/efl/fast/css/css3-nth-child-expected.txt:
  • platform/efl/fast/css/focus-ring-detached-expected.txt:
  • platform/efl/fast/css/focus-ring-multiline-expected.txt:
  • platform/efl/fast/css/h1-in-section-elements-expected.txt:
  • platform/efl/fast/css/image-rendering-expected.txt:
  • platform/efl/fast/css/min-width-with-spanned-cell-expected.txt:
  • platform/efl/fast/css/percentage-non-integer-expected.txt:
  • platform/efl/fast/css/table-text-align-quirk-expected.txt:
  • platform/efl/fast/css/table-text-align-strict-expected.txt:
  • platform/efl/fast/dom/34176-expected.txt:
  • platform/efl/fast/dom/HTMLTableElement/colSpan-expected.txt:
  • platform/efl/fast/dom/HTMLTableElement/createCaption-expected.txt:
  • platform/efl/fast/dom/row-inner-text-expected.txt:
  • platform/efl/fast/dynamic/001-expected.txt:
  • platform/efl/fast/dynamic/containing-block-change-expected.txt:
  • platform/efl/fast/dynamic/float-withdrawal-expected.txt:
  • platform/efl/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/efl/fast/dynamic/subtree-table-cell-height-expected.txt:
  • platform/efl/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/efl/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/efl/fast/forms/001-expected.txt:
  • platform/efl/fast/forms/005-expected.txt:
  • platform/efl/fast/forms/basic-buttons-expected.txt:
  • platform/efl/fast/forms/form-element-geometry-expected.txt:
  • platform/efl/fast/forms/form-hides-table-expected.txt:
  • platform/efl/fast/forms/form-in-malformed-markup-expected.txt:
  • platform/efl/fast/forms/formmove3-expected.txt:
  • platform/efl/fast/forms/input-table-expected.txt:
  • platform/efl/fast/forms/listbox-bidi-align-expected.txt:
  • platform/efl/fast/forms/preserveFormDuringResidualStyle-expected.txt:
  • platform/efl/fast/forms/select-dirty-parent-pref-widths-expected.txt:
  • platform/efl/fast/html/details-writing-mode-expected.txt:
  • platform/efl/fast/inline-block/001-expected.txt:
  • platform/efl/fast/inline-block/overflow-clip-expected.txt:
  • platform/efl/fast/invalid/012-expected.txt:
  • platform/efl/fast/invalid/018-expected.txt:
  • platform/efl/fast/lists/004-expected.txt:
  • platform/efl/fast/lists/list-marker-before-content-table-expected.txt:
  • platform/efl/fast/multicol/span/before-child-anonymous-column-block-expected.txt:
  • platform/efl/fast/overflow/002-expected.txt:
  • platform/efl/fast/overflow/overflow-rtl-expected.txt:
  • platform/efl/fast/overflow/overflow-rtl-vertical-expected.txt:
  • platform/efl/fast/overflow/table-overflow-float-expected.txt:
  • platform/efl/fast/reflections/table-cell-expected.txt:
  • platform/efl/fast/repaint/block-selection-gap-in-table-cell-expected.txt:
  • platform/efl/fast/repaint/float-overflow-expected.txt:
  • platform/efl/fast/repaint/float-overflow-right-expected.txt:
  • platform/efl/fast/repaint/subtree-root-clip-3-expected.txt:
  • platform/efl/fast/repaint/table-cell-collapsed-border-expected.txt:
  • platform/efl/fast/repaint/table-cell-collapsed-border-scroll-expected.txt:
  • platform/efl/fast/repaint/table-cell-move-expected.txt:
  • platform/efl/fast/repaint/table-cell-overflow-expected.txt:
  • platform/efl/fast/repaint/table-cell-vertical-overflow-expected.txt:
  • platform/efl/fast/repaint/table-col-background-expected.txt:
  • platform/efl/fast/repaint/table-collapsed-border-expected.txt:
  • platform/efl/fast/repaint/table-extra-bottom-grow-expected.txt:
  • platform/efl/fast/repaint/table-outer-border-expected.txt:
  • platform/efl/fast/repaint/table-row-expected.txt:
  • platform/efl/fast/repaint/table-section-overflow-expected.txt:
  • platform/efl/fast/repaint/table-section-repaint-expected.txt:
  • platform/efl/fast/repaint/table-two-pass-layout-overpaint-expected.txt:
  • platform/efl/fast/repaint/table-writing-modes-h-expected.txt:
  • platform/efl/fast/repaint/table-writing-modes-v-expected.txt:
5:50 PM Changeset in webkit [195946] by Darin Adler
  • 9 edits in trunk/Source

Get rid of most calls to String::upper; mostly replace them with convertToASCIIUppercase
https://bugs.webkit.org/show_bug.cgi?id=153715

Reviewed by Gyuyoung Kim.

Source/WebCore:

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::computedAttributesForElement): Use convertToASCIILowercase to fold
ASCII case when searching for fonts by name.

  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::platformLazyInit): Use convertToASCIIUppercase to make
the HTTP version string canonical. Not sure why it's needed at all, but the letters
we might be uppercasing are "HTTP", so no need to handle non-ASCII.

  • platform/network/cocoa/ResourceResponseCocoa.mm:

(WebCore::ResourceResponse::platformLazyInit): Ditto.

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::operator<<): Use convertToASCIIUppercase when writing the spread
method type into a text stream. The method types are all ASCII.

Source/WebKit2:

  • UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:

Use convertToASCIIUppercase on language names.

Source/WTF:

  • wtf/text/AtomicString.h:

(WTF::AtomicString::upper): Deleted.

5:20 PM Changeset in webkit [195945] by jh718.park@samsung.com
  • 2 edits in trunk

[EFL] All API tests are broken on 15.10
https://bugs.webkit.org/show_bug.cgi?id=153528

Reviewed by Gyuyoung Kim.

  • CMakeLists.txt: Having include(WebKitCommon) statement follow

CMAKE_FOO_OUTPUT_DIRECTORY otherwise all the API tests gets blocked.

4:27 PM Changeset in webkit [195944] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

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

Versioning.

4:26 PM Changeset in webkit [195942] by mitz@apple.com
  • 6 edits in trunk/Source

[Cocoa] Remove unused definition of HAVE_HEADER_DETECTION_H
https://bugs.webkit.org/show_bug.cgi?id=153729

Reviewed by Sam Weinig.

After r141700, HAVE_HEADER_DETECTION_H is no longer used.

  • Configurations/Base.xcconfig:
4:10 PM Changeset in webkit [195941] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.96

New tag.

4:10 PM Changeset in webkit [195940] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.5.14

New tag.

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

B3->Air lowering should use MoveFloat more
https://bugs.webkit.org/show_bug.cgi?id=153714

Reviewed by Sam Weinig.

This is a very minor and benign bug. It just means that we will use the more canonical
MoveFloat instruction when moving floats, rather than using MoveDouble.

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::relaxedMoveForType):

3:05 PM Changeset in webkit [195938] by Yusuke Suzuki
  • 5 edits
    7 adds in trunk/Source/JavaScriptCore

Should not predict OtherObj for ToThis with primitive types under strict mode
https://bugs.webkit.org/show_bug.cgi?id=153544

Reviewed by Filip Pizlo.

Currently, ToThis predicates OtherObj for primitive values.
But it's not true in strict mode.
In strict mode, ToThis does nothing on primitive values.

In this patch, we

  1. fix prediction. Handles primitive types in strict mode. And we also handles StringObject.
  2. convert it to Identity if the argument should be predicted as primitive types.

This optimization is important to implement Primitive.prototype.methods[1].
Otherwise, we always got BadType OSR exits.

[1]: https://bugs.webkit.org/show_bug.cgi?id=143889

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupToThis):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • tests/stress/to-this-boolean.js: Added.

(Boolean.prototype.negate):
(Boolean.prototype.negate2):

  • tests/stress/to-this-double.js: Added.

(Number.prototype.negate):

  • tests/stress/to-this-int32.js: Added.

(Number.prototype.negate):

  • tests/stress/to-this-int52.js: Added.

(Number.prototype.negate):

  • tests/stress/to-this-number.js: Added.

(Number.prototype.negate):

  • tests/stress/to-this-string.js: Added.

(String.prototype.prefix):
(String.prototype.first):
(String.prototype.second):

  • tests/stress/to-this-symbol.js: Added.

(Symbol.prototype.identity):
(Symbol.prototype.identity2):

3:00 PM Changeset in webkit [195937] by mitz@apple.com
  • 20 edits in trunk/Source

[Cocoa] Remove has_include guards around use of WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=153728

Reviewed by Andy Estes.

Guard WebKitAdditions includes with #if USE(APPLE_INTERNAL_SDK) rather than with has_include.

Source/WebCore:

  • dom/EventNames.h:
  • loader/EmptyClients.cpp:

(WebCore::fillWithEmptyClients):

  • page/MainFrame.cpp:

(WebCore::MainFrame::MainFrame):

  • page/MainFrame.h:
  • page/PageConfiguration.h:
  • platform/cocoa/WebKitAdditions.mm:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
  • platform/ios/LegacyTileGridTile.mm:

Source/WebKit/mac:

  • WebKitAdditions.mm:
  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

Source/WebKit2:

  • Shared/Cocoa/WebKitAdditions.mm:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/RemoteLayerBackingStore.mm:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_shouldDispatchFakeMouseMoveEvents):

2:46 PM Changeset in webkit [195936] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.18.1/Source

Versioning.

2:42 PM Changeset in webkit [195935] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.18.1

New tag.

12:59 PM Changeset in webkit [195934] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Include the right WebKitAdditions files
<rdar://problem/24429804>

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):

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

Merged r195932. rdar://problem/24430138

12:39 PM Changeset in webkit [195932] by bshafiei@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

Merge patch for rdar://problem/24426332 and rdar://problem/24209109.

12:27 PM Changeset in webkit [195931] by bshafiei@apple.com
  • 4 edits in branches/safari-601-branch/Source/WebCore

Roll out r195817.

11:51 AM Changeset in webkit [195930] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

11:51 AM Changeset in webkit [195929] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

11:22 AM Changeset in webkit [195928] by Darin Adler
  • 37 edits in trunk

Replace CaseFoldingHash with ASCIICaseInsensitiveHash
https://bugs.webkit.org/show_bug.cgi?id=153639

Reviewed by Filip Pizlo.

Source/WebCore:

  • Modules/webdatabase/DatabaseAuthorizer.h: Use ASCIICaseInsensitiveHash

for whitelisted functions. Function names are all ASCII.

  • accessibility/AccessibilityObject.cpp: Use ASCIICaseInsensitiveHash

for ARIA roles. ARIA roles are all ASCII.

  • crypto/CryptoAlgorithmRegistry.h: Use ASCIICaseInsensitiveHash for

crypto algorithm names. Algorithm names are all ASCII.

  • css/CSSFontSelector.cpp:

(WebCore::registerLocalFontFacesForFamily): Use ASCIICaseInsensitiveHash
for font faces. Face names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.

  • css/CSSFontSelector.h: Ditto.
  • dom/DOMImplementation.cpp: Use ASCIICaseInsensitiveHash for the

FeatureSet. The features are all ASCII.

  • dom/Document.h: Use ASCIICaseInsensitiveHash for the access key

map. Access keys are all ASCII.

  • dom/ScriptElement.cpp:

(WebCore::isLegacySupportedJavaScriptLanguage): Use ASCIICaseInsensitiveHash
for the language set. These strings are all ASCII.

  • editing/EditorCommand.cpp: Use ASCIICaseInsensitiveHash for editor

command names. These names are all ASCII.

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parametersForPlugin): Use ASCIICaseInsensitiveHash
for parameter names. These names are all ASCII.

  • html/InputType.cpp: Use ASCIICaseInsensitiveHash for the input types.

The input types are all ASCII.

  • loader/CrossOriginAccessControl.h: Use ASCIICaseInsensitiveHash for

HTTP header field names. These names are all ASCII.

  • loader/CrossOriginPreflightResultCache.h: Ditto.
  • loader/archive/ArchiveFactory.cpp: Use ASCIICaseInsensitiveHash for

MIME types. MIME types are all ASCII.

  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes): Ditto.

  • platform/SchemeRegistry.h: Use ASCIICaseInsensitiveHas for URL schemes.

URL schemes are all ASCII.

  • platform/URL.cpp: Ditto.
  • platform/graphics/FontCache.cpp:

(WebCore::FontPlatformDataCacheKey::operator==): Use ASCIICaseInsensitiveHash.
(WebCore::FontPlatformDataCacheKeyHash::hash): Use ASCIICaseInsensitiveHash.

  • platform/graphics/FontCascade.cpp:

(WebCore::keysMatch): Rename from operator== since this operation is not
equality. Changed to equalIgnoringASCIICase and did a little streamlining.
(WebCore::makeFontCascadeCacheKey): Use reserveInitialCapacity for slightly
better memory use.
(WebCore::computeFontCascadeCacheHash): Use IntegerHasher to make computing
a hash more efficient by eliminating the overhead of building a vector and
even possible heap allocation and deallocation.
(WebCore::retrieveOrAddCachedFonts): Use keysMatch instead of ==.

  • platform/graphics/cocoa/FontCacheCoreText.cpp: Use ASCIICaseInsensitiveHash

for font family names. These names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.

  • platform/network/HTTPHeaderMap.h: Use ASCIICaseInsensitiveHash for

HTTP header field names. These names are all ASCII.

  • rendering/style/RenderStyle.cpp:

(WebCore::computeFontHash): Use IntegerHasher to avoid allocating memory just
to compute a hash. Use ASCIICaseInsensitiveHash.

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::memoryStatistics): Use ASCIICaseInsensitiveHash for field names.
These names are all ASCII.

  • WebURLResponse.cpp:

(WebURLResponse::allHeaderFields): Use ASCIICaseInsensitiveHash for HTTP header
field names. These names are all ASCII.

Source/WebKit2:

  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash

for MIME types. MIME types are all ASCII.

  • UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for

origins. Origin strings should use ASCII case insensitive matching and should not
fold non-ASCII case.

  • WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types.

MIME types are all ASCII.

  • WebProcess/WebProcess.cpp:

(WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in
origin strings. (See rationale above.)
(WebKit::hashForPlugInOrigin): Updated comment.

Source/WTF:

  • wtf/text/StringHash.h: Renamed CaseFoldingHash to ASCIICaseInsensitiveHash.

(WTF::ASCIICaseInsensitiveHash::foldCase): Use toASCIILower.
(WTF::ASCIICaseInsensitiveHash::equal): Use equalIgnoringASCIICase.
Also added some assertions.

  • wtf/text/StringImpl.cpp: Made the latin1CaseFoldTable private to this file,

since it's no longer needed by CaseFoldingHash. Moved it up before its first use.
(WTF::equalCompatibilityCaseless): Fixed typo in the name of this function.
(WTF::equalCompatibiltyCaselessNonNull): Deleted.

  • wtf/text/StringImpl.h: Removed declarations of latin1CaseFoldTable and

equalCompatibiltyCaselessNonNull

Tools:

  • Scripts/do-webcore-rename: Use script to do this rename.
4:08 AM Changeset in webkit [195927] by Gyuyoung Kim
  • 27 edits in trunk/Source

Reduce PassRefPtr uses in dom - 5
https://bugs.webkit.org/show_bug.cgi?id=153470

Reviewed by Darin Adler.

As a step to remove PassRefPtr, this patch reduces uses of PassRefPtr in WebCore/dom.

  • dom/Document.cpp:

(WebCore::Document::adoptNode):
(WebCore::Document::implicitClose):
(WebCore::Document::enqueuePopstateEvent):
(WebCore::Document::setInputCursor):

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

(WebCore::DocumentMarkerTextMatch::instanceFor):

  • dom/Event.cpp:

(WebCore::Event::setUnderlyingEvent):

  • dom/Event.h:
  • dom/EventDispatcher.h:
  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueue::enqueueEvent):

  • dom/GenericEventQueue.h:
  • dom/MouseEvent.cpp:

(WebCore::SimulatedMouseEvent::SimulatedMouseEvent):

  • dom/Node.cpp:

(WebCore::Node::dispatchDOMActivateEvent):

  • dom/NodeIterator.h:
  • dom/PendingScript.h:
  • dom/PopStateEvent.cpp:

(WebCore::PopStateEvent::create):

  • dom/PopStateEvent.h:
  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::setCSSStyleSheet): Deleted. Nobody calls this function.

  • dom/ProcessingInstruction.h:
  • dom/RangeBoundaryPoint.h:

(WebCore::RangeBoundaryPoint::RangeBoundaryPoint):

  • dom/TextEvent.cpp:

(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::TextEvent):

  • dom/TextEvent.h:
  • editing/Editor.cpp:

(WebCore::Editor::pasteAsFragment):

  • editing/Editor.h:
  • editing/mac/EditorMac.mm:

(WebCore::Editor::replaceNodeFromPasteboard):

3:41 AM Changeset in webkit [195926] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[mips] don't save to a callee saved register too early
https://bugs.webkit.org/show_bug.cgi?id=153463

If we save $gp to $s4 in pichdr, then in some cases, we were
overwriting $s4 before LLInt's pushCalleeSaves() is called (as pichdr
is at the very beginning of a function). Now we save $gp to $s4 at the
end of pushCalleeSaves().

Patch by Guillaume Emont <guijemont@igalia.com> on 2016-01-31
Reviewed by Michael Saboff.

  • offlineasm/mips.rb:
  • llint/LowLevelInterpreter.asm:

Move the saving of $gp to $s4 from pichdr to pushCalleeSaves(). Take
the opportunity to only save $s4 as we never use the other callee
saved registers.

3:41 AM Changeset in webkit [195925] by Gyuyoung Kim
  • 14 edits in trunk/Source

Use std::make_unique<> when creating an unique_ptr object.
https://bugs.webkit.org/show_bug.cgi?id=153705

Reviewed by Darin Adler.

Source/WebCore:

Some factory functions have used std::unique_ptr<> for creating an unique_ptr object.
It is wrong. We have to use std::make_unique<>.

  • Modules/mediasession/WebMediaSessionManager.cpp:

(WebCore::WebMediaSessionManager::mockPicker):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStart):

  • platform/cf/RunLoopObserver.cpp:

(WebCore::RunLoopObserver::create): Deleted.

  • platform/cf/RunLoopObserver.h:

(WebCore::RunLoopObserver::RunLoopObserver):

  • platform/graphics/avfoundation/WebMediaSessionManagerMac.cpp:

(WebCore::WebMediaSessionManagerMac::platformPicker):

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

(WebCore::MediaPlaybackTargetPickerMac::create): Deleted.

  • platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp:

(WebCore::LayerFlushScheduler::LayerFlushScheduler):

  • platform/mock/MediaPlaybackTargetPickerMock.cpp:

(WebCore::MediaPlaybackTargetPickerMock::create): Deleted.

  • platform/mock/MediaPlaybackTargetPickerMock.h:
  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObject::copyToNewContainer):

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Use std::make_unique<> instead of RunLoopObserver::create().

1:20 AM Changeset in webkit [195924] by youenn.fablet@crf.canon.fr
  • 3 edits in trunk/LayoutTests/imported/w3c

imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection.html asserts frequently
https://bugs.webkit.org/show_bug.cgi?id=152436

Reviewed by Darin Adler.

GCController is not available in Worker environments, explaining probably why garbage-collection-2.html is not crashing at all.
Inlining half of the tests in garbage-collection-2.html (runned in window) to compare with garbage-collection-1.html.

  • web-platform-tests/streams-api/readable-streams/garbage-collection-2-expected.txt:
  • web-platform-tests/streams-api/readable-streams/garbage-collection-2.html:
Note: See TracTimeline for information about the timeline view.