WebKit-https.git
3 years agoFixed Individuals and Vendor Contact formatting.
jond@apple.com [Wed, 6 Jan 2016 20:31:42 +0000 (20:31 +0000)]
Fixed Individuals and Vendor Contact formatting.
https://bugs.webkit.org/show_bug.cgi?id=152714

Reviewed by Timothy Hatcher.

* security-policy.md:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194654 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoThe right hand side of main chart appears to be cut off as you zoom out on v3 UI
rniwa@webkit.org [Wed, 6 Jan 2016 20:31:41 +0000 (20:31 +0000)]
The right hand side of main chart appears to be cut off as you zoom out on v3 UI
https://bugs.webkit.org/show_bug.cgi?id=152778

Reviewed by Antti Koivisto.

Add a padding on x-axis after the end time to make the main chart more easily interactive.

* public/v3/components/time-series-chart.js:
(TimeSeriesChart.prototype._computeHorizontalRenderingMetrics):

* public/v3/pages/page-with-charts.js:
(PageWithCharts.mainChartOptions): Add a padding of 5px at the end of x-axis.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194653 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agov3 UI should use four sig-figs to label y-axis of the main charts
rniwa@webkit.org [Wed, 6 Jan 2016 20:27:44 +0000 (20:27 +0000)]
v3 UI should use four sig-figs to label y-axis of the main charts
https://bugs.webkit.org/show_bug.cgi?id=152779

Reviewed by Antti Koivisto.

Increase the number of significant figures used in the main charts to four as done in v2 UI.

* public/v3/pages/chart-pane.js:
(ChartPane.constructor): Create a formatter with four significant figures.
* public/v3/pages/page-with-charts.js:
(PageWithCharts.mainChartOptions): Increase the width of y-axis labels.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194652 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agov3 UI's time range slider is harder to use than that of v2 UI
rniwa@webkit.org [Wed, 6 Jan 2016 20:26:58 +0000 (20:26 +0000)]
v3 UI's time range slider is harder to use than that of v2 UI
https://bugs.webkit.org/show_bug.cgi?id=152780

Reviewed by Antti Koivisto.

Improved the time range slider by using a cubic mapping to time range and providing a text field
to directly edit the number of days to show.

Now an user can enter the text mode to directly edit the number of days to show by clicking on
the number of days (text field is always there with opacity=0).

* public/v3/pages/charts-toolbar.js:
(ChartsToolbar): Store the minimum and maximum number of days allowed. Also rename _inputElement
to _slider and added a new type=number text field as _editor.
(ChartsToolbar.prototype.render):
(ChartsToolbar.prototype.setStartTime): Exit the text mode when the number of days is changed by
an URL state transition (i.e. back/forward navigation).
(ChartsToolbar.prototype._setInputElementValue): Added. Updates the values of _slider and _editor.
(ChartsToolbar.prototype._enterTextMode): Added. Hide the elements used by the slider mode and
show the text field.
(ChartsToolbar.prototype._exitTextMode): Added. Does the opposite.
(ChartsToolbar.prototype._sliderValueMayHaveChanged): Renamed from _inputValueMayHaveChanged.
(ChartsToolbar.prototype._editorValueMayHaveChanged): Added. Similar to _sliderValueMayHaveChanged
but also corrects the value of _editor if needed.
(ChartsToolbar.prototype._callNumberOfDaysCallback): Extracted from _inputValueMayHaveChanged.
Also fixed a bug that we didn't update the URL state when the change event was fired without
modifying the effective number of days.
(ChartsToolbar.cssTemplate): Tweaked the style to support the new mode. Also set a fixed width on
the span showing the number of days in the slider mode.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194651 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: Remove duplicate check
commit-queue@webkit.org [Wed, 6 Jan 2016 20:06:16 +0000 (20:06 +0000)]
Web Inspector: Remove duplicate check
https://bugs.webkit.org/show_bug.cgi?id=152792

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-01-06
Reviewed by Timothy Hatcher.

* inspector/InjectedScriptSource.js:
(InjectedScript.RemoteObject.prototype._generatePreview): Deleted.
This method is only called from one place, and it does an equivalent
check before calling this function. Remove the duplicate check.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoModern IDB: storage/indexeddb/transaction-scope-sequencing.html fails
beidson@apple.com [Wed, 6 Jan 2016 19:24:57 +0000 (19:24 +0000)]
Modern IDB: storage/indexeddb/transaction-scope-sequencing.html fails
https://bugs.webkit.org/show_bug.cgi?id=152775

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes, plus changes to another existing test).

Any transaction enqueued after a read-write transaction whose scope overlaps with
that read-write transaction cannot run until after that read-write transaction runs.

Additionally, read-only transactions were actually sometimes running even though their scopes
overlapped with a running read-write transaction.

This patch fixes both of those issues.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
(WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted):
* Modules/indexeddb/server/UniqueIDBDatabase.h:

LayoutTests:

In addition to enabling the previously skipped test, this also completely rewrites transaction-scheduler-4,
which covered incorrect behavior, to cover newly implemented correct behavior.

* platform/mac-wk1/TestExpectations:
* storage/indexeddb/modern/resources/transaction-scheduler-4.js: Added.
* storage/indexeddb/modern/transaction-scheduler-4-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-4.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoZooming button is broken on v3 UI
rniwa@webkit.org [Wed, 6 Jan 2016 19:17:55 +0000 (19:17 +0000)]
Zooming button is broken on v3 UI
https://bugs.webkit.org/show_bug.cgi?id=152777

Reviewed by Chris Dumez.

Bring up the zoom button in z-index so that users can click it.

* public/v3/components/interactive-time-series-chart.js:
(InteractiveTimeSeriesChart.cssTemplate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agov3 UI doesn't preserve the time range when charts page is opened from a dashboard
rniwa@webkit.org [Wed, 6 Jan 2016 19:09:43 +0000 (19:09 +0000)]
v3 UI doesn't preserve the time range when charts page is opened from a dashboard
https://bugs.webkit.org/show_bug.cgi?id=152776

Reviewed by Chris Dumez.

Fixed the bug by moving the construction of charts URL from DashboardPage.prototype.open to
DashboardPage.prototype.render and re-rendering the entire page upon an URL state transition.

* public/v3/pages/charts-page.js:
(ChartsPage.createStateForDashboardItem): Takes the start time for the charts page.

* public/v3/pages/dashboard-page.js:
(DashboardPage.prototype.updateFromSerializedState): Merged _numberOfDaysDidChange and
_updateChartsDomainFromToolbar into this function since they're not used elsewhere. Also re-render
the entire page when transition between different number of days to show.
(DashboardPage.prototype._numberOfDaysDidChange): Deleted.
(DashboardPage.prototype._updateChartsDomainFromToolbar): Deleted.
(DashboardPage.prototype.render): Construct URL for each charts here.
(DashboardPage.prototype._createChartForCell): Don't construct URL here since this function is
called once when the dashboard page is opened, and not when the time range is changed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd a WebKit SPI for registering an automation controller with RemoteInspector
bburg@apple.com [Wed, 6 Jan 2016 18:49:17 +0000 (18:49 +0000)]
Add a WebKit SPI for registering an automation controller with RemoteInspector
https://bugs.webkit.org/show_bug.cgi?id=151576

Reviewed by Dan Bernstein and Joseph Pecoraro.

Source/JavaScriptCore:

Given a RemoteInspector endpoint that is instantiated in UIProcess, there
should be a way to delegate automation-related functionality and policy to
clients of WebKit.

This class adds a RemoteInspector::Client interface that serves a delegate.
This is ultimately delegated via _WKAutomationDelegate, which is an SPI
that allows clients to install an Objective-C delegate for automation.

The setting for whether remote automation is allowed is included in the
listing that RemoteInspector sends out. It is updated when RemoteInspector::Client
is assigned, or when the client signals that its capabilities have changed.

* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::setRemoteInspectorClient): Added.
(Inspector::RemoteInspector::pushListingsNow):

    In the listing, include whether the application supports remote automation.

* inspector/remote/RemoteInspectorConstants.h: Add a constant.

Source/WebKit2:

_WKAutomationDelegate is a new SPI that allows WKProcessPool clients to decide
policy and implement actions for remote automation.

The SPI's implementation connects the client's delegate to RemoteInspector::Client.
This allows the delegate to handle some commands, such as requestAutomationSession,
that come over XPC from an external test runner but are not associated with a specific
automation target.

* PlatformMac.cmake:
* UIProcess/API/APIAutomationClient.h: Added. Boilerplate for WebKit::AutomationClient.
(API::AutomationClient::~AutomationClient):
(API::AutomationClient::allowsRemoteAutomation):
(API::AutomationClient::requestAutomationSession):
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _automationDelegate]): Added.
(-[WKProcessPool _setAutomationDelegate:]): Added.
(-[WKProcessPool _automationCapabilitiesDidChange]): Added.
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Add delegate.
* UIProcess/API/Cocoa/_WKAutomationDelegate.h: Added.

    This is a new delegate SPI of WKProcessPool; it corresponds to AutomationClient.

* UIProcess/Cocoa/AutomationClient.h: Added.
* UIProcess/Cocoa/AutomationClient.mm: Added.

    This implements a bridge between RemoteInspector::Client and _WKAutomationDelegate.
    Since the delegate can be called from JavaScriptCore, save the delegating
    WKProcessPool and pass it as the self parameter to delegate methods.

(WebKit::AutomationClient::AutomationClient):
(WebKit::AutomationClient::~AutomationClient):

    This client automatically registers and unregisters as a RemoteInspector::Client.

(WebKit::AutomationClient::remoteAutomationAllowed):
(WebKit::AutomationClient::requestAutomationSession):

    Forward requests from RemoteInspector to the automation delegate.

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::setAutomationClient): Added.
(WebKit::WebProcessPool::updateAutomationCapabilities): Added, it notifies RemoteInspector.
* UIProcess/WebProcessPool.h:
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFloat with media query positioned incorrectly after window resize.
zalan@apple.com [Wed, 6 Jan 2016 18:34:02 +0000 (18:34 +0000)]
Float with media query positioned incorrectly after window resize.
https://bugs.webkit.org/show_bug.cgi?id=152558

Reviewed by Simon Fraser and David Hyatt.

This patch ensures that when a renderer becomes floated, it is moved
to the right containing block.
When this floated renderer's previous sibling is an anonymous block, it needs
to be reparented so that the float is positioned as if there was no anonymous block at all.

Source/WebCore:

Test: fast/block/float/float-with-anonymous-previous-sibling.html

* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleDidChange):

LayoutTests:

* fast/block/float/float-with-anonymous-previous-sibling-expected.html: Added.
* fast/block/float/float-with-anonymous-previous-sibling.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194645 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: Add remaining background style properties to Visual sidebar
commit-queue@webkit.org [Wed, 6 Jan 2016 18:28:40 +0000 (18:28 +0000)]
Web Inspector: Add remaining background style properties to Visual sidebar
https://bugs.webkit.org/show_bug.cgi?id=152757

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-01-06
Reviewed by Timothy Hatcher.

* Localizations/en.lproj/localizedStrings.js:

* UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
Added background-blend-mode and background-origin property editors.

* UserInterface/Views/VisualStyleSelectorSection.js:
(WebInspector.VisualStyleSelectorSection.prototype._handleMouseOver):
Unrelated error that occurred when the user was hovering over a selector item
before the tree outline was able to create the selected item.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194644 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[ES6] Boolean, Number, Map, RegExp, and Set should be subclassable
keith_miller@apple.com [Wed, 6 Jan 2016 18:25:01 +0000 (18:25 +0000)]
[ES6] Boolean, Number, Map, RegExp, and Set should be subclassable
https://bugs.webkit.org/show_bug.cgi?id=152765

Reviewed by Michael Saboff.

This patch enables subclassing of five more builtins: Boolean, Number, Map, RegExp, and Set.

* runtime/BooleanConstructor.cpp:
(JSC::constructWithBooleanConstructor):
(JSC::constructBoolean): Deleted.
* runtime/BooleanConstructor.h:
* runtime/MapConstructor.cpp:
(JSC::constructMap):
* runtime/NumberConstructor.cpp:
(JSC::constructWithNumberConstructor):
* runtime/RegExpConstructor.cpp:
(JSC::getRegExpStructure):
(JSC::constructRegExp):
* runtime/SetConstructor.cpp:
(JSC::constructSet):
* tests/es6.yaml:
* tests/stress/class-subclassing-misc.js: Added.
(B):
(N):
(M):
(R):
(S):
(test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMarking webarchive/adopt-attribute-styled-body-webarchive.html as flaky on mac-wk1
ryanhaddad@apple.com [Wed, 6 Jan 2016 18:23:24 +0000 (18:23 +0000)]
Marking webarchive/adopt-attribute-styled-body-webarchive.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=152789

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[mips] Fix branchTruncateDoubleToUint32 implementation in macro assembler
commit-queue@webkit.org [Wed, 6 Jan 2016 18:10:26 +0000 (18:10 +0000)]
[mips] Fix branchTruncateDoubleToUint32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152782

Patch by Julien Brianceau <jbriance@cisco.com> on 2016-01-06
Reviewed by Benjamin Poulain.

Already covered by LayoutTests/js/dfg-uint32array-overflow-values test.

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchTruncateDoubleToUint32):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194641 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[mips] Fix or32 implementation in macro assembler
julien.brianceau@gmail.com [Wed, 6 Jan 2016 17:53:45 +0000 (17:53 +0000)]
[mips] Fix or32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152781

Reviewed by Michael Saboff.

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::or32):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194640 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[mips] Add missing branchAdd32 implementation in macro assembler
julien.brianceau@gmail.com [Wed, 6 Jan 2016 17:50:40 +0000 (17:50 +0000)]
[mips] Add missing branchAdd32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152785

Reviewed by Michael Saboff.

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchAdd32):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoisAnonymousInlineBlock() should exclude any ruby content.
zalan@apple.com [Wed, 6 Jan 2016 16:57:35 +0000 (16:57 +0000)]
isAnonymousInlineBlock() should exclude any ruby content.
https://bugs.webkit.org/show_bug.cgi?id=152648
<rdar://problem/23872549>

Reviewed by David Hyatt.

isAnonymousInlineBlock is designed for the new Block-Inside-Inline Model
and all other anonymous inline-block renderers (including Ruby) should bail out of it.
(see webkit.org/b/143145)

Source/WebCore:

Test: fast/ruby/ruby-inline-margin-collapse-crash.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::isAnonymousInlineBlock):
* rendering/RenderObject.h:
(WebCore::RenderObject::isAnonymousInlineBlock): Deleted.

LayoutTests:

