Timeline
Jan 12, 2016:
- 10:58 PM Changeset in webkit [194956] by
-
- 3 edits in trunk/Source/WebCore
[Content Filtering] forEachContentFilterUntilBlocked should accept a lambda by rvalue reference
https://bugs.webkit.org/show_bug.cgi?id=153057
Reviewed by Dan Bernstein.
No new tests. No change in behavior.
Instead of having ContentFilter::forEachContentFilterUntilBlocked() take a std::function, just have it take an
rvalue reference to the lambda its passed.
- loader/ContentFilter.cpp:
(WebCore::ContentFilter::forEachContentFilterUntilBlocked):
- loader/ContentFilter.h:
- 10:47 PM Changeset in webkit [194955] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Fix return value of some paint methods in RenderThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=153015
Reviewed by Michael Catanzaro.
The bool value returned by paint methods in RenderTheme means
whether the appearance is supported or not, so we should return
true when not supported (so we didn't paint anything) and false
when supported (so we actually painted the theme part).
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::RenderThemeGtk::paintMediaButton):
(WebCore::RenderThemeGtk::paintMediaMuteButton):
(WebCore::RenderThemeGtk::paintMediaPlayButton):
(WebCore::RenderThemeGtk::paintMediaSliderTrack):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer): Deleted.
- rendering/RenderThemeGtk.h:
- 9:55 PM Changeset in webkit [194954] by
-
- 5 edits in trunk/Source
Versioning.
- 9:48 PM Changeset in webkit [194953] by
-
- 1 copy in tags/Safari-602.1.16
New tag.
- 7:23 PM Changeset in webkit [194952] by
-
- 10 edits in trunk/Source/WebCore
[Content Filtering] De-virtualize PlatformContentFilter::{needsMoreData, didBlockData}()
https://bugs.webkit.org/show_bug.cgi?id=153052
Reviewed by Andreas Kling.
No new tests. No change in behavior.
Instead of having virtual functions that each platform content filter implement in terms of their own state,
store the state in the base class so that these functions can be non-virtual. Teach each subclass to update the
base class state appropriately.
- loader/ContentFilter.h:
- platform/PlatformContentFilter.h:
(WebCore::PlatformContentFilter::needsMoreData):
(WebCore::PlatformContentFilter::didBlockData):
- platform/cocoa/NetworkExtensionContentFilter.h:
- platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::willSendRequest):
(WebCore::NetworkExtensionContentFilter::responseReceived):
(WebCore::NetworkExtensionContentFilter::handleDecision):
(WebCore::NetworkExtensionContentFilter::NetworkExtensionContentFilter): Deleted.
(WebCore::NetworkExtensionContentFilter::needsMoreData): Deleted.
(WebCore::NetworkExtensionContentFilter::didBlockData): Deleted.
- platform/cocoa/ParentalControlsContentFilter.h:
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::ParentalControlsContentFilter::responseReceived):
(WebCore::ParentalControlsContentFilter::updateFilterState):
(WebCore::ParentalControlsContentFilter::ParentalControlsContentFilter): Deleted.
(WebCore::ParentalControlsContentFilter::needsMoreData): Deleted.
(WebCore::ParentalControlsContentFilter::didBlockData): Deleted.
- platform/spi/cocoa/NEFilterSourceSPI.h:
- testing/MockContentFilter.cpp:
(WebCore::MockContentFilter::willSendRequest):
(WebCore::MockContentFilter::maybeDetermineStatus):
(WebCore::MockContentFilter::needsMoreData): Deleted.
(WebCore::MockContentFilter::didBlockData): Deleted.
- testing/MockContentFilter.h:
- 6:09 PM Changeset in webkit [194951] by
-
- 2 edits in trunk/Source/WebCore
Address missed review feedback after r194950.
- platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::initialize): Renamed the NetworkExtension dispatch queue.
- 6:07 PM Changeset in webkit [194950] by
-
- 22 edits1 copy1 add in trunk
[Content Filtering] Lazily load platform frameworks
https://bugs.webkit.org/show_bug.cgi?id=152881
rdar://problem/23270886
Reviewed by Brady Eidson.
Source/WebCore:
On Cocoa platforms, ContentFilter soft-links two frameworks that perform the underlying filtering operations.
There is a one-time cost associated with the soft-linking, and the current design requires all clients to pay
this cost whether or not they ever load a resource that is subject to filtering.
Addressed this by deferring the loading of frameworks until it is known that a resource will require filtering.
It is rather simple to defer the soft-linking at the PlatformContentFilter level, but doing this alone would
mean that every CachedRawResourceClient callback would be routed through ContentFilter, even in the very common
case where both platform content filters are disabled. This is because checking if a platform content filter is
enabled involves loading its framework, so creating a ContentFilter (which DocumentLoader will add as the
CachedRawResource client in place of itself) cannot be avoided by checking that all its platform content filters
are disabled.
Resolved this by inverting the relationship between ContentFilter and DocumentLoader. Instead of ContentFilter
being the CachedRawResource's client and forwarding callbacks to DocumentLoader when one or more platform
filters are enabled, DocumentLoader is now always the client and it forwards callbacks to ContentFilter.
ContentFilter then returns a boolean value indicating whether or not DocumentLoader should proceed with each
callback.
New API test: ContentFiltering.LazilyLoadPlatformFrameworks
- loader/ContentFilter.cpp:
(WebCore::ContentFilter::create): Renamed from createIfEnabled(). Since the enabled check causes frameworks to
be loaded, the check is skipped here and all types are always created.
(WebCore::ContentFilter::continueAfterWillSendRequest): Renamed from willSendRequest(). Renamed requestCopy to
originalRequest, and only created it for logging purposes. Since the copy was only used for logging purposes,
request is now modified directly. Returned false if request is null.
(WebCore::ContentFilter::continueAfterResponseReceived): Renamed from responseReceived(). Stopped asserting that
resource is non-null, since it will be null in the case of substitute data loads. Stopped asserting that m_state
is not Initialized, since that state was removed and the function can now be called in all states. Only logged
if m_state is Filtering. Returned false if m_state is Blocked.
(WebCore::ContentFilter::continueAfterDataReceived): Renamed from dataReceived(). Stopped asserting that
resource is non-null and that m_state is Initialized, and moved the logging, for the same reasons as above.
Returned false if m_state is Filtering or Blocked.
(WebCore::ContentFilter::continueAfterNotifyFinished): Renamed from notifyFinished(). Stopped asserting that
resource is non-null and that m_state is not Initialized, and moved the logging, for the same reasons as above.
If m_state is not Blocked at this point, set m_state to Allowed in order for deliverResourceData() to not get
caught in continueAfterDataReceived(). Returned false if m_state is Blocked or Stopped after delivering data.
(WebCore::ContentFilter::createIfEnabled): Renamed to create().
(WebCore::ContentFilter::~ContentFilter): Stopped removing ourself as m_mainResource's client.
(WebCore::ContentFilter::willSendRequest): Renamed to continueAfterWillSendRequest().
(WebCore::ContentFilter::startFilteringMainResource): Stopped adding ourself as m_mainResource's client. Stopped
asserting that m_state is not Initialized and instead returned early if m_state is not Stopped.
(WebCore::ContentFilter::stopFilteringMainResource): Stopped removing ourself as m_mainResource's client.
(WebCore::ContentFilter::responseReceived): Renamed to continueAfterResponseReceived().
(WebCore::ContentFilter::dataReceived): Renamed to continueAfterDataReceived().
(WebCore::ContentFilter::redirectReceived): Removed. DocumentLoader now calls continueAfterWillSendRequest()
directly on redirects.
(WebCore::ContentFilter::notifyFinished): Renamed to continueAfterNotifyFinished().
(WebCore::ContentFilter::didDecide): Instead of calling DocumentLoader::contentFilterDidDecide(), called
DocumentLoader::contentFilterDidBlock() when m_state is Blocked.
(WebCore::ContentFilter::deliverResourceData): Asserted that m_state is Allowed.
- loader/ContentFilter.h: Stopped inheriting from CachedRawResourceClient. Redeclared the
CachedRawResourceClient virtual functions as the continue* functions mentioned above. Made State enum private
and removed Initialized. Initialized m_state to Stopped and removed its getter.
(WebCore::ContentFilter::type): Returned a ContentFilter::Type that does not include an enabled function.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::notifyFinished): Returned early if ContentFilter::continueAfterNotifyFinished()
returned false.
(WebCore::DocumentLoader::willSendRequest): Called ContentFilter::continueAfterWillSendRequest() even for
redirects, since ContentFilter is no longer a CachedRawResourceClient and so will no longer receive
redirectReceived(). Returned early if continueAfterWillSendRequest() returns false.
(WebCore::DocumentLoader::responseReceived): Returned early if ContentFilter::continueAfterResponseReceived()
returned false.
(WebCore::DocumentLoader::dataReceived): Ditto for ContentFilter::continueAfterDataReceived().
(WebCore::DocumentLoader::startLoadingMainResource): Called ContentFilter::create(), not createIfEnabled().
(WebCore::DocumentLoader::becomeMainResourceClient): Called ContentFilter::startFilteringMainResource() even if
m_state is not Initialized. Added ourself as a client of m_mainResource unconditionally.
(WebCore::DocumentLoader::contentFilterDidBlock): Renamed from contentFilterDidDecide. Removed assertions and
the early return when m_state is Allowed, since the state is guaranteed to be Blocked.
(WebCore::DocumentLoader::contentFilterDidDecide): Renamed to contentFilterDidBlock.
- platform/cocoa/NetworkExtensionContentFilter.h: Moved definition of HAVE_NETWORK_EXTENSION to Platform.h so
that this file doesn't need to become a Private header. Made enabled() private, and declared initialize().
- platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::initialize): Added a function to lazily initialize the object.
(WebCore::NetworkExtensionContentFilter::willSendRequest): For the modern NEFilterSource, checked if it is
enabled only after checking if the request is HTTP(S). If both checks pass, then called initialize().
(WebCore::NetworkExtensionContentFilter::responseReceived): Ditto for the legacy NEFilterSource.
- platform/cocoa/ParentalControlsContentFilter.h: Made enabled() private.
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::ParentalControlsContentFilter::responseReceived): Checked if WebFilterEvaluator is enabled only after
checking if the response is from a protocol that can be handled.
- testing/MockContentFilter.cpp:
(WebCore::MockContentFilter::willSendRequest): Immediately set m_status to Status::Allowed if !enabled().
- testing/MockContentFilter.h: Made enabled() private.
Source/WTF:
- wtf/Platform.h: Moved definition of HAVE_NETWORK_EXTENSION to here from WebCore/platform/cocoa/NetworkExtensionContentFilter.h.
Tools:
Added an API test that verifies that the Parental Controls and Network Extension frameworks are loaded at the
expected times. The test verifies that they are not loaded after creating a WKWebView, loading an HTML string,
loading NSData, loading a file, or loading from a custom protocol. It verifies that Network Extension on Mac/iOS
and Parental Controls on iOS are loaded after an HTTP request. It finally verifies that Parental Controls on Mac
is loaded after an HTTPS request.
To accomplish this, TestProtocol was generalized to allow tests to specify the scheme they wish to use.
Other tests that used TestProtocol were updated to account for this change. TestProtocol was removed from
WebKit2.PreventImageLoadWithAutoResizingTest, which didn't actually need to use it. ContentFiltering tests were
also re-enabled on iOS after mistakenly being disabled by r188892.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/CustomProtocolsSyncXHRTest.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.h: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm:
(TEST):
(downloadTest):
(-[LazilyLoadPlatformFrameworksController init]):
(-[LazilyLoadPlatformFrameworksController webView]):
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
(-[LazilyLoadPlatformFrameworksController webView:didFinishNavigation:]):
- TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm:
(-[ContentFilteringPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[ContentFilteringPlugIn observeValueForKeyPath:ofObject:change:context:]):
(-[ContentFilteringPlugIn checkIfPlatformFrameworksAreLoaded:]):
- TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm:
(TestWebKitAPI::TEST): Deleted.
- TestWebKitAPI/cocoa/TestProtocol.h:
- TestWebKitAPI/cocoa/TestProtocol.mm:
(+[TestProtocol registerWithScheme:]):
(+[TestProtocol unregister]):
- 5:41 PM Changeset in webkit [194949] by
-
- 2 edits in branches/safari-601-branch/Source/ThirdParty/ANGLE
Merge r194780. rdar://problem/24043054
- 5:41 PM Changeset in webkit [194948] by
-
- 4 edits in branches/safari-601-branch/Source/WebCore
Merge r194751. rdar://problem/24043054
- 5:41 PM Changeset in webkit [194947] by
-
- 3 edits in branches/safari-601-branch/Source/WebCore
Merge r194745. rdar://problem/24101258
- 5:41 PM Changeset in webkit [194946] by
-
- 6 edits3 adds in branches/safari-601-branch
Merge r194704. rdar://problem/24043057
- 5:41 PM Changeset in webkit [194945] by
-
- 5 edits2 adds in branches/safari-601-branch
Merge r194910. rdar://problem/24101255
- 5:41 PM Changeset in webkit [194944] by
-
- 2 edits in branches/safari-601-branch/Source/WebInspectorUI
Merge r194602. rdar://problem/24101260
- 5:41 PM Changeset in webkit [194943] by
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Merge r194589. rdar://problem/24101250
- 5:41 PM Changeset in webkit [194942] by
-
- 7 edits2 adds in branches/safari-601-branch
Merge r194083. rdar://problem/24101257
- 5:41 PM Changeset in webkit [194941] by
-
- 2 edits in branches/safari-601-branch/Source/WebInspectorUI
Merge r194066. rdar://problem/24101252
- 5:41 PM Changeset in webkit [194940] by
-
- 2 edits in branches/safari-601-branch/Source/WebInspectorUI
Merge r194009. rdar://problem/24101259
- 5:41 PM Changeset in webkit [194939] by
-
- 2 edits in branches/safari-601-branch/Source/WebInspectorUI
Merge r193858. rdar://problem/24101282
- 5:41 PM Changeset in webkit [194938] by
-
- 20 edits2 copies4 adds2 deletes in branches/safari-601-branch
Merge r194908. rdar://problem/24101253
- 5:18 PM Changeset in webkit [194937] by
-
- 2 edits in trunk/LayoutTests
Changing expectation from flaky to skip for two crashing tests.
https://bugs.webkit.org/show_bug.cgi?id=152279
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 5:14 PM Changeset in webkit [194936] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Timeline recording controls should use NavigationBar
https://bugs.webkit.org/show_bug.cgi?id=152997
Reviewed by Brian Burg.
NavigtaionBar should always be preferred over manually editing the DOM.
Reusing existing button types for the record button and status element lets us
eliminate a bunch of CSS, and will make future changes to the Timelines UI
(such as adding addition recording controls), easier to implement.
- Localizations/en.lproj/localizedStrings.js:
New tooltip strings.
- UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop):
(.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop:hover):
(.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop:active):
Replaced similar styles used for the record glyph.
(.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop *):
Prevent multiple mouseover/mouseout events while hovering the navigation item.
(.sidebar > .panel.navigation.timeline > .navigation-bar > .item.flexible-space):
Replaced similar styles used for the record status element.
(.sidebar > .panel.navigation.timeline > .status-bar): Deleted.
(body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar): Deleted.
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): Deleted.
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): Deleted.
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active): Deleted.
(.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): Deleted.
(.sidebar > .panel.navigation.timeline > .status-bar > .record-status): Deleted.
(.panel.timeline .navigation-bar.timelines-view): Deleted.
No longer used.
- UserInterface/Views/TimelineSidebarPanel.js:
Removed unused CSS static variables.
(WebInspector.TimelineSidebarPanel):
Create navigation bar, remove status bar DOM elements. Create keyboard shortcut
before the record button, so the shortcut's display name can be used in tooltips.
(WebInspector.TimelineSidebarPanel.prototype._capturingStartedOrStopped):
Update record button state and flexible space (status) text.
(WebInspector.TimelineSidebarPanel.prototype._recordButtonClicked):
Toggle recording state, and update record button state and flexible space (status) text.
(WebInspector.TimelineSidebarPanel.prototype._recordButtonMousedOver):
(WebInspector.TimelineSidebarPanel.prototype._recordButtonMousedOut):
Update flexible space (status) text.
(WebInspector.TimelineSidebarPanel.prototype._updateRecordButton):
(WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility):
(WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Deleted.
(WebInspector.TimelineSidebarPanel.prototype._capturingStarted): Deleted.
(WebInspector.TimelineSidebarPanel.prototype._capturingStopped): Deleted.
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver): Deleted.
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut): Deleted.
(WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked): Deleted.
No longer used.
- 5:05 PM Changeset in webkit [194935] by
-
- 2 edits in trunk/Websites/perf.webkit.org
buildbot syncing scripts sometimes schedule more than one requests per builder
https://bugs.webkit.org/show_bug.cgi?id=153047
Reviewed by Chris Dumez.
The bug was caused by the check for singularity of scheduledRequests being conducted per configuration
instead of per builder. So if there were multiple test configurations (e.g. Speedometer and Octane) that
both used the same builder, then we may end up scheduling both at once.
Fixed the bug by sharing a single set to keep track of the scheduled requests for all configurations per
builder.
- tools/sync-with-buildbot.py:
(load_config): Share a set amongst test configurations for each builder.
(find_request_updates): Instead of creating a new set for each configuration, reuse the existing sets to
share a single set agmonst test configurations for each builder.
- 4:32 PM Changeset in webkit [194934] by
-
- 5 edits2 deletes in trunk
Unreviewed, rolling out r194926 and r194928.
https://bugs.webkit.org/show_bug.cgi?id=153048
This change is causing LayoutTest crashes (Requested by
ryanhaddad on #webkit).
Reverted changesets:
"Avoid downloading the wrong image for <picture> elements."
https://bugs.webkit.org/show_bug.cgi?id=153027
http://trac.webkit.org/changeset/194926
"Avoid downloading the wrong image for <picture> elements."
https://bugs.webkit.org/show_bug.cgi?id=153027
http://trac.webkit.org/changeset/194928
- 4:10 PM Changeset in webkit [194933] by
-
- 5 edits2 adds in trunk
[iOS] Antialiasing doesn't work in WebGL
https://bugs.webkit.org/show_bug.cgi?id=153000
<rdar://problem/9165531>
Reviewed by Alex Christensen.
Source/WebCore:
WebGL has supported platform antialiasing since
the beginning, but we never hooked it up for iOS
because it used a slightly different extension.
Test: fast/canvas/webgl/antialiasing-enabled.html
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::endPaint): Resolve the multisampling
buffer once we're done painting.
(WebCore::GraphicsContext3D::~GraphicsContext3D): We never created
the m_compositorTexture RenderBuffer on iOS, so no point deleting
it.
- platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension): The iOS extension
has a slightly different name.
- platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::reshapeFBOs): Make sure to create the
multisample buffer with the correct format.
(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): We
need to remember what our bound frame buffer is when we
enter this call, and restore it afterwards. In the middle we can
discard our multisample read buffer once we have resolved it
into the normal framebuffer.
LayoutTests:
New test to check if WebGL antialiasing happened on a rendered canvas.
- fast/canvas/webgl/antialiasing-enabled-expected.txt: Added.
- fast/canvas/webgl/antialiasing-enabled.html: Added.
- 4:04 PM Changeset in webkit [194932] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Move helper methods for getting icons/text to TimelineTabContentView
https://bugs.webkit.org/show_bug.cgi?id=152996
Reviewed by Brian Burg.
In preparation for the Timelines UI redesign, helper methods which existed
in the sidebar panel and timeline tree elements need to be relocated,
since the sidebar won't exist in the new UI.
- UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement):
Removed icon/title code, replaced with calls to new helper methods.
Code to create the alternate subtitle was broken out form the rest
of the icon/title code, and kept in the constructor.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._instrumentAdded):
Updated calls to helper methods.
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype._instrumentAdded):
(WebInspector.TimelineSidebarPanel.displayNameForTimeline): Deleted.
(WebInspector.TimelineSidebarPanel.iconClassNameForTimeline): Deleted.
Moved to TimelineTabContentView.
- UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.displayNameForTimeline):
(WebInspector.TimelineTabContentView.iconClassNameForTimeline):
Relocated from TimelineSidebarPanel.
(WebInspector.TimelineTabContentView.iconClassNameForRecord):
(WebInspector.TimelineTabContentView.displayNameForRecord):
New helper methods. Previously part of TimelineRecordTreeElement.
- 4:02 PM Changeset in webkit [194931] by
-
- 2 edits in trunk/LayoutTests
Skipped more tests related to picture element on ios-simulator and grouped them together in TestExpectations file.
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:51 PM Changeset in webkit [194930] by
-
- 2 edits in trunk/LayoutTests
Skipping crashing test fast/picture/image-picture-loads-1x.html on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153043
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 2:48 PM Changeset in webkit [194929] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Analysis results viewer sometimes doesn't show the correct relative difference
https://bugs.webkit.org/show_bug.cgi?id=152930
Reviewed by Chris Dumez.
The bug was caused by single A/B testing result associated with multiple rows when there are multiple data
points with the same root set which matches that of an A/B testing.
Fixed the bug by detecting such a case, and only associating each A/B testing result with the row created
for the first matching point.
- public/v3/components/analysis-results-viewer.js:
(AnalysisResultsViewer.prototype._buildRowsForPointsAndTestGroups):
- 2:29 PM Changeset in webkit [194928] by
-
- 1 edit2 adds in trunk/LayoutTests
Avoid downloading the wrong image for <picture> elements.
https://bugs.webkit.org/show_bug.cgi?id=153027
Reviewed by Dean Jackson.
- fast/picture/image-picture-loads-1x-expected.txt: Added.
- fast/picture/image-picture-loads-1x.html: Added.
- 2:28 PM Changeset in webkit [194927] by
-
- 27 edits2 adds in trunk
XSS Auditor should navigate to empty substitute data on full page block
https://bugs.webkit.org/show_bug.cgi?id=152868
<rdar://problem/18658448>
Reviewed by David Kilzer and Andy Estes.
Derived from Blink patch (by Tom Sepez <tsepez@chromium.org>):
<https://src.chromium.org/viewvc/blink?view=rev&revision=179240>
Source/WebCore:
Test: http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html
- html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::didBlockScript): Modified to call NavigationScheduler::schedulePageBlock().
- loader/NavigationScheduler.cpp:
(WebCore::ScheduledPageBlock::ScheduledPageBlock): Added.
(WebCore::NavigationScheduler::schedulePageBlock): Navigate to empty substitute data with
the same URL as the originating document.
- loader/NavigationScheduler.h:
LayoutTests:
Added additional test block-does-not-leak-that-page-was-blocked-using-empty-data-url.html to explicitly
tests that we do redirect to an empty data URL when a full page block is triggered.
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
- http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
- http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
- http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url-expected.txt: Added.
- http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: Added.
- http/tests/security/xssAuditor/full-block-base-href-expected.txt:
- http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
- http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
- http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
- http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
- http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
- http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
- http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
- http/tests/security/xssAuditor/full-block-script-tag.html:
- http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
- http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
- 2:18 PM Changeset in webkit [194926] by
-
- 4 edits in trunk/Source/WebCore
Avoid downloading the wrong image for <picture> elements.
https://bugs.webkit.org/show_bug.cgi?id=153027
Reviewed by Dean Jackson.
I was unable to write a reliable test for this feature (I welcome suggestions regarding
how this could be tested).
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::~HTMLImageElement):
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::insertedInto):
(WebCore::HTMLImageElement::removedFrom):
(WebCore::HTMLImageElement::pictureNode):
(WebCore::HTMLImageElement::setPictureNode):
- html/HTMLImageElement.h:
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElement):
Images that are built underneath a <picture> element are now connected
to that picture element via a setPictureNode call from the parser. This
ensures that the correct <source> elements are examined before checking the image.
This connection between images and their picture owners is handled using a static
HashMap in HTMLImageElement. This connection is made both from the parser and from
DOM insertions, and the map is queried now instead of looking directly at the
image's parentNode().
Also note the change to pass the document element's computed style in for media
query evaluation. Just as with the preload scanner, the image's style can't be
used as it has not been determined yet.
- 2:06 PM Changeset in webkit [194925] by
-
- 2 edits in trunk/Source/WebKit2
WebPageProxy should reattach to the web process before navigating
https://bugs.webkit.org/show_bug.cgi?id=153026
Reviewed by Anders Carlsson.
This fixes a crash (and lots of other corruption) when force-quitting
the web process during navigation.
Some objects (like ViewGestureController) use one-time initialization
to point to a ChildProcessProxy -- and, by design, we destroy them when
the ChildProcessProxy becomes invalid (i.e., crashes or quits).
If we navigate *before* creating a new, valid ChildProcessProxy, then
we accidentally re-create these objects pointing to the old, invalid
ChildProcessProxy.
We need to wait until we have a valid ChildProcessProxy before we
initialize these objects.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcessWithItem): Navigate after
reattaching to the web process so that lazily allocated helper objects
point to the right ChildProcessProxy.
- 1:53 PM Changeset in webkit [194924] by
-
- 2 edits in trunk/Tools
Fix the Sunpider converage in slow device.
https://bugs.webkit.org/show_bug.cgi?id=152938
<rdar://problem/22511411>
Reviewed by Ryosuke Niwa.
Updated the patch for RunBenchmark to resume sunspider coverage by removing unused subresources in sub-tests.
- Scripts/webkitpy/benchmark_runner/data/patches/SunSpider.patch:
- 1:36 PM Changeset in webkit [194923] by
-
- 12 edits in trunk/Source/WebCore
Cleanup in font loading code
https://bugs.webkit.org/show_bug.cgi?id=153023
Reviewed by Zalan Bujtas.
See detailed notes below.
No new tests because there is no behavior change.
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::isLoaded): Deleted. Never called.
- css/CSSFontFace.h: Ditto.
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::font): No need to use a helper
isLoaded() function.
(WebCore::CSSFontFaceSource::isLoaded): Deleted. Unnecessary.
- css/CSSFontFaceSource.h:
- css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::cachedFont): Un-indent code.
- css/CSSFontSelector.cpp:
(WebCore::registerLocalFontFacesForFamily): constructFamilyFontFaces()
always returns an empty Vector. Therefore, the function of this function
is to perform the ancillary processing related to the case where the Faces
don't already exist. Renames the function and removes the empty vector
return.
(WebCore::CSSFontSelector::addFontFaceRule): Update for
registerLocalFontFacesForFamily().
(WebCore::FontFaceComparator::FontFaceComparator): Instead of using a static,
construct a wrapper class around the comparator.
(WebCore::FontFaceComparator::operator()): Ditto.
(WebCore::CSSFontSelector::getFontFace): Un-indent code and update to use
FontFaceComparator.
(WebCore::CSSFontSelector::fallbackFontAt): Migrate off PassRefPtr.
(WebCore::constructFamilyFontFaces): Deleted.
(WebCore::compareFontFaces): Deleted.
(WebCore::CSSFontSelector::resolvesFamilyFor): Deleted. Never called.
- css/CSSFontSelector.h:
- css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::isValid): Deleted.
(WebCore::CSSSegmentedFontFace::fontRanges): Cache negative validity results.
- css/CSSSegmentedFontFace.h:
- platform/graphics/FontCascade.h:
(WebCore::FontCascade::fontSelector): Use nullptr.
- platform/graphics/FontSelector.h:
- 1:34 PM Changeset in webkit [194922] by
-
- 2 edits in trunk/Source/JavaScriptCore
[FTL][Win64] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=153031
Reviewed by Brent Fulgham.
The header file dlfcn.h does not exist on Windows.
- ftl/FTLLowerDFGToLLVM.cpp:
- 1:25 PM Changeset in webkit [194921] by
-
- 16 edits in trunk
Add a build flag for custom element
https://bugs.webkit.org/show_bug.cgi?id=153005
Reviewed by Alex Christensen.
.:
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Added a build flag for enabling custom elements.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
Added --custom-elements option to enable custom elements support.
- Scripts/webkitperl/FeatureList.pm:
- 12:52 PM Changeset in webkit [194920] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: fix some common misspellings in localized strings
https://bugs.webkit.org/show_bug.cgi?id=153030
<rdar://problem/24153340>
Reviewed by Joseph Pecoraro.
Replace 'occured', 'transfered' with 'occurred' and 'transferred'.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView.prototype._queryError):
- UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
- 12:28 PM Changeset in webkit [194919] by
-
- 1 edit2 adds in trunk/LayoutTests
Null dereference loading Blink layout test fast/frames/navigation-in-pagehide.html
https://bugs.webkit.org/show_bug.cgi?id=149303
<rdar://problem/22747634>
Reviewed by Brent Fulgham.
- imported/blink/fast/frames/navigation-in-pagehide-expected.txt: Added.
- imported/blink/fast/frames/navigation-in-pagehide.html: Added.
- 12:20 PM Changeset in webkit [194918] by
-
- 6 edits2 adds in trunk
WebRTC: Update RTCPeerConnection.add/removeTrack() and add test
https://bugs.webkit.org/show_bug.cgi?id=153010
Reviewed by Eric Carlson.
Source/WebCore:
RTCPeerConnection.add/removeTrack() are not fully spec compliant yet, since that would
require support for RTCRtpTransceiver which is a new work-in-progress feature. Use
Vector, instead of map, for senders and receivers since nothing is removed from these
sets anymore.
Test: fast/mediastream/RTCPeerConnection-add-removeTrack.html
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::removeTrack):
(WebCore::RTCPeerConnection::queuedCreateOffer): Deleted.
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCRtpSender.cpp:
(WebCore::RTCRtpSender::RTCRtpSender):
- Modules/mediastream/RTCRtpSender.h:
(WebCore::RTCRtpSender::create):
(WebCore::RTCRtpSender::mediaStreamIds):
LayoutTests:
Add test for RTCPeerConnection.add/removeTrack() (currently not covered by other tests).
This test also covers some of the functionality of RTCRtpSender.
- fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt: Added.
- fast/mediastream/RTCPeerConnection-add-removeTrack.html: Added.
- 12:16 PM Changeset in webkit [194917] by
-
- 2 edits2 adds in trunk/LayoutTests
Null dereference loading Blink layout test editing/selection/selectstart-event-crash.html
https://bugs.webkit.org/show_bug.cgi?id=150210
<rdar://problem/23137259>
Reviewed by Brent Fulgham.
- imported/blink/editing/selection/selectstart-event-crash-expected.txt: Added.
- imported/blink/editing/selection/selectstart-event-crash.html: Added.
- platform/ios-simulator-wk2/TestExpectations:
- 12:11 PM Changeset in webkit [194916] by
-
- 1 edit2 adds in trunk/LayoutTests
Null dereference loading Blink layout test editing/apply-inline-style-to-element-with-no-renderer-crash.html
https://bugs.webkit.org/show_bug.cgi?id=149287
<rdar://problem/22746217>
Reviewed by Brent Fulgham.
- imported/blink/editing/apply-inline-style-to-element-with-no-renderer-crash-expected.txt: Added.
- imported/blink/editing/apply-inline-style-to-element-with-no-renderer-crash.html: Added.
- 12:05 PM Changeset in webkit [194915] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Remove some invalid immediate instruction forms from ARM64 Air
https://bugs.webkit.org/show_bug.cgi?id=153024
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-12
Reviewed by Michael Saboff.
- b3/B3BasicBlock.h:
Export the symbols for testb3.
- b3/air/AirOpcode.opcodes:
We had 2 invalid opcodes:
-Compare with immediate just does not exist.
-Test64 with immediate exists but Air does not recognize
the valid form of bit-immediates.
- b3/testb3.cpp:
(JSC::B3::genericTestCompare):
(JSC::B3::testCompareImpl):
Extend the tests to cover what was invalid.
- 11:31 AM Changeset in webkit [194914] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/ThirdParty/ANGLE
Merge r194780. rdar://problem/24042915
- 11:31 AM Changeset in webkit [194913] by
-
- 4 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r194751. rdar://problem/24042915
- 11:31 AM Changeset in webkit [194912] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Merge r194750. rdar://problem/24074335
- 11:31 AM Changeset in webkit [194911] by
-
- 8 edits in branches/safari-601.1.46-branch
Merge r194667. rdar://problem/24074334
- 11:31 AM Changeset in webkit [194910] by
-
- 5 edits2 adds in branches/safari-601.1.46-branch
Merge r194666. rdar://problem/24101185
- 11:31 AM Changeset in webkit [194909] by
-
- 3 edits12 adds in branches/safari-601.1.46-branch
Merge r194038. rdar://problem/24101170
- 11:31 AM Changeset in webkit [194908] by
-
- 20 edits2 copies4 adds2 deletes in branches/safari-601.1.46-branch
Merge r192186. rdar://problem/24101174
- 11:27 AM Changeset in webkit [194907] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] Updated French translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=153013
Patch by Sam Friedmann <sfriedma@redhat.com> on 2016-01-12
Rubber-stamped by Michael Catanzaro.
- fr.po:
- 11:27 AM Changeset in webkit [194906] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix DataGrid row disclosure appearance and behavior
https://bugs.webkit.org/show_bug.cgi?id=152991
Reviewed by Brian Burg.
- UserInterface/Views/DataGrid.css:
(.data-grid tr.parent td.disclosure::before):
Ensure triangle is vertically aligned for any row height.
(.data-grid tr:not(.parent) td.disclosure):
Fix indent size.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGridNode.prototype.createCell):
Addedicon
column property, encapsulate icon element creation.
(WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle):
Fix hit test logic by computing left padding.
- 11:17 AM Changeset in webkit [194905] by
-
- 3 edits2 adds in trunk/Source/WebCore
Modern IDB: Check in empty SQLite backing store implementation.
https://bugs.webkit.org/show_bug.cgi?id=153022
Reviewed by Alex Christensen.
No new tests (No change in behavior).
Just to get the implementation files in the tree, this backing store currently does nothing
other than return errors for every operation.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: Added.
(WebCore::IDBServer::SQLiteIDBBackingStore::SQLiteIDBBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::~SQLiteIDBBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
(WebCore::IDBServer::SQLiteIDBBackingStore::generateKeyNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::revertGeneratedKeyNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::maybeUpdateKeyGeneratorNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::openCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h: Added.
- 11:17 AM Changeset in webkit [194904] by
-
- 13 edits in trunk
Modern IDB: storage/indexeddb/dont-wedge.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=152892
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Reenabled existing test).
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::abortOpenAndUpgradeNeeded):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::requestCompleted): If the database was opened
or an upgrade transaction was started, but the script execution context is already
stopped, immediately message back to the server so it doesn't wedge.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::abortOpenAndUpgradeNeeded):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abortWithoutCallback):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::abortOpenAndUpgradeNeeded):
- Modules/indexeddb/shared/InProcessIDBServer.h:
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 11:16 AM Changeset in webkit [194903] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION (r194879) - Opening views without being previously opened causes an Uncaught Exception
https://bugs.webkit.org/show_bug.cgi?id=153006
Patch by Devin Rousso <Devin Rousso> on 2016-01-12
Reviewed by Brian Burg.
- UserInterface/Views/MultipleScopeBarItem.js:
(WebInspector.MultipleScopeBarItem.prototype.displaySelectedItem):
If there is no selected item, default to the first item in the list.
- 10:48 AM Changeset in webkit [194902] by
-
- 15 edits1 delete in trunk/Source/WebKit2
Ask for UI Process approval of ProtectionSpace when authenticating downloads with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=152999
Reviewed by Brady Eidson.
- DerivedSources.make:
I mistakenly added PendingDownload.messages.in in r194810, but this will not be needed because
the PendingDownload is not a MessageReceiver. Rather, the NetworkProcess receives the messages
and forwards their contents to the PendingDownload through its DownloadManager.
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::dataTaskBecameDownloadTask):
(WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::DownloadManager::convertHandleToDownload):
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::continueWillSendRequest):
(WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync):
Instead of taking a shortcut I added in r194810, send a message to the UI process and wait for its
asynchronous reply to determine if we can authenticate against this protection space.
(WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::PendingDownload::didConvertToDownload):
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/Downloads/PendingDownload.messages.in: Removed.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::cancelDownload):
(WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::NetworkProcess::setCacheModel):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- Shared/Authentication/AuthenticationManager.h:
- UIProcess/API/APIDownloadClient.h:
(API::DownloadClient::didFail):
(API::DownloadClient::didCancel):
(API::DownloadClient::processDidCrash):
(API::DownloadClient::canAuthenticateAgainstProtectionSpace):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
(WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
(WebKit::DownloadProxy::didReceiveResponse):
- UIProcess/Downloads/DownloadProxy.h:
- UIProcess/Downloads/DownloadProxy.messages.in:
- WebKit2.xcodeproj/project.pbxproj:
- 10:44 AM Changeset in webkit [194901] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: creating a gradient in the Visual sidebar causes a crash
https://bugs.webkit.org/show_bug.cgi?id=153003
Patch by Devin Rousso <Devin Rousso> on 2016-01-12
Reviewed by Brian Burg.
- UserInterface/Views/VisualStyleBackgroundPicker.js:
(WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked):
If a gradient does not already exist when the swatch is clicked, create a basic
gradient using the current type and two "transparent" color stops (a minimum of
two color stops are needed for a valid gradient).
- 10:13 AM Changeset in webkit [194900] by
-
- 21 edits in trunk/Source
Unreviewed, rolling out r194826.
https://bugs.webkit.org/show_bug.cgi?id=153020
Appears to have regressed PLT (Requested by kling on #webkit).
Reverted changeset:
"Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
cont'd"
https://bugs.webkit.org/show_bug.cgi?id=152902
http://trac.webkit.org/changeset/194826
- 9:48 AM Changeset in webkit [194899] by
-
- 2 edits in trunk/Tools
[JSC] Add a help message when run-jsc-stress-tests fails
https://bugs.webkit.org/show_bug.cgi?id=153014
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-12
Reviewed by Csaba Osztrogonác.
- Scripts/run-jsc-stress-tests:
- 9:31 AM Changeset in webkit [194898] by
-
- 4 edits3 adds in trunk
Don't reuse memory cache entries with different charset
https://bugs.webkit.org/show_bug.cgi?id=110031
Source/WebCore:
rdar://problem/13666418
Reviewed by Andreas Kling.
Test: fast/loader/cache-encoding.html
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::logResourceRevalidationDecision):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
Pass full CachedResourceRequest to the function.
If charset differs don't reuse the cache entry.
- loader/cache/CachedResourceLoader.h:
LayoutTests:
Reviewed by Andreas Kling.
- fast/loader/cache-encoding-expected.txt: Added.
- fast/loader/cache-encoding.html: Added.
- fast/loader/resources/success.js: Added.
- 9:28 AM Changeset in webkit [194897] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/model/scope-chain-node.html as flaky on Mac debug
https://bugs.webkit.org/show_bug.cgi?id=153018
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 9:23 AM Changeset in webkit [194896] by
-
- 17 edits in trunk/Source/WebCore
Use a pointer instead of PassRefPtr in AbstractView argument of UIEvent class
https://bugs.webkit.org/show_bug.cgi?id=152829
Reviewed by Darin Adler.
As a step to reduce uses of PassRefPtr, UIEvent class doesn't need to use PassRefPtr for AbstractView argument.
Nobody hands us ownership when making one of these objects.
- dom/FocusEvent.cpp:
(WebCore::FocusEvent::FocusEvent):
- dom/FocusEvent.h:
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):
(WebCore::SimulatedMouseEvent::create):
(WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
- dom/MouseEvent.h:
- dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
- dom/MouseRelatedEvent.h:
- dom/TextEvent.cpp:
(WebCore::TextEvent::create):
(WebCore::TextEvent::createForPlainTextPaste):
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::createForDrop):
(WebCore::TextEvent::createForDictation):
(WebCore::TextEvent::TextEvent):
(WebCore::TextEvent::initTextEvent):
- dom/TextEvent.h:
- dom/TouchEvent.cpp:
(WebCore::TouchEvent::TouchEvent):
(WebCore::TouchEvent::initTouchEvent):
- dom/TouchEvent.h:
- dom/UIEvent.cpp:
(WebCore::UIEvent::UIEvent):
(WebCore::UIEvent::initUIEvent):
- dom/UIEvent.h:
(WebCore::UIEvent::create):
(WebCore::UIEvent::view):
- dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
- 9:23 AM Changeset in webkit [194895] by
-
- 4 edits2 moves in trunk/Source/WebKit2
Move ChildProcessProxy from Shared to UIProcess
https://bugs.webkit.org/show_bug.cgi?id=125570
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-01-12
Reviewed by Darin Adler.
ChildProcessProxy is only used by the UI process.
- CMakeLists.txt:
- PlatformGTK.cmake:
- UIProcess/ChildProcessProxy.cpp: Renamed from Source/WebKit2/Shared/ChildProcessProxy.cpp.
(WebKit::ChildProcessProxy::ChildProcessProxy):
(WebKit::ChildProcessProxy::~ChildProcessProxy):
(WebKit::ChildProcessProxy::fromConnection):
(WebKit::ChildProcessProxy::getLaunchOptions):
(WebKit::ChildProcessProxy::connect):
(WebKit::ChildProcessProxy::terminate):
(WebKit::ChildProcessProxy::state):
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::addMessageReceiver):
(WebKit::ChildProcessProxy::removeMessageReceiver):
(WebKit::ChildProcessProxy::dispatchMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::shutDownProcess):
(WebKit::ChildProcessProxy::connectionWillOpen):
- UIProcess/ChildProcessProxy.h: Renamed from Source/WebKit2/Shared/ChildProcessProxy.h.
(WebKit::ChildProcessProxy::connection):
(WebKit::ChildProcessProxy::processIdentifier):
(WebKit::ChildProcessProxy::canSendMessage):
(WebKit::ChildProcessProxy::send):
(WebKit::ChildProcessProxy::sendSync):
- WebKit2.xcodeproj/project.pbxproj:
- 9:17 AM Changeset in webkit [194894] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] JSC does not build with FTL_USES_B3 on ARM64
https://bugs.webkit.org/show_bug.cgi?id=153011
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-12
Reviewed by Saam Barati.
Apparently the static const member can only be used for constexpr.
C++ is weird.
- jit/GPRInfo.cpp:
- jit/GPRInfo.h:
- 9:11 AM Changeset in webkit [194893] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/script-profiler/event-type-Other.html as flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=153016
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 8:47 AM Changeset in webkit [194892] by
-
- 3 edits in trunk/Source/WebCore
Fix unused-private-field warnings in DisplayListItems.h
https://bugs.webkit.org/show_bug.cgi?id=153012
Reviewed by Michael Catanzaro.
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawNativeImage::DrawNativeImage):
- platform/graphics/displaylists/DisplayListItems.h:
- 6:32 AM Changeset in webkit [194891] by
-
- 69 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline test results after r194847.
Before r194847 we were always taking the separator of combo boxes
into account when calculating the size of menu list buttons, even
when we didn't render the separator. In r194847 we removed all the
code to deal with separators in combo boxes. Also, since r194847
we are correctly adding the padding between the icon and the text
in search fileds.
- platform/gtk/css3/selectors3/html/css3-modsel-161-expected.txt:
- platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
- platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.txt:
- platform/gtk/editing/pasteboard/4641033-expected.txt:
- platform/gtk/editing/pasteboard/4944770-1-expected.txt:
- platform/gtk/editing/pasteboard/4944770-2-expected.txt:
- platform/gtk/editing/selection/caret-before-select-expected.txt:
- platform/gtk/editing/selection/replaced-boundaries-3-expected.txt:
- platform/gtk/editing/selection/select-box-expected.txt:
- platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt:
- platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt:
- platform/gtk/fast/css/input-search-padding-expected.txt:
- platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
- platform/gtk/fast/css/text-overflow-input-expected.txt:
- platform/gtk/fast/css/text-transform-select-expected.txt:
- platform/gtk/fast/forms/001-expected.txt:
- platform/gtk/fast/forms/003-expected.txt:
- platform/gtk/fast/forms/004-expected.txt:
- platform/gtk/fast/forms/basic-inputs-expected.txt:
- platform/gtk/fast/forms/basic-selects-expected.txt:
- platform/gtk/fast/forms/box-shadow-override-expected.txt:
- platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
- platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
- platform/gtk/fast/forms/form-element-geometry-expected.txt:
- platform/gtk/fast/forms/input-appearance-height-expected.txt:
- platform/gtk/fast/forms/input-value-expected.txt:
- platform/gtk/fast/forms/menulist-deselect-update-expected.txt:
- platform/gtk/fast/forms/menulist-narrow-width-expected.txt:
- platform/gtk/fast/forms/menulist-no-overflow-expected.txt:
- platform/gtk/fast/forms/menulist-restrict-line-height-expected.txt:
- platform/gtk/fast/forms/menulist-separator-painting-expected.txt:
- platform/gtk/fast/forms/menulist-style-color-expected.txt:
- platform/gtk/fast/forms/menulist-width-change-expected.txt:
- platform/gtk/fast/forms/option-script-expected.txt:
- platform/gtk/fast/forms/option-strip-whitespace-expected.txt:
- platform/gtk/fast/forms/placeholder-position-expected.txt:
- platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
- platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
- platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
- platform/gtk/fast/forms/search-rtl-expected.txt:
- platform/gtk/fast/forms/search-styled-expected.txt:
- platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
- platform/gtk/fast/forms/searchfield-heights-expected.txt:
- platform/gtk/fast/forms/select-background-none-expected.txt:
- platform/gtk/fast/forms/select-baseline-expected.txt:
- platform/gtk/fast/forms/select-change-listbox-to-popup-expected.txt:
- platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.txt:
- platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
- platform/gtk/fast/forms/select-element-focus-ring-expected.txt:
- platform/gtk/fast/forms/select-initial-position-expected.txt:
- platform/gtk/fast/forms/select-selected-expected.txt:
- platform/gtk/fast/forms/select-size-expected.txt:
- platform/gtk/fast/forms/select-style-expected.txt:
- platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
- platform/gtk/fast/forms/select/optgroup-rendering-expected.txt:
- platform/gtk/fast/forms/selectlist-minsize-expected.txt:
- platform/gtk/fast/forms/stuff-on-my-optgroup-expected.txt:
- platform/gtk/fast/forms/validation-message-appearance-expected.txt:
- platform/gtk/fast/html/keygen-expected.txt:
- platform/gtk/fast/invalid/014-expected.txt:
- platform/gtk/fast/parser/document-write-option-expected.txt:
- platform/gtk/fast/repaint/search-field-cancel-expected.txt:
- platform/gtk/fast/replaced/replaced-breaking-expected.txt:
- platform/gtk/fast/replaced/replaced-breaking-mixture-expected.txt:
- platform/gtk/fast/replaced/three-selects-break-expected.txt:
- platform/gtk/fast/replaced/width100percent-menulist-expected.txt:
- platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
- platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
- 3:41 AM Changeset in webkit [194890] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] UI process crashes if webkit_web_view_get_tls_info is called before internal load-committed event
https://bugs.webkit.org/show_bug.cgi?id=142375
Reviewed by Michael Catanzaro.
Remove all the hacks to emit delayed load events now that the
page cache resource load delegates are consistent with all other
resource loads.
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewLoadChanged):
(webkitWebViewResourceLoadStarted):
(webkit_web_view_get_tls_info): Add a g_return_val_if_fail to
prevent this function from being misused.
(webkitWebViewDisconnectMainResourceResponseChangedSignalHandler): Deleted.
(webkitWebViewDispose): Deleted.
(webkitWebViewEmitLoadChanged): Deleted.
(webkitWebViewEmitDelayedLoadEvents): Deleted.
(mainResourceResponseChangedCallback): Deleted.
(waitForMainResourceResponseIfWaitingForResource): Deleted.
- 12:29 AM Changeset in webkit [194889] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Fix isRecording condition logic in GraphicsContext::roundToDevicePixels after r194816.
This looks like a typo introduced in r194816, we want to return early logging
a message when isRecording() returns true.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::roundToDevicePixels):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::roundToDevicePixels):
- 12:23 AM Changeset in webkit [194888] by
-
- 4 edits3 adds in trunk
Inconsistencies in main resource load delegates when loading from history
https://bugs.webkit.org/show_bug.cgi?id=150927
Reviewed by Michael Catanzaro.
Source/WebCore:
When restoring a page from the page cache, even though there
isn't an actual load of resources, we are still emitting the load
delegates to let the API layer know there are contents being
loaded in the web view. This makes the page cache restoring
transparent for the API layer. However, when restoring a page from
the cache, all the delegates are emitted after the load is
committed. This is not consistent with real loads, where we first
load the main resource and once we get a response we commit the
load. This inconsistency is problematic if the API layer expects
to always have a main resource with a response when the load is
committed. This is the case of the GTK+ port, for example. So,
this patch ensures that when a page is restored from the page
cache, the main resource load delegates that are emitted until a
response is received in normal loads, are emitted before the load
is committed.
Test: http/tests/loading/main-resource-delegates-on-back-navigation.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad): When loading from
the page cache, send delegate messages up to didReceiveResponse
for the main resource before the load is committed, and the
remaining messages afterwards.
LayoutTests:
Add test to check that main resource load delegates are emitted in
the same order before the load is committed when loading a page
from history with the page cache enabled and disabled.
- http/tests/loading/main-resource-delegates-on-back-navigation-expected.txt: Added.
- http/tests/loading/main-resource-delegates-on-back-navigation.html: Added.
- http/tests/loading/resources/page-go-back-onload.html: Added.
- loader/go-back-cached-main-resource-expected.txt:
Jan 11, 2016:
- 11:39 PM Changeset in webkit [194887] by
-
- 5 edits in trunk
Web Inspector: console.count() shouldn't show a colon in front of a number
https://bugs.webkit.org/show_bug.cgi?id=152038
Patch by Johan K. Jensen <jj@johanjensen.dk> on 2016-01-11
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::count):
Do not include title and colon if the title is empty.
LayoutTests:
- inspector/console/console-api-expected.txt:
- inspector/console/console-api.html:
Add testcases for console.count
- 11:16 PM Changeset in webkit [194886] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION(r190717): [GTK] Popup menus stop working after being dismissed without selecting an item
https://bugs.webkit.org/show_bug.cgi?id=152977
Reviewed by Michael Catanzaro.
This happens since r190717 when you open a popup menu and without
selecting any option it's dismissed (press ESC or click somewhere
else). This is because I removed the code to track when the menu
is unmapped, thinking that it was no longer necessary. But we need
to send the DidChangeSelectedIndexForActivePopupMenu to the
WebProcess with -1 as index to keep the web process in sync.
- UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
(WebKit::WebPopupMenuProxyGtk::cancelTracking):
(WebKit::WebPopupMenuProxyGtk::menuItemActivated):
(WebKit::WebPopupMenuProxyGtk::dismissMenuTimerFired):
(WebKit::WebPopupMenuProxyGtk::menuUnmappedCallback):
- UIProcess/gtk/WebPopupMenuProxyGtk.h:
- 8:40 PM Changeset in webkit [194885] by
-
- 2 edits in trunk/Tools
run-jsc-stress-tests should try to figure out a JSC path
https://bugs.webkit.org/show_bug.cgi?id=152971
Reviewed by Yusuke Suzuki.
This patch now allows run-jsc-stress-tests to be run
without a "--jsc <jsc-path>" argument. It tries
to take its best guess at a <jsc-path> automagically.
This makes it much easier to just run run-jsc-stress-tests
with a directory or a yaml file as an argument.
You now just do this:
run-jsc-stress-tests <path-to-yaml>
or
run-jsc-stress-tests <path-to-directory-of-js-files>
I wrote this patch because I'd often find myself hacking the
run-javascriptcore-tests file just to run a particular subset of tests.
Because I always forget the arguments to run-jsc-stress-tests (which means
I always forgot to provide a --jsc argument), I always found it easier to
just hack on that file instead of calling run-jsc-stress-tests directly.
No longer is this true!
- Scripts/run-jsc-stress-tests:
- 8:21 PM Changeset in webkit [194884] by
-
- 2 edits in trunk/Source/JavaScriptCore
Reverted r194317.
Reviewed by Joseph Pecoraro.
r194317 did not contain a change log entry, did not explain the motivation, did not name a
reviewer, and does not seem necessary.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 7:05 PM Changeset in webkit [194883] by
-
- 5 edits in tags/Safari-601.5.8.3/Source
Versioning.
- 7:03 PM Changeset in webkit [194882] by
-
- 1 copy in tags/Safari-601.5.8.3
New tag.
- 7:02 PM Changeset in webkit [194881] by
-
- 5 edits3 adds in trunk
keywords ("super", "delete", etc) should be valid method names
https://bugs.webkit.org/show_bug.cgi?id=144281
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-11
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
- When parsing "static(" treat it as a method named "static" and not a static method.
- When parsing a keyword treat it like a string method name (get and set are not keywords)
- When parsing a getter / setter method name identifier, allow lookahead to be a keyword
(JSC::Parser<LexerType>::parseGetterSetter):
- When parsing the getter / setter's name, allow it to be a keyword.
LayoutTests:
- js/class-syntax-super-expected.txt:
- js/script-tests/class-syntax-super.js:
Update the test for the correct expected result.
- js/keyword-method-names-expected.txt: Added.
- js/keyword-method-names.html: Added.
- js/script-tests/keyword-method-names.js: Added.
Add tests to cover parsing allows keywords in method name syntax.
- 6:12 PM Changeset in webkit [194880] by
-
- 18 edits1 add in trunk
[Cocoa] Add SPI to opt out a URL scheme from the memory cache
https://bugs.webkit.org/show_bug.cgi?id=152950
rdar://problem/24066652
Reviewed by Tim Horton.
Source/WebCore:
Added a list of schemes to SchemeRegistry whose resources should always be revalidated. Taught CachedResource to
return a freshness lifetime of 0 for these resources, unless the scheme is one that should be cached indefinitely.
New API test: WebKit2.AlwaysRevalidatedURLSchemes
- loader/cache/CachedResource.cpp:
(WebCore::shouldCacheSchemeIndefinitely): Moved from SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely().
(WebCore::CachedResource::freshnessLifetime): For a scheme that should not be cached indefinitely, return 0 if
that scheme should always be revalidated according to SchemeRegistry.
- platform/SchemeRegistry.cpp:
(WebCore::alwaysRevalidatedSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsAlwaysRevalidated):
(WebCore::SchemeRegistry::shouldAlwaysRevalidateURLScheme):
(WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely): Moved to WebCore::shouldCacheSchemeIndefinitely().
There was no reason for this to be in SchemeRegistry.
- platform/SchemeRegistry.h:
Source/WebKit2:
Added a alwaysRevalidatedURLSchemes property to _WKProcessPoolConfiguration. Taught WebProcess to add these
schemes to SchemeRegistry when initializing a new web process.
- Shared/API/Cocoa/WKFoundation.h: Added a newline to force re-postprocessing.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]):
(-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
- UIProcess/WebProcessPool.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated):
- WebProcess/WebProcess.h:
Tools:
Added an API test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/AlwaysRevalidatedURLSchemes.mm: Added.
(+[AlwaysRevalidatedURLSchemeProtocol canInitWithRequest:]):
(+[AlwaysRevalidatedURLSchemeProtocol canonicalRequestForRequest:]):
(+[AlwaysRevalidatedURLSchemeProtocol requestIsCacheEquivalent:toRequest:]):
(-[AlwaysRevalidatedURLSchemeProtocol startLoading]):
(-[AlwaysRevalidatedURLSchemeProtocol stopLoading]):
(-[AlwaysRevalidatedURLSchemesDelegate webView:didFinishNavigation:]):
(TEST):
- 5:40 PM Changeset in webkit [194879] by
-
- 12 edits in trunk/Source/WebInspectorUI
Web Inspector: Storage tab navigation bar should fit on a single line
https://bugs.webkit.org/show_bug.cgi?id=152473
Patch by Devin Rousso <Devin Rousso> on 2016-01-11
Reviewed by Timothy Hatcher.
The wrapping of the navigation bar on the Storage tab was caused by the
fact that Sidebar.js used a minimum width of 200px, regardless of the
content within the sidebar (unless it had a NavigationBar). Logic has
been added that causes the sidebar to use the selected panel's own
minimum width calculation if it is greater than 200px.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.get minimumWidth):
- UserInterface/Views/MultipleScopeBarItem.js:
(WebInspector.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
(WebInspector.MultipleScopeBarItem.prototype.displaySelectedItem):
Sets the displayed text to the currently selected item.
(WebInspector.MultipleScopeBarItem.prototype.displayWidestItem):
Sets the displayed text to the widest (pixel wise) item in the select element.
- UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype._calculateMinimumWidth):
Now uses NavigationItem.prototype.get minimumWidth.
- UserInterface/Views/NavitationItem.js:
(WebInspector.NavitationItem.prototype.get minimumWidth):
Returns the element's realOffsetWidth.
- UserInterface/Views/NetworkSidebarPanel.js:
(WebInspector.NetworkSidebarPanel.prototype.get minimumWidth):
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.get minimumWidth):
- UserInterface/Views/ScopeBar.js:
(WebInspector.ScopeBar):
(WebInspector.ScopeBar.prototype.get minimumWidth):
- UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.set selectedSidebarPanel):
(WebInspector.Sidebar.prototype.get minimumWidth):
(WebInspector.Sidebar.prototype.set width):
(WebInspector.Sidebar.prototype.set collapsed):
(WebInspector.Sidebar.prototype._recalculateWidth):
Whenever the sidebar changes (e.g. tab change, sidebar becomes
visible/hidden, etc.), a width recalculation is necessary to ensure
that the navigation bar never wraps.
- UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel.prototype.get minimumWidth):
- UserInterface/Views/StorageSidebarPanel.js:
(WebInspector.StorageSidebarPanel.prototype.get minimumWidth):
- UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.get minimumWidth):
- 5:34 PM Changeset in webkit [194878] by
-
- 11 edits in trunk/Source/WebInspectorUI
Web Inspector: Make Timelines view also remember sort order
https://bugs.webkit.org/show_bug.cgi?id=152811
Patch by Devin Rousso <Devin Rousso> on 2016-01-11
Reviewed by Timothy Hatcher.
Changeset r194574 introduced the ability for WebInspector.Setting objects to
be passed to DataGrid instances to save the sort column for that grid. These
changes also add the ability for the sort order to be save as well.
- 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 sortOrder):
If a WebInspector.Setting object has been given, save the new sort order.
(WebInspector.DataGrid.prototype.set sortOrderSetting):
Saves the given WebInspector.Setting object for modification whenever the user
changes the sort order.
- 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):
- 5:34 PM Changeset in webkit [194877] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Copying JS object output from console shouldn't include trailing '= $n'
https://bugs.webkit.org/show_bug.cgi?id=119347
Patch by Johan K. Jensen <jj@johanjensen.dk> on 2016-01-11
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype.toClipboardString):
- 5:32 PM Changeset in webkit [194876] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Add basic Content section to Visual Sidebar
https://bugs.webkit.org/show_bug.cgi?id=152972
Patch by Devin Rousso <Devin Rousso> on 2016-01-11
Reviewed by Timothy Hatcher.
Since the "content" property has so many different types of values, a
simple text input editor should be added to provide some support for
the CSS property until a better, more specialized editor is created.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
(.visual-style-property-container.comma-separated-keyword-editor):
Moved margin-left to new rule in VisualStylePropertyEditor.css.
- UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel):
(WebInspector.VisualStyleDetailsPanel.prototype._populateContentSection):
Adds the basic editor under the Text section in a new subsection
called Content.
- UserInterface/Views/VisualStylePropertyEditor.css:
(.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container)):
Adds a left margin to property editors without a title.
- 5:31 PM Changeset in webkit [194875] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Visual sidebar minor bug fixes
https://bugs.webkit.org/show_bug.cgi?id=152967
Patch by Devin Rousso <Devin Rousso> on 2016-01-11
Reviewed by Timothy Hatcher.
- UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel.prototype.refresh):
Only update sections when it is not a significant change, as they are
updated when the selector changes.
(WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
Only reset links if the refresh is a significant change (node or selected
style changes).
- UserInterface/Views/VisualStyleNumberInputBox.js:
(WebInspector.VisualStyleNumberInputBox):
(WebInspector.VisualStyleNumberInputBox.prototype.get value):
Removed unreachable return.
(WebInspector.VisualStyleNumberInputBox.prototype.set value):
(WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.adjustValue):
_updatedValues.propertyMissing was changed to _propertyMissing in a
prior patch.
- 4:33 PM Changeset in webkit [194874] by
-
- 4 edits in trunk/LayoutTests
Modern IDB: storage/indexeddb/intversion-long-queue.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152995
Reviewed by Alex Christensen.
- platform/mac-wk1/TestExpectations:
- storage/indexeddb/intversion-long-queue-expected.txt:
- storage/indexeddb/resources/intversion-long-queue.js:
- 4:11 PM Changeset in webkit [194873] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Add Div/Mod and fix Mul for B3 ARM64
https://bugs.webkit.org/show_bug.cgi?id=152978
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-11
Reviewed by Filip Pizlo.
Add the 3 operands forms of Mul.
Remove the form taking immediate on ARM64, there are no such instruction.
Add Div with sdiv.
Unfortunately, I discovered ChillMod's division by zero
makes it non-trivial on ARM64. I just made it into a macro like on x86.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::mul32):
(JSC::MacroAssemblerARM64::mul64):
(JSC::MacroAssemblerARM64::div32):
(JSC::MacroAssemblerARM64::div64):
- b3/B3LowerMacros.cpp:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
- b3/air/AirOpcode.opcodes:
- 3:44 PM Changeset in webkit [194872] by
-
- 5 edits in trunk
Modern IDB: storage/indexeddb/index-multientry.html fails under GuardMalloc/ASAN.
https://bugs.webkit.org/show_bug.cgi?id=152990
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Covered by re-enabling existing test).
- Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::dispatchEvent): Use String::utf8() instead of AtomicString::characters8() for
the format string, as the latter fails under ASAN.
- Modules/indexeddb/server/IndexValueStore.cpp:
(WebCore::IDBServer::IndexValueStore::removeEntriesWithValueKey): We can't save off pointers to IDBKeyDatas
used as keys in the map, because the moment we start mutating the map the keys can be rehashed, invalidating
our pointers. Save off the IDBKeyDatas by value instead.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 3:34 PM Changeset in webkit [194871] by
-
- 20 edits4 adds in trunk
Web Inspector: Migrate Page Timeline recording to ScriptProfiler
https://bugs.webkit.org/show_bug.cgi?id=152727
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-11
Reviewed by Brian Burg.
Source/WebCore:
Test: inspector/script-profiler/event-type-Other.html
This now shares the JavaScript profiling code between JSContext and Page
inspection. It also moves forward splitting the Page's Timeline domain
into smaller components that can be turned on/off individually.
- bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
- bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
- bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::profiledCall):
(WebCore::JSMainThreadExecState::profiledEvaluate):
- bindings/js/JSMutationCallback.cpp:
(WebCore::JSMutationCallback::call):
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
- bindings/objc/WebScriptObject.mm:
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
Identify entry points into JSC that we want to profile for the frontend.
These were nearly all already classified for the Timeline. We added missing
support for ErrorHandlers (window.onerror handler functions).
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCallFunction):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::startProfiling): Deleted.
(WebCore::stopProfiling): Deleted.
(WebCore::InspectorTimelineAgent::willCallFunction): Deleted.
(WebCore::InspectorTimelineAgent::willEvaluateScript): Deleted.
- inspector/InspectorTimelineAgent.h:
TimelineAgent no longer needs to start/stop the Legacy Profiler
since ScriptProfiler will automatically do that for us. Delete
all code associated with that. There is still an open question
regardingconsole.profile
andconsole.profileEnd
that
starts/stops the profiler.
Source/WebInspectorUI:
- UserInterface/Images/TimelineRecordAPI.svg: Added.
- UserInterface/Images/gtk/TimelineRecordAPI.svg: Added.
New [S] image for API initiated script evaluations.
Display matches the existing [S] Script Evaluated.
Colors match the gray [N] Native image colors.
- UserInterface/Models/ScriptInstrument.js:
(WebInspector.ScriptInstrument.prototype.startInstrumentation):
(WebInspector.ScriptInstrument.prototype.stopInstrumentation):
(WebInspector.ScriptInstrument):
Use ScriptProfiler, if available, in Web debuggables.
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype.capturingStarted):
(WebInspector.TimelineManager.prototype._processRecord):
(WebInspector.TimelineManager.prototype._scriptProfilerTypeToScriptTimelineRecordType):
(WebInspector.TimelineManager.prototype.scriptProfilerTrackingUpdated):
(WebInspector.TimelineManager.prototype.scriptProfilerTrackingCompleted):
(WebInspector.TimelineManager.prototype._mergeScriptProfileRecords.let.nextRecord):
(WebInspector.TimelineManager.prototype._mergeScriptProfileRecords.let.recordContainsRecord):
(WebInspector.TimelineManager.prototype._mergeScriptProfileRecords):
When running a timeline on a web debuggable the frontend receives both
Timeline event records and ScriptProfiler events. Timeline (Web) records
are high level web events like "Script Evaluated", "Event Dispatched",
"Timer Fired". The timestamps for these records should always be wrapping
a ScriptProfiler event and its associated profile data. So, at the end
of a recording we merge ScriptProfiler profile data into the original
Timeline (Web) record.
- UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord.prototype.get profilePayload):
(WebInspector.ScriptTimelineRecord.prototype.set profilePayload):
(WebInspector.ScriptTimelineRecord.prototype.setProfilePayload): Deleted.
Replace method with getter/setter.
(WebInspector.ScriptTimelineRecord.EventType.displayName):
Add a new event type for API records, but share display name with Script Evaluated.
- UserInterface/Views/NavigationSidebarPanel.js:
Fix typo.
- UserInterface/Views/ScriptTimelineView.css:
(.timeline-view.script > .data-grid .eventType-column): Deleted.
There is no "eventType" column in the ScriptTimelineView datagrid, so remove styles.
- UserInterface/Views/TimelineIcons.css:
(.api-record .icon):
- UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement):
For API Script Evaluation records use the new icon.
LayoutTests:
- inspector/script-profiler/event-type-Other-expected.txt: Added.
- inspector/script-profiler/event-type-Other.html: Added.
Add a test that Web script evaluations create "Other" ScriptProfiler events.
- 3:16 PM Changeset in webkit [194870] by
-
- 8 edits in trunk/Source
Get rid of CFMakeCollectable, it is a no-op
https://bugs.webkit.org/show_bug.cgi?id=152988
Reviewed by Sam Weinig.
Source/WebCore:
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::URLByTruncatingOneCharacterBeforeComponent):
(WebCore::URLByRemovingComponentAndSubsequentCharacter):
Source/WebKit/mac:
- Misc/WebNSDataExtras.m:
(-[NSString _web_capitalizeRFC822HeaderFieldName]):
(-[NSData _webkit_parseRFC822HeaderFields]):
- Plugins/WebPluginController.mm:
(-[WebPluginController initWithDocumentView:]):
Source/WebKit2:
- Shared/Cocoa/WKNSString.mm:
- Shared/Cocoa/WKNSURL.mm:
(-[WKNSURL _web_createTarget]):
- 2:40 PM Changeset in webkit [194869] by
-
- 7 edits in trunk/Source/JavaScriptCore
Arrays should use the InternalFunctionAllocationProfile when constructing new Arrays
https://bugs.webkit.org/show_bug.cgi?id=152949
Reviewed by Michael Saboff.
This patch updates Array constructors to use the new InternalFunctionAllocationProfile.
- runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
(JSC::constructWithArrayConstructor):
- runtime/InternalFunction.h:
(JSC::InternalFunction::createStructure):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation):
(JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation):
(JSC::constructEmptyArray):
(JSC::constructArray):
(JSC::constructArrayNegativeIndexed):
- runtime/PrototypeMap.cpp:
(JSC::PrototypeMap::emptyStructureForPrototypeFromBaseStructure):
- runtime/Structure.h:
- runtime/StructureInlines.h:
- 2:34 PM Changeset in webkit [194868] by
-
- 17 edits1 delete in trunk
Unreviewed, rolling out r194866.
https://bugs.webkit.org/show_bug.cgi?id=152986
This change broke the mac build (Requested by ryanhaddad on
#webkit).
Reverted changeset:
"[Cocoa] Add SPI to opt out a URL scheme from the memory
cache"
https://bugs.webkit.org/show_bug.cgi?id=152950
http://trac.webkit.org/changeset/194866
- 2:03 PM Changeset in webkit [194867] by
-
- 4 edits2 adds in trunk
Padding added to table-cell element after font-size change.
https://bugs.webkit.org/show_bug.cgi?id=152796
Reviewed by David Hyatt.
Do not include intrinsicPaddingBefore value while figuring out the height of a row.
In RenderTableSection::calcRowLogicalHeight() we are interested in the height of the content
without the additional padding (normal padding is included).
Source/WebCore:
Test: fast/table/table-baseline-grows.html
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
LayoutTests:
- TestExpectations: This test fails even without the patch when Ahem font is not used.
- fast/table/table-baseline-grows-expected.html: Added.
- fast/table/table-baseline-grows.html: Added.
- 1:57 PM Changeset in webkit [194866] by
-
- 17 edits1 add in trunk
[Cocoa] Add SPI to opt out a URL scheme from the memory cache
https://bugs.webkit.org/show_bug.cgi?id=152950
rdar://problem/24066652
Reviewed by Tim Horton.
Source/WebCore:
Added a list of schemes to SchemeRegistry whose resources should always be revalidated. Taught CachedResource to
return a freshness lifetime of 0 for these resources, unless the scheme is one that should be cached indefinitely.
New API test: WebKit2.AlwaysRevalidatedURLSchemes
- loader/cache/CachedResource.cpp:
(WebCore::shouldCacheSchemeIndefinitely): Moved from SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely().
(WebCore::CachedResource::freshnessLifetime): For a scheme that should not be cached indefinitely, return 0 if
that scheme should always be revalidated according to SchemeRegistry.
- platform/SchemeRegistry.cpp:
(WebCore::alwaysRevalidatedSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsAlwaysRevalidated):
(WebCore::SchemeRegistry::shouldAlwaysRevalidateURLScheme):
(WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely): Moved to WebCore::shouldCacheSchemeIndefinitely().
There was no reason for this to be in SchemeRegistry.
- platform/SchemeRegistry.h:
Source/WebKit2:
Added a alwaysRevalidatedURLSchemes property to _WKProcessPoolConfiguration. Taught WebProcess to add these
schemes to SchemeRegistry when initializing a new web process.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]):
(-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
- UIProcess/WebProcessPool.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated):
- WebProcess/WebProcess.h:
Tools:
Added an API test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/AlwaysRevalidatedURLSchemes.mm: Added.
(+[AlwaysRevalidatedURLSchemeProtocol canInitWithRequest:]):
(+[AlwaysRevalidatedURLSchemeProtocol canonicalRequestForRequest:]):
(+[AlwaysRevalidatedURLSchemeProtocol requestIsCacheEquivalent:toRequest:]):
(-[AlwaysRevalidatedURLSchemeProtocol startLoading]):
(-[AlwaysRevalidatedURLSchemeProtocol stopLoading]):
(-[AlwaysRevalidatedURLSchemesDelegate webView:didFinishNavigation:]):
(TEST):
- 1:49 PM Changeset in webkit [194865] by
-
- 4 edits17 adds in trunk
Picture element needs to work with the preload scanner and select the correct
source element instead of loading the image.
https://bugs.webkit.org/show_bug.cgi?id=152983
Reviewed by Dean Jackson.
Source/WebCore:
Added new tests in http/tests/loading.
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::tagIdFor):
(WebCore::TokenPreloadScanner::initiatorFor):
(WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::processImageAndScriptAttribute):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
(WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
(WebCore::TokenPreloadScanner::scan):
- html/parser/HTMLPreloadScanner.h:
(WebCore::TokenPreloadScanner::setPredictedBaseElementURL):
(WebCore::TokenPreloadScanner::inPicture):
LayoutTests:
These tests are imported from Blink, although they have been modified slightly to
reflect the fact that we pass the nested <picture> cases that Blink fails.
- http/tests/loading/hidpi-preload-picture-sizes-expected.txt: Added.
- http/tests/loading/hidpi-preload-picture-sizes.html: Added.
- http/tests/loading/preload-picture-invalid-expected.txt: Added.
- http/tests/loading/preload-picture-invalid.html: Added.
- http/tests/loading/preload-picture-nested-expected.txt: Added.
- http/tests/loading/preload-picture-nested.html: Added.
- http/tests/loading/preload-picture-sizes-expected.txt: Added.
- http/tests/loading/preload-picture-sizes.html: Added.
- http/tests/loading/resources/base-image1.png: Added.
- http/tests/loading/resources/base-image2.png: Added.
- http/tests/loading/resources/base-image3.png: Added.
- http/tests/loading/resources/dup-image1.png: Added.
- http/tests/loading/resources/dup-image2.png: Added.
- http/tests/loading/resources/dup-image3.png: Added.
- http/tests/loading/resources/image1.png: Added.
- http/tests/loading/resources/image2.png: Added.
- http/tests/loading/resources/picture-preload-helper.js: Added.
- 1:37 PM Changeset in webkit [194864] by
-
- 9 edits1 copy in trunk
LayoutTests/imported/w3c:
Modern IDB: IDBBindingUtilities chokes on unicode strings for get/set.
https://bugs.webkit.org/show_bug.cgi?id=152921
Reviewed by Alex Christensen.
- indexeddb/keygenerator-overflow-expected.txt:
Source/WebCore:
Modern IDB: storage/indexeddb/key-generator.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152981
Reviewed by Alex Christensen.
No new tests (One failing test now passes, and one test's results get a progression).
- Modules/indexeddb/server/IDBBackingStore.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::generateKeyNumber): Throw an error if the current
value is already over 253.
(WebCore::IDBServer::MemoryIDBBackingStore::revertGeneratedKeyNumber):
(WebCore::IDBServer::MemoryIDBBackingStore::maybeUpdateKeyGeneratorNumber): Handle double -> uint64_t
conversions properly when calculating the next key.
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::ScopeGuard::ScopeGuard): Add this utility class to call a function
any time it goes out of scope.
(WebCore::IDBServer::ScopeGuard::~ScopeGuard):
(WebCore::IDBServer::ScopeGuard::enable):
(WebCore::IDBServer::ScopeGuard::disable):
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): Revert the key generator value if
the put/add operation ends in error.
LayoutTests:
Modern IDB: storage/indexeddb/key-generator.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152981
Reviewed by Alex Christensen.
- platform/mac-wk1/TestExpectations:
- platform/wk2/imported/w3c/indexeddb/keygenerator-overflow-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/keygenerator-overflow-expected.txt.
- 1:31 PM Changeset in webkit [194863] by
-
- 40 edits2 adds in trunk/Source/JavaScriptCore
Use a profile to store allocation structures for subclasses of InternalFunctions
https://bugs.webkit.org/show_bug.cgi?id=152942
Reviewed by Michael Saboff.
This patch adds InternalFunctionAllocationProfile to FunctionRareData, which holds
a cached structure that can be used to quickly allocate any derived class of an InternalFunction.
InternalFunctionAllocationProfile ended up being distinct from ObjectAllocationProfile, due to
constraints imposed by Reflect.construct. Reflect.construct allows the user to pass an arbitrary
constructor as a new.target to any other constructor. This means that a user can pass some
non-derived constructor to an InternalFunction (they can even pass another InternalFunction as the
new.target). If we use the same profile for both InternalFunctions and JS allocations then we always
need to check in both JS code and C++ code that the profiled structure has the same ClassInfo as the
current constructor. By using different profiles, we only need to check the profile in InternalFunctions
as all JS constructed objects share the same ClassInfo (JSFinalObject). This comes at the relatively
low cost of using slightly more memory on FunctionRareData and being slightly more conceptually complex.
Additionally, this patch adds subclassing to some omitted classes.
- API/JSObjectRef.cpp:
(JSObjectMakeDate):
(JSObjectMakeRegExp):
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/InternalFunctionAllocationProfile.h: Added.
(JSC::InternalFunctionAllocationProfile::structure):
(JSC::InternalFunctionAllocationProfile::clear):
(JSC::InternalFunctionAllocationProfile::visitAggregate):
(JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGOperations.cpp:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_this):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_create_this):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/BooleanConstructor.cpp:
(JSC::constructWithBooleanConstructor):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/DateConstructor.cpp:
(JSC::constructDate):
(JSC::constructWithDateConstructor):
- runtime/DateConstructor.h:
- runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
- runtime/FunctionRareData.cpp:
(JSC::FunctionRareData::create):
(JSC::FunctionRareData::visitChildren):
(JSC::FunctionRareData::FunctionRareData):
(JSC::FunctionRareData::initializeObjectAllocationProfile):
(JSC::FunctionRareData::clear):
(JSC::FunctionRareData::finishCreation): Deleted.
(JSC::FunctionRareData::initialize): Deleted.
- runtime/FunctionRareData.h:
(JSC::FunctionRareData::offsetOfObjectAllocationProfile):
(JSC::FunctionRareData::objectAllocationProfile):
(JSC::FunctionRareData::objectAllocationStructure):
(JSC::FunctionRareData::allocationProfileWatchpointSet):
(JSC::FunctionRareData::isObjectAllocationProfileInitialized):
(JSC::FunctionRareData::internalFunctionAllocationStructure):
(JSC::FunctionRareData::createInternalFunctionAllocationStructureFromBase):
(JSC::FunctionRareData::offsetOfAllocationProfile): Deleted.
(JSC::FunctionRareData::allocationProfile): Deleted.
(JSC::FunctionRareData::allocationStructure): Deleted.
(JSC::FunctionRareData::isInitialized): Deleted.
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::createSubclassStructure):
- runtime/InternalFunction.h:
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
- runtime/JSFunction.cpp:
(JSC::JSFunction::allocateRareData):
(JSC::JSFunction::allocateAndInitializeRareData):
(JSC::JSFunction::initializeRareData):
- runtime/JSFunction.h:
(JSC::JSFunction::rareData):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayView):
- runtime/JSObject.h:
(JSC::JSFinalObject::typeInfo):
(JSC::JSFinalObject::createStructure):
- runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
- runtime/JSPromiseConstructor.h:
- runtime/JSWeakMap.cpp:
- runtime/JSWeakSet.cpp:
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor):
- runtime/NumberConstructor.cpp:
(JSC::constructWithNumberConstructor):
- runtime/PrototypeMap.cpp:
(JSC::PrototypeMap::createEmptyStructure):
(JSC::PrototypeMap::emptyStructureForPrototypeFromBaseStructure):
(JSC::PrototypeMap::emptyObjectStructureForPrototype):
(JSC::PrototypeMap::clearEmptyObjectStructureForPrototype):
- runtime/PrototypeMap.h:
- runtime/RegExpConstructor.cpp:
(JSC::getRegExpStructure):
(JSC::constructRegExp):
(JSC::constructWithRegExpConstructor):
- runtime/RegExpConstructor.h:
- runtime/SetConstructor.cpp:
(JSC::constructSet):
- runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
- runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
- tests/stress/class-subclassing-misc.js:
(A):
(D):
(E):
(WM):
(WS):
(test):
- tests/stress/class-subclassing-typedarray.js: Added.
(test):
- 1:28 PM Changeset in webkit [194862] by
-
- 2 edits in trunk/Source/JavaScriptCore
[B3][Win64] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=152984
Reviewed by Alex Christensen.
Windows does not have bzero, use memset instead.
- b3/air/AirIteratedRegisterCoalescing.cpp:
- 1:04 PM Changeset in webkit [194861] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fixed compilation of JavaScriptCore with GCC 4.8 on 32-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=152923
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-11
Reviewed by Alex Christensen.
- jit/CallFrameShuffler.h:
(JSC::CallFrameShuffler::assumeCalleeIsCell):
- 1:00 PM Changeset in webkit [194860] by
-
- 2 edits in trunk/Source/WebKit2
Fix Mac CMake build after r194810.
- PlatformMac.cmake:
PendingDownload isn't needed until NETWORK_SESSION is used by default.
I'll figure this out when I make the switch.
- 12:18 PM Changeset in webkit [194859] by
-
- 5 edits in trunk
Modern IDB: storage/indexeddb/lazy-index-population.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152976
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least one failing test now passes).
We were restoring objectstores/indexes incorrectly on transaction abort.
- Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 10:13 AM Changeset in webkit [194858] by
-
- 6 edits in trunk/Source/JavaScriptCore
[B3] Fix control reaches end of non-void function GCC warnings on Linux
https://bugs.webkit.org/show_bug.cgi?id=152887
Reviewed by Mark Lam.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::createBranch):
(JSC::B3::Air::LowerToAir::createCompare):
(JSC::B3::Air::LowerToAir::createSelect):
- b3/B3Type.h:
(JSC::B3::sizeofType):
- b3/air/AirArg.cpp:
(JSC::B3::Air::Arg::isRepresentableAs):
- b3/air/AirArg.h:
(JSC::B3::Air::Arg::isAnyUse):
(JSC::B3::Air::Arg::isColdUse):
(JSC::B3::Air::Arg::isEarlyUse):
(JSC::B3::Air::Arg::isLateUse):
(JSC::B3::Air::Arg::isAnyDef):
(JSC::B3::Air::Arg::isEarlyDef):
(JSC::B3::Air::Arg::isLateDef):
(JSC::B3::Air::Arg::isZDef):
(JSC::B3::Air::Arg::widthForB3Type):
(JSC::B3::Air::Arg::isGP):
(JSC::B3::Air::Arg::isFP):
(JSC::B3::Air::Arg::isType):
(JSC::B3::Air::Arg::isValidForm):
- b3/air/AirCode.h:
(JSC::B3::Air::Code::newTmp):
(JSC::B3::Air::Code::numTmps):
- 9:39 AM Changeset in webkit [194857] by
-
- 9 edits in trunk/Source/WebCore
Modern IDB: Make MemoryIndex and MemoryObjectStore RefCounted.
https://bugs.webkit.org/show_bug.cgi?id=152966
Reviewed by Alex Christensen.
No new tests (Refactor, no change in behavior)
- Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::indexDeleted):
(WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
- Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::restoreObjectStoreForVersionChangeAbort):
(WebCore::IDBServer::MemoryIDBBackingStore::registerObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::takeObjectStoreByName):
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::create):
- Modules/indexeddb/server/MemoryIndex.h:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::create):
(WebCore::IDBServer::MemoryObjectStore::createIndex):
(WebCore::IDBServer::MemoryObjectStore::maybeRestoreDeletedIndex):
(WebCore::IDBServer::MemoryObjectStore::takeIndexByName):
(WebCore::IDBServer::MemoryObjectStore::deleteIndex):
(WebCore::IDBServer::MemoryObjectStore::updateIndexesForDeleteRecord):
(WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord):
(WebCore::IDBServer::MemoryObjectStore::registerIndex):
- Modules/indexeddb/server/MemoryObjectStore.h:
- 9:25 AM Changeset in webkit [194856] by
-
- 8 edits1 add in trunk/Source/JavaScriptCore
Make it easier to introduce exotic instructions to Air
https://bugs.webkit.org/show_bug.cgi?id=152953
Reviewed by Benjamin Poulain.
Currently, you can define new "opcodes" in Air using either:
1) New opcode declared in AirOpcode.opcodes.
2) Patch opcode with a new implementation of Air::Special.
With (1), you are limited to fixed-argument-length instructions. There are other
restrictions as well, like that you can only use the roles that the AirOpcode syntax
supports.
With (2), you can do anything you like, but the instruction will be harder to match
since it will share the same opcode as any other Patch. Also, the instruction will have
the Special argument, which means more busy-work when creating the instruction and
validating it.
This introduces an in-between facility called "custom". This replaces what AirOpcode
previously called "special". A custom instruction is one whose behavior is defined by a
FooCustom struct with some static methods. Calls to those methods are emitted by
opcode_generator.rb.
The "custom" facility is powerful enough to be used to implement Patch, with the caveat
that we now treat the Patch instruction specially in a few places. Those places were
already effectively treating it specially by assuming that only Patch instructions have
a Special as their first argument.
This will let me implement the Shuffle instruction (bug 152952), which I think is needed
for performance work.
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/air/AirCustom.h: Added.
(JSC::B3::Air::PatchCustom::forEachArg):
(JSC::B3::Air::PatchCustom::isValidFormStatic):
(JSC::B3::Air::PatchCustom::isValidForm):
(JSC::B3::Air::PatchCustom::admitsStack):
(JSC::B3::Air::PatchCustom::hasNonArgNonControlEffects):
(JSC::B3::Air::PatchCustom::generate):
- b3/air/AirHandleCalleeSaves.cpp:
(JSC::B3::Air::handleCalleeSaves):
- b3/air/AirInst.h:
- b3/air/AirInstInlines.h:
(JSC::B3::Air::Inst::forEach):
(JSC::B3::Air::Inst::extraClobberedRegs):
(JSC::B3::Air::Inst::extraEarlyClobberedRegs):
(JSC::B3::Air::Inst::forEachDefWithExtraClobberedRegs):
(JSC::B3::Air::Inst::reportUsedRegisters):
(JSC::B3::Air::Inst::hasSpecial): Deleted.
- b3/air/AirOpcode.opcodes:
- b3/air/AirReportUsedRegisters.cpp:
(JSC::B3::Air::reportUsedRegisters):
- b3/air/opcode_generator.rb:
- 9:18 AM Changeset in webkit [194855] by
-
- 9 edits1 add in trunk/Source/JavaScriptCore
Turn Check(true) into Patchpoint() followed by Oops
https://bugs.webkit.org/show_bug.cgi?id=152968
Reviewed by Benjamin Poulain.
This is an obvious strength reduction to have, especially since if we discover that the
input to the Check is true after some amount of B3 optimization, then stubbing out the rest
of the basic block unlocks CFG simplification opportunities.
It's also a proof-of-concept for the Check->Patchpoint conversion that I'll use once I
implement sinking (bug 152162).
- b3/B3ControlValue.cpp:
(JSC::B3::ControlValue::convertToJump):
(JSC::B3::ControlValue::convertToOops):
(JSC::B3::ControlValue::dumpMeta):
- b3/B3ControlValue.h:
- b3/B3InsertionSet.h:
(JSC::B3::InsertionSet::insertValue):
- b3/B3InsertionSetInlines.h:
(JSC::B3::InsertionSet::insert):
- b3/B3ReduceStrength.cpp:
- b3/B3StackmapValue.h:
- b3/B3Value.h:
- tests/stress/ftl-force-osr-exit.js: Added.
- 8:55 AM Changeset in webkit [194854] by
-
- 2 edits in trunk/Source/WebCore
Fix other builds after my MSVC build fix. :-|
- css/StyleResolver.cpp:
- 8:42 AM Changeset in webkit [194853] by
-
- 2 edits70 adds in trunk/LayoutTests
[GTK] Update test expectations after r194845
Unreviewed gardening. Mark XHTML tests as passing now that we have patched shared-mime-info
to better detect XHTML. Add expectations for additional XHTML tests that were unskipped in
r194845.
- platform/gtk/TestExpectations:
- platform/gtk/css2.1/tables/table-anonymous-objects-015-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-016-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-023-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-024-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-035-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-036-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-037-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-038-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-045-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-046-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-047-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-048-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-049-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-050-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-055-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-056-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-091-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-092-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-099-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-100-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-103-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-104-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-105-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-106-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-107-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-108-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-109-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-110-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-111-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-112-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-113-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-114-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-115-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-116-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-117-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-118-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-119-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-120-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-121-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-122-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-123-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-124-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-139-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-140-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-149-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-150-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-155-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-156-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-159-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-160-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-165-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-166-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-177-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-178-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-179-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-180-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-181-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-189-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-190-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-191-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-192-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-193-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-194-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-195-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-196-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-205-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-206-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-207-expected.txt: Added.
- platform/gtk/css2.1/tables/table-anonymous-objects-208-expected.txt: Added.
- 8:39 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 8:34 AM Changeset in webkit [194852] by
-
- 2 edits in trunk/LayoutTests
Skipping unsupported test pageoverlay/overlay-small-frame-mouse-events.html on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152130
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 8:33 AM Changeset in webkit [194851] by
-
- 7 edits in trunk/Source/WebCore
Fix MSVC build after r194848.
Since MSVC refuses to recognize the friendship between LazyNeverDestroyed
and some CSS*Value classes, make their constructors public in MSVC builds.
Added FIXME's to make it look extra gross.
- css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::create): Deleted.
- css/CSSInitialValue.h:
- css/CSSPrimitiveValue.h:
- css/CSSRevertValue.h:
(WebCore::CSSRevertValue::create): Deleted.
- css/CSSUnsetValue.h:
(WebCore::CSSUnsetValue::create): Deleted.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
- 8:21 AM Changeset in webkit [194850] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] When resolving Stack arguments, use addressing from SP when addressing from FP is invalid
https://bugs.webkit.org/show_bug.cgi?id=152840
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-11
Reviewed by Mark Lam.
ARM64 has two kinds of addressing with immediates:
-Signed 9bits direct (really only -256 to 255).
-Unsigned 12bits scaled by the load/store size.
When resolving the stack addresses, we easily run
past -256 bytes from FP. Addressing from SP gives us more
room to address the stack efficiently because we can
use unsigned immediates.
- b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::repForArg):
- b3/air/AirAllocateStack.cpp:
(JSC::B3::Air::allocateStack):
- 7:01 AM Changeset in webkit [194849] by
-
- 2 edits in trunk/Tools
[webkitdirs] Use CMake to determine architecture on isCMakeBuild()
https://bugs.webkit.org/show_bug.cgi?id=152959
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-11
Reviewed by Brent Fulgham.
- Scripts/webkitdirs.pm:
(determineArchitecture):
- 4:23 AM Changeset in webkit [194848] by
-
- 10 edits in trunk/Source
Source/WebCore:
CSSValuePool should use nonfragmented storage for eternal caches.
<https://webkit.org/b/152960>
Reviewed by Antti Koivisto.
Store all of the common cached CSS value objects in contiguous arrays
instead of lazily allocating them on the heap.
This reduces heap fragmentation (win) and removes indirection (win)
- css/CSSInheritedValue.h:
- css/CSSInitialValue.h:
- css/CSSPrimitiveValue.h:
- css/CSSRevertValue.h:
- css/CSSUnsetValue.h:
- css/CSSValuePool.cpp:
(WebCore::CSSValuePool::CSSValuePool):
(WebCore::CSSValuePool::createIdentifierValue):
(WebCore::CSSValuePool::createColorValue):
(WebCore::CSSValuePool::createValue):
(WebCore::CSSValuePool::drain): Deleted.
- css/CSSValuePool.h:
(WebCore::CSSValuePool::createInheritedValue):
(WebCore::CSSValuePool::createImplicitInitialValue):
(WebCore::CSSValuePool::createExplicitInitialValue):
(WebCore::CSSValuePool::createUnsetValue):
(WebCore::CSSValuePool::createRevertValue):
Source/WTF:
NeverDestroyed should relax adoption requirements on all RefCountedBase subclasses.
<https://webkit.org/b/152960>
Reviewed by Antti Koivisto.
Instead of relaxing on subclasses of RefCounted<T>, relax on subclasses of RefCountedBase.
This allows e.g NeverDestroyed<CSSPrimitiveValue> to relax its pointee despite the class
hierarchy starting with RefCounted<CSSValue> (not RefCounted<CSSPrimitiveValue>.)
- wtf/NeverDestroyed.h:
- 3:39 AM Changeset in webkit [194847] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Cleanup RenderThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=152888
Reviewed by Michael Catanzaro.
Use a common path for GTK+ 3.19 and previous versions, simplifying
the code and removing a lot of ifdefs.
- createStyleContext() now receives a theme part enum value, and an optional parent GtkStyleContext. It encapsulates all the differences between GTK+ 3.19 and previous version leaving the rendering code common and free of ifdefs.
- Stock icons support have been removed, simplifying the code that now always renders symbolic icons, updating the colors depending on the current state.
- Media button and colors have been removed, because they are unused now that we render the media controls with CSS.
- ComboBox separators support has also been removed. In GTK+ 3.19 combo boxes no longer have separators and most of the GTK+ themes don't use the either, so it's better to simple not render them anymore in WebKit either.
- Code to paint caps lock indicator has been removed too, since caps lock indicator is now shadow dom and automatically rendered by WebCore.
- rendering/RenderThemeGtk.cpp:
(WebCore::createStyleContext):
(WebCore::loadThemedIcon):
(WebCore::gtkIconStateFlags):
(WebCore::RenderThemeGtk::adjustRepaintRect):
(WebCore::setToggleSize):
(WebCore::paintToggle):
(WebCore::RenderThemeGtk::setCheckboxSize):
(WebCore::RenderThemeGtk::paintCheckbox):
(WebCore::RenderThemeGtk::setRadioSize):
(WebCore::RenderThemeGtk::paintRadio):
(WebCore::RenderThemeGtk::paintButton):
(WebCore::getComboBoxMetrics):
(WebCore::RenderThemeGtk::popupInternalPaddingLeft):
(WebCore::RenderThemeGtk::popupInternalPaddingRight):
(WebCore::RenderThemeGtk::popupInternalPaddingTop):
(WebCore::RenderThemeGtk::popupInternalPaddingBottom):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::paintTextField):
(WebCore::adjustSearchFieldIconStyle):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::paintIcon):
(WebCore::paintEntryIcon):
(WebCore::RenderThemeGtk::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
(WebCore::RenderThemeGtk::shouldHaveCapsLockIndicator):
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::paintSliderThumb):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
(WebCore::RenderThemeGtk::paintProgressBar):
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
(WebCore::paintSpinArrowButton):
(WebCore::RenderThemeGtk::paintInnerSpinButton):
(WebCore::styleColor):
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::systemColor):
(WebCore::RenderThemeGtk::paintMediaButton):
(WebCore::RenderThemeGtk::paintMediaFullscreenButton):
(WebCore::RenderThemeGtk::paintMediaMuteButton):
(WebCore::RenderThemeGtk::paintMediaPlayButton):
(WebCore::RenderThemeGtk::paintMediaSeekBackButton):
(WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
(WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
- rendering/RenderThemeGtk.h:
- 3:37 AM WebKitGTK/2.10.x edited by
- (diff)
- 3:32 AM Changeset in webkit [194846] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][GTK] Propagate motion-notify-event signals from the WebView
https://bugs.webkit.org/show_bug.cgi?id=152974
Reviewed by Carlos Garcia Campos.
Always propagate motion-notify-event signals, regardless of what the
web process does, so that we can listen for those events (which does
not act on specific targets inside the webview) from the container
widget too, and not just from the WebView itself.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseMotionNotifyEvent): Ensure the signal gets propagated.
- 2:49 AM Changeset in webkit [194845] by
-
- 4 edits2 adds in trunk
[GTK] W3C CSS2.1 anonymous table tests are failing
https://bugs.webkit.org/show_bug.cgi?id=152455
Reviewed by Mario Sanchez Prada.
Tools:
Add shared-mime-info to the jhbuild environment, since it affects the results of layout
tests. Add upstream patches to fix detection of XHTML files.
- gtk/jhbuild.modules:
- gtk/patches/shared-mime-info-xht-glob.patch: Added.
- gtk/patches/shared-mime-info-xhtml-magic.patch: Added.
LayoutTests:
Unskip the anonymous table tests, so the bots can generate expected results. The expected
results will be committed separately.
- platform/gtk/TestExpectations:
- 2:40 AM Changeset in webkit [194844] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Cleanup ScrollbarThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=152830
Reviewed by Michael Catanzaro.
Use a common path for GTK+ 3.19 and previous versions, simplifying
the code and removing a lot of ifdefs. Use always a new
GtkStyleContext, but when painting cache the newly created one so
all paint methods use that one. We were also caching some theme
properties assuming they don't change unless the theme changes,
but some of them can have different values depending on the state,
for example, when hovered or pressed. Those properties are now
only cached when we create a new GtkStyleContext.
The method updateScrollbarsFrameThickness() has also been removed,
since the Scrollbar constructor already initializes the frame rect
using the scrollbarThickness(). This method was not doing anything
anyway, since that was called on the constructor of the theme,
when there were no scrollbars registered. This also means we no
longer need to track registered/unregistered scrollbars.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::backButtonRect): Use the cached
GtkStyleContext and properties or create a new.
(WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
(WebCore::ScrollbarThemeGtk::trackRect): Ditto.
(WebCore::orientationStyleClass):
(WebCore::ScrollbarThemeGtk::getOrCreateStyleContext): Create a
new GtkStyleContext for the scrollbar if there isn't a cached
one. Also initialize the properties that depend on the state.
(WebCore::createChildStyleContext): Create a new GtkStyleContext
from a parent one.
(WebCore::ScrollbarThemeGtk::updateThemeProperties): Get the
properties that can only change when the theme changes.
(WebCore::ScrollbarThemeGtk::thumbRect): Use the cached
GtkStyleContext and properties or create a new.
(WebCore::adjustRectAccordingToMargin): Use always the
GtkStyleContext state instead of receiving it and setting it again.
(WebCore::ScrollbarThemeGtk::paintTrackBackground): Get or create
a GtkStyleContext for the scrollbar and create a child one for the trough.
(WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Use the
cached GtkStyleContext or create a new one.
(WebCore::ScrollbarThemeGtk::paintThumb): Get or create a
GtkStyleContext for the scrollbar and create a child ones for
trough and slider.
(WebCore::ScrollbarThemeGtk::paintButton): Get or create a
GtkStyleContext for the scrollbar and create a child one for the button.
(WebCore::ScrollbarThemeGtk::paint): Create a GtkStyleContext and
cache it temporarily using TemporaryChange until the method finishes.
(WebCore::ScrollbarThemeGtk::scrollbarThickness): Use the cached
GtkStyleContext and properties or create a new.
(WebCore::ScrollbarThemeGtk::buttonSize): Ditto.
- platform/gtk/ScrollbarThemeGtk.h:
Jan 10, 2016:
- 11:27 PM Changeset in webkit [194843] by
-
- 7 edits in tags/Safari-601.5.8.2/Source/WebCore
Merged r194719. rdar://problem/23769758
- 11:22 PM Changeset in webkit [194842] by
-
- 5 edits in tags/Safari-601.5.8.2/Source
Versioning.
- 11:19 PM Changeset in webkit [194841] by
-
- 1 copy in tags/Safari-601.5.8.2
New tag.
- 10:49 PM Changeset in webkit [194840] by
-
- 34 edits9 adds in trunk
Implement a sampling profiler
https://bugs.webkit.org/show_bug.cgi?id=151713
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This patch implements a sampling profiler for JavaScriptCore
that will be used in the Inspector UI. The implementation works as follows:
We queue the sampling profiler to run a task on a background
thread every 1ms. When the queued task executes, the sampling profiler
will pause the JSC execution thread and attempt to take a stack trace.
The sampling profiler does everything it can to be very careful
while taking this stack trace. Because it's reading arbitrary memory,
the sampling profiler must validate every pointer it reads from.
The sampling profiler tries to get an ExecutableBase for every call frame
it reads. It first tries to read the CodeBlock slot. It does this because
it can be 100% certain that a pointer is a CodeBlock while it's taking a
stack trace. But, not every call frame will have a CodeBlock. So we must read
the call frame's callee. For these stack traces where we read the callee, we
must verify the callee pointer, and the pointer traversal to an ExecutableBase,
on the main JSC execution thread, and not on the thread taking the stack
trace. We do this verification either before we run the marking phase in
GC, or when somebody asks the SamplingProfiler to materialize its data.
The SamplingProfiler must also be careful to not grab any locks while the JSC execution
thread is paused (this means it can't do anything that mallocs) because
that could cause a deadlock. Therefore, the sampling profiler grabs
locks for all data structures it consults before it pauses the JSC
execution thread.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CodeBlock.h:
(JSC::CodeBlock::clearVisitWeaklyHasBeenCalled):
(JSC::CodeBlockSet::mark):
- dfg/DFGNodeType.h:
- heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::promoteYoungCodeBlocks):
(JSC::CodeBlockSet::clearMarksForFullCollection):
(JSC::CodeBlockSet::lastChanceToFinalize):
(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced):
(JSC::CodeBlockSet::contains):
(JSC::CodeBlockSet::writeBarrierCurrentlyExecutingCodeBlocks):
(JSC::CodeBlockSet::remove): Deleted.
- heap/CodeBlockSet.h:
(JSC::CodeBlockSet::getLock):
(JSC::CodeBlockSet::iterate):
The sampling pofiler uses the heap's CodeBlockSet to validate
CodeBlock pointers. This data structure must now be under a lock
because we must be certain we're not pausing the JSC execution thread
while it's manipulating this data structure.
- heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::ConservativeRoots):
(JSC::ConservativeRoots::grow):
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):
(JSC::ConservativeRoots::add):
(JSC::CompositeMarkHook::CompositeMarkHook):
(JSC::CompositeMarkHook::mark):
- heap/ConservativeRoots.h:
- heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::visitHandleStack):
(JSC::Heap::visitSamplingProfiler):
(JSC::Heap::traceCodeBlocksAndJITStubRoutines):
(JSC::Heap::snapshotMarkedSpace):
- heap/Heap.h:
(JSC::Heap::structureIDTable):
(JSC::Heap::codeBlockSet):
- heap/MachineStackMarker.cpp:
(pthreadSignalHandlerSuspendResume):
(JSC::getCurrentPlatformThread):
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::Thread::operator==):
(JSC::isThreadInList):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::Thread::Thread):
(JSC::MachineThreads::Thread::~Thread):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::Thread::resume):
(JSC::MachineThreads::Thread::getRegisters):
(JSC::MachineThreads::Thread::Registers::stackPointer):
(JSC::MachineThreads::Thread::Registers::framePointer):
(JSC::MachineThreads::Thread::Registers::instructionPointer):
(JSC::MachineThreads::Thread::freeRegisters):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::pthreadSignalHandlerSuspendResume): Deleted.
(JSC::MachineThreads::Thread::operator!=): Deleted.
- heap/MachineStackMarker.h:
(JSC::MachineThreads::Thread::operator!=):
(JSC::MachineThreads::getLock):
(JSC::MachineThreads::threadsListHead):
We can now ask a MachineThreads::Thread for its frame pointer
and program counter on darwin and windows platforms. efl
and gtk implementations will happen in another patch.
- heap/MarkedBlockSet.h:
(JSC::MarkedBlockSet::getLock):
(JSC::MarkedBlockSet::add):
(JSC::MarkedBlockSet::remove):
(JSC::MarkedBlockSet::recomputeFilter):
(JSC::MarkedBlockSet::filter):
(JSC::MarkedBlockSet::set):
- heap/MarkedSpace.cpp:
(JSC::Free::Free):
(JSC::Free::operator()):
(JSC::FreeOrShrink::FreeOrShrink):
(JSC::FreeOrShrink::operator()):
(JSC::MarkedSpace::~MarkedSpace):
(JSC::MarkedSpace::isPagedOut):
(JSC::MarkedSpace::freeBlock):
(JSC::MarkedSpace::freeOrShrinkBlock):
(JSC::MarkedSpace::shrink):
- heap/MarkedSpace.h:
(JSC::MarkedSpace::forEachLiveCell):
(JSC::MarkedSpace::forEachDeadCell):
- interpreter/CallFrame.h:
(JSC::ExecState::calleeAsValue):
(JSC::ExecState::callee):
(JSC::ExecState::unsafeCallee):
(JSC::ExecState::codeBlock):
(JSC::ExecState::scope):
- jit/ExecutableAllocator.cpp:
(JSC::ExecutableAllocator::dumpProfile):
(JSC::ExecutableAllocator::getLock):
(JSC::ExecutableAllocator::isValidExecutableMemory):
- jit/ExecutableAllocator.h:
- jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::ExecutableAllocator::allocate):
(JSC::ExecutableAllocator::isValidExecutableMemory):
(JSC::ExecutableAllocator::getLock):
(JSC::ExecutableAllocator::committedByteCount):
The sampling profiler consults the ExecutableAllocator to check
if the frame pointer it reads is in executable allocated memory.
- jsc.cpp:
(GlobalObject::finishCreation):
(functionCheckModuleSyntax):
(functionStartSamplingProfiler):
(functionSamplingProfilerStackTraces):
- llint/LLIntPCRanges.h: Added.
(JSC::LLInt::isLLIntPC):
- offlineasm/asm.rb:
I added the ability to test whether the PC is executing
LLInt code because this code is not part of the memory
our executable allocator allocates.
- runtime/Executable.h:
(JSC::ExecutableBase::isModuleProgramExecutable):
(JSC::ExecutableBase::isExecutableType):
(JSC::ExecutableBase::isHostFunction):
- runtime/JSLock.cpp:
(JSC::JSLock::didAcquireLock):
(JSC::JSLock::unlock):
- runtime/Options.h:
- runtime/SamplingProfiler.cpp: Added.
(JSC::reportStats):
(JSC::FrameWalker::FrameWalker):
(JSC::FrameWalker::walk):
(JSC::FrameWalker::wasValidWalk):
(JSC::FrameWalker::advanceToParentFrame):
(JSC::FrameWalker::isAtTop):
(JSC::FrameWalker::resetAtMachineFrame):
(JSC::FrameWalker::isValidFramePointer):
(JSC::FrameWalker::isValidCodeBlock):
(JSC::FrameWalker::tryToGetExecutableFromCallee):
The FrameWalker class is used to walk the stack in a safe
manner. It doesn't do anything that would deadlock, and it
validates all pointers that it sees.
(JSC::SamplingProfiler::SamplingProfiler):
(JSC::SamplingProfiler::~SamplingProfiler):
(JSC::SamplingProfiler::visit):
(JSC::SamplingProfiler::shutdown):
(JSC::SamplingProfiler::start):
(JSC::SamplingProfiler::stop):
(JSC::SamplingProfiler::pause):
(JSC::SamplingProfiler::noticeCurrentThreadAsJSCExecutionThread):
(JSC::SamplingProfiler::dispatchIfNecessary):
(JSC::SamplingProfiler::dispatchFunction):
(JSC::SamplingProfiler::noticeJSLockAcquisition):
(JSC::SamplingProfiler::noticeVMEntry):
(JSC::SamplingProfiler::observeStackTrace):
(JSC::SamplingProfiler::clearData):
(JSC::displayName):
(JSC::startLine):
(JSC::startColumn):
(JSC::sourceID):
(JSC::url):
(JSC::SamplingProfiler::stacktracesAsJSON):
- runtime/SamplingProfiler.h: Added.
(JSC::SamplingProfiler::getLock):
(JSC::SamplingProfiler::setTimingInterval):
(JSC::SamplingProfiler::stackTraces):
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
(JSC::VM::setLastStackTop):
(JSC::VM::createContextGroup):
(JSC::VM::ensureWatchdog):
(JSC::VM::ensureSamplingProfiler):
(JSC::thunkGeneratorForIntrinsic):
- runtime/VM.h:
(JSC::VM::watchdog):
(JSC::VM::isSafeToRecurse):
(JSC::VM::lastStackTop):
(JSC::VM::scratchBufferForSize):
(JSC::VM::samplingProfiler):
(JSC::VM::setShouldRewriteConstAsVar):
(JSC::VM::setLastStackTop): Deleted.
- runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
- tests/stress/sampling-profiler: Added.
- tests/stress/sampling-profiler-anonymous-function.js: Added.
(foo):
(baz):
- tests/stress/sampling-profiler-basic.js: Added.
(bar):
(foo):
(nothing):
(top):
(jaz):
(kaz):
(checkInlining):
- tests/stress/sampling-profiler-deep-stack.js: Added.
(foo):
(hellaDeep):
(start):
- tests/stress/sampling-profiler-microtasks.js: Added.
(testResults):
(loop.jaz):
(loop):
- tests/stress/sampling-profiler/samplingProfiler.js: Added.
(assert):
(let.nodePrototype.makeChildIfNeeded):
(makeNode):
(updateCallingContextTree):
(doesTreeHaveStackTrace):
(makeTree):
(runTest):
(dumpTree):
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::isInObjectSpace):
(JSC::JSDollarVMPrototype::isInStorageSpace):
- yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::generateReturn):
(JSC::Yarr::YarrGenerator::YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
(JSC::Yarr::jitCompile):
We now have a boolean that's set to true when
we're executing a RegExp, and to false otherwise.
The boolean lives off of VM.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CodeBlock.h:
(JSC::CodeBlock::clearVisitWeaklyHasBeenCalled):
(JSC::CodeBlockSet::mark):
- dfg/DFGNodeType.h:
- heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::add):
(JSC::CodeBlockSet::promoteYoungCodeBlocks):
(JSC::CodeBlockSet::clearMarksForFullCollection):
(JSC::CodeBlockSet::lastChanceToFinalize):
(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced):
(JSC::CodeBlockSet::contains):
(JSC::CodeBlockSet::writeBarrierCurrentlyExecutingCodeBlocks):
(JSC::CodeBlockSet::remove): Deleted.
- heap/CodeBlockSet.h:
(JSC::CodeBlockSet::getLock):
(JSC::CodeBlockSet::iterate):
- heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::ConservativeRoots):
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::add):
(JSC::CompositeMarkHook::CompositeMarkHook):
(JSC::CompositeMarkHook::mark):
- heap/ConservativeRoots.h:
- heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::visitHandleStack):
(JSC::Heap::visitSamplingProfiler):
(JSC::Heap::traceCodeBlocksAndJITStubRoutines):
- heap/Heap.h:
(JSC::Heap::structureIDTable):
(JSC::Heap::codeBlockSet):
- heap/HeapInlines.h:
(JSC::Heap::didFreeBlock):
(JSC::Heap::isPointerGCObject):
(JSC::Heap::isValueGCObject):
- heap/MachineStackMarker.cpp:
(pthreadSignalHandlerSuspendResume):
(JSC::getCurrentPlatformThread):
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::Thread::operator==):
(JSC::isThreadInList):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::Thread::Thread):
(JSC::MachineThreads::Thread::~Thread):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::Thread::resume):
(JSC::MachineThreads::Thread::getRegisters):
(JSC::MachineThreads::Thread::Registers::stackPointer):
(JSC::MachineThreads::Thread::Registers::framePointer):
(JSC::MachineThreads::Thread::Registers::instructionPointer):
(JSC::MachineThreads::Thread::freeRegisters):
(JSC::pthreadSignalHandlerSuspendResume): Deleted.
(JSC::MachineThreads::Thread::operator!=): Deleted.
- heap/MachineStackMarker.h:
(JSC::MachineThreads::Thread::operator!=):
(JSC::MachineThreads::getLock):
(JSC::MachineThreads::threadsListHead):
- heap/MarkedBlockSet.h:
- heap/MarkedSpace.cpp:
(JSC::Free::Free):
(JSC::Free::operator()):
(JSC::FreeOrShrink::FreeOrShrink):
(JSC::FreeOrShrink::operator()):
- interpreter/CallFrame.h:
(JSC::ExecState::calleeAsValue):
(JSC::ExecState::callee):
(JSC::ExecState::unsafeCallee):
(JSC::ExecState::codeBlock):
(JSC::ExecState::scope):
- jit/ExecutableAllocator.cpp:
(JSC::ExecutableAllocator::dumpProfile):
(JSC::ExecutableAllocator::getLock):
(JSC::ExecutableAllocator::isValidExecutableMemory):
- jit/ExecutableAllocator.h:
- jit/ExecutableAllocatorFixedVMPool.cpp:
(JSC::ExecutableAllocator::allocate):
(JSC::ExecutableAllocator::isValidExecutableMemory):
(JSC::ExecutableAllocator::getLock):
(JSC::ExecutableAllocator::committedByteCount):
- jsc.cpp:
(GlobalObject::finishCreation):
(functionCheckModuleSyntax):
(functionPlatformSupportsSamplingProfiler):
(functionStartSamplingProfiler):
(functionSamplingProfilerStackTraces):
- llint/LLIntPCRanges.h: Added.
(JSC::LLInt::isLLIntPC):
- offlineasm/asm.rb:
- runtime/Executable.h:
(JSC::ExecutableBase::isModuleProgramExecutable):
(JSC::ExecutableBase::isExecutableType):
(JSC::ExecutableBase::isHostFunction):
- runtime/JSLock.cpp:
(JSC::JSLock::didAcquireLock):
(JSC::JSLock::unlock):
- runtime/Options.h:
- runtime/SamplingProfiler.cpp: Added.
(JSC::reportStats):
(JSC::FrameWalker::FrameWalker):
(JSC::FrameWalker::walk):
(JSC::FrameWalker::wasValidWalk):
(JSC::FrameWalker::advanceToParentFrame):
(JSC::FrameWalker::isAtTop):
(JSC::FrameWalker::resetAtMachineFrame):
(JSC::FrameWalker::isValidFramePointer):
(JSC::FrameWalker::isValidCodeBlock):
(JSC::SamplingProfiler::SamplingProfiler):
(JSC::SamplingProfiler::~SamplingProfiler):
(JSC::SamplingProfiler::processUnverifiedStackTraces):
(JSC::SamplingProfiler::visit):
(JSC::SamplingProfiler::shutdown):
(JSC::SamplingProfiler::start):
(JSC::SamplingProfiler::stop):
(JSC::SamplingProfiler::pause):
(JSC::SamplingProfiler::noticeCurrentThreadAsJSCExecutionThread):
(JSC::SamplingProfiler::dispatchIfNecessary):
(JSC::SamplingProfiler::dispatchFunction):
(JSC::SamplingProfiler::noticeJSLockAcquisition):
(JSC::SamplingProfiler::noticeVMEntry):
(JSC::SamplingProfiler::clearData):
(JSC::displayName):
(JSC::SamplingProfiler::stacktracesAsJSON):
(WTF::printInternal):
- runtime/SamplingProfiler.h: Added.
(JSC::SamplingProfiler::StackFrame::StackFrame):
(JSC::SamplingProfiler::getLock):
(JSC::SamplingProfiler::setTimingInterval):
(JSC::SamplingProfiler::stackTraces):
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
(JSC::VM::setLastStackTop):
(JSC::VM::createContextGroup):
(JSC::VM::ensureWatchdog):
(JSC::VM::ensureSamplingProfiler):
(JSC::thunkGeneratorForIntrinsic):
- runtime/VM.h:
(JSC::VM::watchdog):
(JSC::VM::samplingProfiler):
(JSC::VM::isSafeToRecurse):
(JSC::VM::lastStackTop):
(JSC::VM::scratchBufferForSize):
(JSC::VM::setLastStackTop): Deleted.
- runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
- tests/stress/sampling-profiler: Added.
- tests/stress/sampling-profiler-anonymous-function.js: Added.
(platformSupportsSamplingProfiler.foo):
(platformSupportsSamplingProfiler.baz):
(platformSupportsSamplingProfiler):
- tests/stress/sampling-profiler-basic.js: Added.
(platformSupportsSamplingProfiler.bar):
(platformSupportsSamplingProfiler.foo):
(platformSupportsSamplingProfiler.nothing):
(platformSupportsSamplingProfiler.top):
(platformSupportsSamplingProfiler.jaz):
(platformSupportsSamplingProfiler.kaz):
(platformSupportsSamplingProfiler.checkInlining):
(platformSupportsSamplingProfiler):
- tests/stress/sampling-profiler-deep-stack.js: Added.
(platformSupportsSamplingProfiler.foo):
(platformSupportsSamplingProfiler.let.hellaDeep):
(platformSupportsSamplingProfiler.let.start):
(platformSupportsSamplingProfiler):
- tests/stress/sampling-profiler-microtasks.js: Added.
(platformSupportsSamplingProfiler.testResults):
(platformSupportsSamplingProfiler):
(platformSupportsSamplingProfiler.loop.jaz):
(platformSupportsSamplingProfiler.loop):
- tests/stress/sampling-profiler/samplingProfiler.js: Added.
(assert):
(let.nodePrototype.makeChildIfNeeded):
(makeNode):
(updateCallingContextTree):
(doesTreeHaveStackTrace):
(makeTree):
(runTest):
(dumpTree):
- yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::generateReturn):
(JSC::Yarr::YarrGenerator::YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
(JSC::Yarr::jitCompile):
Source/WTF:
- wtf/MetaAllocator.cpp:
(WTF::MetaAllocator::decrementPageOccupancy):
(WTF::MetaAllocator::isInAllocatedMemory):
(WTF::MetaAllocator::roundUp):
- wtf/MetaAllocator.h:
(WTF::MetaAllocator::getLock):
- wtf/Platform.h:
Tools:
- Scripts/run-jsc-stress-tests:
- 9:55 PM Changeset in webkit [194839] by
-
- 6 edits3 adds in trunk
[SVG -> OTF Converter] Parsing failures cause use of incomplete fonts
https://bugs.webkit.org/show_bug.cgi?id=152772
<rdar://problem/24043104>
Reviewed by Simon Fraser.
Source/WebCore:
Originally, if we fail to parse a glyph, we would simply skip the glyph. However, this means that
we will create an incomplete font without all the necessary glyphs. This causes very distressing
text where all the occurances of a particular letter are missing. Instead, we should treat the
entire font as invalid.
Test: fast/text/svg-font-invalid-glyph-path-failure.html
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::font):
- loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::ensureCustomFontData):
- svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::error):
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
(WebCore::SVGToOTFFontConverter::processGlyphElement):
(WebCore::convertSVGToOTFFont):
- svg/SVGToOTFFontConversion.h:
LayoutTests:
Make sure the font renders as if its invalid.
- fast/text/resources/bustedfont.svg: Added.
- fast/text/svg-font-invalid-glyph-path-failure-expected.html: Added.
- fast/text/svg-font-invalid-glyph-path-failure.html: Added.
- 9:54 PM Changeset in webkit [194838] by
-
- 16 edits2 copies12 adds in trunk
[JSC] Iterating over a Set/Map is too slow
https://bugs.webkit.org/show_bug.cgi?id=152691
Reviewed by Saam Barati.
Source/JavaScriptCore:
Set#forEach and Set & for-of are very slow. There are 2 reasons.
- forEach is implemented in C++. And typically, taking JS callback and calling it from C++.
C++ to JS transition seems costly. perf result in Linux machine shows this.
Samples: 23K of event 'cycles', Event count (approx.): 21446074385
34.04% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::Interpreter::execute(JSC::CallFrameClosure&)
20.48% jsc libjavascriptcoregtk-4.0.so.18.3.1 . vmEntryToJavaScript
9.80% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
7.95% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::setProtoFuncForEach(JSC::ExecState*)
5.65% jsc perf-22854.map . 0x00007f5d2c204a6f
Writing forEach in JS eliminates this.
Samples: 23K of event 'cycles', Event count (approx.): 21255691651
62.91% jsc perf-22890.map . 0x00007fd117c0a3b9
24.89% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::privateFuncSetIteratorNext(JSC::ExecState*)
0.29% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::CodeBlock::updateAllPredictionsAndCountLiveness(unsigned int&, unsigned int&)
0.24% jsc [vdso] . 0x00000000000008e8
0.22% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::CodeBlock::predictedMachineCodeSize()
0.16% jsc libjavascriptcoregtk-4.0.so.18.3.1 . WTF::MetaAllocator::currentStatistics()
0.15% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::Lexer<unsigned char>::lex(JSC::JSToken*, unsigned int, bool)
- Iterator result object allocation is costly.
Iterator result object allocation is costly. Even if the (1) is solved, when executing Set & for-of, perf result shows very slow performance due to (2).
Samples: 108K of event 'cycles', Event count (approx.): 95529273748
18.02% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::createIteratorResultObject(JSC::ExecState*, JSC::JSValue, bool)
15.68% jsc jsc . JSC::JSObject::putDirect(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int)
14.18% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::PrototypeMap::emptyObjectStructureForPrototype(JSC::JSObject*, unsigned int)
13.40% jsc perf-25420.map . 0x00007fce158006a1
6.79% jsc libjavascriptcoregtk-4.0.so.18.3.1 . JSC::StructureTransitionTable::get(WTF::UniquedStringImpl*, unsigned int) const
In the long term, we should implement SetIterator#next in JS and make the iterator result object allocation written in JS to encourage object allocation elimination in FTL.
But seeing the perf result, we can find the easy to fix bottleneck in the current implementation.
Every time createIteratorResultObject creates the empty object and use putDirect to store properties.
The pre-baked Structure* withdone
andvalue
properties makes this implementation fast.
After these improvements, the micro benchmark[1] shows the following.
old:
Linked List x 212,776 ops/sec ±0.21% (162 runs sampled)
Array x 376,156 ops/sec ±0.20% (162 runs sampled)
Array forEach x 17,345 ops/sec ±0.99% (137 runs sampled)
Array for-of x 16,518 ops/sec ±0.58% (160 runs sampled)
Set forEach x 13,263 ops/sec ±0.20% (162 runs sampled)
Set for-of x 4,732 ops/sec ±0.34% (123 runs sampled)
new:
Linked List x 210,833 ops/sec ±0.28% (161 runs sampled)
Array x 371,347 ops/sec ±0.36% (162 runs sampled)
Array forEach x 17,460 ops/sec ±0.84% (136 runs sampled)
Array for-of x 16,188 ops/sec ±1.27% (158 runs sampled)
Set forEach x 23,684 ops/sec ±2.46% (139 runs sampled)
Set for-of x 12,176 ops/sec ±0.54% (157 runs sampled)
Set#forEach becomes comparable to Array#forEach. And Set#forEach and Set & for-of are improved (1.79x, and 2.57x).
After this optimizations, they are still much slower than linked list and array.
This should be optimized in the long term.
[1]: https://gist.github.com/Constellation/8db5f5b8f12fe7e283d0
- CMakeLists.txt:
- DerivedSources.make:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/MapPrototype.js: Copied from Source/JavaScriptCore/runtime/IteratorOperations.h.
(forEach):
- builtins/SetPrototype.js: Copied from Source/JavaScriptCore/runtime/IteratorOperations.h.
(forEach):
- runtime/CommonIdentifiers.h:
- runtime/IteratorOperations.cpp:
(JSC::createIteratorResultObjectStructure):
(JSC::createIteratorResultObject):
- runtime/IteratorOperations.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::iteratorResultObjectStructure):
(JSC::JSGlobalObject::iteratorResultStructure): Deleted.
(JSC::JSGlobalObject::iteratorResultStructureOffset): Deleted.
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::getOwnPropertySlot):
(JSC::privateFuncIsMap):
(JSC::privateFuncMapIterator):
(JSC::privateFuncMapIteratorNext):
(JSC::MapPrototype::finishCreation): Deleted.
(JSC::mapProtoFuncForEach): Deleted.
- runtime/MapPrototype.h:
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::getOwnPropertySlot):
(JSC::privateFuncIsSet):
(JSC::privateFuncSetIterator):
(JSC::privateFuncSetIteratorNext):
(JSC::SetPrototype::finishCreation): Deleted.
(JSC::setProtoFuncForEach): Deleted.
- runtime/SetPrototype.h:
LayoutTests:
Add regress tests.
- js/regress/map-for-each-expected.txt: Added.
- js/regress/map-for-each.html: Added.
- js/regress/map-for-of-expected.txt: Added.
- js/regress/map-for-of.html: Added.
- js/regress/script-tests/map-for-each.js: Added.
(createMap):
(i.map.forEach):
- js/regress/script-tests/map-for-of.js: Added.
(createMap):
- js/regress/script-tests/set-for-each.js: Added.
(set forEach):
(set createSet):
- js/regress/script-tests/set-for-of.js: Added.
- js/regress/set-for-each-expected.txt: Added.
- js/regress/set-for-each.html: Added.
- js/regress/set-for-of-expected.txt: Added.
- js/regress/set-for-of.html: Added.
- 7:44 PM Changeset in webkit [194837] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix ARM64 build.
- b3/air/AirOpcode.opcodes:
- 7:25 PM Changeset in webkit [194836] by
-
- 3 edits in trunk/Source/JavaScriptCore
B3 should reduce Trunc(BitOr(value, constant)) where !(constant & 0xffffffff) to Trunc(value)
https://bugs.webkit.org/show_bug.cgi?id=152955
Reviewed by Saam Barati.
This happens when we box an int32 and then immediately unbox it.
This makes an enormous difference on AsmBench/FloatMM. It's a 2x speed-up on that
benchmark. It's neutral elsewhere.
- b3/B3ReduceStrength.cpp:
- b3/testb3.cpp:
(JSC::B3::testPowDoubleByIntegerLoop):
(JSC::B3::testTruncOrHigh):
(JSC::B3::testTruncOrLow):
(JSC::B3::testBitAndOrHigh):
(JSC::B3::testBitAndOrLow):
(JSC::B3::zero):
(JSC::B3::run):
- 5:38 PM Changeset in webkit [194835] by
-
- 21 edits2 deletes in trunk/Source/JavaScriptCore
[ES6] Arrow function syntax. Get rid of JSArrowFunction and use standard JSFunction class
https://bugs.webkit.org/show_bug.cgi?id=149855
Patch by Skachkov Oleksandr <gskachkov@gmail.com> on 2016-01-10
Reviewed by Saam Barati.
JSArrowFunction.h/cpp were removed from JavaScriptCore, because now is used new approach for storing
'this', 'arguments' and 'super'
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewFunction):
- dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::run):
- ftl/FTLAbstractHeapRepository.cpp:
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction):
- interpreter/Interpreter.cpp:
- interpreter/Interpreter.h:
- jit/JITOpcodes.cpp:
- jit/JITOpcodes32_64.cpp:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- llint/LLIntOffsetsExtractor.cpp:
- llint/LLIntSlowPaths.cpp:
- runtime/JSArrowFunction.cpp: Removed.
- runtime/JSArrowFunction.h: Removed.
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
- 4:58 PM Changeset in webkit [194834] by
-
- 9 edits in trunk/Source
It should be possible to run liveness over registers without also tracking Tmps
https://bugs.webkit.org/show_bug.cgi?id=152963
Reviewed by Saam Barati.
Source/JavaScriptCore:
This adds a RegLivenessAdapter so that we can run Liveness over registers. This makes it
easier to write certain kinds of phases, like ReportUsedRegisters. I anticipate writing more
code like that for handling cold function calls. It also makes code like that somewhat more
scalable, since we're no longer using HashSets.
Currently, the way we track sets of registers is with a BitVector. Normally, we use the
RegisterSet class, which wraps BitVector, so that we can add()/contains() on Reg's. But in
the liveness analysis, everything gets turned into an index. So, we want to use BitVector
directly. To do that, I needed to make the BitVector API look a bit more like a set API. I
think that this is good, because the lack of set methods (add/remove/contains) has caused
bugs in the past. This makes BitVector have methods both for set operations on bits and array
operations on bits. I think that's good, since BitVector gets used in both contexts.
- b3/B3IndexSet.h:
(JSC::B3::IndexSet::Iterable::iterator::iterator):
(JSC::B3::IndexSet::Iterable::begin):
(JSC::B3::IndexSet::dump):
- b3/air/AirInstInlines.h:
(JSC::B3::Air::ForEach<Tmp>::forEach):
(JSC::B3::Air::ForEach<Arg>::forEach):
(JSC::B3::Air::ForEach<Reg>::forEach):
(JSC::B3::Air::Inst::forEach):
- b3/air/AirLiveness.h:
(JSC::B3::Air::RegLivenessAdapter::RegLivenessAdapter):
(JSC::B3::Air::RegLivenessAdapter::maxIndex):
(JSC::B3::Air::RegLivenessAdapter::acceptsType):
(JSC::B3::Air::RegLivenessAdapter::valueToIndex):
(JSC::B3::Air::RegLivenessAdapter::indexToValue):
- b3/air/AirReportUsedRegisters.cpp:
(JSC::B3::Air::reportUsedRegisters):
- jit/Reg.h:
(JSC::Reg::next):
(JSC::Reg::index):
(JSC::Reg::maxIndex):
(JSC::Reg::isSet):
(JSC::Reg::operator bool):
- jit/RegisterSet.h:
(JSC::RegisterSet::forEach):
Source/WTF:
Add set methods (add/contains/remove) to BitVector, since it gets used as a set in a lot of
places. This also makes BitVector a drop-in replacement for HashSet<unsigned> in a lot of
places.
Also made the iterator methods of BitVector live on BitVector directly rather than behind the
thing returned from setBits(). This makes sense since that makes BitVector even more of a
drop-in for HashSet. It's not harmful since we've never added any other mode of iterating a
BitVector other than this, so it doesn't make sense to make it harder to access.
- wtf/BitVector.h:
(WTF::BitVector::get):
(WTF::BitVector::contains):
(WTF::BitVector::set):
(WTF::BitVector::add):
(WTF::BitVector::ensureSizeAndSet):
(WTF::BitVector::clear):
(WTF::BitVector::remove):
(WTF::BitVector::hash):
(WTF::BitVector::iterator::iterator):
(WTF::BitVector::iterator::operator*):
(WTF::BitVector::iterator::operator++):
(WTF::BitVector::iterator::operator==):
(WTF::BitVector::iterator::operator!=):
(WTF::BitVector::begin):
(WTF::BitVector::end):
(WTF::BitVector::bitsInPointer):
(WTF::BitVector::SetBitsIterable::SetBitsIterable): Deleted.
(WTF::BitVector::SetBitsIterable::iterator::iterator): Deleted.
(WTF::BitVector::SetBitsIterable::iterator::operator*): Deleted.
(WTF::BitVector::SetBitsIterable::iterator::operator++): Deleted.
(WTF::BitVector::SetBitsIterable::iterator::operator==): Deleted.
(WTF::BitVector::SetBitsIterable::iterator::operator!=): Deleted.
(WTF::BitVector::SetBitsIterable::begin): Deleted.
(WTF::BitVector::SetBitsIterable::end): Deleted.
(WTF::BitVector::setBits): Deleted.
- 2:33 PM Changeset in webkit [194833] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] Make branchMul functional in ARM B3 and minor fixes
https://bugs.webkit.org/show_bug.cgi?id=152889
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-10
Reviewed by Mark Lam.
ARM64 does not have a "S" version of MUL setting the flags.
What we do is abstract that in the MacroAssembler. The problem
is that form requires scratch registers.
For simplicity, I just exposed the two scratch registers
for Air. Filip already added the concept of Scratch role,
all I needed was to expose it for opcodes.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::branchMul32):
(JSC::MacroAssemblerARM64::branchMul64):
Expose a version with the scratch registers as arguments.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
Add the new form of CheckMul lowering.
- b3/air/AirOpcode.opcodes:
Expose the new BranchMuls.
Remove all the Test variants that use immediates
since Air can't handle those immediates correctly yet.
- b3/air/opcode_generator.rb:
Expose the Scratch role.
- b3/testb3.cpp:
(JSC::B3::testPatchpointLotsOfLateAnys):
Ooops, the scratch registers were not clobbered. We were just lucky
on x86.
- 1:56 PM Changeset in webkit [194832] by
-
- 2 edits in trunk/Tools
[webkitdirs] Try arch and uname commands on non-windows OS
https://bugs.webkit.org/show_bug.cgi?id=152958
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-10
Reviewed by Michael Catanzaro.
Right now, determineArchitecture() uses
arch
anduname -m
commands to determine architecture in case of condition (isGtk() isAppleMacWebKit() isEfl()) is true. This should be !anyWindows() instead, because this code is applicable to any non-windows OS WebKit
supports (even Haiku which once was supported is moderately
POSIX-compliant and has uname command).
- Scripts/webkitdirs.pm:
(determineArchitecture):
- 1:42 PM Changeset in webkit [194831] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] B3 is unable to do function calls on ARM64
https://bugs.webkit.org/show_bug.cgi?id=152895
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-10
Reviewed by Mark Lam.
Apparently iOS does not follow the ARM64 ABI for function calls.
Instead of giving each value a 8 bytes slot, it must be packed
while preserving alignment.
This patch adds a #ifdef to make function calls functional.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::marshallCCallArgument):
(JSC::B3::Air::LowerToAir::lower):
- 12:28 PM Changeset in webkit [194830] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught Exception selecting IndexedDB host folder in Storage tab
https://bugs.webkit.org/show_bug.cgi?id=152943
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-10
Reviewed by Brian Burg.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
Another type of specialized folder tree element.
- 12:25 PM Changeset in webkit [194829] by
-
- 2 edits in trunk/Source/WebInspectorUI
Uncaught Exception: TypeError: undefined is not an object (evaluating 'this._scopeChain[i].object.deprecatedGetAllProperties')
https://bugs.webkit.org/show_bug.cgi?id=152944
<rdar://problem/24119827>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-10
Reviewed by Brian Burg.
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame.prototype.collectScopeChainVariableNames):
Missed one place whereobject
needed to change toobjects
.
Here the list will always contain a single object, only UI
generated scopes for the sidebar may have multiple objects.
- 12:24 PM Changeset in webkit [194828] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dashboard log message count doesn't include console.time messages
https://bugs.webkit.org/show_bug.cgi?id=151280
Patch by Johan K. Jensen <jj@johanjensen.dk> on 2016-01-10
Reviewed by Brian Burg.
- UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
Make Info and Debug levels increment the log count.
- 10:51 AM Changeset in webkit [194827] by
-
- 2 edits in trunk/Source/WebKit2
[Cocoa] Disable header postprocessing when building for El Capitan
https://bugs.webkit.org/show_bug.cgi?id=152962
Reviewed by Anders Carlsson.
- Configurations/WebKit.xcconfig:
- 5:27 AM Changeset in webkit [194826] by
-
- 21 edits in trunk/Source
Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL cont'd
<https://webkit.org/b/152902>
Reviewed by Andy Estes.
Source/WebCore:
Convert some more of the remaining clients to use NeverDestroyed.
- html/track/VTTRegion.cpp:
(WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
(WebCore::VTTRegion::textTrackRegionShadowPseudoId):
- svg/properties/SVGAnimatedPropertyMacros.h:
Source/WebKit:
- Storage/StorageThread.cpp:
(WebCore::activeStorageThreads):
Source/WebKit/ios:
- WebCoreSupport/WebFixedPositionContent.mm:
(WebFixedPositionContentDataLock):
Source/WebKit/mac:
Convert some more of the remaining clients to use NeverDestroyed.
- History/WebBackForwardList.mm:
(backForwardLists):
- History/WebHistoryItem.mm:
(historyItemWrappers):
- Misc/WebNSPasteboardExtras.mm:
(+[NSPasteboard _web_writableTypesForURL]):
(_writableTypesForImageWithoutArchive):
(_writableTypesForImageWithArchive):
- Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::singleton):
- Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::pluginProxyMap):
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::globalExceptionString):
- Plugins/Hosted/ProxyInstance.mm:
(WebKit::proxyClass):
- Plugins/WebNetscapePluginStream.mm:
(streams):
- Storage/WebDatabaseManager.mm:
(transactionBackgroundTaskIdentifierLock):
- WebCoreSupport/WebUserMediaClient.mm:
(userMediaCheckMap):
- WebView/WebHTMLRepresentation.mm:
(regExpForLabels):
- WebView/WebView.mm:
(aeDescFromJSValue):
Jan 9, 2016:
- 10:39 PM Changeset in webkit [194825] by
-
- 13 edits in trunk/Source/WebCore
Hook up display-list drawing in GraphicsLayerCA
https://bugs.webkit.org/show_bug.cgi?id=152946
Reviewed by Zalan Bujtas.
Have GraphicsLayerCA hold a DisplayList. If enabled, do a display-list record
in GraphicsLayerCA::recursiveCommitChanges(), and a playback in GraphicsLayerCA::platformCALayerPaintContents().
GraphicsLayerCA needs to maintain a m_hasEverPainted flag to know to do a full record
at first paint (when there are no dirty rects).
Plumb 'isUsingDisplayListDrawing' through to TileGrid via PlatformCALayer{Client}
so that we can decorate the tile paint counters with an outline.
Have RenderLayerCompositor push the displayListDrawingEnabled state down through
RenderLayerBackings to GraphicsLayers.
Convert RenderLayerCompositor to use initializers.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::usesDisplayListDrawing):
(WebCore::GraphicsLayer::setUsesDisplayListDrawing):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::setUsesDisplayListDrawing):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::platformCALayerPaintContents):
(WebCore::GraphicsLayerCA::updateDrawsContent):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::drawRepaintIndicator):
- platform/graphics/ca/PlatformCALayerClient.h:
(WebCore::PlatformCALayerClient::isUsingDisplayListDrawing):
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerShowRepaintCounter):
(WebCore::TileGrid::isUsingDisplayListDrawing):
- platform/graphics/ca/TileGrid.h:
- platform/graphics/displaylists/DisplayList.h: Sadly need to include DisplayListItems.h
to get things to compile. I wasn't able to avoid this even when making functions non-inline.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createGraphicsLayer):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
- rendering/RenderLayerCompositor.h:
- 8:15 PM Changeset in webkit [194824] by
-
- 4 edits in trunk/Source/JavaScriptCore
Air should support Branch64 with immediates
https://bugs.webkit.org/show_bug.cgi?id=152951
Reviewed by Oliver Hunt.
This doesn't significantly improve performance on any benchmarks, but it's great to get this
obvious omission out of the way.
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branch64):
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::testPowDoubleByIntegerLoop):
(JSC::B3::testBranch64Equal):
(JSC::B3::testBranch64EqualImm):
(JSC::B3::testBranch64EqualMem):
(JSC::B3::testBranch64EqualMemImm):
(JSC::B3::zero):
(JSC::B3::run):
- 4:38 PM Changeset in webkit [194823] by
-
- 3 edits2 adds in trunk
REGRESSION (r194426): First email field is not autofilled on amazon.com
https://bugs.webkit.org/show_bug.cgi?id=152945
<rdar://problem/24082914>
Reviewed by Simon Fraser.
r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root).
Source/WebCore:
Test: fast/forms/multiple-subtree-layout-failure.html
- page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayoutOfSubtree):
LayoutTests:
- fast/forms/multiple-subtree-layout-failure-expected.html: Added.
- fast/forms/multiple-subtree-layout-failure.html: Added.
- 3:29 PM Changeset in webkit [194822] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] Updated Turkish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=152948
"Reviewed" by Michael Catanzaro.
Patch by Muhammet Kara <muhammetk@gmail.com> on 2016-01-09
- tr.po:
- 12:13 PM Changeset in webkit [194821] by
-
- 23 edits in trunk/Source
[Cocoa] Allow overriding the frameworks directory independently of using a staging install path
https://bugs.webkit.org/show_bug.cgi?id=152926
Reviewed by Tim Horton.
Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
- Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
- Define JAVASCRIPTCORE_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
- Configurations/JSC.xcconfig: Add quotes to account for spaces.
- Configurations/ToolExecutable.xcconfig: Ditto.
- postprocess-headers.sh: Ditto.
Source/ThirdParty:
- gtest/xcode/Config/General.xcconfig: Add quotes to account for spaces.
- gtest/xcode/Config/ProductionProject.xcconfig:
- Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
- Define WEBCORE_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
Source/WebCore:
- Configurations/WebCore.xcconfig:
- Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
- Define WEBCORE_FRAMEWORKS_DIR and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
- WebCore.xcodeproj/project.pbxproj: Work around make’s inability to handle spaces in paths by creating a symlink to JAVASCRIPTCORE_PRIVATE_HEADERS_DIR under BUILT_PRODUCTS_DIR and using the symlink as the value of JavaScriptCore_SCRIPTS_DIR.
Source/WebInspectorUI:
- Configurations/Base.xcconfig:
- Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
- Configurations/WebInspectorUIFramework.xcconfig:
- Define INSTALL_PATH and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
Source/WebKit/mac:
- Configurations/WebKitLegacy.xcconfig:
- Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
- Define WEBKIT_LEGACY_FRAMEWORKS_DIR, PRODUCTION_FRAMEWORKS_DIR, and WEBCORE_PRIVATE_HEADERS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
- MigrateHeaders.make: Use a symlink under BUILT_PRODUCTS_DIR to the WebCore Private Headers. Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based one in order to avoid spaces.
- migrate-headers.sh: Make the symlink to WEBCORE_PRIVATE_HEADERS_DIR that the makefile now uses.
Source/WebKit2:
- Configurations/BaseTarget.xcconfig:
- Add quotes to account for spaces.
- Define WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
- WebKit2.xcodeproj/project.pbxproj:
- In the Migrate WebKitLegacy Headers build phase, work around make’s inability to handle spaces in paths by creating a symlink to WEBKIT_LEGACY_PRIVATE_HEADERS_DIR under BUILT_PRODUCTS_DIR and using the symlink as the value of WEBKIT_LEGACY_PRIVATE_HEADERS_DIR.
- In the Postprocess WKBase.h and Postprocess WKFoundation.h build phases, add quotes to account for spaces.
- mac/MigrateHeadersFromWebKitLegacy.make: Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based one in order to avoid spaces.
- mac/postprocess-framework-headers.sh: Add quotes to account for spaces.
- 7:23 AM Changeset in webkit [194820] by
-
- 5 edits in trunk/Source/JavaScriptCore
The FTL allocated spill slots for BinaryOps is sometimes inaccurate.
https://bugs.webkit.org/show_bug.cgi?id=152918
Reviewed by Filip Pizlo and Saam Barati.
- ftl/FTLCompile.cpp:
- Updated a comment.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
- The code to compute maxNumberOfCatchSpills was unnecessarily allocating an extra slot for BinaryOps that don't have Untyped operands, and failing to allocate that extra slot for some binary ops. This is now fixed.
- tests/stress/ftl-shr-exception.js:
- tests/stress/ftl-xor-exception.js:
- Un-skipped these tests. They now pass with this patch.
- 5:13 AM Changeset in webkit [194819] by
-
- 176 edits in trunk/Source
Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
<https://webkit.org/b/152902>
Reviewed by Anders Carlsson.
Source/JavaScriptCore:
Mostly mechanical conversion to NeverDestroyed throughout JavaScriptCore.
- API/JSAPIWrapperObject.mm:
(jsAPIWrapperObjectHandleOwner):
- API/JSManagedValue.mm:
(managedValueHandleOwner):
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::objectGroupForBreakpointAction):
- jit/ExecutableAllocator.cpp:
(JSC::DemandExecutableAllocator::allocators):
Source/WebCore:
Mostly mechanical conversion to NeverDestroyed throughout WebCore.
- Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:
(WebCore::stringForPlaybackTargetAvailability):
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::directionNext):
(WebCore::IDBCursor::directionNextUnique):
(WebCore::IDBCursor::directionPrev):
(WebCore::IDBCursor::directionPrevUnique):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::modeReadOnly):
(WebCore::IDBTransaction::modeReadWrite):
(WebCore::IDBTransaction::modeVersionChange):
(WebCore::IDBTransaction::modeReadOnlyLegacy):
(WebCore::IDBTransaction::modeReadWriteLegacy):
- Modules/indexeddb/legacy/LegacyRequest.cpp:
(WebCore::LegacyRequest::readyState):
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::automaticKeyword):
(WebCore::MediaControlsHost::forcedOnlyKeyword):
(WebCore::MediaControlsHost::alwaysOnKeyword):
(WebCore::MediaControlsHost::externalDeviceType):
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::openKeyword):
(WebCore::MediaSource::closedKeyword):
(WebCore::MediaSource::endedKeyword):
(WebCore::MediaSource::streamEndedWithError):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::quickTimePluginReplacementScript):
(WebCore::QuickTimePluginReplacement::supportsMimeType):
(WebCore::QuickTimePluginReplacement::supportsFileExtension):
- Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::boundaryEventOccurred):
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyIDForJSCSSPropertyName):
- bridge/c/c_instance.cpp:
(JSC::Bindings::globalExceptionString):
- css/MediaList.cpp:
(WebCore::addResolutionWarningMessageToConsole):
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
- dom/ChildListMutationScope.cpp:
(WebCore::accumulatorMap):
- dom/DOMImplementation.cpp:
(WebCore::isSupportedSVG10Feature):
(WebCore::isSupportedSVG11Feature):
- dom/Document.cpp:
(WebCore::Document::readyState):
- dom/Element.cpp:
(WebCore::Element::webkitRegionOverset):
- dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchSimulatedClick):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::isValidCSSContentType):
- dom/MutationObserver.cpp:
(WebCore::activeMutationObservers):
(WebCore::suspendedMutationObservers):
- dom/MutationRecord.cpp:
- dom/PseudoElement.cpp:
(WebCore::pseudoElementTagName):
(WebCore::PseudoElement::pseudoElementNameForEvents):
- dom/QualifiedName.cpp:
(WebCore::qualifiedNameCache):
(WebCore::nullQName):
- dom/ScriptElement.cpp:
(WebCore::isLegacySupportedJavaScriptLanguage):
(WebCore::ScriptElement::notifyFinished):
- editing/ApplyStyleCommand.cpp:
(WebCore::styleSpanClassString):
- editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::shouldAddNamespaceElement):
- editing/ReplaceSelectionCommand.cpp:
(WebCore::isInterchangeNewlineNode):
(WebCore::isInterchangeConvertedSpaceSpan):
- editing/htmlediting.cpp:
(WebCore::nonBreakingSpaceString):
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::styleNodeCloseTag):
(WebCore::createMarkupInternal):
- fileapi/Blob.cpp:
(WebCore::BlobURLRegistry::registry):
- html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):
- html/DateInputType.cpp:
(WebCore::DateInputType::createStepRange):
- html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::createStepRange):
- html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::createStepRange):
- html/EmailInputType.cpp:
(WebCore::isValidEmailAddress):
- html/FormController.cpp:
(WebCore::FormKeyGenerator::formKey):
(WebCore::formStateSignature):
- html/HTMLAnchorElement.cpp:
(WebCore::rootEditableElementMap):
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::formControlType):
- html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::formControlType):
- html/HTMLFrameOwnerElement.h:
(WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):
- html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::formControlType):
- html/HTMLLinkElement.cpp:
(WebCore::linkLoadEventSender):
- html/HTMLMediaElement.cpp:
(WebCore::documentToElementSetMap):
- html/HTMLObjectElement.cpp:
(WebCore::isRecognizedTagName):
- html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::formControlType):
- html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::formControlType):
- html/HTMLPlugInElement.cpp:
(WebCore::registeredPluginReplacements):
- html/HTMLPlugInImageElement.cpp:
(WebCore::titleText):
(WebCore::subtitleText):
(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::formControlType):
- html/HTMLStyleElement.cpp:
(WebCore::styleLoadEventSender):
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::formControlType):
- html/HTMLTextFormControlElement.cpp:
(WebCore::directionString):
- html/ImageInputType.cpp:
(WebCore::ImageInputType::appendFormData):
- html/InputTypeNames.cpp:
(WebCore::InputTypeNames::button):
(WebCore::InputTypeNames::checkbox):
(WebCore::InputTypeNames::color):
(WebCore::InputTypeNames::date):
(WebCore::InputTypeNames::datetime):
(WebCore::InputTypeNames::datetimelocal):
(WebCore::InputTypeNames::email):
(WebCore::InputTypeNames::file):
(WebCore::InputTypeNames::hidden):
(WebCore::InputTypeNames::image):
(WebCore::InputTypeNames::month):
(WebCore::InputTypeNames::number):
(WebCore::InputTypeNames::password):
(WebCore::InputTypeNames::radio):
(WebCore::InputTypeNames::range):
(WebCore::InputTypeNames::reset):
(WebCore::InputTypeNames::search):
(WebCore::InputTypeNames::submit):
(WebCore::InputTypeNames::telephone):
(WebCore::InputTypeNames::text):
(WebCore::InputTypeNames::time):
(WebCore::InputTypeNames::url):
(WebCore::InputTypeNames::week):
- html/MediaController.cpp:
(playbackStateWaiting):
(playbackStatePlaying):
(playbackStateEnded):
- html/MonthInputType.cpp:
(WebCore::MonthInputType::createStepRange):
- html/NumberInputType.cpp:
(WebCore::NumberInputType::createStepRange):
- html/RangeInputType.cpp:
(WebCore::RangeInputType::createStepRange):
- html/StepRange.cpp:
(WebCore::StepRange::acceptableError):
(WebCore::StepRange::alignValueForStep):
(WebCore::StepRange::stepMismatch):
- html/TimeInputType.cpp:
(WebCore::TimeInputType::createStepRange):
- html/WeekInputType.cpp:
(WebCore::WeekInputType::createStepRange):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
- html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
(WebCore::getMediaControlTimeRemainingDisplayElementShadowPseudoId):
(WebCore::getMediaControlCurrentTimeDisplayElementShadowPseudoId):
- html/shadow/MeterShadowElement.cpp:
(WebCore::MeterInnerElement::MeterInnerElement):
(WebCore::MeterValueElement::valuePseudoId):
- html/shadow/MeterShadowElement.h:
- html/shadow/SliderThumbElement.cpp:
(WebCore::sliderThumbShadowPseudoId):
(WebCore::mediaSliderThumbShadowPseudoId):
(WebCore::SliderContainerElement::shadowPseudoId):
- html/track/AudioTrack.cpp:
(WebCore::AudioTrack::alternativeKeyword):
(WebCore::AudioTrack::descriptionKeyword):
(WebCore::AudioTrack::mainKeyword):
(WebCore::AudioTrack::mainDescKeyword):
(WebCore::AudioTrack::translationKeyword):
(WebCore::AudioTrack::commentaryKeyword):
- html/track/TextTrack.cpp:
(WebCore::TextTrack::subtitlesKeyword):
(WebCore::TextTrack::captionsKeyword):
(WebCore::TextTrack::descriptionsKeyword):
(WebCore::TextTrack::chaptersKeyword):
(WebCore::TextTrack::metadataKeyword):
(WebCore::TextTrack::forcedKeyword):
(WebCore::TextTrack::disabledKeyword):
(WebCore::TextTrack::hiddenKeyword):
(WebCore::TextTrack::showingKeyword):
- html/track/TextTrackCue.h:
(WebCore::TextTrackCue::cueShadowPseudoId):
- html/track/VTTCue.cpp:
(WebCore::startKeyword):
(WebCore::middleKeyword):
(WebCore::endKeyword):
(WebCore::leftKeyword):
(WebCore::rightKeyword):
(WebCore::verticalGrowingLeftKeyword):
(WebCore::verticalGrowingRightKeyword):
(WebCore::VTTCueBox::vttCueBoxShadowPseudoId):
(WebCore::VTTCue::cueBackdropShadowPseudoId):
(WebCore::VTTCue::determineTextDirection):
(WebCore::VTTCue::markFutureAndPastNodes):
- html/track/VTTRegion.cpp:
(WebCore::VTTRegion::scroll):
(WebCore::VTTRegion::setScroll):
(WebCore::VTTRegion::parseSettingValue):
(WebCore::VTTRegion::textTrackCueContainerScrollingClass):
- html/track/VideoTrack.cpp:
(WebCore::VideoTrack::alternativeKeyword):
(WebCore::VideoTrack::captionsKeyword):
(WebCore::VideoTrack::mainKeyword):
(WebCore::VideoTrack::signKeyword):
(WebCore::VideoTrack::subtitlesKeyword):
(WebCore::VideoTrack::commentaryKeyword):
- html/track/WebVTTElement.cpp:
(WebCore::nodeTypeToTagName):
- html/track/WebVTTElement.h:
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::collectMetadataHeader):
- inspector/InspectorCSSAgent.cpp:
(WebCore::computePseudoClassMask):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::sourceMapURLForResource):
- inspector/InspectorStyleSheet.cpp:
(WebCore::selectorsFromSource):
- inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::sourceMapURLForScript):
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::corsPolicyPreventedLoad):
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::initiatorName):
- loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::defaultDatabaseFilename):
- page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
- page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::allowJavaScriptURLs):
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
(WebCore::CSPDirectiveList::allowInlineScript):
(WebCore::CSPDirectiveList::allowInlineStyle):
(WebCore::CSPDirectiveList::allowEval):
(WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
- page/DOMWindow.cpp:
(WebCore::windowsWithUnloadEventListeners):
(WebCore::windowsWithBeforeUnloadEventListeners):
- page/EventHandler.cpp:
(WebCore::EventHandler::dragState):
(WebCore::focusDirectionForKey):
- page/Frame.cpp:
(WebCore::createRegExpForLabels):
- page/NavigatorBase.cpp:
(WebCore::NavigatorBase::platform):
- page/PageVisibilityState.cpp:
(WebCore::pageVisibilityStateString):
- page/SecurityPolicy.cpp:
(WebCore::originAccessMap):
- page/UserContentURLPattern.cpp:
(WebCore::UserContentURLPattern::parse):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::shadowForBlending):
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateKeyframeAnimations):
- platform/Cursor.cpp:
(WebCore::pointerCursor):
(WebCore::crossCursor):
(WebCore::handCursor):
(WebCore::moveCursor):
(WebCore::verticalTextCursor):
(WebCore::cellCursor):
(WebCore::contextMenuCursor):
(WebCore::aliasCursor):
(WebCore::zoomInCursor):
(WebCore::zoomOutCursor):
(WebCore::copyCursor):
(WebCore::noneCursor):
(WebCore::progressCursor):
(WebCore::noDropCursor):
(WebCore::notAllowedCursor):
(WebCore::iBeamCursor):
(WebCore::waitCursor):
(WebCore::helpCursor):
(WebCore::eastResizeCursor):
(WebCore::northResizeCursor):
(WebCore::northEastResizeCursor):
(WebCore::northWestResizeCursor):
(WebCore::southResizeCursor):
(WebCore::southEastResizeCursor):
(WebCore::southWestResizeCursor):
(WebCore::westResizeCursor):
(WebCore::northSouthResizeCursor):
(WebCore::eastWestResizeCursor):
(WebCore::northEastSouthWestResizeCursor):
(WebCore::northWestSouthEastResizeCursor):
(WebCore::columnResizeCursor):
(WebCore::rowResizeCursor):
(WebCore::middlePanningCursor):
(WebCore::eastPanningCursor):
(WebCore::northPanningCursor):
(WebCore::northEastPanningCursor):
(WebCore::northWestPanningCursor):
(WebCore::southPanningCursor):
(WebCore::southEastPanningCursor):
(WebCore::southWestPanningCursor):
(WebCore::westPanningCursor):
(WebCore::grabCursor):
(WebCore::grabbingCursor):
- platform/Language.cpp:
(WebCore::preferredLanguagesOverride):
- platform/LocalizedStrings.cpp:
(WebCore::truncatedStringForLookupMenuItem):
- platform/MIMETypeRegistry.cpp:
(WebCore::mediaMIMETypeMap):
(WebCore::defaultMIMEType):
- platform/SchemeRegistry.cpp:
(WebCore::localURLSchemes):
(WebCore::displayIsolatedURLSchemes):
(WebCore::secureSchemes):
(WebCore::schemesWithUniqueOrigins):
(WebCore::emptyDocumentSchemes):
(WebCore::schemesForbiddenFromDomainRelaxation):
(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::notAllowingJavascriptURLsSchemes):
(WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
(WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
(WebCore::CORSEnabledSchemes):
(WebCore::ContentSecurityPolicyBypassingSchemes):
- platform/ScrollbarTheme.cpp:
(WebCore::ScrollbarTheme::theme):
- platform/URL.cpp:
(WebCore::blankURL):
- platform/animation/Animation.cpp:
(WebCore::Animation::initialName):
- platform/audio/AudioSession.cpp:
(WebCore::AudioSession::sharedSession):
- platform/audio/AudioSession.h:
- platform/audio/HRTFElevation.cpp:
(WebCore::getConcatenatedImpulseResponsesForSubject):
- platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::audioDestinations):
- platform/graphics/GraphicsLayer.cpp:
(WebCore::repaintRectMap):
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::transformColorSpace):
- platform/graphics/MediaPlayer.cpp:
(WebCore::applicationOctetStream):
(WebCore::textPlain):
(WebCore::codecs):
- platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::singleton):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::playerToPrivateMap):
- platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::effectName):
- platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::effectName):
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::mimeCommonTypesCache):
(WebCore::mimeModernTypesCache):
- platform/ios/CursorIOS.cpp:
(WebCore::cursor):
- platform/ios/TileControllerMemoryHandlerIOS.cpp:
(WebCore::tileControllerMemoryHandler):
- platform/ios/WebCoreMotionManager.mm:
(+[WebCoreMotionManager sharedManager]):
- platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::updateForEventName):
- platform/ios/wak/WKContentObservation.cpp:
(WebThreadGetObservedContentModifiers):
- platform/mac/DragImageMac.mm:
(WebCore::fontFromNSFont):
- platform/mac/ThemeMac.mm:
(WebCore::platformTheme):
- platform/mac/ThreadCheck.mm:
(WebCoreReportThreadViolation):
- platform/mediastream/mac/AVCaptureDeviceManager.h:
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::singleton):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenter::platformCenter):
- platform/mock/mediasource/MockBox.cpp:
(WebCore::MockTrackBox::type):
(WebCore::MockInitializationBox::type):
(WebCore::MockSampleBox::type):
- platform/network/HTTPParsers.cpp:
(WebCore::parseXSSProtectionHeader):
- platform/network/ResourceHandle.cpp:
(WebCore::builtinResourceHandleConstructorMap):
(WebCore::builtinResourceHandleSynchronousLoaderMap):
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::allowsAnyHTTPSCertificateHosts):
(WebCore::clientCerts):
- platform/text/AtomicStringKeyedMRUCache.h:
(WebCore::AtomicStringKeyedMRUCache::get):
- platform/text/cf/HyphenationCF.cpp:
(WebCore::cfLocaleCache):
- rendering/RenderBlock.cpp:
(WebCore::continuationOutlineTable):
- rendering/RenderCounter.cpp:
(WebCore::counterMaps):
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::drawPlatformResizerImage):
- rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::renderScrollbarTheme):
- rendering/RenderTheme.cpp:
(WebCore::customFocusRingColor):
- rendering/RenderWidget.cpp:
(WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
- rendering/shapes/ShapeOutsideInfo.h:
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::hyphenString):
(WebCore::RenderStyle::textEmphasisMarkString):
(WebCore::RenderStyle::initialDashboardRegions):
(WebCore::RenderStyle::noneDashboardRegions):
- rendering/style/RenderStyle.h:
- rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::zeroLengthLinecapPath):
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::nonScalingStrokePath):
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::currentContentTransformation):
- rendering/svg/SVGResources.cpp:
(WebCore::clipperFilterMaskerTags):
(WebCore::markerTags):
(WebCore::fillAndStrokeTags):
(WebCore::chainableResourceTags):
- svg/SVGAngle.cpp:
(WebCore::SVGAngle::valueAsString):
- svg/SVGAnimateColorElement.cpp:
(WebCore::attributeValueIsCurrentColor):
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::rotateMode):
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setCalcMode):
(WebCore::SVGAnimationElement::setAttributeType):
(WebCore::SVGAnimationElement::isAdditive):
(WebCore::SVGAnimationElement::isAccumulated):
(WebCore::inheritsFromProperty):
- svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
- svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier):
- svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
(WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
- svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier):
(WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier):
- svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::radiusXIdentifier):
(WebCore::SVGFEMorphologyElement::radiusYIdentifier):
- svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier):
- svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier):
(WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier):
- svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::filterResXIdentifier):
(WebCore::SVGFilterElement::filterResYIdentifier):
- svg/SVGGlyphMap.h:
(WebCore::SVGGlyphMap::svgGlyphForGlyph):
- svg/SVGLangSpace.cpp:
(WebCore::SVGLangSpace::xmlspace):
(WebCore::SVGLangSpace::addSupportedAttributes):
- svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orientTypeIdentifier):
(WebCore::SVGMarkerElement::orientAngleIdentifier):
(WebCore::SVGMarkerElement::synchronizeOrientType):
- svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::type):
(WebCore::SVGStyleElement::media):
- svg/SVGTransform.cpp:
(WebCore::SVGTransform::transformTypePrefixForParsing):
- svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewBoxIdentifier):
(WebCore::SVGViewSpec::preserveAspectRatioIdentifier):
(WebCore::SVGViewSpec::transformIdentifier):
- svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseClockValue):
(WebCore::SVGSMILElement::isSupportedAttribute):
(WebCore::SVGSMILElement::restart):
(WebCore::SVGSMILElement::fill):
(WebCore::SVGSMILElement::repeatCount):
(WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
Source/WTF:
Mostly mechanical conversion to NeverDestroyed throughout WTF.
- wtf/RunLoop.cpp:
(WTF::RunLoop::current):
- wtf/ThreadingPthreads.cpp:
(WTF::threadMapMutex):
(WTF::threadMap):
Jan 8, 2016:
- 10:32 PM Changeset in webkit [194818] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Test Resources should not be included in Production builds unless FORCE_TOOL_INSTALL
https://bugs.webkit.org/show_bug.cgi?id=152941
<rdar://problem/24119013>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-08
Reviewed by Dan Bernstein.
- Configurations/Base.xcconfig:
Combine inspector resources in production, but not test resources.
- Configurations/DebugRelease.xcconfig:
Do not combine inspector resources in Release/Debug. Combine test resources.
- Configurations/WebInspectorUIFramework.xcconfig:
Simplify by moving to other config files.
- Scripts/copy-user-interface-resources.pl:
Have FORCE_TOOL_INSTALL combine test resources as well.
- WebInspectorUI.vcxproj/build-webinspectorui.pl:
Only combine test resources in non-Production.
- 10:27 PM Changeset in webkit [194817] by
-
- 11 edits2 adds in trunk
Absolute positioning -webkit-search-cancel-button crashes Safari.
https://bugs.webkit.org/show_bug.cgi?id=152847
<rdar://problem/24112087>
Reviewed by Simon Fraser.
Do not call offsetFromContainer while resolving the painting position for the search/cancel button renderer.
It skips the static positioned parent input renderer, when the search/cancel renderer is absolute positioned.
This patch also fixes a rendering glitch when the margin-right is > 0.
Source/WebCore:
Test: fast/forms/absolute-positioned-custom-search-cancel-crash.html
- rendering/RenderTheme.h:
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::convertToPaintingPosition):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::convertToPaintingRect): Deleted.
LayoutTests:
- fast/forms/absolute-positioned-custom-search-cancel-crash-expected.txt: Added.
- fast/forms/absolute-positioned-custom-search-cancel-crash.html: Added.
- 10:07 PM Changeset in webkit [194816] by
-
- 4 edits in trunk/Source/WebCore
Add display-list drawing hooks to platform-specific GraphicsContext files
https://bugs.webkit.org/show_bug.cgi?id=152940
Reviewed by Zalan Bujtas.
Call into the display list recorder for top-level entrypoints implemented in platform-specific
files.
The convention is that if a function begins with "platform", it's not a top-level
entry point, and should only be called when there's a platform context (i.e. not
recording, and not paintingDisabled).
A few instances are stubbed out until we have a more complete display list implementation.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::clipConvexPolygon):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::clipBounds):
(WebCore::GraphicsContext::drawLinesForText):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
(WebCore::GraphicsContext::setPlatformStrokeStyle):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::beginPlatformTransparencyLayer):
(WebCore::GraphicsContext::endPlatformTransparencyLayer):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineDash):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::setPlatformShouldAntialias):
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
(WebCore::GraphicsContext::isAcceleratedContext):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::clipConvexPolygon):
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::clipBounds):
(WebCore::GraphicsContext::beginPlatformTransparencyLayer):
(WebCore::GraphicsContext::endPlatformTransparencyLayer):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::setMiterLimit):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineDash):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::drawLinesForText):
(WebCore::GraphicsContext::setURLForRect):
(WebCore::GraphicsContext::setIsCALayerContext):
(WebCore::GraphicsContext::isCALayerContext):
(WebCore::GraphicsContext::setIsAcceleratedContext):
(WebCore::GraphicsContext::isAcceleratedContext):
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
(WebCore::GraphicsContext::setPlatformStrokeColor):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::setPlatformShouldAntialias):
(WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
(WebCore::GraphicsContext::platformFillEllipse):
(WebCore::GraphicsContext::platformStrokeEllipse):
- 5:57 PM Changeset in webkit [194815] by
-
- 4 edits in trunk/LayoutTests
Modern IDB: storage/indexeddb/setversion-blocked-by-versionchange-close.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152936
Reviewed by Alex Christensen.
- platform/mac-wk1/TestExpectations:
- storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js:
- storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
- 5:41 PM Changeset in webkit [194814] by
-
- 8 edits in trunk/Source/WebCore
Add DisplayList hooks into GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=152932
Reviewed by Zalan Bujtas.
Add the hooks into GraphicsContext that call into the DisplayListRecorder if there
is one.
Rename size() to something less ambiguous.
Out-of-line some DisplayList functions so that the header doesn't need to see
DisplayListItems.h.
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::setLegacyShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::setShadowsIgnoreTransforms):
(WebCore::GraphicsContext::setShouldAntialias):
(WebCore::GraphicsContext::setShouldSmoothFonts):
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
(WebCore::GraphicsContext::setImageInterpolationQuality):
(WebCore::GraphicsContext::setAntialiasedFontDilationEnabled):
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):
(WebCore::GraphicsContext::drawGlyphs):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::setTextDrawingMode):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::setCompositeOperation):
(WebCore::GraphicsContext::setDrawLuminanceMask):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
(WebCore::GraphicsContext::applyState):
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::setDisplayListRecorder):
(WebCore::GraphicsContext::isRecording):
(WebCore::GraphicsContext::setFillRule): Deleted.
(WebCore::GraphicsContext::setShadowsIgnoreTransforms): Deleted.
(WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts): Deleted.
(WebCore::GraphicsContext::setDrawLuminanceMask): Deleted.
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::clear):
(WebCore::DisplayList::DisplayList::removeItemsFromIndex):
- platform/graphics/displaylists/DisplayList.h:
(WebCore::DisplayList::DisplayList::itemCount):
(WebCore::DisplayList::DisplayList::clear): Deleted.
(WebCore::DisplayList::DisplayList::size): Deleted.
(WebCore::DisplayList::DisplayList::removeItemsFromIndex): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::save):
(WebCore::DisplayList::Recorder::restore):
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::itemCount):
(WebCore::DisplayList::Recorder::size): Deleted.
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::replay):
- 5:36 PM Changeset in webkit [194813] by
-
- 2 edits in tags/Safari-602.1.15.0.1
Merged r194809. rdar://problem/24116804
- 5:35 PM Changeset in webkit [194812] by
-
- 5 edits in tags/Safari-602.1.15.0.1/Source
Versioning.
- 5:33 PM Changeset in webkit [194811] by
-
- 1 copy in tags/Safari-602.1.15.0.1
New tag.
- 5:21 PM Changeset in webkit [194810] by
-
- 14 edits2 adds in trunk/Source/WebKit2
Implement download authentication with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=152878
Reviewed by Brady Eidson.
- DerivedSources.make:
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
- NetworkProcess/Downloads/PendingDownload.cpp: Added.
(WebKit::PendingDownload::PendingDownload):
(WebKit::PendingDownload::willSendRedirectedRequest):
(WebKit::PendingDownload::continueWillSendRequest):
(WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync):
(WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::PendingDownload::didConvertToDownload):
(WebKit::PendingDownload::messageSenderConnection):
(WebKit::PendingDownload::messageSenderDestinationID):
- NetworkProcess/Downloads/PendingDownload.h:
(WebKit::PendingDownload::PendingDownload): Deleted.
- NetworkProcess/Downloads/PendingDownload.messages.in: Added.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::continueWillSendRequest):
The completion handler should always be called. If m_currentRequest is null, then the request will not proceed, which is the same as canceling it.
(WebKit::NetworkLoad::setPendingDownloadID):
(WebKit::NetworkLoad::setPendingDownload):
(WebKit::NetworkLoad::willPerformHTTPRedirection):
(WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
If this load is going to become a download, then call the PendingDownload version of didReceiveAuthenticationChallenge to communicate with the
UI process directly because there wasn't necessarily a web process associated with this request that will become a download.
- NetworkProcess/NetworkLoad.h:
(WebKit::NetworkLoad::pendingDownloadID):
- NetworkProcess/NetworkSession.h:
(WebKit::NetworkDataTask::client):
(WebKit::NetworkDataTask::pendingDownloadID):
(WebKit::NetworkDataTask::pendingDownload):
(WebKit::NetworkDataTask::setPendingDownloadID):
(WebKit::NetworkDataTask::setPendingDownload):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
- PlatformMac.cmake:
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- Shared/Authentication/AuthenticationManager.h:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
Removed unnecessary protection and move null check to before using the pointer it checks.
- 4:59 PM Changeset in webkit [194809] by
-
- 2 edits in trunk
Fix internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=152937
Reviewed by Brent Fulgham.
- Source/cmake/WebKitCommon.cmake:
Try looking in the default cygwin installation directory for executables like bison, flex, gperf, and ruby.
This is needed on Windows builds that are not driven by cygwin, but need to use the cygwin installations of these tools.
This is the effective equivalent of this line in WebKitLibraries/win/tools/vsprops/common.props in the old build system:
set PATH=%SystemDrive%\cygwin\bin;%PATH%
- 4:50 PM Changeset in webkit [194808] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:42 PM Changeset in webkit [194807] by
-
- 2 edits in trunk/LayoutTests
Marking fast/scrolling/scroll-position-on-reload-rtl.html as failing on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152935
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 4:41 PM Changeset in webkit [194806] by
-
- 2 edits in trunk/LayoutTests
Skipping two unsupported mouse event tests on ios-simulator
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 4:37 PM Changeset in webkit [194805] by
-
- 2 edits in trunk/Source/JavaScriptCore
FTL B3 should do varargs tail calls and stack overflows
https://bugs.webkit.org/show_bug.cgi?id=152934
Reviewed by Saam Barati.
I was trying to get tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-validate to work and
at first I hit the stack overflow issue and then I hit the varargs tail call issue. That's
why I have two fixes in one change. Now the test passes.
This reduces the number of failures from 13 to 0.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower): Implement stack overflow handling.
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs): Varargs tail calls need to
append an Oops (i.e. "unreachable").
- 4:36 PM Changeset in webkit [194804] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:24 PM Changeset in webkit [194803] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:01 PM Changeset in webkit [194802] by
-
- 12 edits1 add in trunk/Source/JavaScriptCore
B3 needs Neg()
https://bugs.webkit.org/show_bug.cgi?id=152925
Reviewed by Mark Lam.
Previously we said that negation should be represented as Sub(0, x). That's wrong, since
for floats, Sub(0, 0) == 0 while Neg(0) == -0.
One way to solve this would be to say that anyone trying to say Neg(x) where x is a float
should instead say BitXor(x, -0). That's actually correct, but I think that it would be odd
to use bitops to represent floating point operations. Whatever cuteness this would have
bought us would be outweighed by the annoyance of having to write code that matches
Sub(0, x) for integer negation and BitXor(x, -0) for double negation. For example, this
would mean strictly more code for anyone implementing a Neg(Neg(x))=>x strength reduction.
Also, I suspect that the omission of Neg would cause others to make the mistake of using
Sub to represent floating point negation.
So, this introduces a proper Neg() opcode to B3. It's now the canonical way of saying
negation for both ints and floats. For ints, we canonicalize Sub(0, x) to Neg(x). For
floats, we lower it to BitXor(x, -0) on x86.
This reduces the number of failures from 13 to 12.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::andFloat):
(JSC::MacroAssemblerX86Common::xorDouble):
(JSC::MacroAssemblerX86Common::xorFloat):
(JSC::MacroAssemblerX86Common::convertInt32ToDouble):
- b3/B3LowerMacrosAfterOptimizations.cpp:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
- b3/B3Opcode.cpp:
(WTF::printInternal):
- b3/B3Opcode.h:
- b3/B3ReduceStrength.cpp:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::effects):
(JSC::B3::Value::key):
(JSC::B3::Value::typeFor):
- b3/air/AirOpcode.opcodes:
- ftl/FTLB3Output.cpp:
(JSC::FTL::Output::lockedStackSlot):
(JSC::FTL::Output::neg):
(JSC::FTL::Output::bitNot):
- ftl/FTLB3Output.h:
(JSC::FTL::Output::chillDiv):
(JSC::FTL::Output::mod):
(JSC::FTL::Output::chillMod):
(JSC::FTL::Output::doubleAdd):
(JSC::FTL::Output::doubleSub):
(JSC::FTL::Output::doubleMul):
(JSC::FTL::Output::doubleDiv):
(JSC::FTL::Output::doubleMod):
(JSC::FTL::Output::doubleNeg):
(JSC::FTL::Output::bitAnd):
(JSC::FTL::Output::bitOr):
(JSC::FTL::Output::neg): Deleted.
- tests/stress/ftl-negate-zero.js: Added. This was already covered by op_negate but since
it's such a glaring bug, I thought having a test for it specifically would be good.
- 3:50 PM Changeset in webkit [194801] by
-
- 2 edits in trunk/LayoutTests
Marking js/intl-collator.html as failing on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152448
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:41 PM Changeset in webkit [194800] by
-
- 4 edits in trunk
Modern IDB: imported/w3c/indexeddb/keyorder.htm times out.
https://bugs.webkit.org/show_bug.cgi?id=152929
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Existing test now runs in the test harness).
- Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::setGetResult):
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 3:36 PM Changeset in webkit [194799] by
-
- 2 edits in trunk/LayoutTests
Marking two css3/filters/composited-during-* tests as failing on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=152282
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:26 PM Changeset in webkit [194798] by
-
- 8 edits in trunk/Source/WebCore
Consider painting to be disabled on a GraphicsContext with no platform data, and make updatingControlTints() immutable state
https://bugs.webkit.org/show_bug.cgi?id=152927
Reviewed by Tim Horton.
GraphicsContext had setters for paintingDisabled and updatingControlTints, but neither
were changed dynamically.
We can eliminate paintingDisabled by simply considering a GraphicsContext that was
created with no platform context to be paint-disabled.
We make updatingControlTints immutable state by providing a constructor that takes
a "NonPaintingReasons" enum, and doesn't create platform data.
More functions in platform code were protected by if (paintingDisabled())...
- page/FrameView.cpp:
(WebCore::FrameView::paintControlTints):
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::setUpdatingControlTints): Deleted.
(WebCore::GraphicsContext::clip): Deleted.
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::updatingControlTints):
(WebCore::GraphicsContextState::GraphicsContextState): Deleted.
(WebCore::GraphicsContext::setPaintingDisabled): Deleted.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::platformInit):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipBounds):
(WebCore::GraphicsContext::setLineDash):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
(WebCore::GraphicsContext::setIsCALayerContext):
(WebCore::GraphicsContext::isCALayerContext):
(WebCore::GraphicsContext::setIsAcceleratedContext):
(WebCore::GraphicsContext::isAcceleratedContext):
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
- platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
- platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::GraphicsContext): Deleted.
- 3:25 PM Changeset in webkit [194797] by
-
- 2 edits in trunk/LayoutTests
Mark compositing/overflow/dynamic-composited-scrolling-status.html as failing on ios-simulator, remove duplicate
expectation added by previous commit.
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:19 PM Changeset in webkit [194796] by
-
- 8 edits in trunk/Source/WebCore
InputType::findClosestTickMarkValue should return an Optional<Decimal>
https://bugs.webkit.org/show_bug.cgi?id=152931
Reviewed by Andreas Kling.
This will make it possible to get rid of the notion of infinity from Decimal, allowing for more code simplification.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::findClosestTickMarkValue):
- html/HTMLInputElement.h:
- html/InputType.cpp:
(WebCore::InputType::findClosestTickMarkValue):
- html/InputType.h:
- html/RangeInputType.cpp:
(WebCore::RangeInputType::findClosestTickMarkValue):
- html/RangeInputType.h:
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):
- 3:19 PM Changeset in webkit [194795] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 3:18 PM Changeset in webkit [194794] by
-
- 1 edit1 delete in trunk/LayoutTests
Removing WK2 specific results for this test.
Legacy IDB passes just the same as Modern IDB.
- platform/wk2/imported/w3c/indexeddb/keypath-expected.txt: Removed.
- 3:16 PM Changeset in webkit [194793] by
-
- 2 edits in trunk/LayoutTests
Marking two ios/scolling tests as failing on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=152276
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 3:12 PM Changeset in webkit [194792] by
-
- 2 edits1 add in trunk/LayoutTests
Rebaselining two compositing tests for ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=152138
Unreviewed test gardening.
- platform/ios-simulator-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
- platform/ios-simulator/compositing/contents-opaque/table-parts-expected.txt: Added.
- 2:51 PM Changeset in webkit [194791] by
-
- 1 edit1717 deletes in trunk/LayoutTests
Removing ios-simulator-wk1/ and ios-simulator-wk2/ expected.* files that are identical to the ones in ios-simulator/
https://bugs.webkit.org/show_bug.cgi?id=152130
Unreviewed test gardening.
- platform/ios-simulator-wk1/editing/deleting/delete-block-merge-contents-011-expected.txt: Removed.
- platform/ios-simulator-wk1/editing/deleting/delete-first-list-item-expected.txt: Removed.
- platform/ios-simulator-wk1/editing/deleting/merge-different-styles-expected.txt: Removed.
- +1714 more
- 2:29 PM Changeset in webkit [194790] by
-
- 2 edits in trunk/LayoutTests
Removing deleted test fast/mediastream/RTCPeerConnection-state.html from mac TestExpectations file
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 2:21 PM Changeset in webkit [194789] by
-
- 9 edits in trunk
Modern IDB: IDBBindingUtilities chokes on unicode strings for get/set.
https://bugs.webkit.org/show_bug.cgi?id=152921
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- indexeddb/keypath-expected.txt:
Source/WebCore:
No new tests (Covered by existing tests).
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::get): Don't do a potentially lossy utf8() conversion on the string.
(WebCore::set): Ditto.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- storage/indexeddb/objectstore-autoincrement-expected.txt:
- storage/indexeddb/objectstore-autoincrement.html:
- storage/indexeddb/resources/objectstore-autoincrement.js:
- 1:57 PM Changeset in webkit [194788] by
-
- 7 edits in trunk/Websites/perf.webkit.org
Make v3 UI analysis task page is hard to understand
https://bugs.webkit.org/show_bug.cgi?id=152917
Reviewed by Antti Koivisto.
Add a dark gray border around the selected block in the analysis results viewer instead of using darker
shades since that looks as if they were bigger regression/progression.
Explicitly show "Failed" as the label instead of omitting with "-" when all build requests in an A/B
testing group fails.
- public/v3/components/analysis-results-viewer.js:
(AnalysisResultsViewer.cssTemplate): Tweaked the style to underline text in the hovered blocks and the
selected blocks and show a dark gray border around the selected blocks.
(AnalysisResultsViewer.TestGroupStackingBlock):
(AnalysisResultsViewer.TestGroupStackingBlock.prototype.createStackingCell): Use this._title for title.
(AnalysisResultsViewer.TestGroupStackingBlock.prototype._computeTestGroupStatus):
(AnalysisResultsViewer.TestGroupStackingBlock.prototype._valuesForRootSet): Deleted.
- public/v3/components/results-table.js:
(ResultsTable.prototype.render):
(ResultsTable.prototype._createRevisionListCells): Extracted from ResultsTable.prototype.render.
(ResultsTable.cssTemplate): Tweaked the style.
(ResultsTableRow):
(ResultsTableRow.prototype.constructor): Added _labelForWholeRow to store the label for the entire row.
This is used to show the comparison result of two root sets (e.g. A vs B).
(ResultsTableRow.prototype.setLabelForWholeRow): Added.
(ResultsTableRow.prototype.labelForWholeRow): Added.
(ResultsTableRow.prototype.resultContent): Extracted from buildHeading. Creates a hyperlinked bar graph
used for each A/B testing result.
(ResultsTableRow.prototype.buildHeading): Deleted since we need to set colspan on the second table cell
when we're creating a row with _labelForWholeRow.
- public/v3/components/test-group-results-table.js:
(TestGroupResultsTable.prototype.buildRowGroups): Added rows to show relative differences and statistical
significance between root sets (e.g. A vs B).
- public/v3/models/build-request.js:
(BuildRequest.prototype.hasCompleted): Added.
- public/v3/models/test-group.js:
(TestGroup.prototype.compareTestResults): Extracted from AnalysisResultsViewer.TestGroupStackingBlock's
_computeTestGroupStatus and generalized to be reused in TestGroupResultsTable.
(TestGroup.prototype._valuesForRootSet): Moved from AnalysisResultsViewer.TestGroupStackingBlock.
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage.cssTemplate): Tweaked the style.
- 1:42 PM Changeset in webkit [194787] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Support more video formats.
https://bugs.webkit.org/show_bug.cgi?id=152890
Reviewed by Alex Christensen.
Use MediaFoundation api to detect all supported video/audio formats.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes):
(WebCore::MediaPlayerPrivateMediaFoundation::supportsType):
- 1:42 PM Changeset in webkit [194786] by
-
- 4 edits in trunk/Source/JavaScriptCore
FTL B3 compile() doesn't clear exception handlers before we add FTL-specific ones
https://bugs.webkit.org/show_bug.cgi?id=152922
Reviewed by Saam Barati.
FTL B3 was generating a handler table that first contained the old baseline handlers keyed
by baseline's bytecode indices and then the FTL handlers keyed by FTL callsite index. That's
wrong, since the FTL code block should not contain any baseline handlers. The fix is to
clear the handlers before generation, sort of like FTL LLVM does.
Also added some stuff to make it easier to inspect the handler table.
This reduces the numbe rof failures from 25 to 13.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::dumpExceptionHandlers):
(JSC::CodeBlock::beginDumpProfiling):
- bytecode/CodeBlock.h:
- ftl/FTLB3Compile.cpp:
(JSC::FTL::compile):
- 1:33 PM Changeset in webkit [194785] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Initiated section of Resource Details Sidebar should not display as empty and should update as the list changes
https://bugs.webkit.org/show_bug.cgi?id=152907
<rdar://problem/24109927>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-08
Reviewed by Timothy Hatcher.
- UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.addInitiatedResource):
Dispatch an event when the list of initiated resources changes.
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
Add/remove event listeners for initiated resources changes to refresh
the related resources section.
(WebInspector.ResourceDetailsSidebarPanel.prototype.refresh):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRelatedResourcesSection):
Show/hide the related resources section depending on if we have something or not.
- 1:32 PM Changeset in webkit [194784] by
-
- 5 edits in trunk/Source/WTF
Nullopt and InPlace should be structs, not enum values
https://bugs.webkit.org/show_bug.cgi?id=152915
Reviewed by Andreas Kling.
Without this,
Optional<int> o = flag ? 1 : Nullopt;
would cause Nullopt to be treated as an integer, causing o to be initialized to 0,
instead of Nullopt. With this change, the above code now causes a compile error.
Also, get rid of the CONSTEXPR macro since all compilers support constexpr properly,
and add a WTF::makeOptional to match the current iteration of std::experimental::optional.
- wtf/Compiler.h:
- wtf/Forward.h:
- wtf/Optional.h:
(WTF::NulloptTag::NulloptTag):
(WTF::makeOptional):
- wtf/StdLibExtras.h:
(std::literals::chrono_literals::operator _s):
(std::literals::chrono_literals::operator _ms):
(std::move):
- 1:28 PM Changeset in webkit [194783] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebCore
<rdar://problem/24094651> REGRESSION (193350): CrashTracer: [USER] com.apple.WebKit.WebContent at …: Inspector::CSSFrontendDispatcher::styleSheetRemoved + 768
Reviewed by Joseph Pecoraro.
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::setActiveStyleSheetsForDocument):
Add null check before using m_frontendDispatcher.
- 1:23 PM Changeset in webkit [194782] by
-
- 2 edits in branches/safari-601-branch/Source/WebCore
<rdar://problem/24094651> REGRESSION (193350): CrashTracer: [USER] com.apple.WebKit.WebContent at …: Inspector::CSSFrontendDispatcher::styleSheetRemoved + 768
Reviewed by Joseph Pecoraro.
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::setActiveStyleSheetsForDocument):
Add null check before using m_frontendDispatcher.
- 1:12 PM Changeset in webkit [194781] by
-
- 18 edits2 copies in trunk
Modern IDB: Blocked event can fire on a delete request even after the last open connection has closed.
https://bugs.webkit.org/show_bug.cgi?id=152896
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- indexeddb/idbfactory_open12-expected.txt:
- indexeddb/idbversionchangeevent-expected.txt:
- indexeddb/transaction-lifetime-expected.txt:
Source/WebCore:
No new tests (Progression in many tests).
- Modules/indexeddb/client/IDBFactoryImpl.cpp:
(WebCore::IDBClient::IDBFactory::deleteDatabase):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation): Allow for handling 2+ delete operations in a row.
(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore): Ditto.
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient): Call "notifyCurrentRequestConnectionClosedOrFiredVersionChangeEvent"
after the connection is actually removed from the set of open connections.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
LayoutTests:
- platform/mac-wk1/TestExpectations:
- platform/wk2/imported/w3c/indexeddb/idbfactory_open12-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbfactory_open12-expected.txt.
- platform/wk2/imported/w3c/indexeddb/idbversionchangeevent-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbversionchangeevent-expected.txt.
- storage/indexeddb/database-wrapper-expected.txt:
- storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
- storage/indexeddb/deletedatabase-not-blocked-expected.txt:
- storage/indexeddb/intversion-upgrades-expected.txt:
- storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
- storage/indexeddb/resources/deletedatabase-not-blocked.js:
- storage/indexeddb/resources/setversion-not-blocked.js:
- storage/indexeddb/setversion-not-blocked-expected.txt:
- 1:05 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 1:01 PM Changeset in webkit [194780] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[ANGLE] Correct UNREACHABLE runtime assertion for void constructors
https://bugs.webkit.org/show_bug.cgi?id=152900
<rdar://problem/24107501>
Reviewed by Alex Christensen.
Tested by Khronos WebGL 1.0.4 suite.
Merge a small part of ANGLE upstream commit r284735:
commit 01971113492d9aca386f2bca021b1f4b134fc277
author Dmitry Skiba <dskiba@google.com> Fri Jul 10 18:54:00 2015
committer Jamie Madill <jmadill@chromium.org> Fri Jul 10 19:03:34 2015
tree 47e42eac00f7d64cddb14b3cc21a4e605c189d20
This issue was found by <https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/bugs/angle-constructor-invalid-parameters.html?webglVersion=1&quiet=0>
- src/compiler/translator/Types.cpp:
(TType::buildMangledName): Don't assert with UNREACHABLE here.
- 1:01 PM Changeset in webkit [194779] by
-
- 2 edits in trunk/LayoutTests
[GTK] Several animation tests fail with accelerated compositing enabled
Unreviewed gardening.
- platform/gtk/TestExpectations:
- 12:47 PM Changeset in webkit [194778] by
-
- 2 edits in trunk/LayoutTests
[GTK] pageoverlay tests are failing
Unreviewed gardening.
Patch by Lorenzo Tilve <ltilve@igalia.com> on 2016-01-08
- platform/gtk/TestExpectations:
- 12:14 PM Changeset in webkit [194777] by
-
- 2 edits in trunk/Source/JavaScriptCore
B3 incorrectly turns NotEqual(bool, 1) into Equal(bool, 1) instead of Equal(bool, 0)
https://bugs.webkit.org/show_bug.cgi?id=152916
Reviewed by Mark Lam.
This was causing a failure in an ancient DFG layout test. Thanks, ftl-eager-no-cjit!
This reduces the number of failures from 27 to 25.
- b3/B3ReduceStrength.cpp:
- 12:14 PM Changeset in webkit [194776] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught exception: TypeError: this._initiatorSourceCodeLocation.sourceCode.addInitiatedResource is not a function
https://bugs.webkit.org/show_bug.cgi?id=152905
<rdar://problem/24109809>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-08
Reviewed by Brian Burg.
- UserInterface/Models/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.addInitiatedResource):
Only Resource has addInitiatedResource, so only call it if the
SourceCode in the SourceCodeLocation is a Resource.
- 12:05 PM Changeset in webkit [194775] by
-
- 6 edits2 adds in trunk
Hovering link on http://help.apple.com/appletv/#/ does not show text underline.
https://bugs.webkit.org/show_bug.cgi?id=152906
<rdar://problem/23339617>
Reviewed by Simon Fraser.
GraphicsContext::computeLineBoundsAndAntialiasingModeForText() always integral ceils the origin y position to offset underline text.
This additional visual overflow offset is not taken into account by visualOverflowForDecorations().
Unfortunately we can't compute the exact same offset value while collecting repaint rects, because
computeLineBoundsAndAntialiasingModeForText() uses CTM scaling before adjusting the offset position.
Use 1px (css) bottom offset to cover this underling overflow.
Source/WebCore:
Test: fast/css3-text/css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position.html
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText):
- rendering/SimpleLineLayoutResolver.cpp: Add visual overflow to simple line layout.
(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::RunResolver):
- rendering/SimpleLineLayoutResolver.h:
- style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):
LayoutTests:
- fast/css3-text/css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position-expected.txt: Added.
- fast/css3-text/css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position.html: Added.
- 11:37 AM Changeset in webkit [194774] by
-
- 2 edits in trunk/Source/JavaScriptCore
FTL B3 allocateCell() should not crash
https://bugs.webkit.org/show_bug.cgi?id=152909
Reviewed by Mark Lam.
This code was crashing in some tests that forced GC slow paths because it was stubbed out
due to the use of undef. B3 doesn't have undef. In this case, there's no good reason to use
undef. We can just use zero. Since the path is dead anyway in that case, we weren't gaining
any LLVM optimizations by using undef.
This reduces the number of failures from 35 to 27.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):
- 11:02 AM Changeset in webkit [194773] by
-
- 2 edits in trunk/Source/JavaScriptCore
FTL B3 fails to realize that binary snippets might choose to omit their fast path
https://bugs.webkit.org/show_bug.cgi?id=152901
Reviewed by Mark Lam.
This reduces the number of failures from 99 to 35.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::emitBinarySnippet):
- 10:49 AM Changeset in webkit [194772] by
-
- 5 edits in trunk/Source/JavaScriptCore
restoreCalleeSavesFromVMCalleeSavesBuffer should use the scratch register
https://bugs.webkit.org/show_bug.cgi?id=152879
Reviewed by Filip Pizlo.
We were clobbering a register we needed when picking
a scratch register inside an FTL OSR Exit.
- dfg/DFGThunks.cpp:
(JSC::DFG::osrEntryThunkGenerator):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitRandomThunk):
(JSC::AssemblyHelpers::restoreCalleeSavesFromVMCalleeSavesBuffer):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::copyCalleeSavesFromFrameOrRegisterToVMCalleeSavesBuffer):
(JSC::AssemblyHelpers::restoreCalleeSavesFromVMCalleeSavesBuffer): Deleted.
- tests/stress/ftl-put-by-id-setter-exception-interesting-live-state.js:
(foo):
- 10:48 AM Changeset in webkit [194771] by
-
- 7 edits2 copies in trunk
Modern IDB: imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order.htm fails.
https://bugs.webkit.org/show_bug.cgi?id=152891
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- indexeddb/idbobjectstore_createIndex6-event_order-expected.txt:
- indexeddb/idbobjectstore_createIndex7-event_order-expected.txt:
Source/WebCore:
No new tests (At least two failing tests now pass).
- Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::dispatchEvent): Whenever we add the IDBTransaction as an event target,
also add the IDBDatabase.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order-expected.txt.
- platform/wk2/imported/w3c/indexeddb/idbobjectstore_createIndex7-event_order-expected.txt: Copied from LayoutTests/imported/w3c/indexeddb/idbobjectstore_createIndex7-event_order-expected.txt.
- 10:44 AM Changeset in webkit [194770] by
-
- 16 edits in trunk/Source/JavaScriptCore
Rolling out: Rename StringFromCharCode to StringFromSingleCharCode.
https://bugs.webkit.org/show_bug.cgi?id=152897
Not reviewed.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileFromCharCode):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- runtime/StringConstructor.cpp:
(JSC::stringFromCharCode):
(JSC::stringFromSingleCharCode): Deleted.
- runtime/StringConstructor.h:
- 10:20 AM Changeset in webkit [194769] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Use std::call_once instead of pthread_once when initializing LLVM.
https://bugs.webkit.org/show_bug.cgi?id=152893
Reviewed by Mark Lam.
Use std::call_once since pthreads is not present on all platforms.
- llvm/InitializeLLVM.cpp:
(JSC::initializeLLVMImpl):
(JSC::initializeLLVM):
- 10:20 AM Changeset in webkit [194768] by
-
- 2 edits in trunk/Tools
run-webkit-tests mis-counts totals when there are other crashes
https://bugs.webkit.org/show_bug.cgi?id=152894
<rdar://problem/24098697>
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.add): Do not update result counters for other crashes.
- 10:10 AM Changeset in webkit [194767] by
-
- 16 edits in trunk/Source/JavaScriptCore
Rename StringFromCharCode to StringFromSingleCharCode.
https://bugs.webkit.org/show_bug.cgi?id=152897
Reviewed by Daniel Bates.
StringFromSingleCharCode is a better name because the intrinsic it represents
only applies when we are converting from a single char code. This is purely
a refactoring patch. There is no semantic change.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileFromCharCode):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- runtime/StringConstructor.cpp:
(JSC::stringFromCharCode):
(JSC::stringFromSingleCharCode):
- runtime/StringConstructor.h:
- 8:55 AM Changeset in webkit [194766] by
-
- 2 edits in trunk/Source/JavaScriptCore
[mips] Fixed unused parameter warnings
https://bugs.webkit.org/show_bug.cgi?id=152885
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-08
Reviewed by Mark Lam.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- 8:51 AM Changeset in webkit [194765] by
-
- 2 edits in trunk/LayoutTests
Modern IDB: storage/indexeddb/dont-wedge.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=152892
Unreviewed.
- platform/mac-wk1/TestExpectations: Skip it for now.
- 8:37 AM Changeset in webkit [194764] by
-
- 2 edits in trunk/Source/JavaScriptCore
[mips] Max value of immediate arg of logical ops is 0xffff
https://bugs.webkit.org/show_bug.cgi?id=152884
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-08
Reviewed by Michael Saboff.
Replaced imm.m_value < 65535 checks with imm.m_value <= 65535
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::or32):
- 8:28 AM Changeset in webkit [194763] by
-
- 2 edits in trunk/Source/JavaScriptCore
[mips] Add new or32 implementation after r194613
https://bugs.webkit.org/show_bug.cgi?id=152865
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-08
Reviewed by Michael Saboff.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::or32):
- 4:17 AM WebKitGTK/Gardening/Howto edited by
- (diff)
- 1:06 AM Changeset in webkit [194762] by
-
- 12 edits in trunk/Source/WebCore
Enable selector filtering for shadow trees
https://bugs.webkit.org/show_bug.cgi?id=152831
Reviewed by Simon Fraser.
Selector filtering doesn't currently work in shadow trees making style resolve for them slow.
This is because SelectorFilter is not in "consistent" state.
This patch moves SelectorFilter ownership from StyleResolver to TreeResolver and guarantees
it is always upadated consistently. It eliminates a bunch of now unnecessary consistency checks
and special cases.
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ElementRuleCollector):
Assert for consistency instead of testing for it.
(WebCore::ElementRuleCollector::matchedResult):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
Selector filter can now be used if it exists.
- css/ElementRuleCollector.h:
(WebCore::ElementRuleCollector::ElementRuleCollector): Deleted.
- css/RuleSet.cpp:
(WebCore::RuleSet::addRule):
Disable selector filtering for custom shadow pseudo rules. They are resolved by shadow DOM resolver
but may contain components matching the normal DOM.
- css/RuleSet.h:
(WebCore::RuleData::descendantSelectorIdentifierHashes):
(WebCore::RuleData::disableSelectorFiltering):
(WebCore::RuleData::compilationStatus):
(WebCore::RuleData::compiledSelectorCodeRef):
- css/SelectorFilter.cpp:
(WebCore::collectElementIdentifierHashes):
(WebCore::SelectorFilter::parentStackIsConsistent):
New consistency conditions. This is now used for asserts only.
(WebCore::SelectorFilter::pushParentStackFrame):
(WebCore::SelectorFilter::popParentStackFrame):
Selector filter only filters the current tree context, replace parentOrShadowHostElement with parentElement.
(WebCore::SelectorFilter::setupParentStack): Deleted.
No longer needed.
(WebCore::SelectorFilter::pushParent):
Remove consistency check. These cases no longer happen.
- css/SelectorFilter.h:
(WebCore::SelectorFilter::popParent):
(WebCore::SelectorFilter::parentStackIsEmpty):
(WebCore::SelectorFilter::fastRejectSelector):
(WebCore::SelectorFilter::parentStackIsConsistent): Deleted.
- css/StyleInvalidationAnalysis.cpp:
(WebCore::StyleInvalidationAnalysis::invalidateIfNeeded):
(WebCore::StyleInvalidationAnalysis::invalidateStyle):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::addKeyframeStyle):
(WebCore::StyleResolver::initElement):
(WebCore::StyleResolver::State::initForStyleResolve):
We no longer owner the selector filter. Move it to State.
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::isAtShadowBoundary):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::pushParentElement): Deleted.
(WebCore::StyleResolver::popParentElement): Deleted.
No need for this logic.
- css/StyleResolver.h:
(WebCore::StyleResolver::ruleSets):
(WebCore::StyleResolver::mediaQueryEvaluator):
(WebCore::StyleResolver::State::document):
(WebCore::StyleResolver::State::setAuthorRollback):
(WebCore::StyleResolver::State::setUserRollback):
(WebCore::StyleResolver::State::selectorFilter):
(WebCore::StyleResolver::state):
(WebCore::checkRegionSelector):
(WebCore::StyleResolver::selectorFilter): Deleted.
(WebCore::StyleResolverParentPusher::StyleResolverParentPusher): Deleted.
(WebCore::StyleResolverParentPusher::push): Deleted.
(WebCore::StyleResolverParentPusher::~StyleResolverParentPusher): Deleted.
- style/StyleTreeResolver.cpp:
This now owns the selector filter for a tree context.
(WebCore::Style::SelectorFilterPusher::SelectorFilterPusher):
(WebCore::Style::SelectorFilterPusher::push):
(WebCore::Style::SelectorFilterPusher::~SelectorFilterPusher):
(WebCore::Style::TreeResolver::TreeResolver):
(WebCore::Style::TreeResolver::styleForElement):
(WebCore::Style::TreeResolver::createRenderTreeForSlotAssignees):
(WebCore::Style::TreeResolver::createRenderTreeRecursively):
(WebCore::Style::TreeResolver::resolveChildren):
(WebCore::Style::TreeResolver::resolveRecursively):
Push the filter in a few more places to keep it consistent in shadow trees.
- style/StyleTreeResolver.h:
- 12:36 AM Changeset in webkit [194761] by
-
- 8 edits1 add in trunk/Tools
webkit-patch build-and-test should have an option to iterate over new tests
https://bugs.webkit.org/show_bug.cgi?id=143093
Reviewed by Michael Catanzaro.
This patch introduces the --iterate-on-new-tests option to webkit-patch build-and-test.
It allows running run-webkit-tests on modified or new paths in LayoutTests.
Computation of new or modified tests is done by LayoutTestFinder.find_touched_tests
It implements the translation of -expected.* paths to their related tests.
It also implements the removal of skipped tests.
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.find_touched_tests):
- Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py: Added.
(MockPort):
(MockPort.init):
(MockPort.tests):
(LayoutTestFinderTests):
(LayoutTestFinderTests.touched_files):
(LayoutTestFinderTests.test_touched_test):
(LayoutTestFinderTests.test_expected_touched_test):
(LayoutTestFinderTests.test_platform_expected_touched_test):
(LayoutTestFinderTests.test_platform_duplicate_touched_test):
(LayoutTestFinderTests.test_touched_but_skipped_test):
- Scripts/webkitpy/port/base.py:
(Port.potential_test_names_from_expected_file):
- Scripts/webkitpy/tool/commands/download_unittest.py:
(DownloadCommandsTest._default_options):
- Scripts/webkitpy/tool/steps/options.py:
(Options):
- Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.options):
(RunTests.run):
(RunTests):
(RunTests._new_or_modified_tests):
(RunTests._run_webkit_tests):
- Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_webkit_run_unit_tests):
- Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest._step_options):