* fast/ruby/ruby-inline-margin-collapse-crash-expected.txt: Added.
* fast/ruby/ruby-inline-margin-collapse-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194638 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[EFL] Set WebKit2 process output name
gyuyoung.kim@webkit.org [Wed, 6 Jan 2016 14:34:17 +0000 (14:34 +0000)]
[EFL] Set WebKit2 process output name
https://bugs.webkit.org/show_bug.cgi?id=152773

Reviewed by Benjamin Poulain.

If we add *WebKit* prefix to each WK2 process, it is more clear when checking what process is running.
So this patch sets wk2 process output name.

.:

* Source/cmake/OptionsEfl.cmake:

Source/WebKit2:

* PlatformEfl.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194637 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[ES6] Date.prototype should be a plain object
commit-queue@webkit.org [Wed, 6 Jan 2016 12:17:05 +0000 (12:17 +0000)]
[ES6] Date.prototype should be a plain object
https://bugs.webkit.org/show_bug.cgi?id=152574

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-01-06
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

* runtime/DateConstructor.cpp:
(JSC::DateConstructor::finishCreation):
* runtime/DatePrototype.cpp:
(JSC::DatePrototype::DatePrototype):
* runtime/DatePrototype.h:
* tests/mozilla/mozilla-tests.yaml: Expect errors from old Date.prototype as Date instance tests.

LayoutTests:

Test that the non-generic Date.prototype methods throw when invoked
from the now generic object Date.prototype. Also test that this change
preserves correct instanceof behavior.

* js/date-proto-generic-invocation-expected.txt:
* js/script-tests/date-proto-generic-invocation.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194636 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[JSC] Get more of testb3 to pass on ARM64
commit-queue@webkit.org [Wed, 6 Jan 2016 10:43:00 +0000 (10:43 +0000)]
[JSC] Get more of testb3 to pass on ARM64
https://bugs.webkit.org/show_bug.cgi?id=152737

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-06
Reviewed by Geoffrey Garen.

A bunch of minor bugs and missing function to make most of testb3
run on ARM64.

* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::canEncodePImmOffset):
(JSC::ARM64Assembler::canEncodeSImmOffset):
(JSC::isInt9): Deleted.
(JSC::isUInt12): Deleted.
* assembler/ARMv7Assembler.h:
* assembler/AssemblerCommon.h: Added.
(JSC::isInt9):
(JSC::isUInt12):
(JSC::isValidScaledUImm12):
(JSC::isValidSignedImm9):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::load16SignedExtendTo32):
(JSC::MacroAssemblerARM64::load8SignedExtendTo32):
(JSC::MacroAssemblerARM64::store16):
(JSC::MacroAssemblerARM64::absFloat):
(JSC::MacroAssemblerARM64::loadFloat):
(JSC::MacroAssemblerARM64::storeFloat):
(JSC::MacroAssemblerARM64::loadSignedAddressedByUnsignedImmediate):
(JSC::MacroAssemblerARM64::loadSignedAddressedByUnscaledImmediate):
(JSC::MacroAssemblerARM64::tryLoadSignedWithOffset):
(JSC::MacroAssemblerARM64::loadSignedAddressedByUnsignedImmediate<8>):
(JSC::MacroAssemblerARM64::loadSignedAddressedByUnsignedImmediate<16>):
(JSC::MacroAssemblerARM64::loadSignedAddressedByUnscaledImmediate<8>):
(JSC::MacroAssemblerARM64::loadSignedAddressedByUnscaledImmediate<16>):
* assembler/X86Assembler.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::effectiveAddr):
(JSC::B3::Air::LowerToAir::lower):
* b3/air/AirArg.h:
(JSC::B3::Air::Arg::isValidImmForm):
(JSC::B3::Air::Arg::isValidAddrForm):
(JSC::B3::Air::Arg::isValidForm):
* b3/air/AirOpcode.opcodes:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoPython SCM should be able to retrieve untracked files - Add GIT support
youenn.fablet@crf.canon.fr [Wed, 6 Jan 2016 10:15:14 +0000 (10:15 +0000)]
Python SCM should be able to retrieve untracked files - Add GIT support
https://bugs.webkit.org/show_bug.cgi?id=143135

Reviewed by Michael Catanzaro.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.untracked_files): Adding support for git.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(GitTest.setUp):
(GitTest.test_untracked_files): Adding test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194634 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[CMake] Remove USE_UDIS86 variable
zandobersek@gmail.com [Wed, 6 Jan 2016 07:17:00 +0000 (07:17 +0000)]
[CMake] Remove USE_UDIS86 variable
https://bugs.webkit.org/show_bug.cgi?id=152731

Reviewed by Gyuyoung Kim.

.:

Remove the USE_UDIS86 variable in CMake files. The specific build guard
is now enabled by default in Source/WTF/wtf/Platform.h, so the handling
in CMake isn't required anymore. The Udis86-specific files have to be
built unconditionally now, though.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:

Source/JavaScriptCore:

* CMakeLists.txt: Unconditionally build the Udis86-specific files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed IndexedDB test gardening
beidson@apple.com [Wed, 6 Jan 2016 06:05:32 +0000 (06:05 +0000)]
Unreviewed IndexedDB test gardening

* platform/mac-wk1/TestExpectations: Update the current known status of a few tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194632 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoshowRenderTree: add inline-block/inline/block column.
zalan@apple.com [Wed, 6 Jan 2016 06:00:38 +0000 (06:00 +0000)]
showRenderTree: add inline-block/inline/block column.
https://bugs.webkit.org/show_bug.cgi?id=152771

Reviewed by Simon Fraser.

The name of the renderer (RenderBlock etc) does not always reflect the associated display type.

No change in functionality.

* rendering/RenderObject.cpp:
(WebCore::showRenderTreeLegend):
(WebCore::RenderObject::showRenderObject):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194631 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMove ImageBuffer::clip() code into GraphicsContext
simon.fraser@apple.com [Wed, 6 Jan 2016 04:12:47 +0000 (04:12 +0000)]
Move ImageBuffer::clip() code into GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=152769

Reviewed by Zalan Bujtas.

For CG, GraphicsContext had clipToNativeImage(PassNativeImagePtr...), which
was ugly and platform-specific.

Fix by moving code from ImageBuffer::clip() for CG and Cairo into the platform-specific
GraphicsContext implementations. This required some minor refactoring of scaleSizeToUserSpace()
in ImageBufferCG.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::clipToImageBuffer): Deleted.
* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::sizeForDestinationSize):
* platform/graphics/ImageBuffer.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clipToImageBuffer):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::clip): Deleted.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::clipToNativeImage): Deleted.
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::sizeForDestinationSize):
(WebCore::ImageBuffer::putByteArray):
(WebCore::ImageBuffer::toDataURL):
(WebCore::ImageBuffer::clip): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194630 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRemove GraphicsContext::drawJoinedLines()
simon.fraser@apple.com [Wed, 6 Jan 2016 04:12:43 +0000 (04:12 +0000)]
Remove GraphicsContext::drawJoinedLines()
https://bugs.webkit.org/show_bug.cgi?id=152764

Reviewed by Zalan Bujtas.

GraphicsContext::drawJoinedLines() was only used by iOS form-control drawing
and polluted GraphicsContext with platform-specific types.

Rewrite RenderThemeIOS::paintCheckboxDecorations() to use the CGContextRef directly.

* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawJoinedLines): Deleted.
* rendering/RenderThemeIOS.mm:
(WebCore::drawJoinedLines):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194629 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFTL B3 fails cdjs-tests.yaml/red_black_tree_test.js.ftl-eager-no-cjit
fpizlo@apple.com [Wed, 6 Jan 2016 03:43:40 +0000 (03:43 +0000)]
FTL B3 fails cdjs-tests.yaml/red_black_tree_test.js.ftl-eager-no-cjit
https://bugs.webkit.org/show_bug.cgi?id=152770

Reviewed by Mark Lam.

It turns out that liveness didn't know that the return value GPR or FPR is live at the
return. Consequently, we can end up with code that clobbers the return value register after
the move of the return value into that register. This could happen if we start with
something like:

    Move 42(%tmp1), %tmp2
    Move 50(%tmp1), %tmp3
    Move %tmp3, 58(%tmp1)
    Move %tmp2, %rax
    Ret

Then we might coalesce %tmp2 with %rax:

    Move 42(%tmp1), %rax
    Move 50(%tmp1), %tmp3
    Move %tmp3, 58(%tmp1)
    Ret

But now there is no use of %rax after that first instruction, so %rax appears dead at the
other two Move's. So, the register allocator could then do this:

    Move 42(%tmp1), %rax
    Move 50(%tmp1), %rax
    Move %rax, 58(%tmp1)
    Ret

And that's clearly wrong. This patch solves this issue by replacing the old Ret instruction
with Ret32, Ret64, RetFloat, and RetDouble. These all take the return value register as an
argument. They also tell Air which parts of the return value register the caller will
observe. That's great for width analysis.

This resolves a test failure in the CDjs red_black_tree_test. This reduces the total number
of JSC test failures from 217 to 191.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::oops):
(JSC::MacroAssembler::ret32):
(JSC::MacroAssembler::ret64):
(JSC::MacroAssembler::retFloat):
(JSC::MacroAssembler::retDouble):
(JSC::MacroAssembler::shouldConsiderBlinding):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
* b3/air/AirHandleCalleeSaves.cpp:
(JSC::B3::Air::handleCalleeSaves):
* b3/air/AirOpcode.opcodes:
* b3/air/opcode_generator.rb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194628 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoBuild fix for an old version of PHP after r194618.
rniwa@webkit.org [Wed, 6 Jan 2016 03:27:32 +0000 (03:27 +0000)]
Build fix for an old version of PHP after r194618.

* public/api/measurement-set.php:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194627 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoImplement defersLoading with NetworkSession
achristensen@apple.com [Wed, 6 Jan 2016 02:36:39 +0000 (02:36 +0000)]
Implement defersLoading with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=151818

Reviewed by Darin Adler.

* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::setDefersLoading):
* NetworkProcess/NetworkSession.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkDataTask::resume):
(WebKit::NetworkDataTask::suspend):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194626 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoModern IDB: storage/indexeddb/structured-clone.html crashes.
beidson@apple.com [Wed, 6 Jan 2016 02:08:23 +0000 (02:08 +0000)]
Modern IDB: storage/indexeddb/structured-clone.html crashes.
https://bugs.webkit.org/show_bug.cgi?id=152763

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

A lot of SerializedScriptValue code incorrectly assumed the global object is a JSDOMGlobalObject,
which doesn't have to be true for native Javascript types like typed arrays.

Fixing that fixes the test.

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::putOrAdd): If serializing the script value caused an exception,
  clear that exception and return a better IDB specific exception.

* bindings/js/JSDOMBinding.h:
(WebCore::toJS): Add a ArrayBufferView specialization for toJS that skips the need for a JSDOMGlobalObject.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readArrayBufferView): Call toJS directly instead of getJSValue, which
  incorrectly assumes the existence of a JSDOMGlobalObject (vs a JSGlobalObject)
(WebCore::CloneDeserializer::readTerminal): Instead of getJSValue, call JSArrayBuffer::create directly.

LayoutTests:

* platform/mac-wk1/TestExpectations:
* storage/indexeddb/clone-exception-expected.txt:
* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/structured-clone-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194625 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION (r192432): Keyboard repeat doesn't work anymore for arrow keys/spacebar
timothy_horton@apple.com [Wed, 6 Jan 2016 01:56:29 +0000 (01:56 +0000)]
REGRESSION (r192432): Keyboard repeat doesn't work anymore for arrow keys/spacebar
https://bugs.webkit.org/show_bug.cgi?id=152767
<rdar://problem/24017380>

Reviewed by Dan Bernstein.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleKeyEvent:eventWasHandled:]):
Instead of always bailing, call [super _handleKeyUIEvent:] if we aren't
in an editable area, because we won't have done so in _handleKeyUIEvent.

It's important that the event makes it to the root UIResponder (even if
we handled it!) for key repeat to function.

The double-scrolling case is still fixed because we notice the resent
event coming back in to us and bail if we've already seen it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194624 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoA/B testing results should be visualized intuitively on v3 UI
rniwa@webkit.org [Wed, 6 Jan 2016 00:13:12 +0000 (00:13 +0000)]
A/B testing results should be visualized intuitively on v3 UI
https://bugs.webkit.org/show_bug.cgi?id=152496

Rubber-stamped by Chris Dumez.

Add the "stacking block" view of A/B testing results to the analysis task page on v3 UI.

The patch enhances JSON APIs at /api/analysis-task /api/measurement-set/ to reduce the number of
HTTP requests, and adds two UI components: TestGroupResultsTable and AnalysisResultsViewer both
of which inherits from an abstract superclass: ResultsTable.

ResultsTable provides a tabular presentation of measured values in regular measurement sets and
A/B testing results using groups of bar graphs created by BarGraphGroup. TestGroupResultsTable
inherits from this class to display A/B testing configurations and the averaged results for each
configuration, and AnalysisResultsViewer inherits from it to provide an intuitive visualization
of the outcomes of all A/B testing results associated with a given analysis task.

* public/api/analysis-tasks.php:
(main): Add the capability to find the analysis task based on its build request.
This allows /v3/#/analysis/task/?buildRequest=<id> to be hyperlinked on buildbot page.

* public/api/measurement-set.php:
(main): Removed the unused startTime and endTime, and added "analysisTask" to query parameters.
(AnalysisResultsFetcher): Added. Used to fetch measured data associated with every build request
on an analysis task.
(AnalysisResultsFetcher::__construct):
(AnalysisResultsFetcher::fetch): Unlike MeasurementSetFetcher, we fetch the list of commits and
list of measurements separately since there will be a lot less builds and commits than measured
data (since we're fetching measured values for all tests and their metrics).
(AnalysisResultsFetcher::fetch_commits): Fetches commits.
(AnalysisResultsFetcher::format_measurement): Like MeasurementSetFetcher::format_measurement but
with config_type and config_metric since we're returning measured data for all metrics and test
configurations.
(AnalysisResultsFetcher::format_map): Similar to MeasurementSetFetcher::format_map.

* public/v3/components/analysis-results-viewer.js: Added.
(AnalysisResultsViewer): Added.
(AnalysisResultsViewer.prototype.didUpdateResults): This callback is called by AnalysisTaskPage
when A/B testing results become available.
(AnalysisResultsViewer.prototype.render): Overrides ResultsTable's render to highlight the block
representing the currently selected test group.

(AnalysisResultsViewer.prototype.buildRowGroups): Creates a list of rows with "stacking blocks"
that visualizes A/B testing results. The algorithm works as follows: 1. Create all table rows.
2. Find which row is associated with each set in each test group. 3. Layout "blocks".

(AnalysisResultsViewer.prototype._collectRootSetsInTestGroups): Collects root sets from all data
in the measurement set as well as A/B testing **requests** (results may contain more repositories
than requested but they aren't interesting for the purpose of visualizing results for the entire
analysis task).

(AnalysisResultsViewer.prototype._buildRowsForPointsAndTestGroups): Create table rows. First,
create table rows for measurement set points that have a matching test group (i.e. either set A
or set B of an A/B testing uses the same root set as a point). Second, insert a new row for each
root set in each test group which didn't find a matching measurement set point. There is a little
subtlety that some A/B testing may specify revisions for a subset of repositories and/or some A/B
testing results may appear as if it goes back in time with respect to other A/B testing results.
For example, consider creating two A/B test groups for WebKit changes and OS changes separately.
There could be no coherent linearization of those two A/B testing in which both WebKit and OS
versions move forward.

(AnalysisResultsViewer.RootSetInTestGroup): Added. Represents a pair (test group, root set) since
a root set could be shared by multiple test groups.
(AnalysisResultsViewer.TestGroupStackingBlock): Added. A stacked block representing a test group.
(AnalysisResultsViewer.TestGroupStackingBlock.prototype.addRowIndex): Associates a row number with
either set A or set B.
(AnalysisResultsViewer.TestGroupStackingBlock.prototype.createStackingCell): Creates a table cell
for this block.
(AnalysisResultsViewer.TestGroupStackingBlock.prototype.isThin): Returns true if this test group
has failed and this block should look "thin" without any label.
(AnalysisResultsViewer.TestGroupStackingBlock.prototype._computeTestGroupStatus): Computes the
status for this test group.

(AnalysisResultsViewer.TestGroupStackingGrid): Added. AnalysisResultsViewer uses this class to
layout blocks representing test groups.
(AnalysisResultsViewer.TestGroupStackingGrid.prototype.insertBlockToColumn): Inserts a new block
to layout. We keep all test groups doing the same A/B test next to each other.
(AnalysisResultsViewer.TestGroupStackingGrid.prototype.layout): Layouts each block / test group
in the order they are created.
(AnalysisResultsViewer.TestGroupStackingGrid.prototype._layoutBlock): Places the block in the
left-most column that can accommodate it while avoiding columns of a different thin-ness. A column
is thin if its A/B testing has failed, and not thin otherwise.
(AnalysisResultsViewer.TestGroupStackingGrid.prototype.createCellsForRow): Creates table cells for
a given row. For each column, generate a table cell if we're in the first row and the first block
starts in a later row, a block starts in the current row, or the last block ended in the previous
row and the next block or the last row appears later.

* public/v3/components/bar-graph-group.js: Added. A component for showing a group of bar graphs.
(BarGraphGroup): Added. Creates a group of bar graphs with the same value range. It's used by
AnalysisResultsViewer and ResultsTable to show bar graphs to compare values.
(SingleBarGraph): A component created and collectively controlled by BarGraphGroup.

* public/v3/components/results-table.js: Added.
(ResultsTable): An abstract superclass for TestGroupResultsTable and AnalysisResultsViewer.

(ResultsTable.prototype.render): Renders the table. 1. Call "buildRowGroups()" implemented by
a subclass to obtain the list of rows. 2. Compute the list of repositories to show. 3. For each
cell in the table, compute the number of rows to show the same value (for rowspan). 4. Render the
table with an extra list of repositories if exists.

(ResultsTable.prototype._computeRepositoryList): Compute the list of repositories to list
revisions in the table. Omit repositories not present in any row or for which all rows have the
same revision. In the latter case, include it in the extra repositories listed below the table.
This minimizes the amount of redundant information presented to the user.

(ResultsTableRow): Added. Represents a single row in the table. ResultsTable constructs necessary
table cells to tabulate the associated root sets, and shows the associated result using a grouped
bar graph. Additional columns are used by AnalysisResultsViewer to show stacked blocks for A/B
testing groups.

* public/v3/components/test-group-results-table.js: Added.
(TestGroupResultsTable):
(TestGroupResultsTable.prototype.didUpdateResults):
(TestGroupResultsTable.prototype.setTestGroup):
(TestGroupResultsTable.prototype.heading):
(TestGroupResultsTable.prototype.render):
(TestGroupResultsTable.prototype.buildRowGroups):

* public/v3/index.html:
* public/v3/models/analysis-results.js: Added.
(AnalysisResults): Added. Like MeasurementSet, this class represents a set of measured values
associated with a given analysis task.
(AnalysisResults.prototype.find): Returns a measured valued for a given build and metric.
(AnalysisResults.prototype.add): Adds a new measured value. Used by AnalysisResults.fetch.
(AnalysisResults.fetch): Fetches data and creates AnalysisResults for a given analysis task.

* public/v3/models/analysis-task.js:
(AnalysisTask.prototype.startMeasurementId): Added.
(AnalysisTask.prototype.endMeasurementId): Added.
(AnalysisTask.fetchByBuildRequestId): Added.
(AnalysisTask._fetchSubset): Uses DataModelObject.cachedFetch.

* public/v3/models/build-request.js: Added.
(BuildRequest): Added. Represents a single A/B testing request associated with a test group.

* public/v3/models/builder.js:
(Build): Added. Represents a build associated with a given A/B testing result.

* public/v3/models/commit-log.js:
(CommitLog): Made this class inherit from DataModelObject.
(CommitLog.ensureSingleton): Added. Finds the singleton object created for a given revision
in the specified repository. This helps RootSet and other classes compare commits fast.
(CommitLog.prototype.repository): Added.
(CommitLog.fetchBetweenRevisions): Uses CommitLog.ensureSingleton.

* public/v3/models/data-model.js:
(DataModelObject):
(DataModelObject.namedStaticMap): Added.
(DataModelObject.ensureNamedStaticMap): Renamed from namedStaticMap instead of implicitly
assuming that the non-static version always creates the map.
(DataModelObject.prototype.namedStaticMap): Added.
(DataModelObject.cachedFetch): Extracted from AnalysisTask._fetchSubset so that TestGroup's
fetchByTask could also use it.
(LabeledObject):

* public/v3/models/measurement-adaptor.js: Added.
(MeasurementAdaptor): Extracted from MeasurementCluster. This class is responsible for
re-formatting the data received via /api/measurement-set JSON API inside the v3 UI.
(MeasurementAdaptor.prototype.extractId): Added.
(MeasurementAdaptor.prototype.adoptToAnalysisResults): Added. Used by AnalysisResults.
(MeasurementAdaptor.aggregateAnalysisResults): Added. Used by TestGroupResultsTable to
aggregate results for each test configuration; e.g. computing the average for set A.
(MeasurementAdaptor.prototype.adoptToSeries): Extracted from MeasurementCluster.addToSeries.
Added rootSet() to each point. This allows AnalysisResultsViewer to compare them against root
sets associated with A/B testing results.
(MeasurementAdaptor.computeConfidenceInterval): Moved from MeasurementCluster.

* public/v3/models/measurement-cluster.js:
(MeasurementCluster):
(MeasurementCluster.prototype.addToSeries):

* public/v3/models/repository.js:
(Repository.prototype.hasUrlForRevision): Added.

* public/v3/models/root-set.js: Added.
(RootSet): Added. Represents a set of commits in measured results.
(MeasurementRootSet): Added. Ditto for results associated with A/B testing.

* public/v3/models/test-group.js: Added.
(TestGroup): Added. Represents a A/B testing on analysis task.
(TestGroup.prototype.createdAt): Added.
(TestGroup.prototype.buildRequests): Returns the list of build requests associated with this
A/B testing.
(TestGroup.prototype.addBuildRequest): Added. Used by BuildRequest's constructor to associate
itself with this group.
(TestGroup.prototype.didSetResult): Added. Called by BuildRequest.setResult when measured
values are fetched and associated with a build request in this group.

* public/v3/models/test.js:
(Test):

* public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage):
(AnalysisTaskPage.prototype.updateFromSerializedState): Fetch the analysis task, test groups
associated with it, and all A/B testing results based on the task id or the build request id
specified in the URL.
(AnalysisTaskPage.prototype._didFetchTask): Added. Start fetching the measured data. This is
the data on charts page for which this analysis task was created, not results of A/B testing.
(AnalysisTaskPage.prototype._didFetchMeasurement): Added. Display the fetched data in a table
inside AnalysisResultsViewer.
(AnalysisTaskPage.prototype._didFetchTestGroups): Added. Display the list of A/B test groups
as well as the results of the first A/B testing.
(AnalysisTaskPage.prototype._didFetchAnalysisResults): Added.
(AnalysisTaskPage.prototype._assignTestResultsIfPossible): Added. Once both the analysis task,
A/B test groups as well as their results are fetched, update build requests in each test group
with their results.
(AnalysisTaskPage.prototype.render): Show the list of test groups and highlight the currently
selected one.
(AnalysisTaskPage.prototype._showTestGroup): Added. A callback used by AnalysisResultsViewer
and TestGroupResultsTable to notify this class when the user selects a new test group.
(AnalysisTaskPage.htmlTemplate): Updated the template.
(AnalysisTaskPage.cssTemplate): Ditto.

* public/v3/pages/charts-page.js:
(ChartsPage.createStateForAnalysisTask): Added. Creates a URL state object for opening a chart
associated with an analysis task.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194618 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoImage should not be re-registered if m_form already exists. This leads to an assertio...
bfulgham@apple.com [Wed, 6 Jan 2016 00:00:33 +0000 (00:00 +0000)]
Image should not be re-registered if m_form already exists. This leads to an assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=152741
<rdar://problem/24030778>

Patch by Pranjal Jumde <pjumde@apple.com> on 2016-01-05
Reviewed by Brent Fulgham.

Source/WebCore:

* Source/WebCore/html/HTMLImageElement.cpp:
  Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode& insertionPoint)

LayoutTests:

* LayoutTests/fast/html/form-registerimg-multiple-crash-expected.txt: Added.
* LayoutTests/fast/html/form-registerimg-multiple-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194617 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed build fix. A symbol was being exported that should not have been.
keith_miller@apple.com [Tue, 5 Jan 2016 23:53:19 +0000 (23:53 +0000)]
Unreviewed build fix. A symbol was being exported that should not have been.

* runtime/Structure.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194616 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed, rolling out r194603.
commit-queue@webkit.org [Tue, 5 Jan 2016 23:45:34 +0000 (23:45 +0000)]
Unreviewed, rolling out r194603.
https://bugs.webkit.org/show_bug.cgi?id=152762

This change introduced JSC test failures (Requested by
ryanhaddad on #webkit).

Reverted changeset:

"[ES6] Date.prototype should be a plain object"
https://bugs.webkit.org/show_bug.cgi?id=152574
http://trac.webkit.org/changeset/194603

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194615 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agostress/v8-crypto-strict.js.ftl-eager-no-cjit in FTL B3 fails with an assertion in...
fpizlo@apple.com [Tue, 5 Jan 2016 23:36:18 +0000 (23:36 +0000)]
stress/v8-crypto-strict.js.ftl-eager-no-cjit in FTL B3 fails with an assertion in the callframe shuffler
https://bugs.webkit.org/show_bug.cgi?id=152756

Reviewed by Saam Barati.

This fixes a really obvious and dumb tail call bug in FTL B3. I think that tail calls work
for real now. I have no idea why I got any tail call tests to pass before this fix.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileTailCall):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194614 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoProfiling should detect when multiplication overflows but does not create negative...
mark.lam@apple.com [Tue, 5 Jan 2016 23:08:58 +0000 (23:08 +0000)]
Profiling should detect when multiplication overflows but does not create negative zero.
https://bugs.webkit.org/show_bug.cgi?id=132470

Reviewed by Geoffrey Garen.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::or32):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::or32):
- New or32 emitter needed by the mul snippet.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::resultProfileForBytecodeOffset):
(JSC::CodeBlock::updateResultProfileForBytecodeOffset): Deleted.
* bytecode/CodeBlock.h:
(JSC::CodeBlock::ensureResultProfile):
(JSC::CodeBlock::addResultProfile): Deleted.
(JSC::CodeBlock::likelyToTakeDeepestSlowCase): Deleted.
- Added a m_bytecodeOffsetToResultProfileIndexMap because we can now add result
  profiles in any order (based on runtime execution), not necessarily in bytecode
  order at baseline compilation time.

* bytecode/ValueProfile.cpp:
(WTF::printInternal):
* bytecode/ValueProfile.h:
(JSC::ResultProfile::didObserveInt52Overflow):
(JSC::ResultProfile::setObservedInt52Overflow):
- Add new Int52Overflow flags.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::makeSafe):
- Now with more straightforward mapping of profiling info.

* dfg/DFGCommon.h:
- Fixed a typo in a comment.

* dfg/DFGNode.h:
(JSC::DFG::Node::arithNodeFlags):
(JSC::DFG::Node::mayHaveNonIntResult):
(JSC::DFG::Node::hasConstantBuffer):
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
* dfg/DFGNodeFlags.h:
(JSC::DFG::nodeMayOverflowInt52):
(JSC::DFG::nodeCanSpeculateInt52):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- We now have profiling info for whether the result was ever seen to be a non-Int.
  Use this to make a better prediction.

* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_div):
(JSC::JIT::emit_op_mul):
- Switch to using CodeBlock::ensureResultProfile().  ResultProfiles can now be
  created at any time (including the slow path), not just in bytecode order
  during baseline compilation.

* jit/JITMulGenerator.cpp:
(JSC::JITMulGenerator::generateFastPath):
- Removed the fast path profiling code for NegZero because we'll go to the slow
  path anyway.  Let the slow path do the profiling for us.
- Added profiling for NegZero and potential Int52 overflows in the fast path
  that does double math.

* runtime/CommonSlowPaths.cpp:
(JSC::updateResultProfileForBinaryArithOp):
- Removed the RETURN_WITH_RESULT_PROFILING macro (2 less macros), and just use
  the RETURN_WITH_PROFILING macro instead with a call to
  updateResultProfileForBinaryArithOp().  This makes it clear what we're doing
  to do profiling in each case, and also allows us to do custom profiling for
  each opcode if needed.  However, so far, we always call
  updateResultProfileForBinaryArithOp().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194613 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[ES6] Arrays should be subclassable.
keith_miller@apple.com [Tue, 5 Jan 2016 22:49:44 +0000 (22:49 +0000)]
[ES6] Arrays should be subclassable.
https://bugs.webkit.org/show_bug.cgi?id=152706

Reviewed by Benjamin Poulain.

This patch enables full subclassing of Arrays. We do this by fetching the new.target's prototype property
in the Array constructor and transitioning the old structure to have the new prototype. This method has
two downsides. The first is that we clobber the transition watchpoint on the base structure. The second,
which is currently very significant but should be fixed in a future patch, is that we allocate a new
structure for each new derived class we allocate.

* runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
(JSC::constructWithArrayConstructor):
(JSC::callArrayConstructor):
* runtime/ArrayConstructor.h:
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation):
(JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation):
(JSC::constructEmptyArray):
(JSC::constructArray):
(JSC::constructArrayNegativeIndexed):
* runtime/PrototypeMap.h:
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::createSubclassStructure):
* tests/es6.yaml:
* tests/stress/class-subclassing-array.js: Added.
(A):
(B.prototype.get 1):
(B):
(C):
(test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194612 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAnalysis task page is slow to load
rniwa@webkit.org [Tue, 5 Jan 2016 22:49:04 +0000 (22:49 +0000)]
Analysis task page is slow to load
https://bugs.webkit.org/show_bug.cgi?id=152517

Reviewed by Andreas Kling.

The slowness comes from r194130 which made the JSON API at /api/analysis-tasks to report the start
and the end of each analysis task. This query was adding ~2s to the total JSON generation time.

Cache these values on analysis_task table since they never change once an analysis task is created.

* init-database.sql: Added columns task_start_run_time and task_end_run_time to analysis_task table.
Also added the missing drop statements at the top.

* public/api/analysis-tasks.php:
(fetch_and_push_bugs_to_tasks): Don't fetch the latest commit time of the start and the end.
(format_task): Report task_start_run_time and task_end_run_time as startRunTime and endRunTime.

* public/privileged-api/create-analysis-task.php:
(main): Set start_run_time and end_run_time when creating an analysis task.
(time_for_run): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194611 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoregress/script-tests/deltablue-varargs.js.ftl-no-cjit-no-put-stack-validate on FTL...
fpizlo@apple.com [Tue, 5 Jan 2016 22:38:11 +0000 (22:38 +0000)]
regress/script-tests/deltablue-varargs.js.ftl-no-cjit-no-put-stack-validate on FTL B3 gets a B3 validation failure
https://bugs.webkit.org/show_bug.cgi?id=152754

Reviewed by Geoffrey Garen and Saam Barati.

It turns out that the FTL was creating orphans. Rather than making the FTL handle them by
itself, I gave B3 the power to eliminate them for you. I also made the dumper print them
since otherwise, you wouldn't know anything about the orphan when looking at a validation
failure or other kind of procedure dump.

* b3/B3IndexSet.h:
(JSC::B3::IndexSet::add):
(JSC::B3::IndexSet::addAll):
(JSC::B3::IndexSet::remove):
* b3/B3Procedure.cpp:
(JSC::B3::Procedure::dump):
(JSC::B3::Procedure::deleteValue):
(JSC::B3::Procedure::deleteOrphans):
(JSC::B3::Procedure::dominators):
* b3/B3Procedure.h:
(JSC::B3::Procedure::cfg):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194608 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdjust tile coverage with margin tiles, and tidy up the indicator
simon.fraser@apple.com [Tue, 5 Jan 2016 22:09:20 +0000 (22:09 +0000)]
Adjust tile coverage with margin tiles, and tidy up the indicator
https://bugs.webkit.org/show_bug.cgi?id=152742

Reviewed by Beth Dakin.

Source/WebCore:

The tile coverage rect was unfeasibly large when margin tiles are present, and
could be bigger than the layer itself, making the indicator look odd.

Fix by improving the logic in TileController::adjustTileCoverageRect(): this
now first extends the visible rect for scrolling, and then constrains it
within the bounds with margin padding. It also unites with the passed-in
coverageRect, ensuring that we don't lose information about overhang for
margin tile coverage.

Second, update the tiled scrolling indicator when the visible rect changes,
and coalesce the map updates on a timer.

* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::adjustCoverageRect):
* platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setVisibleRect):
(WebCore::TileController::setTiledScrollingIndicatorPosition):
(WebCore::expandRectWithinRect):
(WebCore::TileController::adjustTileCoverageRect):
(WebCore::TileController::updateTileCoverageMap):
(WebCore::TileController::computeTileCoverageRect): Deleted.
* platform/graphics/ca/TileController.h:
* platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::TileCoverageMap):
(WebCore::TileCoverageMap::setNeedsUpdate):
(WebCore::TileCoverageMap::updateTimerFired):
* platform/graphics/ca/TileCoverageMap.h:

LayoutTests:

New baselines. simple-document-with-margin-tiles.html needs to wait for over 0.5s
for the FrameView::enableSpeculativeTilingIfNeeded() timer to fire before
dumping coverage (ouch).

* tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
* tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
* tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
* tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
* tiled-drawing/simple-document-with-margin-tiles.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194607 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRe-landing: Add validation of JSC options to catch typos.
mark.lam@apple.com [Tue, 5 Jan 2016 22:04:59 +0000 (22:04 +0000)]
Re-landing: Add validation of JSC options to catch typos.
https://bugs.webkit.org/show_bug.cgi?id=152549

Reviewed by Benjamin Poulain.

1. If a JSC_xxx option is found and xxx is not a valid option, we will now log
   an error message.
2. If a --xxx jsc option is specified, but xxx is not a valid option, we will
   now log an error message.
3. Added JSC_validateOptions, which if set to true will cause the VM to crash if
   an invalid option was seen during options parsing.

In this version for re-landing, I removed the change where I disallowed -- options
after the script name.  Apparently, we have some test harnesses that do append the
-- options after the script name.

* jsc.cpp:
(CommandLine::parseArguments):
* runtime/Options.cpp:
(JSC::Options::initialize):
* runtime/Options.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194606 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoIDB test gardening.
beidson@apple.com [Tue, 5 Jan 2016 21:30:41 +0000 (21:30 +0000)]
IDB test gardening.

Rubberstamped by Alex Christensen.

* platform/mac-wk1/TestExpectations: Unskip a passing test, and move a test from "times out" to "fails"

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194605 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFTL B3 should do ArithNegate
fpizlo@apple.com [Tue, 5 Jan 2016 21:25:47 +0000 (21:25 +0000)]
FTL B3 should do ArithNegate
https://bugs.webkit.org/show_bug.cgi?id=152745

Reviewed by Geoffrey Garen.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithNegate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194604 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[ES6] Date.prototype should be a plain object
commit-queue@webkit.org [Tue, 5 Jan 2016 21:19:20 +0000 (21:19 +0000)]
[ES6] Date.prototype should be a plain object
https://bugs.webkit.org/show_bug.cgi?id=152574

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-01-05
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

* runtime/DateConstructor.cpp:
(JSC::DateConstructor::finishCreation):
* runtime/DatePrototype.cpp:
(JSC::DatePrototype::DatePrototype):
* runtime/DatePrototype.h:

LayoutTests:

Test that the non-generic Date.prototype methods throw when invoked
from the now generic object Date.prototype. Also test that this change
preserves correct instanceof behavior.

* js/date-proto-generic-invocation-expected.txt:
* js/script-tests/date-proto-generic-invocation.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION(r187929): Web Inspector: Forced Layout and Style Recalculation records...
commit-queue@webkit.org [Tue, 5 Jan 2016 21:11:30 +0000 (21:11 +0000)]
REGRESSION(r187929): Web Inspector: Forced Layout and Style Recalculation records do not show up in Layout & Rendering timeline DataGrid
https://bugs.webkit.org/show_bug.cgi?id=152747

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-01-05
Reviewed by Timothy Hatcher.

* UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
We want top-level Layout records. Not necessarily Layout records that are
at the top of all records. Layout events such as style recalculation
and forced layout may be triggered by script and therefore not be at
the top of all records.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194602 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRename badly named JSC_timeout env var to JSCTEST_timeout.
mark.lam@apple.com [Tue, 5 Jan 2016 20:56:43 +0000 (20:56 +0000)]
Rename badly named JSC_timeout env var to JSCTEST_timeout.
https://bugs.webkit.org/show_bug.cgi?id=152748

Reviewed by Geoffrey Garen.

Now that we validate JSC options, the badly named JSC_timeout env var causes the
bots to have a bad time.

* Scripts/run-javascriptcore-tests:
* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed, rolling out r194590.
commit-queue@webkit.org [Tue, 5 Jan 2016 20:39:47 +0000 (20:39 +0000)]
Unreviewed, rolling out r194590.
https://bugs.webkit.org/show_bug.cgi?id=152751

"Causes bot failures" (Requested by mlam on #webkit).

Reverted changeset:

"Add validation of JSC options to catch typos."
https://bugs.webkit.org/show_bug.cgi?id=152549
http://trac.webkit.org/changeset/194590

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194599 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFTL B3 should do In
fpizlo@apple.com [Tue, 5 Jan 2016 20:39:27 +0000 (20:39 +0000)]
FTL B3 should do In
https://bugs.webkit.org/show_bug.cgi?id=152744

Reviewed by Michael Saboff.

This was easy; I just used the same idiom that we already established for ICs in FTL B3.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileIn):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194598 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMake ftl-polymorphic-xxx tests more polymorphic.
mark.lam@apple.com [Tue, 5 Jan 2016 20:38:46 +0000 (20:38 +0000)]
Make ftl-polymorphic-xxx tests more polymorphic.
https://bugs.webkit.org/show_bug.cgi?id=152736

Reviewed by Saam Barati.

1. Change the test driver to alternate inputs between numeric operands and
   an object with a valueOf() method.
2. Changed busy work blob to use the operator being tested instead of always using
   the + operator.
3. Updated test results.

With these change, the tests each triggers around 49000+ speculation failures when
run as a benchmark on the VM before the fix for https://webkit.org/b/152708
landed (in r194560: <http://trac.webkit.org/r194560>).  After the fix, the
number of speculation failures is around 11 or lower.

The benchmark perf with these tests shows about a 10% gain on x86 (32-bit with no
FTL) and about 2x on x86_64 (64-bit with FTL).

* js/regress/script-tests/ftl-polymorphic-bitand.js:
* js/regress/script-tests/ftl-polymorphic-bitor.js:
* js/regress/script-tests/ftl-polymorphic-bitxor.js:
* js/regress/script-tests/ftl-polymorphic-div.js:
* js/regress/script-tests/ftl-polymorphic-lshift.js:
* js/regress/script-tests/ftl-polymorphic-mul.js:
* js/regress/script-tests/ftl-polymorphic-rshift.js:
* js/regress/script-tests/ftl-polymorphic-sub.js:
* js/regress/script-tests/ftl-polymorphic-urshift.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoRemove selector filter update calls from Element child parsing callbacks
antti@apple.com [Tue, 5 Jan 2016 20:36:59 +0000 (20:36 +0000)]
Remove selector filter update calls from Element child parsing callbacks
https://bugs.webkit.org/show_bug.cgi?id=152749

Reviewed by Andreas Kling.

We haven't done style resolve during parsing for a while now. These calls do nothing useful.

* dom/Element.cpp:
(WebCore::Element::beginParsingChildren):
(WebCore::Element::finishParsingChildren):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194596 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoModern IDB: Error message updates for two failing tests.
beidson@apple.com [Tue, 5 Jan 2016 19:57:07 +0000 (19:57 +0000)]
Modern IDB: Error message updates for two failing tests.
https://bugs.webkit.org/show_bug.cgi?id=152735

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Covered by existing tests).

Add error messages for various operations on deleted objects.

* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::advance):
(WebCore::IDBClient::IDBCursor::continueFunction):
(WebCore::IDBClient::IDBCursor::deleteFunction):

* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::doCount):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
(WebCore::IDBClient::IDBIndex::doGet):
(WebCore::IDBClient::IDBIndex::doGetKey):

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::openCursor):
(WebCore::IDBClient::IDBObjectStore::get):
(WebCore::IDBClient::IDBObjectStore::putOrAdd):
(WebCore::IDBClient::IDBObjectStore::deleteFunction):
(WebCore::IDBClient::IDBObjectStore::clear):
(WebCore::IDBClient::IDBObjectStore::createIndex):
(WebCore::IDBClient::IDBObjectStore::index):
(WebCore::IDBClient::IDBObjectStore::deleteIndex):
(WebCore::IDBClient::IDBObjectStore::doCount):

* bindings/js/JSIDBObjectStoreCustom.cpp:
(WebCore::JSIDBObjectStore::createIndex):

LayoutTests:

- Update results to accommodate new error messages.
- openKeyCursor on IDBObjectStore has been removed, so remove that from the results.
- "undefined" and "null" are invalid keys, so update the keypath-basics test to reflect this.

* platform/mac-wk1/TestExpectations:
* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/keypath-basics-expected.txt:
* storage/indexeddb/resources/keypath-basics.js:
* storage/indexeddb/transaction-basics-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194595 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoImplement B3 version of FTL::Output::check()
fpizlo@apple.com [Tue, 5 Jan 2016 19:42:16 +0000 (19:42 +0000)]
Implement B3 version of FTL::Output::check()
https://bugs.webkit.org/show_bug.cgi?id=152743

Reviewed by Geoffrey Garen.

Turns out this was just like the LLVM version.

* ftl/FTLB3Output.cpp:
(JSC::FTL::Output::branch):
(JSC::FTL::Output::check):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::switchInstruction):
(JSC::FTL::Output::check): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194594 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[Mac] Exiting fullscreen via Mission Control leaves fullcreen window frontmost on...
jer.noble@apple.com [Tue, 5 Jan 2016 19:38:13 +0000 (19:38 +0000)]
[Mac] Exiting fullscreen via Mission Control leaves fullcreen window frontmost on desktop
https://bugs.webkit.org/show_bug.cgi?id=152733

Reviewed by Eric Carlson.

Rather than ignore -windowDidExitFullScreen: notifications when fullscreen exit was
not initiated by WebKit (and the -window:startCustomAnimationToEnterFullScreenWithDuration:
method was not called), continue to exit fullscreen normally.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194593 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoClean up download code
achristensen@apple.com [Tue, 5 Jan 2016 19:24:23 +0000 (19:24 +0000)]
Clean up download code
https://bugs.webkit.org/show_bug.cgi?id=152739

Reviewed by Brady Eidson.

* NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
(WebKit::DownloadManager::didCreateDownload):
(WebKit::DownloadManager::didDestroyDownload):
(WebKit::DownloadManager::downloadProxyConnection):
(WebKit::DownloadManager::downloadsAuthenticationManager):
* NetworkProcess/Downloads/DownloadManager.h:
Keep a Client& instead of a Client*.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::downloadManager):
* NetworkProcess/NetworkSession.h:
m_sessionID is not used. There is no need to store the sessionID if it is only used in the NetworkSession constructor.
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSession::defaultSession):
(WebKit::NetworkSession::NetworkSession):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194592 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd support for aliasing JSC Options.
mark.lam@apple.com [Tue, 5 Jan 2016 19:12:05 +0000 (19:12 +0000)]
Add support for aliasing JSC Options.
https://bugs.webkit.org/show_bug.cgi?id=152551

Reviewed by Filip Pizlo.

This allows us to use old options names as well.  This is for the benefit of
third party tools which may have been built to rely on those old options.  The
old option names will be mapped to the current option names in setOption().

For some options, the old option name specifies the inverse boolean value of the
current option name.  setOption() will take care of inverting the value before
applying it to the option.

* jsc.cpp:
(CommandLine::parseArguments):
- Switch to dumping only overridden options here.  Verbose dumping is too much
  for common usage.
* runtime/Options.cpp:
(JSC::overrideOptionWithHeuristic):
(JSC::Options::overrideAliasedOptionWithHeuristic):
(JSC::computeNumberOfWorkerThreads):
(JSC::Options::initialize):
(JSC::Options::setOptionWithoutAlias):
(JSC::invertBoolOptionValue):
(JSC::Options::setAliasedOption):
(JSC::Options::setOption):
(JSC::Options::dumpAllOptions):
- String.ascii() converts newline characters to '?', and this was messing up the
  printing of the options.  Switched to using String.utf8() instead.
(JSC::Options::dumpOption):
* runtime/Options.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194591 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAdd validation of JSC options to catch typos.
mark.lam@apple.com [Tue, 5 Jan 2016 19:03:07 +0000 (19:03 +0000)]
Add validation of JSC options to catch typos.
https://bugs.webkit.org/show_bug.cgi?id=152549

Reviewed by Benjamin Poulain.

1. If a JSC_xxx option is found and xxx is not a valid option, we will now log
   an error message.
2. The jsc app is commonly used as follows:

       $ jsc [jsc options] [scripts]

   Previously, we'll continue to parse for [jsc options] after [scripts] is seen.
   We won't do this anymore.  Any --xxx jsc options must precede the [scripts]
   arguments.

3. If a --xxx jsc option is specified, but xxx is not a valid option, we will
   now log an error message.

4. Added JSC_validateOptions, which if set to true will cause the VM to crash if
   an invalid option was seen during options parsing.

* jsc.cpp:
(CommandLine::parseArguments):
* runtime/Options.cpp:
(JSC::Options::initialize):
* runtime/Options.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194590 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoAvoid NULL deference in Page::updateIsPlayingMedia
eric.carlson@apple.com [Tue, 5 Jan 2016 17:58:45 +0000 (17:58 +0000)]
Avoid NULL deference in Page::updateIsPlayingMedia
https://bugs.webkit.org/show_bug.cgi?id=152732

No new tests, this fixes a rare crash that I am unable to reproduce.

Reviewed by David Kilzer.

* page/Page.cpp:
(WebCore::Page::updateIsPlayingMedia): frame->document() can return NULL.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194589 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoIndexedDB TestExpectations gardening.
beidson@apple.com [Tue, 5 Jan 2016 17:55:15 +0000 (17:55 +0000)]
IndexedDB TestExpectations gardening.

Reviewed by Alex Christensen.

- Enable 3 flakes that should now not be flakey.
- Unskip some previously crashing tests, but mark as text failures.
- Move some tests around with better comments.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194588 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoModern IDB: Transactions from a previous page can leak forward to the next.
beidson@apple.com [Tue, 5 Jan 2016 17:44:50 +0000 (17:44 +0000)]
Modern IDB: Transactions from a previous page can leak forward to the next.
https://bugs.webkit.org/show_bug.cgi?id=152698

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/transactions-stop-on-navigation.html

This patch is mostly about actually implementing IDBDatabase::stop and IDBTransaction::stop.
Most of the rest of the scattered changes are about cleaning up now-incorrect ASSERTs.

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::close):
(WebCore::IDBClient::IDBDatabase::maybeCloseInServer):
(WebCore::IDBClient::IDBDatabase::stop):
(WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction):
(WebCore::IDBClient::IDBDatabase::didAbortTransaction):
* Modules/indexeddb/client/IDBDatabaseImpl.h:

* Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):

* Modules/indexeddb/client/IDBRequestImpl.h:

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::IDBTransaction):
(WebCore::IDBClient::IDBTransaction::stop):
(WebCore::IDBClient::IDBTransaction::abortOnServerAndCancelRequests):

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):

LayoutTests:

* storage/indexeddb/modern/resources/transactions-stop-on-navigation-2.html: Added.
* storage/indexeddb/modern/resources/transactions-stop-on-navigation.js: Added.
* storage/indexeddb/modern/transactions-stop-on-navigation-expected.txt: Added.
* storage/indexeddb/modern/transactions-stop-on-navigation.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194587 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed. Attempting to fix the AppleWin build after r194577.
zandobersek@gmail.com [Tue, 5 Jan 2016 17:31:46 +0000 (17:31 +0000)]
Unreviewed. Attempting to fix the AppleWin build after r194577.

Add the ClipStack.cpp build target alongside the TextureMapperGL.cpp
one, since both include GraphicsContext3D.h and ANGLEWebKitBridge.h
indirectly, the latter requiring specific include flags.

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformWinCairo.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194586 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agogtest should use the same SDK as other projects
ap@apple.com [Tue, 5 Jan 2016 17:14:28 +0000 (17:14 +0000)]
gtest should use the same SDK as other projects
https://bugs.webkit.org/show_bug.cgi?id=152718
rdar://problem/23566856

Reviewed by Alex Christensen.

gtest configuration attempted to use USE_INTERNAL_SDK without ever defining it.

* gtest/xcode/Config/DebugProject.xcconfig:
* gtest/xcode/Config/General.xcconfig:
* gtest/xcode/Config/ReleaseProject.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194585 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMove StyleChange enum into a separate file
antti@apple.com [Tue, 5 Jan 2016 16:10:25 +0000 (16:10 +0000)]
Move StyleChange enum into a separate file
https://bugs.webkit.org/show_bug.cgi?id=152730

Reviewed by Andreas Kling.

Fewer whole-world rebuilds.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/CharacterData.cpp:
* dom/ContainerNode.cpp:
* dom/Document.cpp:
* dom/Document.h:
* dom/Element.cpp:
* dom/Element.h:
* style/StyleChange.h: Added.
* style/StyleResolveTree.cpp:
(WebCore::Style::shouldCreateRenderer):
(WebCore::Style::determineChange): Deleted.
* style/StyleResolveTree.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194584 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoMarking imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/opening...
youenn.fablet@crf.canon.fr [Tue, 5 Jan 2016 13:47:55 +0000 (13:47 +0000)]
Marking imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html
as failing (before https://bugs.webkit.org/show_bug.cgi?id=151984 it was timing out)

Unreviewed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194583 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoActivate service-workers import
youenn.fablet@crf.canon.fr [Tue, 5 Jan 2016 12:44:41 +0000 (12:44 +0000)]
Activate service-workers import
https://bugs.webkit.org/show_bug.cgi?id=152686

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Importing service-workers tests, as some resource files are used by other test files.
These tests are skipped as WebKit does not support service worker.
Revision used is 5932fd48d519a83b4cca6ed69778547a4fdfc5ae as for all other WPT tests.

* resources/ImportExpectations: Activating import of service worker tests.
* web-platform-tests/service-workers/cache-storage/common.https.html: Added.
* web-platform-tests/service-workers/cache-storage/resources/blank.html: Added.
* web-platform-tests/service-workers/cache-storage/resources/common-worker.js: Added.
(self.onmessage):
* web-platform-tests/service-workers/cache-storage/resources/fetch-status.py: Added.
(main):
* web-platform-tests/service-workers/cache-storage/resources/iframe.html: Added.
* web-platform-tests/service-workers/cache-storage/resources/simple.txt: Added.
* web-platform-tests/service-workers/cache-storage/resources/test-helpers.js: Added.
(create_temporary_cache):
(cache_test):
* web-platform-tests/service-workers/cache-storage/resources/testharness-helpers.js: Added.
(assert_promise_rejects):
(assert_response_equals):
(assert_response_array_equivalent):
(assert_response_array_equals):
(assert_response_in_array):
* web-platform-tests/service-workers/cache-storage/resources/w3c-import.log: Added.
* web-platform-tests/service-workers/cache-storage/script-tests/cache-add.js: Added.
(cache_test):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-delete.js: Added.
(new_test_request):
(new_test_response):
(cache_test):
(prepopulated_cache_test):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js: Added.
(response.new.Response):
(return.cache.matchAll.string_appeared_here.then):
(return.cache.match.string_appeared_here.then):
(return.cache.matchAll.entries.a.request.url.then):
(return.cache.match.entries.a.request.url.then):
(return.cache.matchAll.entries.a.request.then):
(return.cache.match.entries.a.request.then):
(return.cache.matchAll.new.Request.entries.a.request.url.then):
(return.cache.match.new.Request.entries.a.request.url.then):
(then):
(return.cache.matchAll.entries.cat.request.url.string_appeared_here.then):
(return.cache.match.entries.cat.request.url.string_appeared_here.then):
(cache_test):
(return.cache.match.request.then):
(prepopulated_cache_test):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js: Added.
(cache_test):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-storage-keys.js: Added.
(promise_test):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-storage-match.js: Added.
(create_unique_transaction):
(cache_test):
(promise_test):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-storage.js: Added.
(promise_test):
(promise_test.):
* web-platform-tests/service-workers/cache-storage/script-tests/w3c-import.log: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-add.https.html: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-delete.https.html: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-put.https.html: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-keys.https.html: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-match.https.html: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage.https.html: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/w3c-import.log: Added.
* web-platform-tests/service-workers/cache-storage/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
* web-platform-tests/service-workers/cache-storage/window/cache-add.https.html: Added.
* web-platform-tests/service-workers/cache-storage/window/cache-delete.https.html: Added.
* web-platform-tests/service-workers/cache-storage/window/cache-match.https.html: Added.
* web-platform-tests/service-workers/cache-storage/window/cache-put.https.html: Added.
* web-platform-tests/service-workers/cache-storage/window/cache-storage-keys.https.html: Added.
* web-platform-tests/service-workers/cache-storage/window/cache-storage-match.https.html: Added.
* web-platform-tests/service-workers/cache-storage/window/cache-storage.https.html: Added.
* web-platform-tests/service-workers/cache-storage/window/sandboxed-iframes.https.html: Added.
* web-platform-tests/service-workers/cache-storage/window/w3c-import.log: Added.
* web-platform-tests/service-workers/cache-storage/worker/cache-add.https.html: Added.
* web-platform-tests/service-workers/cache-storage/worker/cache-delete.https.html: Added.
* web-platform-tests/service-workers/cache-storage/worker/cache-match.https.html: Added.
* web-platform-tests/service-workers/cache-storage/worker/cache-put.https.html: Added.
* web-platform-tests/service-workers/cache-storage/worker/cache-storage-keys.https.html: Added.
* web-platform-tests/service-workers/cache-storage/worker/cache-storage-match.https.html: Added.
* web-platform-tests/service-workers/cache-storage/worker/cache-storage.https.html: Added.
* web-platform-tests/service-workers/cache-storage/worker/w3c-import.log: Added.
* web-platform-tests/service-workers/service-workers/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
* web-platform-tests/service-workers/specgen.json: Added.
* web-platform-tests/service-workers/stub-3.1-service-worker-obj.html: Added.
* web-platform-tests/service-workers/stub-3.1.1-service-worker-scope.html: Added.
* web-platform-tests/service-workers/stub-3.1.2-service-worker-url.html: Added.
* web-platform-tests/service-workers/stub-3.1.3-service-worker-state.html: Added.
* web-platform-tests/service-workers/stub-3.1.4-service-worker-on-state-change.html: Added.
* web-platform-tests/service-workers/stub-3.2-navigator-service-worker.html: Added.
* web-platform-tests/service-workers/stub-3.2.1-navigator-service-worker-installing.html: Added.
* web-platform-tests/service-workers/stub-3.2.10-navigator-service-worker-oncontrollerchange.html: Added.
* web-platform-tests/service-workers/stub-3.2.11-navigator-service-worker-onreloadpage.html: Added.
* web-platform-tests/service-workers/stub-3.2.12-navigator-service-worker-onerror.html: Added.
* web-platform-tests/service-workers/stub-3.2.2-navigator-service-worker-waiting.html: Added.
* web-platform-tests/service-workers/stub-3.2.3-navigator-service-worker-active.html: Added.
* web-platform-tests/service-workers/stub-3.2.4-navigator-service-worker-controller.html: Added.
* web-platform-tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html: Added.
* web-platform-tests/service-workers/stub-3.2.6-navigator-service-worker-getAll.html: Added.
* web-platform-tests/service-workers/stub-3.2.7-navigator-service-worker-register.html: Added.
* web-platform-tests/service-workers/stub-3.2.8-navigator-service-worker-unregister.html: Added.
* web-platform-tests/service-workers/stub-3.2.9-navigator-service-worker-onupdatefound.html: Added.
* web-platform-tests/service-workers/stub-4.1-service-worker-global-scope.html: Added.
* web-platform-tests/service-workers/stub-4.1.1-service-worker-global-scope-caches.html: Added.
* web-platform-tests/service-workers/stub-4.1.2-service-worker-global-scope-clients.html: Added.
* web-platform-tests/service-workers/stub-4.1.3-service-worker-global-scope-scope.html: Added.
* web-platform-tests/service-workers/stub-4.1.4-service-worker-global-scope-fetch.html: Added.
* web-platform-tests/service-workers/stub-4.1.5-service-worker-global-scope-update.html: Added.
* web-platform-tests/service-workers/stub-4.1.6-service-worker-global-scope-unregister.html: Added.
* web-platform-tests/service-workers/stub-4.1.7-service-worker-global-scope-onmessage.html: Added.
* web-platform-tests/service-workers/stub-4.2-client.html: Added.
* web-platform-tests/service-workers/stub-4.3-service-worker-clients.html: Added.
* web-platform-tests/service-workers/stub-4.3.1-get-serviced-method.html: Added.
* web-platform-tests/service-workers/stub-4.3.2-reloadall-method.html: Added.
* web-platform-tests/service-workers/stub-4.4-request-objects.html: Added.
* web-platform-tests/service-workers/stub-4.5-response-objects.html: Added.
* web-platform-tests/service-workers/stub-4.5.2-response.html: Added.
* web-platform-tests/service-workers/stub-4.5.4-opaque-response.html: Added.
* web-platform-tests/service-workers/stub-4.6-cache-objects.html: Added.
* web-platform-tests/service-workers/stub-4.6.1-cache-lifetimes.html: Added.
* web-platform-tests/service-workers/stub-4.6.2-cache.html: Added.
* web-platform-tests/service-workers/stub-4.6.3-cache-storage.html: Added.
* web-platform-tests/service-workers/stub-4.7.1-install-phase-event.html: Added.
* web-platform-tests/service-workers/stub-4.7.1.1-wait-until-method.html: Added.
* web-platform-tests/service-workers/stub-4.7.2-install-event.html: Added.
* web-platform-tests/service-workers/stub-4.7.2.1-install-event-section.html: Added.
* web-platform-tests/service-workers/stub-4.7.2.2-replace-method.html: Added.
* web-platform-tests/service-workers/stub-4.7.3-activate-event.html: Added.
* web-platform-tests/service-workers/stub-4.7.4.1-fetch-event-section.html: Added.
* web-platform-tests/service-workers/stub-4.7.4.2-respond-with-method.html: Added.
* web-platform-tests/service-workers/stub-4.7.4.3-default-method.html: Added.
* web-platform-tests/service-workers/stub-4.7.4.4-is-reload-attribute.html: Added.
* web-platform-tests/service-workers/stub-5.1-origin-relativity.html: Added.
* web-platform-tests/service-workers/stub-5.2-cross-origin-resources.html: Added.
* web-platform-tests/service-workers/tools/blink-import.py: Added.
(get_extra_files):
(resources_path):
(python_to_php):
(testharness_helpers):
(service_worker_path):
(server_names):
(source_paths):
(do_subs):
(get_head):
(get_changes):
(copy):
(copy_local_files):
(copy_extra_files):
(sub_changed_filenames):
(is_top_level_test):
(add_suffix):
(main):
* web-platform-tests/service-workers/tools/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/w3c-import.log.
* web-platform-tests/service-workers/w3c-import.log: Added.

LayoutTests:

* TestExpectations: Marking all service worker tests as skipped.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194582 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[WinCairo] Download should use header values from provided request object.
peavo@outlook.com [Tue, 5 Jan 2016 11:41:29 +0000 (11:41 +0000)]
[WinCairo] Download should use header values from provided request object.
https://bugs.webkit.org/show_bug.cgi?id=152694

Reviewed by Alex Christensen.

Copy header values from request object parameter.

* WebDownloadCurl.cpp:
(WebDownload::initWithRequest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194581 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUpdate web-platform-tests test suite
youenn.fablet@crf.canon.fr [Tue, 5 Jan 2016 09:28:20 +0000 (09:28 +0000)]
Update web-platform-tests test suite
https://bugs.webkit.org/show_bug.cgi?id=151984

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Bumping WPT test revision from dd553279c3 to 5932fd48d519a83b4cca6ed69778547a4fdfc5ae.
New revision includes test improvements, test renaming to ensure WebKit test expectations do not clash and XHR test clean-up.

* resources/ImportExpectations: Updated to not include new tests. Improved ordering.
* resources/TestRepositories: Updated revision.
* resources/web-platform-tests-modules.json: Updated revision.
* web-platform-tests/README.md:
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials-expected.txt:
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js:
* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-worker-simple.htm:
* web-platform-tests/XMLHttpRequest/resources/empty-div-utf8-html.py: Added.
(main):
* web-platform-tests/XMLHttpRequest/resources/img-utf8-html.py: Added.
(main):
* web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
* web-platform-tests/XMLHttpRequest/send-content-type-charset-expected.txt:
* web-platform-tests/XMLHttpRequest/send-content-type-charset.htm:
* web-platform-tests/XMLHttpRequest/send-content-type-string-expected.txt:
* web-platform-tests/XMLHttpRequest/send-content-type-string.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-document.htm:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overrides.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-simple.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-twice.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker.html:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html:
* web-platform-tests/dom/common.js:
(myExtractContents):
(myInsertNode):
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/lists/DOMTokenList-stringifier-expected.txt:
* web-platform-tests/dom/lists/DOMTokenList-stringifier.html:
* web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js:
(test_getElementsByTagName):
* web-platform-tests/dom/nodes/Document-createElement-namespace-expected.txt:
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace.html:
* web-platform-tests/dom/nodes/Document-getElementsByTagName-expected.txt:
* web-platform-tests/dom/nodes/DocumentType-literal-xhtml-expected.txt: Added.
* web-platform-tests/dom/nodes/DocumentType-literal-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-literal.xhtml.
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml-expected.txt: Added.
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.xhtml.
* web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml-expected.txt: Added.
* web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild.xhtml.
* web-platform-tests/dom/nodes/Element-children-expected.txt:
* web-platform-tests/dom/nodes/Element-children.html:
* web-platform-tests/dom/nodes/Element-classlist-expected.txt:
* web-platform-tests/dom/nodes/Element-classlist.html:
* web-platform-tests/dom/nodes/Element-firstElementChild-xhtml-expected.txt: Added.
* web-platform-tests/dom/nodes/Element-firstElementChild-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild.xhtml.
* web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess-expected.txt: Added.
* web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess-iframe-expected.txt: Added.
* web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess-iframe.xml: Added.
* web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html: Added.
* web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:
* web-platform-tests/dom/nodes/Element-matches-expected.txt:
* web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml-expected.txt: Added.
* web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling.xhtml.
* web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml-expected.txt: Added.
* web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling.xhtml.
* web-platform-tests/dom/nodes/MutationObserver-childList-expected.txt:
* web-platform-tests/dom/nodes/MutationObserver-childList.html:
* web-platform-tests/dom/nodes/MutationObserver-document-expected.txt:
* web-platform-tests/dom/nodes/MutationObserver-document.html:
* web-platform-tests/dom/nodes/Node-contains-xhtml-expected.txt: Removed.
* web-platform-tests/dom/nodes/Node-contains-xhtml.xhtml: Removed.
* web-platform-tests/dom/nodes/Node-isEqualNode-expected.txt:
* web-platform-tests/dom/nodes/Node-isEqualNode-iframe1-expected.txt: Added.
* web-platform-tests/dom/nodes/Node-isEqualNode-iframe1.xml: Added.
* web-platform-tests/dom/nodes/Node-isEqualNode-iframe2-expected.txt: Added.
* web-platform-tests/dom/nodes/Node-isEqualNode-iframe2.xml: Added.
* web-platform-tests/dom/nodes/Node-isEqualNode.xhtml:
* web-platform-tests/dom/nodes/Node-lookupNamespaceURI-expected.txt:
* web-platform-tests/dom/nodes/Node-lookupNamespaceURI.html:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All-xhtml-expected.txt.
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All-xhtml.xht.
* web-platform-tests/dom/nodes/attributes-expected.txt:
* web-platform-tests/dom/nodes/attributes.html:
* web-platform-tests/dom/nodes/getElementsByClassName-10.xml:
* web-platform-tests/dom/nodes/getElementsByClassName-11.xml:
* web-platform-tests/dom/nodes/resources/ParentNode-querySelector-All-content.xht: Removed.
* web-platform-tests/dom/nodes/selectors.js:
* web-platform-tests/dom/nodes/w3c-import.log:
* web-platform-tests/dom/ranges/Range-deleteContents-expected.txt:
* web-platform-tests/dom/ranges/Range-deleteContents.html:
* web-platform-tests/dom/ranges/Range-extractContents-expected.txt:
* web-platform-tests/dom/ranges/Range-insertNode-expected.txt:
* web-platform-tests/dom/ranges/Range-intersectsNode-expected.txt:
* web-platform-tests/dom/ranges/Range-intersectsNode.html:
* web-platform-tests/dom/ranges/Range-mutations.html:
* web-platform-tests/dom/ranges/Range-surroundContents-expected.txt:
* web-platform-tests/dom/ranges/Range-surroundContents.html:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml-expected.txt: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml-expected.txt: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml-expected.txt: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml-expected.txt: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml-expected.txt: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml.
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/w3c-import.log:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-03-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-03.html:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06.html:
* web-platform-tests/html/dom/documents/resource-metadata-management/document-lastModified-01.html:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt:
* web-platform-tests/html/dom/elements-embedded.js:
* web-platform-tests/html/dom/elements-text.js:
* web-platform-tests/html/dom/elements/global-attributes/dir_auto-N-EN-ref-expected.html: Added.
* web-platform-tests/html/dom/elements/global-attributes/dir_auto-N-EN-ref.html: Added.
* web-platform-tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs-ref-expected.html: Added.
* web-platform-tests/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs-ref.html: Added.
* web-platform-tests/html/dom/elements/global-attributes/w3c-import.log:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces.html:
* web-platform-tests/html/dom/reflection.js:
(ReflectionTests.doReflects):
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resources/delayed-broken-video.py: Removed.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resources/w3c-import.log: Removed.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/w3c-import.log: Removed.
* web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/w3c-import.log: Removed.
* web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/w3c-import.log: Removed.
* web-platform-tests/html/semantics/embedded-content/media-elements/seeking/w3c-import.log: Removed.
* web-platform-tests/html/semantics/embedded-content/media-elements/synchronising-multiple-media-elements/media-controllers/w3c-import.log: Removed.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log: Removed.
* web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html:
* web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html:
* web-platform-tests/html/semantics/forms/constraints/support/validator.js:
(validator.set_conditions):
(validator.set_dirty): Deleted.
(validator.pre_check): Deleted.
* web-platform-tests/html/semantics/forms/textfieldselection/selection.html:
* web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html:
* web-platform-tests/html/semantics/forms/the-label-element/label-attributes-expected.txt:
* web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html:
* web-platform-tests/html/semantics/forms/the-label-element/labelable-elements-expected.txt:
* web-platform-tests/html/semantics/forms/the-label-element/labelable-elements.html:
* web-platform-tests/html/semantics/forms/the-option-element/option-text-recurse-expected.txt:
* web-platform-tests/html/semantics/forms/the-option-element/option-text-recurse.html:
* web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-namedItem-expected.txt:
* web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-namedItem.html:
* web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html:
* web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html:
* web-platform-tests/html/semantics/tabular-data/attributes-common-to-td-and-th-elements/cellIndex-expected.txt:
* web-platform-tests/html/semantics/tabular-data/attributes-common-to-td-and-th-elements/cellIndex.html:
* web-platform-tests/html/semantics/tabular-data/html-table-section-element.js: Added.
(testRowsAttribute):
* web-platform-tests/html/semantics/tabular-data/the-tbody-element/deleteRow-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-tbody-element/deleteRow.html:
* web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow.html:
* web-platform-tests/html/semantics/tabular-data/the-tr-element/deleteCell-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-tr-element/deleteCell.html:
* web-platform-tests/html/semantics/tabular-data/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/w3c-import.log.
* web-platform-tests/lint:
* web-platform-tests/lint.whitelist:
* web-platform-tests/media/2048x1360-random.jpg: Added.
* web-platform-tests/media/w3c-import.log: Added.

LayoutTests:

* TestExpectations: updated expectations for newly failing tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194580 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[GTK] Allow to save and restore session
carlosgc@webkit.org [Tue, 5 Jan 2016 08:12:50 +0000 (08:12 +0000)]
[GTK] Allow to save and restore session
https://bugs.webkit.org/show_bug.cgi?id=115600

Reviewed by Michael Catanzaro.

Source/WebKit2:

Add new API to get and resore the web view session state.

* PlatformGTK.cmake: Add new files to compilation.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_session_state): Create a new
WebKitWebViewSessionState representing the current session state.
(webkit_web_view_restore_session_state): Restore the web view
session state from the given WebKitWebViewSessionState.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewSessionState.cpp: Added.
(_WebKitWebViewSessionState::_WebKitWebViewSessionState):
(toExternalURLsPolicy):
(toWebCoreExternalURLsPolicy):
(toHTMLBodyElementType):
(toHTTPBodyElementType):
(encodeHTTPBody):
(encodeFrameState):
(encodePageState):
(encodeBackForwardListItemState):
(encodeBackForwardListState):
(encodeSessionState):
(decodeHTTPBody):
(decodeFrameState):
(decodeBackForwardListItemState):
(decodeSessionState):
(webkitWebViewSessionStateCreate):
(webkitWebViewSessionStateGetSessionState):
(webkit_web_view_session_state_new): Create a
WebKitWebViewSessionState from serialized data.
(webkit_web_view_session_state_ref):
(webkit_web_view_session_state_unref):
(webkit_web_view_session_state_serialize): Serialize the WebKitWebViewSessionState.
* UIProcess/API/gtk/WebKitWebViewSessionState.h: Added.
* UIProcess/API/gtk/WebKitWebViewSessionStatePrivate.h: Added.
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
* UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_web_view_session_state_get_type.
* UIProcess/API/gtk/webkit2.h: Include WebKitWebViewSessionState.h.

Source/WTF:

Add GVariantIter specialization of GUniquePtr.

* wtf/glib/GTypedefs.h:
* wtf/glib/GUniquePtr.h:

Tools:

Add test case to check the new session API.

* TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp:
(testWebKitWebViewSessionState):
(testWebKitWebViewSessionStateWithFormData):
(beforeAll):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194579 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[PerformanceTiming] Don't expose the restrictedKeyMap() HashMap
zandobersek@gmail.com [Tue, 5 Jan 2016 07:46:14 +0000 (07:46 +0000)]
[PerformanceTiming] Don't expose the restrictedKeyMap() HashMap
https://bugs.webkit.org/show_bug.cgi?id=147366

Reviewed by Sam Weinig.

Instead of the callers looking up in the HashMap that's returned by restrictedKeyMap(),
keep the HashMap local in the static restrictedMarkFunction(). This function accepts
a String reference and performs the lookup, returning the pointer to a PerformanceTiming
method that corresponds to the passed-in mark or returns nullptr otherwise.

The HashMap is now wrapped in a NeverDestroyed object and is populated when the first
mark function is looked for.

* page/PerformanceUserTiming.cpp:
(WebCore::UserTiming::mark):
(WebCore::UserTiming::findExistingMarkStartTime):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194578 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[TextureMapper] Move ClipStack into its own file
zandobersek@gmail.com [Tue, 5 Jan 2016 07:41:39 +0000 (07:41 +0000)]
[TextureMapper] Move ClipStack into its own file
https://bugs.webkit.org/show_bug.cgi?id=152661

Reviewed by Michael Catanzaro.

Move TextureMapperGL::ClipStack into its own file and clean it up a bit.
Move ClipState under the ClipStack class, and simply name it State.

Move the ClipState methods into a more sensible order. Remove the inline
specifiers, these aren't really needed for the methods defined in the header.
apply() and applyIfNeeded() now accept a reference to the GraphicsContext3D
object, not a pointer.

Turn YAxisMode enum into an enum class, update the uses to properly specify
the scope of the enum value.

Reorder the ClipStack member variables into a more efficient order.

No new tests -- no change in behavior.

* CMakeLists.txt:
* platform/graphics/texmap/BitmapTextureGL.cpp:
(WebCore::BitmapTextureGL::clearIfNeeded):
(WebCore::BitmapTextureGL::bindAsSurface):
* platform/graphics/texmap/BitmapTextureGL.h:
(WebCore::BitmapTextureGL::clipStack):
* platform/graphics/texmap/ClipStack.cpp: Added.
(WebCore::ClipStack::push):
(WebCore::ClipStack::pop):
(WebCore::ClipStack::reset):
(WebCore::ClipStack::intersect):
(WebCore::ClipStack::setStencilIndex):
(WebCore::ClipStack::apply):
(WebCore::ClipStack::applyIfNeeded):
* platform/graphics/texmap/ClipStack.h: Added.
(WebCore::ClipStack::State::State):
(WebCore::ClipStack::current):
(WebCore::ClipStack::getStencilIndex):
(WebCore::ClipStack::isCurrentScissorBoxEmpty):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::clipStack):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::TextureMapperGL::bindDefaultSurface):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):
(WebCore::TextureMapperGL::ClipStack::reset): Deleted.
(WebCore::TextureMapperGL::ClipStack::intersect): Deleted.
(WebCore::TextureMapperGL::ClipStack::setStencilIndex): Deleted.
(WebCore::TextureMapperGL::ClipStack::push): Deleted.
(WebCore::TextureMapperGL::ClipStack::pop): Deleted.
(WebCore::TextureMapperGL::ClipStack::apply): Deleted.
(WebCore::TextureMapperGL::ClipStack::applyIfNeeded): Deleted.
* platform/graphics/texmap/TextureMapperGL.h:
(WebCore::TextureMapperGL::ClipState::ClipState): Deleted.
(WebCore::TextureMapperGL::ClipStack::ClipStack): Deleted.
(WebCore::TextureMapperGL::ClipStack::current): Deleted.
(WebCore::TextureMapperGL::ClipStack::getStencilIndex): Deleted.
(WebCore::TextureMapperGL::ClipStack::isCurrentScissorBoxEmpty): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194577 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoShave off a TransformationMatrix copy if RenderLayer's transparencyClipBox()
zandobersek@gmail.com [Tue, 5 Jan 2016 07:37:52 +0000 (07:37 +0000)]
Shave off a TransformationMatrix copy if RenderLayer's transparencyClipBox()
https://bugs.webkit.org/show_bug.cgi?id=152119

Reviewed by Simon Fraser.

* rendering/RenderLayer.cpp:
(WebCore::transparencyClipBox): Multiply the transformation matrix returned by
layer.transform() directly into the transform object, instead of first
multiplying them and then copying the result back into the transform object.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194576 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: Timelines view doesn't remember how I like to sort things
commit-queue@webkit.org [Tue, 5 Jan 2016 06:35:41 +0000 (06:35 +0000)]
Web Inspector: Timelines view doesn't remember how I like to sort things
https://bugs.webkit.org/show_bug.cgi?id=152626

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-01-04
Reviewed by Joseph Pecoraro.

Currently, all instances of DataGrid have their sort column reset with each
open/close of Web Inspector. This doesn't really make sense seeing as we save
the user's settings in many other cases, so the sort method (which column)
should be saved between inspector sessions.

* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype._rebuildTable):
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView):
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.set sortColumnIdentifier):
Moved the logic for classLists and events to _updateSortedColumn.

(WebInspector.DataGrid.prototype.set sortColumnIdentifierSetting):
Instead of just setting the original sort method when instantiating the DataGrid,
a WebInspector.Setting object is now able to be passed in via this setter
to give the DataGrid access to the stored sort method value.

(WebInspector.DataGrid.prototype._updateSortedColumn):
Updates the classLists and fires events. If a sort column setting object
exists, update its value.

* UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
* UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView):
* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView):
* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
* UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194574 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: Add debounce to URL inputs in the Visual sidebar
commit-queue@webkit.org [Tue, 5 Jan 2016 06:32:28 +0000 (06:32 +0000)]
Web Inspector: Add debounce to URL inputs in the Visual sidebar
https://bugs.webkit.org/show_bug.cgi?id=152655

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-01-04
Reviewed by Joseph Pecoraro.

Adding a debounce to url() based Visual sidebar editors will prevent needless
errors from being thrown as the user types, since incomplete URL's will not
be able to be located.

* UserInterface/Base/Utilities.js:
(Function.prototype.debounce):
Prevents the given function from executing more than once in the specified amount of time.

* UserInterface/Views/VisualStyleBackgroundPicker.js:
(WebInspector.VisualStyleBackgroundPicker):

* UserInterface/Views/VisualStyleURLInput.js:
(WebInspector.VisualStyleURLInput):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194573 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: Fix debug context menu string and reload without cache tooltip string
commit-queue@webkit.org [Tue, 5 Jan 2016 05:10:29 +0000 (05:10 +0000)]
Web Inspector: Fix debug context menu string and reload without cache tooltip string
https://bugs.webkit.org/show_bug.cgi?id=152725

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-01-04
Reviewed by Brian Burg.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194572 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years ago[EFL] Bump EFL version to 1.16.1
ossy@webkit.org [Tue, 5 Jan 2016 02:33:34 +0000 (02:33 +0000)]
[EFL] Bump EFL version to 1.16.1
https://bugs.webkit.org/show_bug.cgi?id=152688

Reviewed by Gyuyoung Kim.

* efl/jhbuild.modules:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194571 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUse unique_ptr for NetworkDataTasks and references for NetworkSessionTaskClients
achristensen@apple.com [Tue, 5 Jan 2016 02:25:53 +0000 (02:25 +0000)]
Use unique_ptr for NetworkDataTasks and references for NetworkSessionTaskClients
https://bugs.webkit.org/show_bug.cgi?id=152724

Reviewed by Andy Estes.

There is no reason to have a NetworkSessionTaskClient* instead of a
NetworkSessionTaskClient& just so we can clear it in the NetworkLoad destructor,
which immediately calls ~NetworkDataTask.
Also, NetworkDataTasks are owned only by the NetworkLoad, so there's no reason to refcount them.

* NetworkProcess/Downloads/Download.h:
* NetworkProcess/Downloads/DownloadManager.h:
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::~NetworkLoad):
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkSession.h:
(WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
(WebKit::NetworkDataTask::client):
(WebKit::NetworkDataTask::downloadID):
(WebKit::NetworkDataTask::setDownloadID):
(WebKit::NetworkDataTask::clearClient): Deleted.
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
(WebKit::NetworkSession::~NetworkSession):
(WebKit::NetworkSession::createDataTaskWithRequest):
(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkDataTask::NetworkDataTask):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194570 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoerror running layout tests on iOS simulator on latest build
aakash_jain@apple.com [Tue, 5 Jan 2016 02:16:48 +0000 (02:16 +0000)]
error running layout tests on iOS simulator on latest build
https://bugs.webkit.org/show_bug.cgi?id=152719
<rdar://problem/24009549>

Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/xcode/simulator.py:
(Simulator.wait_until_device_is_booted): Ensure that simulator device is in booted state
  before running simctl spawn command.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194569 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: add context menu items to switch CSS color property value syntax betwe...
commit-queue@webkit.org [Tue, 5 Jan 2016 01:48:00 +0000 (01:48 +0000)]
Web Inspector: add context menu items to switch CSS color property value syntax between RGB, HSL, etc
https://bugs.webkit.org/show_bug.cgi?id=151918

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-01-04
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Created a ColorSwatch class to hold all functionality for color swatches,
allowing all context menu and popover events to be centralized.

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

* UserInterface/Models/Color.js:
Changed all 'var' to 'let' and 'nickname' to 'keyword' as per the spec.
Mostly mechanical changes.

(WebInspector.Color.prototype.isKeyword):
Looks at the RGB values of each keyword to see if the current color
matches any of them.

(WebInspector.Color.prototype.canBeSerializedAsShortHEX):
Fixed to account for alpha values, since HEXAlpha is now supported.

* UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch): Deleted.
(@media (-webkit-max-device-pixel-ratio: 1)): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span): Deleted.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update): Deleted.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror): Deleted.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked): Deleted.

* UserInterface/Views/ColorSwatch.css: Copied from Source/WebInspectorUI/UserInterface/Views/VisualStyleColorPicker.css.
(.color-swatch):
(@media (-webkit-max-device-pixel-ratio: 1)):
(.color-swatch > span):
(.color-swatch:hover > span):
(.color-swatch:active > span):

* UserInterface/Views/ColorSwatch.js: Added.
(WebInspector.ColorSwatch):
(WebInspector.ColorSwatch.prototype.get element):
(WebInspector.ColorSwatch.prototype.set color):
(WebInspector.ColorSwatch.prototype.get color):
(WebInspector.ColorSwatch.prototype._colorSwatchClicked):
(WebInspector.ColorSwatch.prototype._colorPickerColorDidChange):
(WebInspector.ColorSwatch.prototype._handleContextMenuEvent):
(WebInspector.ColorSwatch.prototype._getNextValidHEXFormat.hexMatchesCurrentColor):
(WebInspector.ColorSwatch.prototype._getNextValidHEXFormat):
Loops through the list of HEX formats to find the first format that is valid
for the current color in the list after the current format.

(WebInspector.ColorSwatch.prototype._updateSwatch):

* UserInterface/Views/VisualStyleColorPicker.css:
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span):

* UserInterface/Views/VisualStyleColorPicker.js:
(WebInspector.VisualStyleColorPicker):
(WebInspector.VisualStyleColorPicker.prototype._colorSwatchColorChanged):
(WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch):
(WebInspector.VisualStyleColorPicker.prototype._colorSwatchClicked): Deleted.
(WebInspector.VisualStyleColorPicker.prototype._colorPickerColorDidChange): Deleted.

LayoutTests:

* inspector/model/color-expected.html:
* inspector/model/color.html:
Changed "nickname" to "keyword".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194568 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: Mark last parameter of webkitGetUserMedia as non-optional to match...
commit-queue@webkit.org [Tue, 5 Jan 2016 00:50:56 +0000 (00:50 +0000)]
Web Inspector: Mark last parameter of webkitGetUserMedia as non-optional to match updated IDL
https://bugs.webkit.org/show_bug.cgi?id=152702

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-01-04
Reviewed by Brian Burg.

* UserInterface/Models/NativeFunctionParameters.js:
New IDL, and tests, show that the error callback is non-optional.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194567 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoTextBreakIterator uses an internal implementation detail of NSLocale
mmaxfield@apple.com [Tue, 5 Jan 2016 00:42:41 +0000 (00:42 +0000)]
TextBreakIterator uses an internal implementation detail of NSLocale
https://bugs.webkit.org/show_bug.cgi?id=152715
<rdar://problem/23775121>

Reviewed by Tim Horton.

Instead of directly querying AppleLanguages, we should use [NSLocale preferredLanguages].

No new tests because there is no behavior change.

* platform/text/mac/TextBreakIteratorInternalICUMac.mm:
(WebCore::topLanguagePreference):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194566 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoTurn off Internal Function inlining in the DFG for super calls.
keith_miller@apple.com [Tue, 5 Jan 2016 00:35:13 +0000 (00:35 +0000)]
Turn off Internal Function inlining in the DFG for super calls.
https://bugs.webkit.org/show_bug.cgi?id=152695

Reviewed by Geoffrey Garen.

Currently, we inline several InternalFunctions into an alloctation with a
fixed structure in the DFG. This optimization is not valid when the
InternalFunction is called via a super call.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194565 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoJSCustomXPathNSResolver::lookupNamespaceURI Console Message should render with a...
commit-queue@webkit.org [Tue, 5 Jan 2016 00:22:33 +0000 (00:22 +0000)]
JSCustomXPathNSResolver::lookupNamespaceURI Console Message should render with a column number
https://bugs.webkit.org/show_bug.cgi?id=114312

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-01-04
Reviewed by Brent Fulgham.

* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Deleted.
This now behaves as expected.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194564 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoModern IDB: Memory indexes aren't deleted when their owning memory object stores...
beidson@apple.com [Tue, 5 Jan 2016 00:06:05 +0000 (00:06 +0000)]
Modern IDB: Memory indexes aren't deleted when their owning memory object stores are deleted.
https://bugs.webkit.org/show_bug.cgi?id=152717

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/memory-index-not-deleted-with-objectstore.html

* Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):
* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::deleteAllIndexes):
* Modules/indexeddb/server/MemoryObjectStore.h:

LayoutTests:

* storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-expected.txt: Added.
* storage/indexeddb/modern/memory-index-not-deleted-with-objectstore.html: Added.
* storage/indexeddb/modern/resources/memory-index-not-deleted-with-objectstore.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194563 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoProgress towards implementing downloads with NetworkSession
achristensen@apple.com [Tue, 5 Jan 2016 00:06:02 +0000 (00:06 +0000)]
Progress towards implementing downloads with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=152716

Reviewed by Brady Eidson.

* NetworkProcess/Downloads/Download.h:
* NetworkProcess/Downloads/DownloadID.h:
(WebKit::DownloadID::DownloadID):
(WebKit::DownloadID::operator==):
(WebKit::DownloadID::operator!=):
(WebKit::DownloadID::downloadID):
* NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
* NetworkProcess/Downloads/DownloadManager.h:
(WebKit::DownloadManager::download):
(WebKit::DownloadManager::isDownloading):
* NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::resume):
(WebKit::Download::platformInvalidate):
(WebKit::Download::platformDidFinish):
(WebKit::Download::start): Deleted.
* NetworkProcess/NetworkSession.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):

When using NSURLSession, a data task is converted to a download task after the connection has already
been established, the headers have been received, and WebCore looks at the response and decides that
this connection should become a download.  We call the didReceiveResponse to match the behavior of
NSURLDownload, but this could be cleaned up later to match what is actually happening.  We also do not
need to tell the download to start because it has already started.

(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkSession::addDownloadID):
(WebKit::NetworkSession::downloadID):
(WebKit::NetworkSession::takeDownloadID):
(WebKit::NetworkDataTask::NetworkDataTask):

NSURLSessionDownloadTask taskIdentifiers are unique to that NSURLSession, but we have one global DownloadManager
in the NetworkProcess.  We need to have each NetworkSession keep a map of taskIdentifiers to global DownloadID.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194562 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFTL B3 should do binary snippets
fpizlo@apple.com [Mon, 4 Jan 2016 23:08:32 +0000 (23:08 +0000)]
FTL B3 should do binary snippets
https://bugs.webkit.org/show_bug.cgi?id=152668

Reviewed by Mark Lam.

This finishes all of the rest of the snippets.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitOr):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitXor):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitRShift):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitLShift):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitURShift):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinaryBitOpSnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::emitRightShiftSnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):
* tests/stress/object-bit-or.js: Added.
(foo):
(things.valueOf):
* tests/stress/object-bit-xor.js: Added.
(foo):
(things.valueOf):
* tests/stress/object-lshift.js: Added.
(foo):
(things.valueOf):
* tests/stress/object-rshift.js: Added.
(foo):
(things.valueOf):
* tests/stress/object-urshift.js: Added.
(foo):
(things.valueOf):
* tests/stress/untyped-bit-or.js: Added.
(foo):
(valueOf):
* tests/stress/untyped-bit-xor.js: Added.
(foo):
(valueOf):
* tests/stress/untyped-lshift.js: Added.
(foo):
(valueOf):
* tests/stress/untyped-rshift.js: Added.
(foo):
(valueOf):
* tests/stress/untyped-urshift.js: Added.
(foo):
(valueOf):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194561 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoisUntypedSpeculationForArithmetic is wrong.
mark.lam@apple.com [Mon, 4 Jan 2016 22:53:57 +0000 (22:53 +0000)]
isUntypedSpeculationForArithmetic is wrong.
https://bugs.webkit.org/show_bug.cgi?id=152708

Reviewed by Filip Pizlo.

The isUntypedSpeculation...() checks should return true is we ever see
non-numeric types, regardless of whether numeric types are seen or not.
Previously, they only return true if we only see non-numeric types, and false if
we ever see numeric types.

This patch is perf neutral on both x86_64 and x86.

* bytecode/SpeculatedType.h:
(JSC::isUntypedSpeculationForArithmetic):
(JSC::isUntypedSpeculationForBitOps):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194560 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoTurn on gesture events when building for Yosemite
timothy_horton@apple.com [Mon, 4 Jan 2016 22:45:40 +0000 (22:45 +0000)]
Turn on gesture events when building for Yosemite
https://bugs.webkit.org/show_bug.cgi?id=152704
rdar://problem/24042472

Reviewed by Anders Carlsson.

* Configurations/FeatureDefines.xcconfig:
* wtf/FeatureDefines.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194559 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoREGRESSION(r194143): Float width incorrectly calculated on Wikipedia
svillar@igalia.com [Mon, 4 Jan 2016 22:43:41 +0000 (22:43 +0000)]
REGRESSION(r194143): Float width incorrectly calculated on Wikipedia
https://bugs.webkit.org/show_bug.cgi?id=152644

Reviewed by Myles C. Maxfield.

Source/WebCore:

The min/max-content contribution computation for non replaced
blocks changed in r194143. The implementation was actually
more complex than it should be and actually incomplete as it
was not considering the case of out of flow elements (because
it was directly calling computeLogicalWidthInRegion()).

This new implementation simplifies a lot the code and makes it
more complete as it relies on min|maxPreferredLogicalWidth()
calls which already consider all the different types of boxes.

Test: fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):

LayoutTests:

* fast/css-intrinsic-dimensions/inlinesize-contribution-floats-expected.html: Added.
* fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194558 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoHardware keyboard key-commands stop responding when viewing PDFs
timothy_horton@apple.com [Mon, 4 Jan 2016 22:42:20 +0000 (22:42 +0000)]
Hardware keyboard key-commands stop responding when viewing PDFs
https://bugs.webkit.org/show_bug.cgi?id=152712
<rdar://problem/23014457>

Reviewed by Dan Bernstein.

Maintain first responder status through any content view swapping, by
making WKWebView become first responder if needed, and pushing first
responder status down to the swapped-in content view if possible.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView becomeFirstResponder]):
Make the current content view first responder instead of the WKContentView,
in case we have a custom content view installed.

(-[WKWebView canBecomeFirstResponder]):
WKWebView can always become first responder, even if none of its children can.
This makes it so that if a custom content view can't become first responder,
WKWebView will take the responsibility.

(-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
Return the responsibility of being first responder to the newly-installed
content view if WKWebView is currently the first responder (either because
of tab switching or because the previous content view did not support
being first responder), if it supports being first responder.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194557 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFTL B3 should do BitAnd binary snippets
fpizlo@apple.com [Mon, 4 Jan 2016 22:31:45 +0000 (22:31 +0000)]
FTL B3 should do BitAnd binary snippets
https://bugs.webkit.org/show_bug.cgi?id=152713

Reviewed by Mark Lam.

Getting ready to finish up the binary bitop snippets.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileBitAnd):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinarySnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinaryBitOpSnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):
* tests/stress/object-bit-and.js: Added.
(foo):
(things.valueOf):
* tests/stress/untyped-bit-and.js: Added.
(foo):
(valueOf):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194556 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoword-wrap: break-word broken inside a flexbox
hyatt@apple.com [Mon, 4 Jan 2016 22:04:41 +0000 (22:04 +0000)]
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.
word-wrap: break-word broken inside a flexbox
https://bugs.webkit.org/show_bug.cgi?id=152321

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/text/word-break-on-flexbox-child.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):

At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
in RenderText was never updated to use the breakWords() RenderStyle function that
checks overflow-wrap's value.

This means all uses of word-wrap:break-word were broken when measuring the
intrinsic width of a RenderText.

LayoutTests:

* fast/text/word-break-on-flexbox-child-expected.html: Added.
* fast/text/word-break-on-flexbox-child.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194555 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agowebkitGetUserMedia built-in should use @then and not then
commit-queue@webkit.org [Mon, 4 Jan 2016 21:38:18 +0000 (21:38 +0000)]
webkitGetUserMedia built-in should use @then and not then
https://bugs.webkit.org/show_bug.cgi?id=152296

Patch by John Wilander <wilander@apple.com> on 2016-01-04
Reviewed by Brent Fulgham.

Source/WebCore:

Test: streams/webkitGetUserMedia-shadowing-then.html

* Modules/mediastream/NavigatorUserMedia.js:
(webkitGetUserMedia): Modified to use @then syntax.

LayoutTests:

* streams/webkitGetUserMedia-shadowing-then-expected.txt: Added.
* streams/webkitGetUserMedia-shadowing-then.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194554 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFTL B3 should do all of the non-bitop binary snippets
fpizlo@apple.com [Mon, 4 Jan 2016 21:33:37 +0000 (21:33 +0000)]
FTL B3 should do all of the non-bitop binary snippets
https://bugs.webkit.org/show_bug.cgi?id=152709

Reviewed by Mark Lam.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStrCat):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithDiv):
* tests/stress/object-add.js: Added.
(foo):
(things.valueOf):
* tests/stress/object-div.js: Added.
(foo):
(things.valueOf):
* tests/stress/object-mul.js: Added.
(foo):
(things.valueOf):
* tests/stress/untyped-add.js: Added.
(foo):
(valueOf):
* tests/stress/untyped-div.js: Added.
(foo):
(valueOf):
* tests/stress/untyped-mul.js: Added.
(foo):
(valueOf):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194553 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed, rolling out r194544.
commit-queue@webkit.org [Mon, 4 Jan 2016 21:28:02 +0000 (21:28 +0000)]
Unreviewed, rolling out r194544.
https://bugs.webkit.org/show_bug.cgi?id=152711

This change caused assertions in existing inspector tests
(Requested by ryanhaddad on #webkit).

Reverted changeset:

"Web Inspector: reproducible debug ASSERT when inspecting the
inspector (WK2)"
https://bugs.webkit.org/show_bug.cgi?id=152080
http://trac.webkit.org/changeset/194544

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194552 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoPost-commit update for r193484.
mmaxfield@apple.com [Mon, 4 Jan 2016 21:27:10 +0000 (21:27 +0000)]
Post-commit update for r193484.
https://bugs.webkit.org/show_bug.cgi?id=151884

Unreviwed.

The same null check needs to be applied in fontHasVerticalGlyphs() as well.

* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::fontHasVerticalGlyphs):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194551 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoUnreviewed, rolling out r194533.
ryanhaddad@apple.com [Mon, 4 Jan 2016 21:18:48 +0000 (21:18 +0000)]
Unreviewed, rolling out r194533.

The test that was re-enabled with this change is still flaky

Reverted changeset:

"Modern IDB TestExpectations gardening."
http://trac.webkit.org/changeset/194533

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194550 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoVideo/audio-related cleanup after changes to the source element for picture support.
hyatt@apple.com [Mon, 4 Jan 2016 21:18:34 +0000 (21:18 +0000)]
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.
Video/audio-related cleanup after changes to the source element for picture support.
https://bugs.webkit.org/show_bug.cgi?id=152090

Reviewed by Darin Adler.

 * html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
Add guards to fix the build when video is not enabled.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194549 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoFTL B3 should do the ArithSub binary snippet
fpizlo@apple.com [Mon, 4 Jan 2016 20:49:33 +0000 (20:49 +0000)]
FTL B3 should do the ArithSub binary snippet
https://bugs.webkit.org/show_bug.cgi?id=152705

Reviewed by Saam Barati.

This implements the ArithSub binary snippet generator in FTL B3.

While doing this, I discovered that the DFG type inference logic for ArithSub contains a
classic mistake: it causes the snippets to kick in when the type set does not contain numbers
rather than kicking in when the type set contains non-numbers. So, the original test that I
wrote for this doesn't work right (it runs to completion but OSR exits ad infinitum). I wrote
a second test that is simpler, and that one shows that the binary snippets "work". That's
sort of a joke though, since the only way to trigger binary snippets is to never pass numbers
and the only way to actually cause a binary snippet to do meaninful work is to pass numbers.
I filed a bug about this mess: https://bugs.webkit.org/show_bug.cgi?id=152708.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileUntypedBinaryOp):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::nonSpeculativeCompare):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinarySnippet):
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):
(JSC::FTL::DFG::LowerDFGToLLVM::lowBlock):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitDescriptor):
* tests/stress/object-sub.js: Added.
(foo):
(things.valueOf):
* tests/stress/untyped-sub.js: Added.
(foo):
(valueOf):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194548 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: Add context menu items to CSS selectors to auto-generate pseudo selectors
commit-queue@webkit.org [Mon, 4 Jan 2016 20:39:52 +0000 (20:39 +0000)]
Web Inspector: Add context menu items to CSS selectors to auto-generate pseudo selectors
https://bugs.webkit.org/show_bug.cgi?id=152657

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-01-04
Reviewed by Timothy Hatcher.

Instead of having to copy a selector, create a new one, paste it, and then add
a pseudo class or element, a context menu item has been added to automate this
process for the user for each CSS pseudo-selector.

* Localizations/en.lproj/localizedStrings.js:

* UserInterface/Controllers/CSSStyleManager.js:
Added a static object containing the list of CSS pseudo-element names.

* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype.addRule.completed):
(WebInspector.DOMNodeStyles.prototype.addRule.styleChanged):
(WebInspector.DOMNodeStyles.prototype.addRule.addedRule):
(WebInspector.DOMNodeStyles.prototype.addRule):
Now accepts a second argument for setting the starting text value of the new rule.

* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):

* UserInterface/Views/VisualStyleSelectorTreeItem.js:
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194547 268f45cc-cd09-0410-ab3c-d52691b4dbfc

3 years agoWeb Inspector: add a DebugUI context menu item for saving inspector protocol traffic...
bburg@apple.com [Mon, 4 Jan 2016 20:37:10 +0000 (20:37 +0000)]
Web Inspector: add a DebugUI context menu item for saving inspector protocol traffic to file
https://bugs.webkit.org/show_bug.cgi?id=152671

Reviewed by Timothy Hatcher.

Add a new tracer that captures all messages, and debug context menu
items to control whether to capture protocol traffic and export it.
In later patches, a reciprocal "Import..." context menu item will
allow opening saved protocol traces and viewing them in a debug UI
content view for debugging/visualizing protocol traffic.

* UserInterface/Base/Main.js:
* UserInterface/Debug/CapturingProtocolTracer.js: Copied from Source/WebInspectorUI/UserInterface/Protocol/ProtocolTracer.js.

    This tracer saves everything into a flat array. JSON protocol
    messages are saved as escaped strings, in case they are not
    valid JSON. We want to be able to debug such scenarios.

(WebInspector.CapturingProtocolTracer):
(WebInspector.CapturingProtocolTracer.prototype.get trace):
(WebInspector.CapturingProtocolTracer.prototype.logFrontendException):
(WebInspector.CapturingProtocolTracer.prototype.logProtocolError):
(WebInspector.CapturingProtocolTracer.prototype.logFrontendRequest):
(WebInspector.CapturingProtocolTracer.prototype.logDidHandleResponse):
(WebInspector.CapturingProtocolTracer.prototype.logDidHandleEvent):
(WebInspector.CapturingProtocolTracer.prototype._stringifyMessage):
(WebInspector.CapturingProtocolTracer.prototype._processEntry):

* UserInterface/Debug/ProtocolTrace.js: Added.

    This is a dumb container that holds protocol trace data. It will
    be responsible for deserializing saved trace files in later work.

(WebInspector.ProtocolTrace):
(WebInspector.ProtocolTrace.prototype.addEntry):
(WebInspector.ProtocolTrace.prototype.get saveData):
* UserInterface/Main.html:
* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass):

    Simplify the implementation. Now there are one or two tracers
    at any given time. The default tracer handles legacy logging
    behavior and always exists. The custom tracer is installed when
    the "Capture Protocol Traffic" context menu item is toggled.

    Dispatch to the array of active tracers at each trace point.
    Tracers now get the actual JSON message instead of a stringified
    version passed as an argument.

(InspectorBackendClass.prototype.set dumpInspectorProtocolMessages):
(InspectorBackendClass.prototype.get dumpInspectorProtocolMessages):
(InspectorBackendClass.prototype.set dumpInspectorTimeStats):
(InspectorBackendClass.prototype.set customTracer):
(InspectorBackendClass.prototype.get activeTracers):
(InspectorBackendClass.prototype._startOrStopAutomaticTracing):
(InspectorBackendClass.prototype._sendMessageToBackend):
(InspectorBackendClass.prototype._dispatchResponse):
(InspectorBackendClass.prototype._dispatchEvent):
(InspectorBackendClass.prototype.set activeTracer): Deleted.
(InspectorBackendClass.prototype.get activeTracer): Deleted.
* UserInterface/Protocol/LoggingProtocolTracer.js:
(WebInspector.LoggingProtocolTracer.prototype._processEntry):
(WebInspector.LoggingProtocolTracer):
(WebInspector.LoggingProtocolTracer.prototype.logFrontendRequest):
(WebInspector.LoggingProtocolTracer.prototype.logWillHandleResponse):
(WebInspector.LoggingProtocolTracer.prototype.logDidHandleResponse):
(WebInspector.LoggingProtocolTracer.prototype.logWillHandleEvent):
(WebInspector.LoggingProtocolTracer.prototype.logDidHandleEvent):
* UserInterface/Protocol/ProtocolTracer.js:
(WebInspector.ProtocolTracer.prototype.logFrontendException):
(WebInspector.ProtocolTracer.prototype.logProtocolError):
(WebInspector.ProtocolTracer.prototype.logFrontendRequest):
(WebInspector.ProtocolTracer.prototype.logWillHandleResponse):
(WebInspector.ProtocolTracer.prototype.logDidHandleResponse):
(WebInspector.ProtocolTracer.prototype.logWillHandleEvent):
(WebInspector.ProtocolTracer.prototype.logDidHandleEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194546 268f45cc-cd09-0410-ab3c-d52691b4dbfc